Commit graph

2230 commits

Author SHA1 Message Date
Vyr Cossont 81993c6521 Make GetVAPIDKeyPair idempotent
and remove PutVAPIDKeyPair
2024-12-28 17:23:45 -08:00
Vyr Cossont 053bad3ca1 Add notification type for update notifications
Not used yet
2024-12-28 14:38:54 -08:00
Vyr Cossont 6ed26e0a93 Merge branch 'main' into push-notifications 2024-12-28 14:31:47 -08:00
Daenney 6b727404be
[bugfix] Advertise audio/mpeg as supported (#3632)
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-28 11:02:12 +01:00
Vyr Cossont 9e479fbfdf Remove unused date columns 2024-12-26 18:23:39 -08:00
Vyr Cossont 25dc70e0df Merge branch 'main' into push-notifications 2024-12-25 17:42:56 -08:00
Vyr Cossont 4bbd76abcf Use packed notification flags 2024-12-25 17:40:23 -08:00
kim 0784aa3218
[bugfix] small editing tweaks (#3631)
* 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-24 21:16:49 +00:00
kim fe8d5f2307
[feature] add support for clients editing statuses and fetching status 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
2024-12-23 17:54:44 +00:00
Daenney 1aa7f70660
[chore] Stub /api/v1/announcements implementation (#3630)
* [chore] Stub /api/v1/announcements implementation

This implements the /api/v1/announcements endpoint by simply returning
an empty array. This indicates there are no instance announcements.

Some clients retrieve this endpoint and get surprised by a 404. It tends
to be harmless, but results in some unnecessary logging when trying to
debug other things.

* [fix] Forgot some swagger

* [fix] Fix swagger some more
2024-12-23 16:43:50 +01:00
Daenney 9ae0c7b363
[chore] Update ncruces/go-sqlite3 to 0.21.3 (#3629)
This includes some additional locking fixes for the BSDs.
2024-12-20 21:37:19 +00:00
Vyr Cossont 86c686b5d6 Fix malformed VAPID sub claim 2024-12-19 23:32:42 -08:00
CDN f78002f915
[bugfix] Load instance-wide custom css in page stylesheets template (#3601)
* [bugfix] Load instance-wide custom css in page stylesheets template

* [chore] remove redunt import
2024-12-18 10:47:17 +01:00
kim eb77ceeed6
update gruf/go-ffmpreg to v0.6.4 (#3627) 2024-12-18 00:27:24 +00:00
kim c953f57e55
update ncruces/go-sqlite3 to v0.21.2 (#3626) 2024-12-17 23:16:20 +00:00
kim 9697df0955
bump ncruces/go-sqlite3 to v0.21.1 (#3625) 2024-12-16 11:37:53 +00:00
kim ec00dbd496
bump gruf/go-ffmpreg to v0.6.3 (#3624) 2024-12-16 11:36:01 +00:00
kim 8504043024
bump gruf/go-ffmpreg to v0.6.2 (#3622) 2024-12-12 22:02:20 +00:00
kim fb12bbb10b
bump ncruces/go-sqlite3 to v0.21.0 (#3621) 2024-12-12 19:44:53 +00:00
dependabot[bot] 60acdb21a9
Bump nanoid from 3.3.7 to 5.0.9 in /web/source (#3615) 2024-12-10 10:24:31 +00:00
dependabot[bot] fd3b1e64da
[chore] Bump nanoid from 4.0.2 to 5.0.9 in /web/source (#3614)
Bumps [nanoid](https://github.com/ai/nanoid) from 4.0.2 to 5.0.9.
- [Release notes](https://github.com/ai/nanoid/releases)
- [Changelog](https://github.com/ai/nanoid/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ai/nanoid/compare/4.0.2...5.0.9)

---
updated-dependencies:
- dependency-name: nanoid
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-10 10:52:54 +01:00
tobi acdd495c70
[chore] Log during potentially long migrations (#3613)
* [chore] Log during potentially long migrations

* remove unneeded log lines
2024-12-09 15:53:56 +01:00
dependabot[bot] d9e722dea3
[chore]: Bump golang.org/x/net from 0.31.0 to 0.32.0 (#3610)
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.31.0 to 0.32.0.
- [Commits](https://github.com/golang/net/compare/v0.31.0...v0.32.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-09 12:18:35 +01:00
STFN 4fbe06e332
[docs] Add missing --config-path arg in backup documentation (#3607) 2024-12-09 11:40:33 +01:00
dependabot[bot] f72e753a21
[chore]: Bump golang.org/x/image from 0.22.0 to 0.23.0 (#3608) 2024-12-09 10:38:20 +00:00
dependabot[bot] a4e82cb7cc
[chore]: Bump golang.org/x/text from 0.20.0 to 0.21.0 (#3611)
Bumps [golang.org/x/text](https://github.com/golang/text) from 0.20.0 to 0.21.0.
- [Release notes](https://github.com/golang/text/releases)
- [Commits](https://github.com/golang/text/compare/v0.20.0...v0.21.0)

---
updated-dependencies:
- dependency-name: golang.org/x/text
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-09 11:00:25 +01:00
tobi 9477fd7eba
[feature] Allow partial-word hashtags using non-breaking spaces (#3606)
* [feature] Allow partial-word hashtags using non-breaking spaces

* update docs
2024-12-08 16:03:00 +01:00
Patrycja 642f5230e6
[chore] stub /api/v1/accounts/{id}/featured_tags endpoint (#3598)
* [chore] stub /api/v1/accounts/{id}/featured_tags endpoint

* fix swagger parsing issue

---------

Co-authored-by: tobi <31960611+tsmethurst@users.noreply.github.com>
Co-authored-by: tobi <tobi.smethurst@protonmail.com>
2024-12-08 13:47:07 +01:00
kim 23fc70f4e6
[feature] add support for receiving federated status edits (#3597)
* add support for extracting Updated field from Statusable implementers

* add support for status edits in the database, and update status dereferencer to handle them

* remove unused AdditionalInfo{}.CreatedAt

* remove unused AdditionalEmojiInfo{}.CreatedAt

* update new mention creation to use status.UpdatedAt

* remove mention.UpdatedAt, fixes related to NewULIDFromTime() change

* add migration to remove Mention{}.UpdatedAt field

* add migration to add the StatusEdit{} table

* start adding tests, add delete function for status edits

* add more of status edit migrations, fill in more of the necessary edit delete functionality

* remove unused function

* allow generating gotosocial compatible ulid via CLI with `go run ./cmd/gen-ulid`

* add StatusEdit{} test models

* fix new statusedits sql

* use model instead of table name

* actually remove the Mention.UpdatedAt field...

* fix tests now new models are added, add more status edit DB tests

* fix panic wording

* add test for deleting status edits

* don't automatically set `updated_at` field on updated statuses

* flesh out more of the dereferencer status edit tests, ensure updated at field set on outgoing AS statuses

* remove media_attachments.updated_at column

* fix up more tests, further complete the dereferencer status edit tests

* update more status serialization tests not expecting 'updated' AS property

* gah!! json serialization tests!!

* undo some gtscontext wrapping changes

* more serialization test fixing 🥲

* more test fixing, ensure the edit.status_id field is actually set 🤦

* fix status edit test

* grrr linter

* add edited_at field to apimodel status

* remove the choice of paging on the timeline public filtered test (otherwise it needs updating every time you add statuses ...)

* ensure that status.updated_at always fits chronologically

* fix more serialization tests ...

* add more code comments

* fix envparsing

* update swagger file

* properly handle media description changes during status edits

* slight formatting tweak

* code comment
2024-12-05 13:35:07 +00:00
kim 3e18d97a6e
[feature] unending polls (#3592)
* adds support for unending polls to be created locally

* remove unused argument
2024-12-04 10:35:48 +01:00
kim 79f2e85f51
[chore] bumps modernc/sqlite version to v1.34.2 on our custom fork (#3599) 2024-12-04 10:33:09 +01:00
CDN 55d6731497
[chore] Update frontend bug report issue title prefix (#3596) 2024-12-03 15:22:19 +01:00
CDN 732b03a742
[bugfix] Load instance-wide custom css unconditionally in thread details page (#3595) 2024-12-03 15:21:47 +01:00
dependabot[bot] a597e1ed85
[chore]: Bump codeberg.org/gruf/go-ffmpreg from 0.6.0 to 0.6.1 (#3591)
Bumps codeberg.org/gruf/go-ffmpreg from 0.6.0 to 0.6.1.

---
updated-dependencies:
- dependency-name: codeberg.org/gruf/go-ffmpreg
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-02 12:54:14 +00:00
Victor Dyotte 9609c4550d
[feature] Add global instance CSS customization setting (#3352)
Allow instance admins to add custom CSS that will affect
every page of their instance.

This is done with a new CustomCSS instance setting that
works pretty much exactly like the Users CustomCSS property.
This custom CSS is then requested for every page load.
User styles/themes take precedence over this CSS.

Co-authored-by: tobi <tobi.smethurst@protonmail.com>
2024-12-02 12:24:48 +01:00
CDN dce85a2b7a
[feature/themes] Add auto-switching themes for blurple/brutalist/solarized (#3588) 2024-12-02 10:50:32 +01:00
CDN 44b7bc71b6
[docs/zh] Update zh docs: synced to da4db81bcf (#3589) 2024-12-02 10:48:53 +01:00
Phil Hagelberg dbef5ee03b
[chore] Replace Semaphore recommendation with Pinafore. (#3586)
Neither Semaphore nor Pinafore are under active development, but
Semaphore has archived its repository while Pinafore still gets
occasional minor maintenance.

Enafore has newer features, but it has accessibility bugs affecting
screen readers that prevent it from being recommended at this time.
2024-12-02 10:47:05 +01:00
dependabot[bot] 936b269b05
[chore]: Bump github.com/minio/minio-go/v7 from 7.0.80 to 7.0.81 (#3590)
Bumps [github.com/minio/minio-go/v7](https://github.com/minio/minio-go) from 7.0.80 to 7.0.81.
- [Release notes](https://github.com/minio/minio-go/releases)
- [Commits](https://github.com/minio/minio-go/compare/v7.0.80...v7.0.81)

---
updated-dependencies:
- dependency-name: github.com/minio/minio-go/v7
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-02 10:44:43 +01:00
Vyr Cossont 74e30f06d2 Accept any 2xx code as a success 2024-12-01 21:25:55 -08:00
Vyr Cossont a356c860dd Send instance URL as Web Push JWT subject 2024-12-01 21:17:54 -08:00
Vyr Cossont dcac7f2035 Log Web Push server error messages 2024-12-01 20:41:27 -08:00
Vyr Cossont 79559933e0 Create web push subscriptions table with indexes 2024-12-01 20:22:02 -08:00
Vyr Cossont 74b0541e02 Fix GetVAPIDKeyPair 2024-12-01 20:02:00 -08:00
Vyr Cossont c8d213a9ef Fix enum to int migration 2024-12-01 20:01:51 -08:00
Vyr Cossont f663f56946 Update Swagger 2024-11-30 21:05:54 -08:00
Vyr Cossont 88dddd529f Linter fixes 2024-11-30 21:05:54 -08:00
Vyr Cossont b99ea8121c Implement push subscription API 2024-11-30 21:05:54 -08:00
Vyr Cossont 4ddfbad557 Delete Web Push subscriptions when account is deleted 2024-11-30 21:05:54 -08:00
Vyr Cossont 1d0e608c81 Test Web Push notifications from workers 2024-11-30 21:05:54 -08:00