From fb83c111e3aadd361ae323dbcb3c40aea54d803a Mon Sep 17 00:00:00 2001

From: =?UTF-8?q?Jaakko=20Kera=CC=88nen?= jaakko.keranen@iki.fi

Date: Fri, 12 Jan 2024 11:38:14 +0200

Subject: [PATCH 1/1] Flairs: Internal markup, improved rendering with detail

levels


50_bubble.py | 12 +++++--

db-migrate.sql | 5 ++-

feeds.py | 40 +++++++++++++--------

model.py | 95 +++++++++++++++++++++++++++++++++++++++++++++++++-

4 files changed, 133 insertions(+), 19 deletions(-)

diff --git a/50_bubble.py b/50_bubble.py

index a1fc72f..a0a236c 100644

--- a/50_bubble.py

+++ b/50_bubble.py

@@ -249,6 +249,13 @@ Bubble is open source:

         return f'=> /dashboard {self.user.avatar} {self.user.name}{notifs}{mode}\n'

     def feed_entry(self, post, context=None, omit_rotate_info=False, is_activity_feed=False):

         is_issue_tracker = self.is_context_tracker

         is_comment = post.parent != 0   # Flat feeds intermingle comments with posts.

@@ -276,7 +283,6 @@ Bubble is open source:

         else:

             age = post.age(tz=self.tz)

         bell = ' ๐Ÿ””' if post.num_notifs else ''

         SHORT_PREVIEW_LEN = 160

@@ -320,7 +326,7 @@ Bubble is open source:

                 post_icon = post.poster_avatar

                 post_label = post.poster_name

                 if not (is_user_post and context and context.id == post.subspace):

                 post_path = f'/u/{post.poster_name}'

                 meta_icon = '๐Ÿ’ฌ'

@@ -352,7 +358,7 @@ Bubble is open source:

             # Last line in the metadata.

             meta = []

             if is_comment or (sub and not is_activity_feed):

             if cmt:

                 meta.append(cmt)

             if likes:

diff --git a/db-migrate.sql b/db-migrate.sql

index 5728e8a..cc2fc41 100644

--- a/db-migrate.sql

+++ b/db-migrate.sql

@@ -32,4 +32,7 @@ UPDATE users SET notif=notif|0x040000;

UPDATE users SET notif=notif|0x100000;

-- Migration from v7 to v8 --

-ALTER TABLE users ADD COLUMN flair VARCHAR(30) DEFAULT '';

\ No newline at end of file

+ALTER TABLE users ADD COLUMN flair VARCHAR(30) DEFAULT '';

+-- Migration from v8.0 to v8.1 --

+ALTER TABLE users MODIFY COLUMN flair VARCHAR(1000) DEFAULT '';

diff --git a/feeds.py b/feeds.py

index 66e86a4..5111fa7 100644

--- a/feeds.py

+++ b/feeds.py

@@ -298,7 +298,10 @@ def make_post_page_or_configure_feed(session):

         if session.c_user:

             page = f'# {session.c_user.avatar} {session.c_user.name}\n'

             if session.c_user.flair:

         else:

             page = f'# {subspace.title()}\n'

         page += f'=> /{subspace.title()} {subspace.title()}\n'

@@ -345,13 +348,13 @@ def make_post_page(session, post):

 page = ''

 focused_cmt = None

 if is_comment_page:

     # Switch to the parent post, but display it in preview mode.

@@ -370,7 +373,9 @@ def make_post_page(session, post):

             return 51, 'Not found'

         page += f'=> /help/deleted-post ๐Ÿ”’ Comment on a deleted post (ID:{post_id})\n\n'

     page += session.render_post(focused_cmt)

     page += f'\n=> /u/{focused_cmt.poster_name} {focused_cmt.poster_avatar} {focused_cmt.poster_name}{flair}\n'

     page += f'{focused_cmt.age()}\n'

@@ -449,7 +454,13 @@ def make_post_page(session, post):

         page += '\n'

     if post.tags:

         page += '### ' + post.tags + '\n'

     poster_link = f'=> /u/{post.poster_name} {post.poster_avatar} {post.poster_name}{flair}\n'

     if session.is_context_tracker:

         page += f'=> /{session.context.title()} ๐Ÿž Issue #{post.issueid} in {session.context.title()}\n'

@@ -590,7 +601,7 @@ def make_post_page(session, post):

                 cmt.ymd_hm(tz=session.tz, date_fmt='%b %d', time_prefix='at ') if elapsed_hours < 24 * 180 else \

                 cmt.ymd_hm(tz=session.tz, time_prefix='at ')

         if not session.is_archive:

             src = f'=> /u/{cmt.poster_name}/{cmt.id} {cmt.poster_avatar} {cmt.poster_name}{cmt_flair} ยท {comment_age}:\n'

         else:

@@ -715,13 +726,14 @@ def make_feed_page(session):

 elif not context:

     topinfo += f"{session.bubble.site_info if session.user else session.bubble.site_info_nouser}\n"

 else:

         if c_user.info:

             topinfo += c_user.info + '\n'

         if c_user.url:

             topinfo += f'=> {c_user.url}\n'

     elif context:

         if context.info:

             topinfo += context.info + '\n'

diff --git a/model.py b/model.py

index e839ec4..1330c77 100644

--- a/model.py

+++ b/model.py

@@ -233,6 +233,15 @@ class User:

 # Roles:

 BASIC, ADMIN, LIMITED = range(3)

 # Sort modes:

 SORT_POST_RECENT    = 'r'

 SORT_POST_HOTNESS   = 'h'

@@ -289,6 +298,90 @@ class User:

     return None

class Subspace:

 OMIT_FROM_ALL_FLAG = 0x1

@@ -500,7 +593,7 @@ class Database:

     db.execute("""CREATE TABLE IF NOT EXISTS users (

         id          INT PRIMARY KEY AUTO_INCREMENT,

         name        VARCHAR(30) UNIQUE,

         info        VARCHAR(1000) DEFAULT '',

         url         VARCHAR(1000) DEFAULT '',

         recovery    VARCHAR(1000) DEFAULT '',

--

2.25.1

Proxy Information
Original URL
gemini://git.skyjake.fi/bubble/main/patch/fb83c111e3aadd361ae323dbcb3c40aea54d803a.patch
Status Code
Success (20)
Meta
text/plain
Capsule Response Time
30.230617 milliseconds
Gemini-to-HTML Time
2.488343 milliseconds

This content has been proxied by September (3851b).