Commit graph

238 commits

Author SHA1 Message Date
Jesse Wierzbinski bfbaa7ce2c
fix(api): 🐛 Correctly sanitize checkbox inputs 2024-11-19 11:32:16 +01:00
Jesse Wierzbinski dc8a64355a
feat(api): Allow disabled checkbox inputs in rich text 2024-11-19 11:20:24 +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 3b704b4c8c
fix(plugin): 🐛 Fix misleading error message related to plugin initialization 2024-10-24 18:41:11 +02:00
Jesse Wierzbinski 11bb0a6f49
feat(cli): Add generate-keys CLI command 2024-10-24 18:18:39 +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 6338f711ad
chore: ⬆️ Upgrade dependencies 2024-10-23 18:01:40 +02:00
Jesse Wierzbinski 9e96eca032
refactor(database): ♻️ Move Applications to our custom ORM 2024-10-23 17:56:47 +02:00
Jesse Wierzbinski d2dcdce763
fix(api): 🐛 Fix incorrect order of function parameters 2024-10-11 17:09:51 +02:00
Jesse Wierzbinski 04651746bb
refactor(plugin): 🚚 Move SSO login callback route to OpenID plugin 2024-10-11 15:15:06 +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 076e930369
refactor: 🚨 Remove process.exit usage 2024-10-03 11:59:26 +02:00
Jesse Wierzbinski b1d8595a7c
refactor: 🚨 Remove unnecessary async keywords 2024-10-03 11:43:16 +02:00
Jesse Wierzbinski 132bec4d5b
fix(api): 🐛 Fix incorrect ?? placement
This would not set a default value of 20
2024-10-03 10:31:57 +02:00
Jesse Wierzbinski 5ed3f04d48
refactor: 🚨 Simplify boolean return 2024-10-03 10:30:22 +02:00
Jesse Wierzbinski d224d7b9b8
feat(plugin): Add dynamic plugin and manifest loader 2024-09-23 11:51:15 +02:00
Jesse Wierzbinski 166d1c59a5
refactor: 🔥 Remove some code already provided by LogTape 2024-09-15 13:47:26 +02:00
Jesse Wierzbinski 45c131dfed
fix(api): 🐛 Don't clone body twice 2024-09-04 22:59:39 +02:00
Jesse Wierzbinski 5d2aa82247
feat(api): Add response logging 2024-09-04 22:52:43 +02:00
Jesse Wierzbinski d51bae52c6
refactor(plugin): ♻️ Move parts of OpenID logic to plugin 2024-08-29 20:32:04 +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 1ab1c68d36
refactor(api): 🚚 Refactor authentication middleware and implement some OpenAPI routes 2024-08-27 17:20:36 +02:00
Jesse Wierzbinski df466ecaa0
refactor(api): ♻️ Use OpenAPIHono instead of Hono in preparation for future changes 2024-08-27 16:40:11 +02:00
Jesse Wierzbinski 42e198ca0e
chore(federation): 👽 Finish initial Versia Working Draft 4 update 2024-08-26 19:27:40 +02:00
Jesse Wierzbinski c3fa867e74
chore(federation): 👽 Initial Versia Working Draft 4.0 support 2024-08-26 19:06:49 +02:00
Jesse Wierzbinski 9c71c3fe51
chore: ⬆️ Upgrade dependencies 2024-08-26 18:15:14 +02:00
Jesse Wierzbinski 866692c1dc
refactor: ♻️ Use native Hono return functions instead of custom ones 2024-08-19 21:03:59 +02:00
Jesse Wierzbinski 7e2f333945
refactor: ♻️ Use a typed wrapper for all API endpoints 2024-08-19 20:06:38 +02:00
Jesse Wierzbinski 4a1ad9dd96
refactor: 🔥 Remove old config-manager symlink 2024-08-19 14:43:54 +02:00
Jesse Wierzbinski 0194b471a8
feat: Enable Sentry's extra error data integration 2024-07-27 22:44:21 +02:00
Jesse Wierzbinski 558ae72c82
fix(federation): 🐛 Fix new notes being federated to ALL remote users, regardless of visibility 2024-07-26 19:21:03 +02:00
Jesse Wierzbinski 420a0d05dc
feat: Add git commit SHAs to Sentry release 2024-07-26 00:20:58 +02:00
Jesse Wierzbinski bc25896ed8
feat(config): 🧑‍💻 Add custom tracing URL support to Sentry config 2024-07-26 00:02:48 +02:00
Jesse Wierzbinski 0bc6a89706
feat(api): Add more Sentry logging 2024-07-24 19:04:00 +02:00
Jesse Wierzbinski 5061735da7
feat: Add Sentry support 2024-07-24 18:10:29 +02:00
Jesse Wierzbinski 8a6d71d958
feat(api): 🏷️ Only allow JSON values in JSON HTTP responses 2024-07-22 22:02:17 +02:00
Jesse Wierzbinski ff315af230
feat(federation): Add ActivityPub bridge support with CLI command 2024-07-16 23:29:20 +02:00
Jesse Wierzbinski ba56c98e35
chore(federation): ⬆️ Upgrade @lysand-org/federation to 2.1.1 2024-07-16 20:17:18 +02:00
Jesse Wierzbinski 939815510c
refactor: ⬆️ Upgrade dependencies, use JSR for Hono 2024-07-11 12:56:28 +02:00
Jesse Wierzbinski cea9452127
refactor(federation): ♻️ Replace WebFinger code with @lysand-org/federation logic, add new debug command 2024-06-29 22:24:10 -10:00
Jesse Wierzbinski 19c15f7e96
refactor: ♻️ Replace Meilisearch with Sonic 2024-06-28 23:40:44 -10:00
Jesse Wierzbinski 2cf1537a7e
chore: ♻️ Replace all @ts-ignore with @ts-expect-error 2024-06-28 21:33:19 -10:00
Jesse Wierzbinski d09f74e58a
refactor: 🚚 Rename functions, move getUrl to Attachment 2024-06-28 17:50:56 -10:00
Jesse Wierzbinski a6c5f320e3
fix(api): 🚑 Remove hack to get text 2024-06-26 16:14:12 -10:00
Jesse Wierzbinski e59c3aa625
fix(api): 🐛 Fix body not being logged in request debugging 2024-06-26 15:31:51 -10:00
Jesse Wierzbinski de75310b61
fix: 🐛 Fix request logs not showing up when starting server via CLI 2024-06-26 15:16:50 -10:00
Jesse Wierzbinski d29603275a
refactor(api): ♻️ Use Web Workers instead of spawning the same process once for each thread 2024-06-26 14:44:08 -10:00
Jesse Wierzbinski bc8220c8f9
refactor: ♻️ Replace logging system with @logtape/logtape 2024-06-26 13:11:39 -10:00
Jesse Wierzbinski b8b822e553
feat(config): Add support for HTTP proxies on outgoing requests 2024-06-25 17:13:40 -10:00
Jesse Wierzbinski 70cd00cfa8
refactor(federation): ⬆️ Use @lysand-org/federation v2.0.0 2024-06-19 13:21:02 -10:00
Jesse Wierzbinski d33a61e713
fix(api): 🐛 Properly disable challenges when config option is set 2024-06-15 20:27:31 -10:00
Jesse Wierzbinski c764cc044d
fix: 🚑 Sleep process instead of exiting it on error
Avoids Docker's auto-restart policy from causing infinite reboots and hanging the system
2024-06-13 23:44:46 -10:00
Jesse Wierzbinski edbe6e45b2
fix: 🐛 Fix incorrect docs, make exit code 0 instead of 1 2024-06-13 23:26:20 -10:00
Jesse Wierzbinski 8f9472b221
feat(api): Implement Challenges API 2024-06-13 22:03:51 -10:00
Jesse Wierzbinski 924ff9b2d4
refactor(api): 🚚 Change ApiRouteMetadata structure to be more consistent 2024-06-13 18:03:17 -10:00
Jesse Wierzbinski c3271ba264
docs: 📝 More work on JSDoc 2024-06-12 22:52:03 -10:00
Jesse Wierzbinski 83275be536
refactor: ⚰️ Remove dead code and useless files 2024-06-12 20:34:17 -10:00
Jesse Wierzbinski d301d4da09
refactor(api): 🎨 Don't use node:crypto for random strings 2024-06-12 19:38:26 -10:00
Jesse Wierzbinski c61f519a34
refactor(api): 🎨 Refactor complex functions into smaller ones 2024-06-12 18:16:59 -10:00
Jesse Wierzbinski a1e02d0d78
refactor: 🚨 Turn every linter rule on and fix issues (there were a LOT :3) 2024-06-12 16:26:43 -10:00
Jesse Wierzbinski 5565bf00de
refactor(database): 🎨 Improve database handlers to have more consistent naming and methods 2024-06-12 14:45:07 -10:00
Jesse Wierzbinski ffcf01e3cd
feat(api): Add TOS and Privacy Policy support 2024-06-11 09:55:40 -10:00
Jesse Wierzbinski 4902f078a8
feat(api): Add permissions to every route and permission config 2024-06-07 18:57:29 -10:00
Jesse Wierzbinski 19823d8eca
feat(api): Add Roles API 2024-06-07 17:31:17 -10:00
Jesse Wierzbinski f87bcbd0da
chore: ⚰️ Remove dead code and unused imports 2024-05-28 15:14:24 -10:00
Jesse Wierzbinski 0706541546
refactor: 🚚 Add slash to typescript path shortcuts 2024-05-28 14:59:49 -10:00
Jesse Wierzbinski fd38161769
fix(federation): 🐛 Fix debug logger not correctly outputting 2024-05-21 15:23:48 -10:00
Jesse Wierzbinski eab61b38f1
feat(federation): Add bridge tokens, federation request debugging 2024-05-21 14:59:03 -10:00
Jesse Wierzbinski b1216a43f2
refactor(api): ♻️ Change route names, improve API endpoints to be more consistent with Mastodon API 2024-05-16 15:49:59 -10:00
Jesse Wierzbinski 2b5b82b465
fix: 🐛 Fix all TypeScript issues 2024-05-15 17:07:34 -10:00
Jesse Wierzbinski fb31375b74
refactor(config): 🔥 Replace config validation with Zod 2024-05-15 16:37:25 -10:00
Jesse Wierzbinski 5fd6a4e43d
feat(federation): Replace old types and federation validators with @lysand-org/federation 2024-05-14 14:35:13 -10:00
Jesse Wierzbinski b83d76abf6
fix(api): 🐛 Fix only one emoji being parsed per post 2024-05-12 19:14:37 -10:00
Jesse Wierzbinski 4f070c9b65
fix(api): 🔒 Replace bad webfinger regex with good one 2024-05-12 16:27:40 -10:00
Jesse Wierzbinski 8e5d68144c
fix(api): 🐛 Fix regression in emoji parsing caused by incorrectly changed regex 2024-05-12 15:07:55 -10:00
Jesse Wierzbinski ff14e5a5d3
fix(api): 🐛 Fix auth could not error when token was wrong and authorization required on a route 2024-05-12 13:53:49 -10:00
Jesse Wierzbinski 4713d0f93f
fix(api): 🐛 Add JSON support to every form that doesn't have a file parameter 2024-05-11 15:51:01 -10:00
Jesse Wierzbinski 8fedd1a07d
feat(api): Add new admin emoji API 2024-05-11 15:27:28 -10:00
Jesse Wierzbinski b979daa39a
feat(api): Allow more HTML tags in Markdown 2024-05-11 15:27:19 -10:00
Jesse Wierzbinski e48f57a3d8
perf(database): Improve performance when fetching timelines by fetching all data in a single SQL query 2024-05-08 13:19:53 -10:00
Jesse Wierzbinski a9629b825b
fix(api): 🎨 Do wizardry on qs middleware to also work on multipart formData 2024-05-08 01:16:16 -10:00
Jesse Wierzbinski fc06b35c09
feat(cli): Add new CLI commands, move to project root 2024-05-08 00:10:14 +00:00
Jesse Wierzbinski 06c30b8af2
feat(cli): ♻️ Begin new CLI rewrite with oclif 2024-05-07 07:41:02 +00:00
Jesse Wierzbinski 7b05a34cce
refactor: 🔥 Remove dead code 2024-05-07 03:13:37 +00:00
Jesse Wierzbinski 8557867ad8
fix(api): 🐛 Fix incorrect proxy behaviour 2024-05-06 17:31:12 +00:00
Jesse Wierzbinski 516bfb72e7
fix(build): 🐛 Add bodyOrJson middleware to server/api/v1/apps 2024-05-06 08:31:12 +00:00
Jesse Wierzbinski 959dd27ad6
refactor(api): 🎨 Finish Hono refactor 2024-05-06 08:19:42 +00:00
Jesse Wierzbinski 826a260e90
refactor(api): ♻️ Move to Hono for HTTP 2024-05-06 07:16:33 +00:00
Jesse Wierzbinski 5f785c391d
refactor(api): 🎨 Switch to base64url for proxy url encoding instead of plaintext 2024-05-04 21:02:25 -10:00
Jesse Wierzbinski ead34b818f
feat(api): 🔒 Make all media be proxied through an internal proxy 2024-05-04 19:13:23 -10:00
Jesse Wierzbinski 154f17ab12
refactor(api): 📦 Change sanitizer from DOMPurify to xss 2024-05-02 17:20:24 -10:00
Jesse Wierzbinski a430db5c30
fix(build): 🐛 Fix happy-dom 2024-05-02 15:29:36 -10:00
Jesse Wierzbinski 5ef7564ee8
fix(build): 🐛 aaa 2024-05-02 14:44:49 -10:00
Jesse Wierzbinski 74873fe924
fix(api): 🚑 Replace isomorphic-dompurify with plain jsdom and dompurify 2024-05-02 14:21:09 -10:00
Jesse Wierzbinski a339b7fa94
fix(frontend): 🐛 Add unsafe-inline to CSP for frontend 2024-05-02 14:05:14 -10:00