Commit graph

128 commits

Author SHA1 Message Date
Jesse Wierzbinski 80b874e5fb
refactor(api): Move media processing to background job 2025-01-06 19:21:57 +01:00
Jesse Wierzbinski dcdc8c7365
fix(api): 🐛 Fix user registration incorrectly counting remote users as local 2025-01-06 18:14:09 +01:00
Jesse Wierzbinski cde2836982
fix(api): 👽 Ignore what the Mastodon docs say, they're wrong 2025-01-02 04:13:12 +01:00
Jesse Wierzbinski ea0afdaf22
fix(api): 🐛 Make validation on push subscription more lax 2025-01-02 03:53:38 +01:00
Jesse Wierzbinski 7b3158c102
fix(api): 🚑 Fix incorrect builds
Everything under api/ should be a route, or it messes up bundling
2025-01-02 02:55:56 +01:00
Jesse Wierzbinski d096ab830c
feat(api): Add initial Push Notifications support 2025-01-02 01:29:33 +01:00
Jesse Wierzbinski 82da70bcac
refactor(api): ♻️ Group note/account fetching code in some routes 2024-12-30 21:30:10 +01:00
Jesse Wierzbinski 16f302c2dc
refactor(api): ♻️ Simplify route schema definitions 2024-12-30 20:26:56 +01:00
Jesse Wierzbinski 4926d6ff5d
refactor(api): 🔥 Remove all useless route metadata objects 2024-12-30 20:18:48 +01:00
Jesse Wierzbinski 09f30db83a
refactor(api): ♻️ Remove useless authorization checks 2024-12-30 19:38:41 +01:00
Jesse Wierzbinski dc12b269f5
refactor(api): ♻️ Improve authentication checker API 2024-12-30 19:18:31 +01:00
Jesse Wierzbinski 621dd7e9d9
refactor(api): ♻️ Upgrade zod-openapi to 0.18.3
Needed to add "as const" to all middleware handlers :)
2024-12-30 18:20:22 +01:00
Jesse Wierzbinski fbfd237f27
refactor(api): ♻️ Throw ApiError instead of returning error JSON 2024-12-30 18:00:23 +01:00
Jesse Wierzbinski a7b29d563e
fix(api): 🏷️ Use context.body for 204 responses 2024-12-30 16:18:28 +01:00
Jesse Wierzbinski 4fdb96930f
fix(api): 🐛 Fetch media content-type from data, instead of doing naive guesses 2024-12-16 23:57:21 +01:00
Jesse Wierzbinski 6f67881d96
feat(api): Add ability to set URL as avatar or banner 2024-12-16 15:46:11 +01:00
Jesse Wierzbinski e293bd280d
fix(api): 🐛 Fix duplicated mentions, general refactorings 2024-12-09 15:30:18 +01:00
Jesse Wierzbinski 0ae9cfe26c
refactor(federation): ♻️ More federation logic cleanup 2024-12-09 15:01:19 +01:00
Jesse Wierzbinski 83399ba5f1
refactor(database): ♻️ Simplify User and Note logic further 2024-12-09 13:50:46 +01:00
Jesse Wierzbinski a8541bdc44
refactor(database): ♻️ Simplify Note and User federation logic 2024-12-09 13:36:15 +01:00
Jesse Wierzbinski c94dd7c59d
fix(api): 🐛 Don't transform raw URLs as if they were attachments 2024-12-09 12:43:53 +01:00
Jesse Wierzbinski 8796f694bc
feat(api): 🚩 Add emoji shortcode size controls 2024-12-09 11:09:40 +01:00
Jesse Wierzbinski b14fa17e1a
feat(config): 🚩 Add emoji size/description size controls 2024-12-09 10:55:04 +01:00
Jesse Wierzbinski 5074ac788f
fix(api): 🐛 Force text content-type header on all empty responses
Fixes a problem where the content-type would default to application/json
2024-12-07 13:24:24 +01:00
Jesse Wierzbinski 06376cf58a
fix(api): 🐛 Correctly return empty body without content-type headers, when returning empty responses 2024-12-07 12:20:06 +01:00
Jesse Wierzbinski 2743528727
fix(api): 🐛 Fix emoji editing always making the emoji non-global 2024-12-07 11:12:17 +01:00
Jesse Wierzbinski e4768620e2
fix(api): 🐛 Fix account lookup address parsing (again) 2024-12-02 15:40:20 +01:00
Jesse Wierzbinski 91da99c934
feat(federation): Handle instances not existing 2024-12-02 15:07:05 +01:00
Jesse Wierzbinski deee65ad6d
refactor(api): ♻️ Refactor user lookup endpoint 2024-12-02 15:00:37 +01:00
Jesse Wierzbinski 46933c1bef
fix(api): Fix tests expecting null instead of undefined in Roles API 2024-11-28 11:24:56 +01:00
Jesse Wierzbinski 4e38749ccb
docs(api): 📝 Update Roles API docs and changelog 2024-11-26 15:41:08 +01:00
Jesse Wierzbinski 49c53de99e
feat(api): Overhaul Role API, add ability to edit roles and assign/unassign them from any user 2024-11-26 15:27:39 +01:00
Jesse Wierzbinski 340ed7b258
fix(federation): 🐛 Correctly handle non-lowercase acct queries in account lookups 2024-11-24 17:42:30 +01:00
Jesse Wierzbinski da369e604c
fix(api): 🐛 Fix lookup endpoints thinking local user is remote 2024-11-23 23:09:59 +01:00
Jesse Wierzbinski fa0d48b88d
fix(api): 🐛 Use consistent user address matching patterns 2024-11-22 16:53:36 +01:00
Jesse Wierzbinski 569ba8bf2d
fix(api): 🔒 Correctly put all URIs in profiles through proxy 2024-11-22 15:06:46 +01:00
Jesse Wierzbinski 66c5c6e62d
fix(api): 🐛 Also validate other username characters in username changes 2024-11-21 09:31:37 +01:00
Jesse Wierzbinski 2fea17fdaa
fix(api): 🐛 Make uppercase usernames send errors during registration again 2024-11-21 09:26:03 +01:00
Jesse Wierzbinski a3b745358b
fix(api): 🐛 Automatically make all usernames lowercase 2024-11-21 09:23:25 +01:00
Jesse Wierzbinski 9682cd0f99
fix(api): 🔒 Correctly check for note ownership when editing 2024-11-19 17:26:14 +01:00
Jesse Wierzbinski 653cf712ea
fix(api): 🚑 Correctly check visibility in timelines 2024-11-19 17:07:11 +01:00
Jesse Wierzbinski bfa44e3f34
fix(api): 🐛 Fix for changed HTTP response code in Emoji API 2024-11-10 15:38:08 +01:00
Jesse Wierzbinski 06a8dd1c0a
refactor: 📝 Move documentation to a custom VitePress site 2024-11-10 15:24:34 +01:00
Jesse Wierzbinski ca31830fb3
revert(api): 🔥 Use Notification's schema declaration instead of declaring it again every time 2024-11-04 14:35:27 +01:00
Jesse Wierzbinski e732a3df03
refactor(database): ♻️ Move Notifications to their own ORM abstractions 2024-11-04 10:43:30 +01:00
Jesse Wierzbinski 845041e4db
refactor(database): ♻️ Move Token to its own ORM abstraction, optimize familiar_followers route 2024-11-03 17:45:21 +01:00
Jesse Wierzbinski c1dcdc78ae
refactor: ♻️ Always use explicit types in every function 2024-11-02 00:43:33 +01:00
Jesse Wierzbinski 7a73b8db91
refactor(database): 🚚 Only import ORM table data from @versia/kit 2024-11-01 21:05:54 +01:00
Jesse Wierzbinski 2f8b85a299
refactor(database): 🚚 Only import ORM abstractions from @versia/kit 2024-11-01 20:57:16 +01:00
Jesse Wierzbinski f26493140f
refactor(federation): ♻️ Move incoming federation handling to custom class 2024-11-01 20:42:32 +01:00
Jesse Wierzbinski df84572148
fix(api): 🐛 Fix missing FormData acceptance for registration route 2024-10-24 18:48:11 +02:00
Jesse Wierzbinski 5a26bdf2f8
refactor(database): 🚚 Move Likes to our custom ORM 2024-10-24 17:20:00 +02:00
Jesse Wierzbinski e52e230ce3
refactor(database): 🚚 Move database ORM code to classes/database
The old directory, packages/database-interface, was confusingly named so it was better to move it here
2024-10-24 16:28:38 +02:00
Jesse Wierzbinski 9e96eca032
refactor(database): ♻️ Move Applications to our custom ORM 2024-10-23 17:56:47 +02:00
Jesse Wierzbinski d84ae38573
fix(api): 🐛 Fix missing nullish coalescing 2024-10-11 17:07:17 +02:00
Jesse Wierzbinski 9f1e89b592
refactor(config): 🔥 Remove old oidc section in config 2024-10-11 17:03:33 +02:00
Jesse Wierzbinski ce781f3336
refactor(database): ♻️ Use new Drizzle count API 2024-10-11 15:46:05 +02:00
Jesse Wierzbinski b53307c824
refactor: 🚚 Explicitely add extensions to all imports 2024-10-04 15:22:48 +02:00
Jesse Wierzbinski 3fade63567
refactor: 🚨 Use shortand property syntax for object literals 2024-10-03 13:41:58 +02:00
Jesse Wierzbinski 360ec4817c
fix(api): 🚨 Correct duplicate assignments 2024-10-03 13:26:53 +02:00
Jesse Wierzbinski b1d8595a7c
refactor: 🚨 Remove unnecessary async keywords 2024-10-03 11:43:16 +02:00
Jesse Wierzbinski 5e1ec8778c
fix: 🚨 Correct useless template literal 2024-10-03 10:27:41 +02:00
Jesse Wierzbinski 2254c3d39c
refactor(api): 🔥 Remove useless allowedMethods from route meta info 2024-09-27 13:08:47 +02:00
Jesse Wierzbinski b040c88445
refactor(api): ♻️ Finish first pass of OpenAPI refactor 2024-09-27 13:00:12 +02:00
Jesse Wierzbinski 74ec563ba5
refactor(api): ♻️ Move all SSO account linking endpoint logic to OpenID plugin 2024-09-25 12:31:35 +02:00
Jesse Wierzbinski 96d1805925
refactor(api): ♻️ Move /api/v1/sso to OpenID plugin 2024-09-24 14:42:39 +02:00
Jesse Wierzbinski 5aa1c4e625
refactor(api): ♻️ More OpenAPI refactoring work 2024-09-16 15:29:09 +02:00
Jesse Wierzbinski 9e3311e29f
refactor(api): ♻️ Refactor roles, SSO and timelines to new OpenAPI route format 2024-09-16 12:30:05 +02:00
Jesse Wierzbinski 739bbe935b
refactor(api): ♻️ More OpenAPI refactoring 2024-09-15 14:59:21 +02:00
Jesse Wierzbinski b755fc5d62
refactor(api): ♻️ Move more API routes to new OpenAPI format 2024-09-15 14:28:47 +02:00
Jesse Wierzbinski d63196b5ee
fix(api): 🐛 Only decode URI, not full URI component, in application's redirect_url 2024-09-04 23:31:58 +02:00
Jesse Wierzbinski 69d7d50239
refactor(api): ♻️ Remove old redirect() and response() in favour of Hono's builtins 2024-08-28 17:01:56 +02:00
Jesse Wierzbinski 47c666894c
refactor: ♻️ Refactor tests to use a simpler syntax 2024-08-27 21:25:26 +02:00
Jesse Wierzbinski 6ed1bd747f
refactor(api): ♻️ Refactor more routes to use OpenAPI 2024-08-27 20:14:10 +02:00
Jesse Wierzbinski bcbc9e6bf1
refactor(api): ♻️ Refactor more routes into OpenAPI-compatible formats 2024-08-27 18:55:02 +02:00
Jesse Wierzbinski b0b750c05d
refactor(api): ♻️ Convery more routes to use OpenAPI 2024-08-27 17:40:58 +02:00
Jesse Wierzbinski 1ab1c68d36
refactor(api): 🚚 Refactor authentication middleware and implement some OpenAPI routes 2024-08-27 17:20:36 +02:00
Jesse Wierzbinski 3c1b330d4b
refactor(api): 🚚 Use api/ for API routes instead of server/api/ 2024-08-27 16:37:23 +02:00