mirror of
https://codeberg.org/rimu/pyfedi
synced 2025-02-02 16:21:32 -08:00
fix etags for caching
This commit is contained in:
parent
134e213397
commit
b9c468d437
4 changed files with 10 additions and 10 deletions
|
@ -97,17 +97,17 @@ def add_remote():
|
|||
# @bp.route('/c/<actor>', methods=['GET']) - defined in activitypub/routes.py, which calls this function for user requests. A bit weird.
|
||||
def show_community(community: Community):
|
||||
|
||||
# If nothing has changed since their last visit, return HTTP 304
|
||||
current_etag = f"{community.id}_{hash(community.last_active)}"
|
||||
if current_user.is_anonymous and request_etag_matches(current_etag):
|
||||
return return_304(current_etag)
|
||||
|
||||
if community.banned:
|
||||
abort(404)
|
||||
|
||||
page = request.args.get('page', 1, type=int)
|
||||
sort = request.args.get('sort', '')
|
||||
|
||||
# If nothing has changed since their last visit, return HTTP 304
|
||||
current_etag = f"{community.id}{sort}_{hash(community.last_active)}"
|
||||
if current_user.is_anonymous and request_etag_matches(current_etag):
|
||||
return return_304(current_etag)
|
||||
|
||||
mods = community.moderators()
|
||||
|
||||
is_moderator = current_user.is_authenticated and any(mod.user_id == current_user.id for mod in mods)
|
||||
|
@ -147,7 +147,7 @@ def show_community(community: Community):
|
|||
is_moderator=is_moderator, is_owner=is_owner, is_admin=is_admin, mods=mod_list, posts=posts, description=description,
|
||||
og_image=og_image, POST_TYPE_IMAGE=POST_TYPE_IMAGE, POST_TYPE_LINK=POST_TYPE_LINK, SUBSCRIPTION_PENDING=SUBSCRIPTION_PENDING,
|
||||
SUBSCRIPTION_MEMBER=SUBSCRIPTION_MEMBER, SUBSCRIPTION_OWNER=SUBSCRIPTION_OWNER, SUBSCRIPTION_MODERATOR=SUBSCRIPTION_MODERATOR,
|
||||
etag=f"{community.id}_{hash(community.last_active)}",
|
||||
etag=f"{community.id}{sort}_{hash(community.last_active)}",
|
||||
next_url=next_url, prev_url=prev_url, low_bandwidth=request.cookies.get('low_bandwidth', '0') == '1',
|
||||
rss_feed=f"https://{current_app.config['SERVER_NAME']}/community/{community.link()}/feed", rss_feed_name=f"{community.title} posts on PieFed",
|
||||
content_filters=content_filters, moderating_communities=moderating_communities(current_user.get_id()),
|
||||
|
|
|
@ -111,7 +111,7 @@ def retrieve_mods_and_backfill(community_id: int):
|
|||
break
|
||||
c = Community.query.get(community.id)
|
||||
c.post_count = activities_processed
|
||||
c.last_active = utcnow()
|
||||
c.last_active = site.last_active = utcnow()
|
||||
db.session.commit()
|
||||
|
||||
|
||||
|
|
|
@ -99,7 +99,7 @@ def new_posts():
|
|||
return render_template('new_posts.html', posts=posts, active_communities=active_communities,
|
||||
POST_TYPE_IMAGE=POST_TYPE_IMAGE, POST_TYPE_LINK=POST_TYPE_LINK, show_post_community=True,
|
||||
SUBSCRIPTION_PENDING=SUBSCRIPTION_PENDING, SUBSCRIPTION_MEMBER=SUBSCRIPTION_MEMBER,
|
||||
etag=f"home_{hash(str(g.site.last_active))}", next_url=next_url, prev_url=prev_url,
|
||||
etag=f"new_{hash(str(g.site.last_active))}", next_url=next_url, prev_url=prev_url,
|
||||
rss_feed=f"https://{current_app.config['SERVER_NAME']}/feed",
|
||||
rss_feed_name=f"Posts on " + g.site.name, low_bandwidth=request.cookies.get('low_bandwidth', '0') == '1',
|
||||
content_filters=content_filters, moderating_communities=moderating_communities(current_user.get_id()),
|
||||
|
@ -139,7 +139,7 @@ def top_posts():
|
|||
return render_template('top_posts.html', posts=posts, active_communities=active_communities,
|
||||
POST_TYPE_IMAGE=POST_TYPE_IMAGE, POST_TYPE_LINK=POST_TYPE_LINK, show_post_community=True,
|
||||
SUBSCRIPTION_PENDING=SUBSCRIPTION_PENDING, SUBSCRIPTION_MEMBER=SUBSCRIPTION_MEMBER,
|
||||
etag=f"home_{hash(str(g.site.last_active))}", next_url=next_url, prev_url=prev_url,
|
||||
etag=f"best_{hash(str(g.site.last_active))}", next_url=next_url, prev_url=prev_url,
|
||||
rss_feed=f"https://{current_app.config['SERVER_NAME']}/feed",
|
||||
rss_feed_name=f"Posts on " + g.site.name, low_bandwidth=request.cookies.get('low_bandwidth', '0') == '1',
|
||||
content_filters=content_filters, moderating_communities=moderating_communities(current_user.get_id()),
|
||||
|
|
|
@ -177,7 +177,7 @@ def show_post(post_id: int):
|
|||
canonical=post.ap_id, form=form, replies=replies, THREAD_CUTOFF_DEPTH=constants.THREAD_CUTOFF_DEPTH,
|
||||
description=description, og_image=og_image, POST_TYPE_IMAGE=constants.POST_TYPE_IMAGE,
|
||||
POST_TYPE_LINK=constants.POST_TYPE_LINK, POST_TYPE_ARTICLE=constants.POST_TYPE_ARTICLE,
|
||||
etag=f"{post.id}_{hash(post.last_active)}", markdown_editor=True,
|
||||
etag=f"{post.id}{sort}_{hash(post.last_active)}", markdown_editor=True,
|
||||
low_bandwidth=request.cookies.get('low_bandwidth', '0') == '1', SUBSCRIPTION_MEMBER=SUBSCRIPTION_MEMBER)
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue