summaryrefslogtreecommitdiff
path: root/internal
AgeCommit message (Collapse)AuthorFiles
2025-02-06temporary fix for tetratelabs/wazero#2365 armv8 compiler support bug (#3741)Libravatar kim1
2025-02-06[chore] update otel libraries (#3740)Libravatar Dominik Süß7
* chore: update otel dependencies * refactor: combine tracing & metrics in observability package * chore: update example tracing compose file
2025-02-05[feature] Use `X-Robots-Tag` headers to instruct scrapers/crawlers (#3737)Libravatar tobi12
* [feature] Use `X-Robots-Tag` headers to instruct scrapers/crawlers * use switch for RobotsHeaders
2025-02-04[bugfix] wrong nodeinfo version (tobi is a boob) (#3735)Libravatar tobi1
2025-02-04[feature] Change `instance-stats-randomize` to `instance-stats-mode` with ↵Libravatar tobi13
multiple options; implement nodeinfo 2.1 (#3734) * [feature] Change `instance-stats-randomize` to `instance-stats-mode` with multiple options; implement nodeinfo 2.1 * swaggalaggadingdong
2025-02-03adds support for build specifically without wasm ffmpeg (#3732)Libravatar kim6
2025-02-03[bugfix] Don't panic on delivery of Activity with no `object` (#3730)Libravatar tobi1
2025-02-03[feature] Implement Web Push notification policy (#3721)Libravatar Vyr Cossont14
* Web Push: add policy column to subscriptions * Web Push: add policy to API * Web Push: test notification policy * go-fmt unrelated file (how did this get thru?)
2025-02-03[chore] disallow /nodeinfo/ too (#3729)Libravatar jade arson.1
2025-02-01[bugfix] Swagger: fix media_ids[] param for creating statuses (#3722)Libravatar Vyr Cossont1
2025-01-31[feature] Add `instance-stats-randomize` config option (#3718)Libravatar tobi10
* [feature] Add `instance-stats-randomize` config option * don't use cache (overkill)
2025-01-31[chore] Add "object" uri to outgoing Accept + Reject messages (#3717)Libravatar tobi2
2025-01-31[chore] Web Push: Use server URL for VAPID sub claim (#3716)Libravatar Vyr Cossont1
webpush-go now supports sending `https://` as well as `mailto:` URLs for VAPID sub claims, so we can revert 464d920cfd9d6e362afdbe7ebdbf87f90fb50e0d now and save fetching the instance contact email or making up a dummy email if there wasn't one configured.
2025-01-31[bugfix] shut down LE server nicely (#3714)Libravatar tobi1
* [bugfix] shut down LE server nicely
2025-01-31[bugfix] Extend parser to handle more non-Latin hashtags (#3700)Libravatar Vyr Cossont5
* Allow marks after NFC normalization Includes regression test for the Tamil example from #3618 * Disallow just numbers + marks + underscore as hashtag
2025-01-31[feature] Add system message wrappers for pending replies and placeholder ↵Libravatar Vyr Cossont2
attachments (#3713) Fixes #3712
2025-01-30[bugfix] fix boost of account ID check (#3709)Libravatar kim1
2025-01-30check boosted account ID when performing usermute checks (#3708)Libravatar kim2
2025-01-30[bugfix] Missing emoji urls (#3707)Libravatar kim4
* filter out emoji that are uncached when converting to frontend models * some very small fixups * remove TODO notice
2025-01-30[bugfix] harden checks for remotes masquerading as local, and return correct ↵Libravatar kim3
local account redirects early (#3706)
2025-01-29[feature] Use maintenance router to serve 503 while server is ↵Libravatar tobi4
starting/migrating (#3705) * [feature] Use maintenance router to serve 503 while server is starting/migrating * love you linter, kissies
2025-01-28[chore] remove type switch in Create() and instead move to ↵Libravatar kim14
FederatedCallbacks() (#3697) * remove type switch in Create() and instead move to FederatedCallbacks() * add missing (my bad!) federating wrapped callbacks behaviour * add missing license header :innocent: * fix create flag test to use correct function
2025-01-28[bugfix] Allow processing null ID emojis (#3702)Libravatar tobi3
* [bugfix] Allow processing null ID emojis * document emojis * blah * typo * array thingy
2025-01-27[feature] Implement `deliveryRecipientPreSort` to prioritize delivery to ↵Libravatar tobi1
mentioned accounts (#3668) * weeeeenus * update to latest activity * update to use latest release tag of superseriousbusiness/activity --------- Co-authored-by: kim <grufwub@gmail.com>
2025-01-27[chore] skip `trusted-proxies` warning if ip excepted from rate limiting (#3699)Libravatar tobi7
* [chore] skip `trusted-proxies` warning if ip excepted from rate limiting * weep * typo * fix env parsing test
2025-01-27[chore] some tidy ups (#3677)Libravatar kim6
* small formatting changes (no logic) * improve code comments * fix import cycle * shutup stinky linter
2025-01-27[feature/frontend] Add login button to index page which reiterates info ↵Libravatar Vivian Lim ⭐3
about clients (#3377) * Add login button to index page which reiterates info about clients * bit of CSS fiddling, move apps from front page to login info * fix indentation --------- Co-authored-by: tobi <tobi.smethurst@protonmail.com>
2025-01-27[bugfix] Fix top-level posts with a mention being counted as replies when ↵Libravatar tobi2
doing `exclude_replies` (#3689) * [bugfix] Fix top-level posts with a mention being counted as replies * add index for new reply exclusion query
2025-01-26[chore] Allow suppressing trusted-proxies warning by disabling rate limiting ↵Libravatar tobi1
(#3686)
2025-01-26[docs] Swagger: fix filter context params by moving enum list from the list ↵Libravatar Vyr Cossont4
type to the item type (#3684) Reported by `@modulus:matrix.org`
2025-01-24[bugfix] Rename domain perm sub migration to unique date (#3679)Libravatar tobi2
* [bugfix] Rename domain perm sub migration to unique date * add repeat migration
2025-01-24[feature] Process incoming Undo Announce properly (#3676)Libravatar tobi3
* [feature] Process incoming Undo Announce properly * test undo announce
2025-01-23[feature] Push notifications (#3587)Libravatar Vyr Cossont92
* Update push subscription API model to be Mastodon 4.0 compatible * Add webpush-go dependency # Conflicts: # go.sum * Single-row table for storing instance's VAPID key pair * Generate VAPID key pair during startup * Add VAPID public key to instance info API * Return VAPID public key when registering an app * Store Web Push subscriptions in DB * Add Web Push sender (similar to email sender) * Add no-op push senders to most processor tests * Test Web Push notifications from workers * Delete Web Push subscriptions when account is deleted * Implement push subscription API * Linter fixes * Update Swagger * Fix enum to int migration * Fix GetVAPIDKeyPair * Create web push subscriptions table with indexes * Log Web Push server error messages * Send instance URL as Web Push JWT subject * Accept any 2xx code as a success * Fix malformed VAPID sub claim * Use packed notification flags * Remove unused date columns * Add notification type for update notifications Not used yet * Make GetVAPIDKeyPair idempotent and remove PutVAPIDKeyPair * Post-rebase fixes * go mod tidy * Special-case 400 errors other than 408/429 Most client errors should remove the subscription. * Improve titles, trim body to reasonable length * Disallow cleartext HTTP for Web Push servers * Fix lint * Remove redundant index on unique column Also removes redundant unique and notnull tags on ID column since these are implied by pk * Make realsender.go more readable * Use Tobi's style for wrapping errors * Restore treating all 5xx codes as temporary problems * Always load target account settings * Stub `policy` and `standard` * webpush.Sender: take type converter as ctor param * Move webpush.MockSender and noopSender into testrig
2025-01-23[feature] Serve bot accounts over AP as Service instead of Person (#3672)Libravatar tobi11
* pepis * oopsie doopsie * bollocks
2025-01-23[feature] Add warning about `trusted-proxies` to make config easier (#3675)Libravatar tobi1
* [feature] Add warning about `trusted-proxies` to make config easier * thank you linter, hugs and kisses to you
2025-01-23[feature] Add `published` property to outgoing AP Actor representations (#3671)Libravatar tobi2
2025-01-22[performance] reduce InboxForward->Create calls by partially implementing ↵Libravatar kim6
Exists() (#3647) * alphabetical reordering * keep a cache of activity IDs we have handled creates for * reduce number of inbox forwarding create calls by partially implementing Exists() * increase cache size, since all we're storing is string keys
2025-01-20[bugfix] Store LastModified for domain perm subs + send as If-Modified-Since ↵Libravatar tobi8
(#3655)
2025-01-18[bugfix] Fix existing perm adoption (#3651)Libravatar tobi7
* [bugfix] Fix existing perm adoption * go fmt * test, small log fix
2025-01-14[chore] better dns validation (#3644)Libravatar kim10
* add seperate PunifyValidate() function for properly validating domain names when converting to punycode * rename function, strip port from domain validation
2025-01-09[bugfix] migration to cleanup dropped status edits (#3637)Libravatar kim1
* add migration to cleanup dropped status edits from previous bug, relinking with statuses * don't use bun.Ident where not needed * fix join statement * fix query to work for both postgres and sqlite * actually update by the currently set status ID field :facepalm:
2025-01-08[bugfix] More permissive CSV parsing for perm subs, text parse fix (#3638)Libravatar tobi5
* [bugfix] More permissive CSV parsing for perm subs, text parse fix * wee * change the way dry works, slightly * me oh my, i'm just a little guy * we're just normal men
2025-01-08[feature] Fetch + create domain permissions from subscriptions nightly (#3635)Libravatar tobi70
* peepeepoopoo * test domain perm subs * swagger * envparsing * dries your wets * start on docs * finish up docs * copy paste errors * rename actions package * rename force -> skipCache * move obfuscate parse nearer to where err is checked * make higherPrios a simple slice * don't use receiver for permsFrom funcs * add more context to error logs * defer finished log * use switch for permType instead of if/else * thanks linter, love you <3 * validate csv headers before full read * use bufio scanner
2025-01-08[chore] replace statuses.updated_at column with statuses.edited_at (#3636)Libravatar kim22
* update statuses table to replace updated_at column with edited_at * code comment * better code comments, fix setting of status + edit + mention + poll database times * fix log to logf call * fix status.EditIDs not being carried over in dereferencer.encrichStatus() * move status.EditID setting into handleStatusEdit()
2025-01-05[feature] Create/update/remove domain permission subscriptions (#3623)Libravatar tobi30
* [feature] Create/update/remove domain permission subscriptions * lint * envparsing * remove errant fmt.Println * create drafts, subs, exclude, from snapshot models * name etag column correctly * remove count column * lint
2025-01-03[chore] Update robots.txt with more AI bots (#3634)Libravatar Daenney1
2024-12-31[bugfix] more little edit fixes (#3633)Libravatar kim2
* fix slice size calculation * stop attached status edit slice getting cached
2024-12-28[bugfix] Advertise audio/mpeg as supported (#3632)Libravatar Daenney4
This will be either an mp1, mp2 or mp3 file. In practice it'll probably be mp3, but this handles mp1 too for good measure. We don't advertise audio/mp1 as a supported media type since best I can tell that was never a MIME type that's been used. This also changes the returned MIME-type for mp2 and mp3 to audio/mpeg, to match what's expected and supported by most things nowadays. Fixes: #3531
2024-12-24[bugfix] small editing tweaks (#3631)Libravatar kim3
* ensure edited_at isn't set on boost wrapper statuses * improve handling of remote status updated_at to fix previous cases * formatting * add remote status published / updated field validation checks, handle appropriately in handleStatusEdit() * specifically allowed updated to be equal to published * only check creation date change when an existing status
2024-12-23[feature] add support for clients editing statuses and fetching status ↵Libravatar kim28
revision history (#3628) * start adding client support for making status edits and viewing history * modify 'freshest' freshness window to be 5s, add typeutils test for status -> api edits * only populate the status edits when specifically requested * start adding some simple processor status edit tests * add test editing status but adding a poll * test edits appropriately adding poll expiry handlers * finish adding status edit tests * store both new and old revision emojis in status * add code comment * ensure the requester's account is populated before status edits * add code comments for status edit tests * update status edit form swagger comments * remove unused function * fix status source test * add more code comments, move media description check back to media process in status create * fix tests, add necessary form struct tag