Commit graph

341 commits

Author SHA1 Message Date
Jesse Wierzbinski 9d1d56bd08
feat(api): Implement indexing toggle and followers/following privacy settings 2025-03-30 20:32:42 +02:00
Jesse Wierzbinski 58342e86e1
refactor(api): ♻️ Move from @hono/zod-openapi to hono-openapi
hono-openapi is easier to work with and generates better OpenAPI definitions
2025-03-29 03:30:06 +01:00
Jesse Wierzbinski c674a1309c
feat(api): Add OpenAPI visualizer
Some checks failed
CodeQL Scan / Analyze (javascript-typescript) (push) Failing after 53s
Build Docker Images / lint (push) Failing after 10s
Build Docker Images / check (push) Failing after 10s
Build Docker Images / tests (push) Failing after 6s
Build Docker Images / build (server, Dockerfile, ${{ github.repository_owner }}/server) (push) Has been skipped
Build Docker Images / build (worker, Worker.Dockerfile, ${{ github.repository_owner }}/worker) (push) Has been skipped
Deploy Docs to GitHub Pages / build (push) Failing after 5s
Mirror to Codeberg / Mirror (push) Failing after 0s
Deploy Docs to GitHub Pages / Deploy (push) Has been skipped
Nix Build / check (push) Failing after 5s
2025-03-24 15:25:40 +01:00
Jesse Wierzbinski 65e2e19ff1
refactor(api): ♻️ Properly reuse error messages and schemas 2025-03-24 14:42:09 +01:00
Jesse Wierzbinski ec506241f0
test(api): Remove old tests and introduce new, better ones
Some checks failed
CodeQL Scan / Analyze (javascript-typescript) (push) Failing after 6s
Build Docker Images / lint (push) Successful in 50s
Build Docker Images / check (push) Successful in 1m24s
Build Docker Images / tests (push) Failing after 8s
Build Docker Images / build (server, Dockerfile, ${{ github.repository_owner }}/server) (push) Has been skipped
Build Docker Images / build (worker, Worker.Dockerfile, ${{ github.repository_owner }}/worker) (push) Has been skipped
Deploy Docs to GitHub Pages / build (push) Failing after 15s
Mirror to Codeberg / Mirror (push) Failing after 0s
Deploy Docs to GitHub Pages / Deploy (push) Has been skipped
Nix Build / check (push) Failing after 33m5s
2025-03-23 03:34:17 +01:00
Jesse Wierzbinski 8d1af1b0cd
refactor(api): 🔥 Remove old @versia/client version 2025-03-22 18:04:47 +01:00
Jesse Wierzbinski 54e282b03c
refactor(api): ♻️ Refactor all tests to use new client 2025-03-22 17:32:46 +01:00
Jesse Wierzbinski 84b9fc3719
refactor(api): ♻️ Refactor test code to use new client 2025-03-22 04:04:06 +01:00
Jesse Wierzbinski 3fe07a79b8
refactor(api): ♻️ Move all client schema code to new package 2025-03-22 02:34:03 +01:00
Jesse Wierzbinski 54fd81f076
refactor(config): ♻️ Redo config structure from scratch, simplify validation code, improve checks, add support for loading sensitive data from paths 2025-02-15 02:47:29 +01:00
Jesse Wierzbinski 2aeada4904
feat(api): 🏷️ Port Account OpenAPI schemas from Mastodon API docs 2025-02-05 21:49:39 +01:00
Jesse Wierzbinski 76d1ccc859
refactor(api): ♻️ Use URL literal instead of strings 2025-02-01 16:32:18 +01:00
Jesse Wierzbinski 9ba6237f13
refactor(media): ♻️ Massively simplify media pipeline with Bun.S3 2025-01-29 17:21:40 +01:00
Jesse Wierzbinski 9c30dacda7
refactor(database): ♻️ Use ContentFormat to store media data 2025-01-23 19:37:17 +01:00
Jesse Wierzbinski 2f61cd8f0a
refactor(database): 🚚 Rename "Attachment" to "Media" 2025-01-23 16:08:42 +01:00
Jesse Wierzbinski 80b874e5fb
refactor(api): Move media processing to background job 2025-01-06 19:21:57 +01:00
Jesse Wierzbinski d839c274b1
feat(api): Finish push notification delivery 2025-01-02 02:45:40 +01:00
Jesse Wierzbinski d096ab830c
feat(api): Add initial Push Notifications support 2025-01-02 01:29:33 +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 1509786090
chore: ⬆️ Upgrade dependencies 2024-12-18 20:42:40 +01:00
Jesse Wierzbinski f67fed12e0
feat(database): Add Reaction database class 2024-12-18 20:01:26 +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 55256e3568
refactor(config): 🚩 Remove enable flag on Redis queue config 2024-11-25 20:55:55 +01:00
Jesse Wierzbinski 5fc6c4dcfa
feat(federation): Implement queue for fetches 2024-11-25 20:29:59 +01:00
Jesse Wierzbinski 61b773ed11
feat(federation): Add config option to control automatic queue purge time 2024-11-25 13:53:14 +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 54cea29ce9
refactor: 🚨 Always explicitely state member accessibility 2024-11-01 21:20:12 +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 f26493140f
refactor(federation): ♻️ Move incoming federation handling to custom class 2024-11-01 20:42:32 +01: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 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 04651746bb
refactor(plugin): 🚚 Move SSO login callback route to OpenID plugin 2024-10-11 15:15:06 +02:00
Jesse Wierzbinski f26ab0f0e6
feat(plugin): Add override settings to plugin loading 2024-10-06 15:55:15 +02:00
Jesse Wierzbinski c0805ff125
fix(config): 🐛 Make some default config values more sensible 2024-10-04 18:36:32 +02:00
Jesse Wierzbinski b53307c824
refactor: 🚚 Explicitely add extensions to all imports 2024-10-04 15:22:48 +02:00
Jesse Wierzbinski 5ec19f037a
refactor: 🚨 Remove unnecessary function overloads 2024-10-03 13:54:09 +02:00
Jesse Wierzbinski 835cdc3f18
refactor: 🚨 Make class methods that don't use this static 2024-10-03 13:51:19 +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 3879763971
refactor(plugin): ♻️ Add more exports to @versia/kit for database behaviour 2024-09-30 14:34:43 +02:00
Jesse Wierzbinski 19213ec29e
refactor(api): ♻️ Move token endpoint to OpenID plugin, add revoke endpoint 2024-09-30 13:42: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 c7221ae9d1
refactor(plugin): ♻️ Remove mandatory manifest inside Plugin constructor 2024-09-23 11:54:42 +02:00
Jesse Wierzbinski d224d7b9b8
feat(plugin): Add dynamic plugin and manifest loader 2024-09-23 11:51:15 +02:00
Jesse Wierzbinski f623f2c1a0
refactor(plugin): ♻️ Move plugin manifests to json file, add JSON schema 2024-09-23 10:34:14 +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 2e41bfeee4
chore: ⬆️ Upgrade dependencies 2024-09-14 17:32:32 +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 f9023893af
refactor: 🚚 Point everything to the new GitHub org 2024-08-27 21:40:42 +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 bec60fbf96
refactor(api): 🔥 Remove Glitch-FE explicit support 2024-08-27 16:45:05 +02:00
Jesse Wierzbinski cea0544686
fix(federation): 🏷️ Correctly make InstanceMetadata description a string 2024-08-27 15:51:41 +02:00
Jesse Wierzbinski fbb845f7f8
refactor(federation): 🚚 Move old function to User 2024-08-27 15:50:14 +02:00
Jesse Wierzbinski fbe86043b7
refactor(api): ♻️ Replace old client library with new version (@versia/client) 2024-08-26 19:40:15 +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 bc0943c569
feat(database): Implement read replicas for database 2024-08-26 18:04:22 +02:00
Jesse Wierzbinski 832f72160f
refactor: 🚚 Use more Versia branding and assets 2024-08-24 15:34:49 +02:00
Jesse Wierzbinski 771097d037
refactor: 🚚 Begin rebranding to Versia Server 2024-08-19 15:16:01 +02:00
Jesse Wierzbinski 64cef5c6d6
fix: 🐛 Fix incorrect path in import 2024-08-19 14:49:36 +02:00
Jesse Wierzbinski 4a1ad9dd96
refactor: 🔥 Remove old config-manager symlink 2024-08-19 14:43:54 +02:00
DevMiner d2113e349f fix(federation): unfollows don't send Undos to the followee 2024-08-02 17:53:29 +02:00
Jesse Wierzbinski 3baac85cf7
refactor: ♻️ Rewrite relationship system 2024-07-27 20:46:19 +02:00
Jesse Wierzbinski 627afffdb2
fix(federation): ✏️ Correct typo causing incorrect URIs 2024-07-26 21:29:37 +02:00
Jesse Wierzbinski 903415161e
fix(federation): 🐛 Fix issues with note federation URIs 2024-07-26 21:19:41 +02:00
Jesse Wierzbinski 92a80d97c2
fix(federation): 🐛 Force add content-type http header 2024-07-26 20:35:26 +02:00
Jesse Wierzbinski 385bdc13da
fix(federation): 🐛 Send correct headers in inbox requests 2024-07-26 19:51:08 +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 2f823317c2
refactor(federation): 🔥 Remove old code and simplify federation requests 2024-07-26 18:51:39 +02:00
Jesse Wierzbinski ad9ed2598c
refactor(federation): ⬆️ Refactor code to use v2.2 of federation SDK 2024-07-26 18:07:11 +02:00
Jesse Wierzbinski 1216e278e8
fix(federation): 🐛 Fix some errors not being ignored properly 2024-07-26 17:20:37 +02:00
Jesse Wierzbinski 6ae13265fa
feat(federation): Make server actor available on /users/actor 2024-07-26 00:32:33 +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 7d1522cc1e
feat(config): Add JSON schema for config 2024-07-25 23:51:00 +02:00
Jesse Wierzbinski 5a52ac005b
fix(federation): 🚑 Don't re-parse response as JSON when FederationRequester has done so already 2024-07-24 19:25:14 +02:00
Jesse Wierzbinski 0bc6a89706
feat(api): Add more Sentry logging 2024-07-24 19:04:00 +02:00
Jesse Wierzbinski daba8e8178
refactor(federation): ♻️ Refactor code to use less fetch calls and instead use FederationRequester 2024-07-24 18:52:30 +02:00
Jesse Wierzbinski 833f261392
fix(config): 🚑 Add default value for Sentry config 2024-07-24 18:15:33 +02:00
Jesse Wierzbinski 5061735da7
feat: Add Sentry support 2024-07-24 18:10:29 +02:00
Jesse Wierzbinski 8213ca62e0
chore: ⬆️ Upgrade @lysand-org/federation to latest 2024-07-23 00:13:46 +02:00
Jesse Wierzbinski 42ff591e48
fix(federation): 🐛 Fix fetching of ActivityPub users not working anymore 2024-07-17 15:37:36 +02:00
Jesse Wierzbinski be881f18cd
feat(api): Add new endpoint to get a user by its username 2024-07-17 14:02:29 +02:00
Jesse Wierzbinski cc8a97ae79
fix(config): 🐛 Make bridge url default to undefined, not "" 2024-07-16 23:36:36 +02:00
Jesse Wierzbinski f2c9814171
fix(config): 🐛 Ensure bridge config is optional 2024-07-16 23:33:11 +02:00
Jesse Wierzbinski aae99c804a
fix(federation): 🐛 Don't try to fetch from ActivityPub instances if no bridge is configured 2024-07-16 23:30:52 +02:00
Jesse Wierzbinski ff315af230
feat(federation): Add ActivityPub bridge support with CLI command 2024-07-16 23:29:20 +02:00
Jesse Wierzbinski 57b295ccf2
fix(cli): 🐛 Don't federate changes to remote users, initialize search indexer on all CLI commands 2024-06-29 22:55:50 -10: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 38c8ea24a9
refactor(federation): 🔥 Remove some old SQL queries for Instances 2024-06-29 21:08:03 -10:00