spla/appy
2
15
Fork
You've already forked appy
3
  • v0.5.0 8296428b19

    spla released this 2026年03月23日 21:34:14 +01:00 | 55 commits to main since this release

    • add dev apps and authorized apps API endpoints
    • add image upload endpoint for server settings (thumbnail, favicon, app_icon)
    • add full admin settings API endpoint (branding, about, registrations, discovery, content retention, appearance)
    • fix: prevent double-prefixing of absolute avatar URLs in build_avatar_url. Fix v1instance typo.
    • fix: strip whitespace from username before validation and DB insert
    • fix: handle boolean in redis_save and fix UnboundLocalError on form signup
    • fix: validate username format on account creation
    • include sign_up_ip in admin users list
    • expose sign_up_ip in admin user detail
    • save sign_up_ip on user registration
    • add ip_blocks with expires_at support
    • add ip_blocks with no_access, sign_up_block and sign_up_requires_approval
    • add ip_blocks and rate limiting handlers for 401/403/429
    • add rate limiting with fastapi-limiter
    • add POST /api/v1/accounts/{account_id}/remove_from_followers endpoint
    • feat: implement POST /api/v1/admin/retention endpoint
    • implement POST /api/v1/admin/dimensions endpoint
    • implement POST /api/v1/admin/measures endpoint
    • fix: use LANCZOS resampling for small image thumbnail generation
    • fix: edit status federates correctly to remote mentions
    • fix: direct messages send to personal inbox, fix mention linkification
    • translate register link to English
    • show register link on login page when registrations are open
    • Add GET /api/v1/admin/action_logs endpoint
    • Add reports system: POST /api/v1/reports, GET/POST admin reports endpoints Add admin_action_logs table and logging for suspend/silence/resolve actions Add silence_account/unsilence_account to asyncdb Add POST /api/v1/admin/accounts/{id}/action endpoint
    • Add POST /api/v1/reports endpoint compatible with Mastodon API Add reports table to schema
    • Add IPv6 listen directives to dist/nginx.conf example
    • Fix emoji upload and copy paths: use relative paths instead of hardcoded /home/appy/appy
    • Added
    • Add category support to custom emojis API and Redis cache - Add category field to get_custom_emojis via LEFT JOIN with custom_emoji_categories - Add emoji_caching decorator with Redis cache (1h TTL) - Invalidate emoji cache on upload, update, delete and copy - Fix PATCH endpoint to read body as JSON instead of query params - Exclude /api/v1/custom_emojis from nginx proxy cache - Add location block for /api/v1/custom_emojis in dist/nginx.conf example
    • Add copy remote emoji to local endpoint
    • Add admin API endpoints for custom emojis and categories management Fix local emoji upload path: save to /system/custom_emojis/images/ Add custom_emoji_categories table to schema Add emojify() function to render custom emojis in status content Fix favourites ordering: sort by favourite date instead of status date Fix direct status crash when no mention in text
    • Add emoji rendering: emojify() in tagize_string and post_status serializer Fix direct status crash when no mention in text
    • Fix favourites ordering: sort by favourite date instead of status date
    • Add POST /api/v1/admin/accounts endpoint to create users via API
    • Fix sign_out redirect to /auth/sign_in and support next param in OAuth flow
    • Fix poll voted state across all serializers and endpoints
    • Add username to login page and increase gap.
    • improve OAuth authorization page with user avatar and logout button
    • implement interaction_policy and default quote_policy
    • add GET /api/v1/statuses/:id/quotes endpoint
    • fix: use dt_to_json() for edited_at in all serializers
    • refactor: move quote insert logic to db.save_quote()
    • add ActivityPub quote post federation (FEP-044f)
    • fix: add domain filter to get_users search
    • fix: refresh_remote_account force update avatar/header without COALESCE
    • add redownload endpoint to refresh remote account profile, avatar and stats
    • fix: suspend/unsuspend return correct Admin::Account with proper avatar URL
    • add API admin endpoints with Bearer token auth (dashboard, accounts, domains, settings, suspend/unsuspend)
    • fix: add Z suffix to created_at for correct UTC parsing in streaming
    • feat: styled OAuth grant access page
    • real-time streaming via WebSocket
    • Fix mentions not beeing clickable.
    • Updated
    • Update README.md
    • feat: serve local media files via nginx and fix image uploads
    • separate OAuth login from authorization flow
    • New feature: block suspended accounts and domains in shared inbox and user inbox
      • New feature*: admin users local/remote filter, remote user detail and suspend/unsuspend
    • Fix font size of web interface.
    • Fix update_profile avatar and header urls.
    • fix: sign out deletes token from DB, anti-cache headers for Safari
    • New feature: trending news with description, image and stats
    • Add web interface section to README
    • New feature: hashtag page with posts. fix created_at string/datetime handling. Trending posts date is now clickable.
    • Fix servers settings link font size.
    • New feature: trending posts with full status display.
    • Changed home's border-bottom style to None.
    • New feature: profile settings page
    • New feature: hide sign up button when registrations are closed
    • New feature: server image upload in branding settings.
    • fix: approval_required checkbox in server settings
    • New feature: admin server settings with branding, registrations and about tabs
    • New feature: sign up web, settings table, instance info from DB
    • New feature: new home page with three columns, tabs and trending
    • New feature: admin create new user with welcome email.
    • New feature: admin domains list, block/unblock
    • admin users pagination limited to 40 per page.
    • New feature: admin users pagination
    • New feature: admin users list, user detail, suspend/unsuspend
    • New feature: admin web interface with dashboard, login/logout and weekly interactions stats
    • Added missing module.
    • New feature: implement grouped notifications v2 API
    • Fix: real counters of suggested accounts.
    • Avatars of suggested accounts loaded from local path.
    • Fix #115
    • Fix Content Warning (spoiler_text) not showing in timelines
    • Added migrate_images.py utility to migrate account's avatars and headers from remote URL to local PATH.
    • Fix media attachments path and timezone issues
    • Fix tag endpoint trailing slash
    • Fix #113 (app/helpers/account_lookup.py). Fix #114 (app/libraries/asyncdb.py).
    • get_local_account function now get avatar and headers from local paths.
    • avatars and headers are all saved locally, all fields avatar, avatar_static, header and header_static are loading images from local paths.
    • Several improvements and fixes. - Change: save remote avatars and headers to local cache to improve performance. - Improved remote account lookup. - Improved matching accounts search. - Improved Search (accounts, statuses and hashtags).
    • Fix: fetched pinned posts can't be trending.
      • Check if actor is already in the local database in fetch_reblogged_post function. - Convert account_data to Account object only if it's a dict. - Fix #112
    • Check if Announce activity's actor is already in the local database.
    • Add http signatures to fetch_reblogged_post and get_pinned_posts functions. Fix #111
    • fix: resolve federation issues and improve ActivityPub compliance
    • Fix #109
    • Fix statuses_count to exclude reblogs in suggestions queries.
    • Fix suggestions endpoint validation errors
    • fix: resolve federation and database errors affecting ActivityPub interoperability
    • Fix Snowflake ID generation and Misskey compatibility
    • Refactor: auto-fetch parent posts for replies with full context including media.
    • Fix #108. New feature - Followed hashtags now show up in following timeline.
    • New feature - Complete edit history with images support.
    • Fix #107
    • Fix update profile not saving default avatar & header.
    • fix(home timeline): show boosted posts of followed users published by not followed ones.
    • fix(timeline): exclude reblogs of user's own posts from home timeline.
    • Fix statuses_count to exclude boosts.
    • Fix #106
    • Fix datetime parsing to support timezone formats (+00:00). Now supports receiving videos from Loops instances.
    • Add instance actor webfinger support for Loops compatibility
    • New feature: search post's uri now fetches its poll.
    • Fix #105
    • Added /users/{username}/collections/tags endpoint.
    • Added accounts statuses pagination.
    • Add support to both id and id[].
    • created_at must be an int to avoid some apps disliking float.
    • /api/v1/apps now returns all data needed by all apps.
    • Moved /api/v2/instance code to app/serializers/v2instance.py.
    • Return not empty relationships when user is not followed.
    • Refactored relationships endpoint.
    • Added 30s cache to familiar_followers endpoint.
    • Added /api/v1/suggestions and /api/v2/suggestions endpoints. Added cache for remote profile counters.
    • Don't double tags.
    • Don't double tags.
    • Fixes TypeError: int() argument must be a string, a bytes-like object or a real number, not 'NoneType'
    • Mentions showing up in notifications.
    • Fixes #104
    • Removed unneeded dependencies.
    Downloads
  • v0.4.0 373ea017e9

    v0.4.0 Stable

    spla released this 2025年12月16日 13:29:46 +01:00 | 188 commits to main since this release

    • Now it works: Links from fediverse's posts are not saved in preview_cards table and not allowed to trend. (373ea01)
    • Links from fediverse's posts are not saved in preview_cards table and not allowed to trend. (b1f90fe)
    • New Feature Added trending links management. (6e725b2)
    • Fetch inexistent replied post. (f226e78)
    • Fixes in_reply_to_id and in_reply_to_account_id passes values. (e20bf77)
    • Fetch replied post if missing. (8654684)
    • Fixes #102. Fixes #103 (1c7cd52)
    • Create notification if mentioned user is a local one. (f8f6172)
    • Modified function timestamp_id, now accepts a timestamp as second parameter. Fixes fetched pinned posts being showed at timeline's top position. (d963f0a)
    • Refactor of endpoints /api/v1/trends and /api/v1/trends/tags, now both return tag id and following and featuring keys when user is authenticated, added related Database class methods 'followed_tag' and 'feaured_tag'. Added /api/v1/featured_tags/{tag_id} endpoint to unfeaturing tags and related Database class method 'delete_featured_tag'. Fixed an error when saving featured tag into the featured_tags table. (2b6e424)
    • Fixes #101 (0c78e8e)
    • Added tag_id to trending hashtags's history (ff84210)
    • Added tag_id to trending hashtags's history (72377dc)
    • Only show trending hashtags with an score >= 3 and uses and accounts >= 3 (2a1e56d)
    • Moved app.services.cache to app.trending.hashtags (1bb6a10)
    • Fixed typo (6cf1aa8)
    • Removed disabled endpoint (57a9c0a)
    • Refactor of trending tags, added new all trends recalculation schedule. Refactor of redis_setup. New email queue worker. (fcd5da8)
    • Join of two end points, get('/@username') and get('/users/username'). (e4e79d3)
    • refactor of user and status cache. (8f0fc49)
    • New default header image. (2295768)
    • Added apple-touch icons. Refactor of account_lookup function. (279e098)
    • Removed commented line (5d39c4a)
    • Require ffmpeg binary installed system-wide. Removed Python library python-ffmpeg. (2118d0f)
    • refactor: process video asynchronously (76a133c)
    • Handle media controller errors. (25bc5f6)
    • Lookup handles (cf1372d)
    • Fixes #100. Refactor of media controller. (3b29805)
    • Fixes #99 (0549364)
    • Handle errors at /api/v2/search. New Feature Account lookup now find Friendica users. (8e67287)
    • Added Python badge (73c1fe7)
    • Some make ups (ae67321)
    • Removed unneeded module keypair.py (aed4ea5)
    • Removed commented libraries. (23e50a3)
    • Fixes #98 (3d3b738)
    • Fixes #97 (8d95a76)
    • Removed unneeded imported libraries. (00dcad6)
    • Removed commented lines (f3f3620)
    • Fixes poll updates and reset their counters when they are edited. Fixes #95 (31a9355)
    • Fixes #94 (85cbf03)
    • New feature: Added email queue worker with automatic retry on failure. Replace JWT tokens with random secure tokens. (5c03c25)
    • Added handle STMP server connection error (3e11911)
    • New function to process avatar and header profile uploads. (ed04f98)
    • Changed authorization code generation from encrypted token to cryptographically secure unpredictable token. (f821cfd)
    • Fixes #93 (907d82c)
    • Fixes #92 (70c5c79)
    • Fixes #89 (ec75404)
    • Fix #88. New featute: validation of http signatures's timestamp (WIP). (c9bc598)
    • Fixes #87 (244bbdc)
    • Removed pycryptodome library to use cryptography one only. Moved app/utils/signature.py functions (headers_to_dict and verify_http_sign) to app/libraries/httpsign.py (c783992)
    • Fixes #86 (b73a878)
    • Handle Connect Timeout and Read Timeout errors when running selfdestruct. (f28cfb3)
    • New feature self destruct! It sends Delete activities for all local users to all federated servers. (4044cc5)
    • New feature self destruct! It sends Delete activities for all local users to all federated servers. (994da5c)
    • New feature self destruct! It sends Delete activities for all local users to all federated servers. (3c81df0)
    • Allow FediDB crawl (b1f79c0)
    • Updated (d6551d3)
    • Fixes #85 (fb823b0)
    • Fixes #84 follow and unfollow errors. (0f05a73)
    • Fixes #83 (acf4122)
    • New html page for sign in error, wrong username or password. (8cfcb98)
    • Improved new register page, now css style page is shown. (e6067a2)
    • New feature: Added username and email address check for new registers. (d669b27)
    • Fixed typo and removed unneeded import lines. (ac7202e)
    • New Feature Added Get domain blocks, Block a domain and Remove a domain block endpoints for an authenticated user. (21e5b8a)
    • Added not null constraints to domain and account_id columns (3503fe7)
    • Fixes #82 (695a296)
    • Fixes #81 (88766e0)
    • Removed (094d9a2)
    • Fixes #80. Moved app/dependencies/inbox_activity.py to app/dependencies/inbox.py and app/dependencies/get_activity.py to app/dependencies/shared_inbox.py. (73daedb)
    Downloads
  • v0.3.0 feaf71898d

    v0.3.0 Stable

    spla released this 2025年10月13日 17:53:41 +02:00 | 260 commits to main since this release

    Release v0.3.0 (2025年10月13日)

    Changes since v0.2.0

    • feaf718 : New dependency injection functions for user inbox and shared inbox.
    • 6bc7f2c : Moved get_token dependency function to app/dependencies/tokens.py.
    • e05e458 : Added response_model.
    • e35f14b : Fixes #78. Fixes #79
    • b2990c4 : Fixes #77
    • c382f9d : Disabled saving incoming status to Redis cache. Added blurhash to attachments.
    • ec6602e : Updated
    • d51a797 : Centered logo
    • 99b6e4f : Added meta and blurhash real data to notifications's statuses.
    • f45b0c1 : Adding pagination to notifications.
    • e782a1a : Fixes avatar and header file extensions.
    • 22bed54 : Fixes #76
    • e3db05b : Send all context items into one unique dict.
    • bf16ebe : Fixed doubling context in CreatePollActivity.
    • f25d37a : Fix #75
    • f9adeb5 : Fix #74
    • 405a83c : Use MATERIALIZED VIEW paginated_following_{account_id} and its new created index to accelerate get_home_timeline statuses.
    • edd52f9 : Limit limit to 40 max.
    • d5a31e1 : application's website value must be None if not specified.
    • 016536a : Refactor of /api/v1/timelines/home endoint
    • 07f7767 : Fix typo
    • b165742 : Fix #73. Some refactors.
    • 5254de5 : New feature Added new endpoint /api/v1/accounts to fetch multiple accounts, GET method.
    • e2fede1 : Fixed doubling Create Activity context.
    • 8728223 : New feature Added blurhash support for attachments.
    • e8881a7 : Added application key back to Status Pydantic model. Removed model_dump() method from /app/serializers/status.py
    • e8c2cf9 : calc real updated media metadata.
    • 3f63680 : media attachments metadata's aspect must be integer, not string. Some status serializer refactor.
    • 1ea5cec : Added missing metadata to public statuses's attachments. Removed 'application' key from PublicStatus Pydantic model. Some refactor of public_statuses serializer.
    • 40b9b48 : last_status_at must be None if any statuses.
    • 48dec2a : Added verified_at key to AccountCredential Pydantic model.
    • 218e0c0 : Fix #72
    • 04a8950 : Fetch right appy version for openapi docs. Added new endpoint /api/v1/statuses to obtain multiple statuses. Fixed StatusAttachment Pydantic model. Fixed PreviewCard Pydantic model. Removed double

      tags in statuses's content.

    • cfe6213 : Fixed #71
    • 9c32594 : Get edit history in right order.
    • c098364 : Fixed #70. Fixed sending out doubled Create activities.
    • a737196 : Fixed error 'NameError: name 'urlparse' is not defined'.
    • 16a7b3d : Get current appy version for api/v2/instance. Move build_signature_headers function to app/libraries/httpsign.py module. Removed Actor class.
    • c1d5ae4 : Deleted Create class to use HTTPSign class.
    • 7667eee : Deleted sign_undo_follow function to use HTTPSign class.
    • 758247a : Deleted sign_follow_accept function to use HTTPSign class.
    • def0710 : Updated
    • 96f4378 : Updated
    • e20e936 : Deleted sign_unannounce function to use HTTPSign class.
    • 1e82ec6 : Deleted sign_unannounce function to use HTTPSign class.
    • a90300a : Deleted sign_unlike function to use HTTPSign class.
    • 05f4311 : Deleted sign_unlike function to use HTTPSign class.
    • ead830d : Deleted sign_like function to use HTTPSign class.
    • d8e64c5 : Fixed outbound Delete code.
    • bbe48cb : Deleted Delete class to use HTTPSign class.
    • d8d6151 : Deleted Vote class to use HTTPSign class.
    • 1c37f00 : Deleted SignUnFollow class to use HTTPSign class.
    • cbd58d3 : Deleted SignFollow class to use HTTPSign class.
    • b5632b9 : Fix #69. Get real conversation_uri.
    • cbf7fb9 : Refactored HTTPSign class.
    • c57eb2d : Fixed posting polls. Moved UpdateQuestion class to new HTTPSign class.
    • 217536d : New Feature: Save preview_cards (if any link) from Announce activities.
    • 5c24a3b : Fix #68
    • 789d996 : New feature: Trending links.
    • cfb0758 : Fixed Create activity context when post content has emojis.
    • ccd4741 : New feature: Added view custom emojis in posts.
    • d61198d : Added HEAD method for /.well-known/nodeinfo
    • 6e401ba : Fet vote choice from Mastodon for iOS. Fixed TypeError: 'Account' object is not subscriptable.
    • 4261ccf : Removed unneeded query param
    • b4bd51b : New feature: nodeinfo shows real MAU and HYAU data.
    • 30ebde6 : Added Updating
    • 4c3b8c0 : refactor of v1instance, appy version now includes last tag-commits after the last tag-last commit hash.
    • 75ecf17 : refactor of nodeinfo response code, appy version now includes last tag, commits after the last tag and last commit hash.
    • 21b74d4 : New feature, get and show real counters of remote profiles's statuses, following and followers.
    • fbd73aa : Increased account /following and /followers max value to 1000 (Ivory sents that limit).
    • 42aaab7 : Increased /api/v1/favourites max limit to 100.
    • 060cc07 : Fixed, now fetching the reblogged status's stats and flags.
    • 167d56c : Fixed, now fetching the reblogged status's stats and flags.
    • 2f16a43 : Build up html tags on the fly for timeline's and context statuses.
    • f8229f2 : No need to save account in activities/announce.py, lookup function already save it. Refactored helpers/account_lookup.py, Refactored extract_username_from_object function.
    • 5a7dc9c : Added Akkoma and Pleroma incoming EmojiReact support, processed as Like activity, received to shared inbox
    • a597943 : build up notifications's html tags on the fly.
    • 62016f3 : Added Misskey incoming reaction support, processed as Like activity but received to shared inbox
    • a543e65 : Updated
    • ed044e7 : Updated
    • 529f63f : Fixes #65. Fixes #66 'Error saving account_conversation: int() argument must be a string, a bytes-like object or a real number, not 'NoneType''. Fixes #67.
    • 0e0e351 : Removed unneeded dependency
    • c0a32ad : Save local users statuses with plaint text format, build up their posts adding html tags on the fly.
    • 15b9c29 : Use only one dt_to_json function all over the modules
    • d6b8311 : Fixed posts's created_at datetime. Fixed posts's edited_at datetime. New datetime_to_json module to convert datetime object to string JSON with miliseconds. Fixed 'aplication' typo.
    • a22248a : Fixes local status showing wrong message 'has replied to' after editing it.
    • c522454 : Refactored /favourite and /unfavourite endpoints. Fixes local status showing wrong message 'has replied to' when favourited or unfavourited.
    • 6c154e4 : Fixed #63. Fixed edit post code.
    • 30a5d72 : hashtag history counters are not resseting to zero after follow or unfollow it
    • 4df5210 : Added table preview_card_trends to manage links trends (WIP)
    • 9d08251 : Fix #62
    • d51bc94 : Fixed error 'asyncpg.exceptions.UniqueViolationError: duplicate key value violates unique constraint 'index_favourites_on_account_id_and_status_id'
    • bf48428 : Fixed last_status_at value, must be None if any post.
    • f562405 : Fixed not loading account's avatar and header
    Downloads
  • v0.2.0 8d12881c80

    spla released this 2025年08月01日 14:07:15 +02:00 | 354 commits to main since this release

    New release! v0.2.0
    438c2b7 Pydantized Like, Undo Like, Announce anb Undo Announce activities.
    e7e6e72 Added missing module
    bb7417b Fix #28
    194d243 Fix #29
    d706a89 Refactored media helper and related db schema
    32eca2c Added favicon
    2fc1785 Fix #30
    f319cb2 Fixed missing acct in Mention dict
    38a6314 Merge branch 'main' of https://codeberg.org/spla/appy
    7f12926 Fix #33
    2473324 Fix #34
    68e9bfd Fix profile avatar and background images, Added html profile page for actor profile
    889764d Added name, summary, posts, following and followers to html profile page
    d9d5208 Added appy logo to html profile page
    961b293 Added missing logo value
    b09d2af Fixed typo
    0fd353f Fix #35
    ce7ab3d Merge branch 'main' of https://codeberg.org/spla/appy
    d4c9e5a Fix #36
    999a461 Fix 37
    44b3b9b Fix #38
    f478445 Fix #39
    8b28ede Added badges
    601f2ca Updated
    6ba96fd Moved status caching to dependencies dir. Added /users/{username} caching
    b93ed51 local users's html pages are now cached
    9c25d67 improved statuses, following and followers queries
    e8440ee Fix #42
    2078bc2 Pydantized vote activity
    20bf974 links to local users statuses are now shown in html page, and cached if needed
    fc45f40 improved post.html template, shows video and up to four images
    426d48a set Redis's host and port values by default
    09eae1d Redis setup now checks the connection until it works
    4af7e12 Check if table users exists, if not, create schema
    dafafc1 Improved database flow creation
    3228d84 new Redis cache management, controlling connections
    38414d1 Pydantized status's context
    35bda44 Fix #32
    093d96e Fix #44
    b2b9d21 Fixed not updating local polls with remote votes
    62b04ac new missing feature: send Update Question activities to federated servers
    3896b52 Fix #45
    c8d00bf Added Pleroma support for Follow, Follow Accept and Undo Follow activities
    6b7d6b6 Pleroma status code response for Follow and Undo Follow is 200
    1f86927 post and replies arrives to Pleroma
    4230289 Solve double notification in mentions
    fc9431b webfinger now works (tm)
    d69caee account lookup find and save Misskey users profiles
    856eade save follow activity after remote response is ok
    b38fc81 Fix KeyError: 'actor'
    20e4f93 Added missing html template
    55d2802 Added Misskey support, Added retry sending activities if remote server is down (WIP)
    b92b9df Merge branch 'main' of https://codeberg.org/spla/appy
    9f811e4 Fix #46
    a854493 Fix #47
    c3bb881 Fix status's tags dict
    35a6b88 Fix post status tag dict
    ce947d1 Added robots.txt
    73e5907 Fix account_lookup
    099b913 Updated
    3bd6db2 Updated
    6a2da61 Updated
    6620bd0 Use pydantized account dict
    709cdf7 Use pydantized Account dict
    8d22794 Fix #54
    a28b344 Fix #55
    1b63a10 Fixed TypeError: 'Account' object is not subscriptable
    9a98bad Fix #56. Fix bookmarks
    58af2e0 Several fixes
    64fe256 Fix TypeError: Object of type Account is not JSON serializable
    f02371a Fixed TypeError: 'Account' object is not subscriptable
    96dfb38 if not bearer or app access token provided, raise 401 error code
    cf6ae15 Fixed account_dict
    1217392 V2 notifications (WIP)
    81f385f Fixed TypeError: 'Account' object is not subscriptable
    97c3962 Fix #57
    8efbd0c Fixed statuses visibility
    88e23b9 get reblogged status visibility
    aa4d432 must return and array of Account dicts
    2c8be0e refactored
    8f6883a Removed custom_dict() model's attribute
    e8ec41a Fixed TypeError: 'Account' object is not subscriptable
    1e03264 removed delete_account function. Fixed 'in_reply_to_id' key error
    1947630 Fixed TypeError: 'Account' object is not subscriptable
    fae1bf5 New fetch remote post algoritme
    15d4ab7 improving fetch post
    d90ff78 fetch post now works just fine
    6bd2acf Adding websocket support (WIP). Refactored db schema creation, now create new tables, indexes etc if they not exists
    69bbd95 Edit status (WIP)
    1f0cc8e Fixed context
    2535311 New feature: post edits
    f59d8f3 save all status edits history including former one (WIP)
    e699ac2 removed JSONResponse
    5e88695 Ordered edit history by updated_at
    633e710 Saving status edits now works right, saving former status.
    0199861 Removed line
    4d29a91 Added apps/apps.mdb
    0025313 Added apps/apps.mdb
    1a58052 Removed
    9434fd3 Removed
    533e07d Added
    843b048 Removed
    285e7a8 Added
    5f39a1e Added
    f9a69b3 Removed
    a3edcec Added tables account_conversations and conversation_mutes
    ceef0de Fixed TypeError: 'Account' object is not subscriptable. New endpoint /api/v1/conversations (WIP)
    2ff8bc6 Added Akkoma support. Save and send out the conversation uri to the federated servers (WIP)
    5b46700 Fix #58
    ef5c3ad Refactored
    44b440a Refactored api/v1/instance. Added appy.png thumbnail
    c5b58fc Fixed typo
    27c2ed1 Added Push notifications. Added vapid keys
    618a190 Fixed markers. Added missing text to PublicStatus Pydantic model. Exclude public_key from public statuses. Fixed db schema creation. Fixed /users/{username}/statuses/{status_id} endpoint. Websocket support (WIP)
    2e38fbf Added wsmanager module
    9a51002 Added
    fbfdb4b Refactored markers. New endpoint /api/v1/notifications/{id}. Save and show application names (local users).
    1118f7b Fixed update_credentials endpoint. Added /api/v1/follow_requests endpoint (WIP). Home and public timelines are now two different endpoints. Removed ModelName class. Refactoring websockets (WIP).
    ec62a71 No error if already following it
    ec7b0ae Added pass
    ed79453 added application to Status
    b205e98 Refactored account credentials endpoints
    fc2df60 Removed verified_at
    28a4568 Fixed post markers. strip html tags from statuses's text.
    f664967 Removed indexable key
    833638b Fix UnboundLocalError: cannot access local variable 'timeline' where it is not associated with a value
    995a7cd name is now the domain name
    e0427ea Fixed AttributeError: 'Account' object has no attribute 'indexable'
    3a6bf21 New Context Pydantic model. /api/v1/statuses/{status_id} refactored. favourited_by now returns a Pydantic model. reblogged_by now returns a Pydantic model. Fixed statuses's mentions
    c59296c New MediaAttachment Pydantic model. Refactored media uploads. Update media description. Added PUT method for /api/v1/media/{media_id} endpoint.
    5610036 Attach up to 4 images
    ee2306b Fixed ValueError: Account object has no field roles
    ce6207e Added Pydantic response model to notification endpoints
    0699a71 New endpoint /api/v1/streaming/public (WIP). Fixed register app flow
    d2f67c9 Fix #59
    4c9f0ba Readded redirect_uri attribute. IceCubes need it
    be16916 Updated
    7e833cc Refactored account followers and follows
    d03383d Removed request
    e97fa18 Refactored /api/v1/apps
    9ddb4bf Fixed v2search. Added new Pydantinc model Search
    fe9e8d7 Full Pydantized values
    c6a3bab Fix Relationships. Fix account Followers and Following endpoints. Fix /api/v1/instance.
    c8b5ad4 uvicorn host & port are configurable and saved to .env
    9111ceb Added webp emoji support. Saved image_remote_url is now the the url from remote domain
    3f6da78 Check if uvicorn port is already in use
    8612baa Changed to RelationShip Pydantin model. Refactored account follow and unfollow endpoints. Removed hardcoded v2 filter. Fixed TypeError: 'int' object is not iterable
    6467ee7 Removed import module
    d949b4f Fixed TypeError: 'NoneType' object is not iterable
    3a26d38 Added PUT method for api/v1/push/subscription (WIP). Removed pdb.set_trace() from app/helpers/emojis.py. Fixed warning 'MarkupResemblesLocatorWarning: The input looks more like a filename than markup. You may want to open this file and pass the filehandle into Beautiful Soup.'
    2a9ec63 Fix relationships code
    f12f8de Added user roles
    00c1d6a Fixed TypeError: 'Account' object is not subscriptable
    dda1c94 Fixed NameError: name 'relationships' is not defined. Did you mean: 'relationship'?
    3419f44 return must be not a list
    be9a79a Refactored
    d2ff20d return 'Record not found' if acct not found
    22a4c8b Strip out double domain in acct
    e3c101c Assign owner role if not already done
    9fe1edc Fix typo
    a5da19b Adding Peertube support (WIP)
    1dfbe93 Load and show ancestors and descendants attached media, if any
    77115e0 Changed status to single_status in /api/v1/statuses/{status_id} endpoint. Reblogged posts now show media attachments and preview_cards if any.
    368f5c8 KeyError: 0
    b45d703 Fix #61, Pydantic serializer warnings
    ae98f00 Refactored /favourite, /unfavourite and /reblog endpoints related code
    34256e4 Added
    8185e58 refactored fetch post code
    d824562 Added internal actor to sign and fetch remote profiles. Refactored fetch remote post. Refactored incoming Announce code. Refactored account roles. New Generation of image thumbnail. Removed text and application field from Status model. New LocalStatus model.
    b8d8599 Save fetched new accounts with the right creation date. Fixed 'TypeError: 'Account' object is not subscriptable' in familiar serializer.
    1c08c18 Fixed IndexError: list index out of range
    4bec984 Fixed TypeError: 'int' object is not iterable
    504b799 New AccountFollowers model
    9da94f6 Refactored /unfollow endpoint. Check if already saved when fetching pinned posts.
    cd3145f Refactored /favourite endpoint.
    c5e9c32 Refactored single status serializer
    986916f Refactored /favourite endpoint. Removed public_key from account_statuses's Account
    3a63b05 Fixed invalid input for query argument ...(expected str, got dict)
    3b873e2 Fixed invalid input for query argument ...(expected str, got dict)
    d4d1e3a typed function
    59dde78 typed function
    ca31c93 Added sign in link to web frontend
    76ca206 improved login html page
    a88d596 Save and get browser token from cookie
    0b77b09 Fix broken local user avatar and background. Adding import follows support (WIP).
    946c1ac Adding import follows support (WIP).
    073836d Refactored /following endpoint logic to support pagination. Added new constraint to users table. Refactored import follows endpoint. Changed limit to default 40 in account /followers and /following endpoints. Make sure to fetch Akkoma's profile 'username'. Fixed account's followers and following views (last_status_at must be None if any post).
    4110a6e Added
    11d78ea Fixed wrong image path
    8743bb9 Paginated account's followers view
    b5f85fb Merge branch 'main' of https://codeberg.org/spla/appy
    8d12881 Fixed 'asyncpg.exceptions.DataError: invalid input for query argument : '113516676890053807' ('str' object cannot be interpreted as an integer)'. Fixed 'NameError: name 'urlencode' is not defined'

    Downloads
  • v0.1.1 992d35128f

    spla released this 2025年03月29日 14:33:29 +01:00 | 0 commits to release/v0.1.1 since this release

    Fixes save custom emojis

    Downloads
  • v0.1 0479fa7ff1

    spla released this 2025年03月29日 12:48:49 +01:00 | 0 commits to release/v0.1 since this release

    First release!

    Downloads