mirror of
				https://github.com/zulip/zulip.git
				synced 2025-11-04 14:03:30 +00:00 
			
		
		
		
	Digest: Fix URIs for emoji and friends in email links.
It turns out we were using malformed URLs in the image tags (containing just a hostname, but no http(s)!) in what we were passing to the Django templates for our digest/, which resulted in the Django templates treating these URLs as http. Gmail recently cracked down on loading images in HTTP, causing the emoji links to appear broken in emails Zulip sends. Fixes #3258.
This commit is contained in:
		@@ -121,7 +121,7 @@ def gather_new_streams(user_profile, threshold):
 | 
				
			|||||||
        new_streams = list(get_active_streams(user_profile.realm).filter(
 | 
					        new_streams = list(get_active_streams(user_profile.realm).filter(
 | 
				
			||||||
                invite_only=False, date_created__gt=threshold))
 | 
					                invite_only=False, date_created__gt=threshold))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    base_url = u"https://%s/#narrow/stream/" % (settings.EXTERNAL_HOST,)
 | 
					    base_url = u"%s/#narrow/stream/" % (user_profile.realm.uri,)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    streams_html = []
 | 
					    streams_html = []
 | 
				
			||||||
    streams_plain = []
 | 
					    streams_plain = []
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -98,7 +98,7 @@ def build_message_list(user_profile, messages):
 | 
				
			|||||||
        # structure of the URL to leverage.
 | 
					        # structure of the URL to leverage.
 | 
				
			||||||
        content = re.sub(
 | 
					        content = re.sub(
 | 
				
			||||||
            r"/user_uploads/(\S*)",
 | 
					            r"/user_uploads/(\S*)",
 | 
				
			||||||
            settings.EXTERNAL_HOST + r"/user_uploads/\1", content)
 | 
					            user_profile.realm.uri + r"/user_uploads/\1", content)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        # Our proxying user-uploaded images seems to break inline images in HTML
 | 
					        # Our proxying user-uploaded images seems to break inline images in HTML
 | 
				
			||||||
        # emails, so scrub the image but leave the link.
 | 
					        # emails, so scrub the image but leave the link.
 | 
				
			||||||
@@ -108,8 +108,8 @@ def build_message_list(user_profile, messages):
 | 
				
			|||||||
        # URLs for emoji are of the form
 | 
					        # URLs for emoji are of the form
 | 
				
			||||||
        # "static/generated/emoji/images/emoji/snowflake.png".
 | 
					        # "static/generated/emoji/images/emoji/snowflake.png".
 | 
				
			||||||
        content = re.sub(
 | 
					        content = re.sub(
 | 
				
			||||||
            r"static/generated/emoji/images/emoji/",
 | 
					            r"/static/generated/emoji/images/emoji/",
 | 
				
			||||||
            settings.EXTERNAL_HOST + r"/static/generated/emoji/images/emoji/",
 | 
					            user_profile.realm.uri + r"/static/generated/emoji/images/emoji/",
 | 
				
			||||||
            content)
 | 
					            content)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        return content
 | 
					        return content
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user