c4ec8ae999
Slon/Modules/ActivityPub: Add http_signature_is_always_valid option
...
For testing purposes, we can set http_signature_is always_valid to any
value in the db settings Object. This allows us e.g. to replay
ActivityPub payloads using curl, without having to deal with signatures
while we are implementing new features.
2025-03-15 18:02:47 -04:00
8175debbac
Meta: Remove newline for debugging separator
2025-03-15 17:52:31 -04:00
400d9c9c01
Slon/Api/V1/Bookmarks: Implement Bookmarks
...
Fixes #10
2025-03-14 18:24:10 -04:00
5a9bf4f32b
Slon/Api/V1/CustomEmojis: Implement Custom Emojis
...
Fixes #6
2025-03-13 15:50:48 -04:00
a4a959d875
Meta: Suppress compiler warnings
2025-03-12 20:49:05 -04:00
401035a0d1
Slon/Api/V1/Favourites: Implement Favourites
...
Fixes #7
2025-03-12 20:33:39 -04:00
475e648feb
Slon/Api/V1/Announcements: Implement Announcements
...
Fixes #9
2025-03-12 16:19:00 -04:00
6e9f86b4ae
Slon/Modules/Db: Show progress when loading profiles and statues
2025-03-12 13:41:05 -04:00
fd8d6ca2b7
Slon/Modules/ActivityPub: Fix offset for HTTP signatures (for now)
2025-03-12 09:05:42 -04:00
c726b7e206
Slon/Http/AdminServer: Display free memory in /info/stats
2025-03-12 08:23:41 -04:00
06c8433616
Slon/Static/html/admin: Make whitelist_ip a protected settings field
...
Just a simple QoL change, not "security" by any means.
2025-03-12 08:03:25 -04:00
5f2ed89f61
Slon/Endpoints/Get/ActivityPub: Match json anywhere in Accept header
...
We shouldn't 404 if a client accepts many different content-types, or is
unnecessarily verbose, when requesting a user profile.
2025-03-12 07:58:44 -04:00
3faed0e966
Slon/Modules/OAuth: Return client state for /oauth/verify_access
...
Most clients don't care about this, but the (deprecated) Tooot iOS app
does, so now we support it.
2025-03-12 07:47:09 -04:00
5010de73a0
Slon/Api/V1/Accounts: Fix nested for loops in @slon_api_v1_accounts_get
2025-03-10 09:12:05 -04:00
ba296cceb8
Slon/Api/V1/Accounts: Create relationship object in session's mem_task
...
This fixes a crash when the Mona iOS client makes a GET request to the
/api/v1/accounts/relationships endpoint.
2025-03-10 08:21:40 -04:00
08579df0b8
Slon/Modules/Http: Add mem_task to SlonHttpSession
...
We should be using the CHeapCtrl from the Spawned @slon_http_task to
allocate memory for each individual session, which will automatically
be freed when the CTask dies, so let's give ourselves the ability to
do that.
2025-03-10 08:18:13 -04:00
546cbaf18d
Slon/Modules/Api: Add NULL check to SLON_AUTH_ACCOUNT_ID macro
2025-03-09 20:34:45 -04:00
d5a09373e4
Everywhere: Update JSON API
2025-03-09 19:39:44 -04:00
b0c1016955
Slon/Modules/ActivityPub: Pass actor as argument to @slon_activitypub_get_account_for_remote_actor
2025-03-06 15:09:57 -05:00
74455c59ab
Slon/Modules/Db: Add @slon_db_save_status_to_disk() to save an individual account's statuses
2025-03-06 15:03:05 -05:00
aded79c192
Slon/Modules/Db: Save/load accounts to/from individual JSON files
2025-03-06 10:54:25 -05:00
64f31de070
Everywhere: Use slon_mem_task for memory allocation
2025-03-06 09:54:26 -05:00
5333b64917
Everywhere: Store statuses by account id, generate timelines as array of object:account_id,status_id
2025-03-05 13:43:35 -05:00
33a92718c7
Slon/Api/V1/Accounts: Handle array of ids for /api/v1/accounts/relationships
2025-03-05 13:04:22 -05:00
62b6d75851
Slon/Modules/Api: Use @slon_api_find_status_by_id
2025-03-05 08:09:17 -05:00
b8fba64ab0
Slon/Api/V1/Accounts: Allow updating avatar/header images via PATCH /api/v1/accounts/update_credentials
2025-03-04 20:46:43 -05:00
3100707e78
Slon/Api/V2/Media: Remove unnecessary no_warn
2025-03-04 20:14:26 -05:00
f1d78783a3
Slon/Endpoints/Get/Web: Remove some test data
2025-03-04 15:12:49 -05:00
9ed7e1c1e3
Slon/Http/Server: Use @slon_http_json_object_add_nested_value() when
...
parsing url-encoded strings to JSON
Fixes #3
2025-03-04 14:45:12 -05:00
a7649a00c8
Everywhere: Use Catbox API asynchronously
...
Fixes #2
2025-03-04 13:26:35 -05:00
04dce33aca
Slon/Modules/Api: Move Catbox API routines here
2025-03-03 21:12:33 -05:00
e1c6ca1b2b
Slon/Http/Server: Reimplement multipart/form-data to JSON parser
2025-03-03 21:00:55 -05:00
8eddf1fdc7
Slon/Static/html,js: Let IMG tags know width,height from status' media attachments
2025-03-02 19:58:34 -05:00
5258ab19a8
Slon/Api/V1/Statuses: Allow retrieval of individual status from public timeline
2025-03-02 18:07:09 -05:00
715d119882
Slon/Api/V1/Statuses: Implement Context descendants
...
Fixes #1
2025-03-02 17:34:59 -05:00
27fa0f8aad
Slon/Api/V2/Media: Add support for Catbox API
2025-03-02 15:08:39 -05:00
6ff3a74914
Slon/Modules/Db,Slon/Http/AdminServer: Add a settings object to the database for misc parameters
2025-03-02 09:55:22 -05:00
6f11f7830d
Slon/Api/V1/Statuses: Handle 'sensitive' parameter if POSTed as string rather than boolean
2025-03-01 21:27:09 -05:00
c0a28a6f17
Slon/Modules/Http: Increase session buffer size to 10MB
2025-03-01 21:11:01 -05:00
bcb46d47f1
Slon/Http/Server: Add @slon_http_json_object_from_multipart_form_data()
2025-03-01 21:08:39 -05:00
140284233d
Slon/Static/html: Display images in user statuses
2025-03-01 20:18:35 -05:00
b104551bbd
Slon/Api/{V1,V2}/Media: Implement PUT /api/v1/media, POST /api/v2/media
2025-03-01 19:46:13 -05:00
95aecb9fb1
Slon/Api/V1/Markers: Implement /api/v1/markers
2025-02-28 18:39:20 -05:00
e223273300
Slon/Api/V1/Statuses: Refactor /api/v1/statues/:id/context
2025-02-28 18:35:23 -05:00
da6998c637
Slon/Http/Server: Support arrays and objects in urlencoded strings
2025-02-28 16:23:30 -05:00
1ecc5f4995
Slon/Api/V1/Statuses: Don't clobber status with each lookup
2025-02-28 16:21:21 -05:00
88f4c39968
Api/V1/Statuses: Include parameter in @slon_api_v1_statuses_query
2025-02-28 12:35:38 -05:00
afee70ad38
Slon/Api/V1/Statuses: Implement GET /api/v1/statues/:id/context
2025-02-28 12:22:32 -05:00
9a5a49ae80
Slon/Http/Server: Add Slon/Endpoints/Get/Statuses
2025-02-28 11:29:06 -05:00
90e553abc3
Slon/Api/V1/Statuses: Implement GET /api/v1/statuses/:id
2025-02-28 11:26:33 -05:00