[1mdiff --git a/50_bubble.py b/50_bubble.py[m
[1mindex b355cdc..4e00705 100644[m
[1m--- a/50_bubble.py[m
[1m+++ b/50_bubble.py[m
[36m@@ -361,7 +361,7 @@[m [mBubble is open source:[m
src += f'=> {segment.url} {link_prefix}{label}\n'[m
last_type = segment.type[m
[m
[31m- return src[m
[32m+[m[32m return src.rstrip() + '\n'[m
[m
def render_poll(self, post, show_results=False):[m
options = self.db.get_segments(post, poll=True)[m
[1mdiff --git a/composer.py b/composer.py[m
[1mindex 17d160d..71c5923 100644[m
[1m--- a/composer.py[m
[1m+++ b/composer.py[m
[36m@@ -63,7 +63,7 @@[m [mdef edit_segment(session):[m
return 30, f'{session.server_root()}{session.path}raw-segment/{segment.id}'[m
else:[m
seg_text = clean_text(req.content.decode('utf-8'))[m
[31m- db.update_segment(segment, content=seg_text)[m
[32m+[m[32m db.update_segment(segment, content=seg_text.rstrip())[m
[m
elif segment.type == Segment.POLL:[m
opt_text = clean_title(clean_query(req))[m
[36m@@ -155,7 +155,7 @@[m [mdef make_composer_page(session):[m
if not is_empty_query(req) or (session.is_titan and len(req.content)):[m
seg_text = clean_query(req) if session.is_gemini \[m
else clean_text(req.content.decode('utf-8'))[m
[31m- db.create_segment(post, Segment.TEXT, content=seg_text)[m
[32m+[m[32m db.create_segment(post, Segment.TEXT, content=seg_text.rstrip())[m
return 30, gemini_link[m
return 10, 'Add text segment:'[m
[m
text/plain
This content has been proxied by September (ba2dc).