Vyr Cossont
5e2d4fdb19
[feature] User muting ( #2960 )
...
* User muting
* Address review feedback
* Rename uniqueness constraint on user_mutes to match convention
* Remove unused account_id from where clause
* Add UserMute to NewTestDB
* Update test/envparsing.sh with new and fixed cache stuff
* Address tobi's review comments
* Make compiledUserMuteListEntry.expired consistent with UserMute.Expired
* Make sure mute_expires_at is serialized as an explicit null for indefinite mutes
---------
Co-authored-by: tobi <tobi.smethurst@protonmail.com>
2024-06-06 16:38:02 +00:00
kim
b371c2db47
[bugfix] update media if more than just url changes ( #2970 )
...
* refactor status media handling into separate functions, handle case of changed metadata
* update fetchRemoteAccount{Avatar,Header} to use new refactored {load,update}Attachment() functions
* whoops, nearly marked avatars as headers :')
* reformatting to improve legibility
2024-06-06 15:35:50 +01:00
tobi
bcda048eab
[feature] Self-serve email change for users ( #2957 )
...
* [feature] Email change
* frontend stuff for changing email
* docs
* tests etc
* differentiate more clearly between local user+account and account
* populate user
2024-06-06 14:43:25 +01:00
tobi
131020faeb
drop date ( #2969 )
2024-06-06 12:50:56 +01:00
kim
5dcc954072
[feature] do not uncache status / emoji media if attached status is bookmarked ( #2956 )
...
* do not uncache status / emoji media if attached status is bookmarked
* add status bookmark and bookmark IDs caches
* update status bookmark tests
* move IsStatusBookmarkedBy() to StatusBookmark{} interface, rely on cache
* fix envparsing.sh test
2024-06-06 11:44:43 +01:00
tobi
6f26b32ec3
[bugfix] Don't nil emojis + fields on blocked accounts ( #2968 )
...
* [bugfix] Don't nil emojis + fields on blocked accounts
* comment
* swagger
2024-06-06 11:22:16 +01:00
kim
3b7faac604
[bugfix] concurrent map writes in dereferencer media processing maps ( #2964 )
...
* removes the avatar / header deref maps as we now have per-uri status / account locks, adds retries on data-races, adds separate emoji map mutex
* work with a copy of account / status for each retry loop
* revert to old data race behaviour, it gets too complicated otherwise
---------
Co-authored-by: tobi <tobi.smethurst@protonmail.com>
2024-06-06 10:50:14 +02:00
tobi
9caf29bed2
[chore] Fiddle with CI tests; use wasmsqlite3 for CI tests ( #2966 )
...
* [chore] Update CI test stuff
* don't bother with ldflags
* use wasmsqlite3
2024-06-05 21:40:08 +02:00
Vyr Cossont
45fe295caa
Compile filter keyword regexps when touched through PutFilter or UpdateFilter ( #2951 )
...
Followup to #2903
2024-06-04 10:33:39 +01:00
kim
f17dd62ff5
[feature] log worker startup counts ( #2958 )
...
* log number of each worker kinds started, and log when stopped
* remove worker debug logging
* whoops, fix the count of media workers
2024-06-03 22:55:50 +01:00
kim
6ed6824d5d
bump go-structr to v0.8.5 to improve memory usage ( #2955 )
2024-06-03 12:03:35 +01:00
dependabot[bot]
addaba05c0
[chore]: Bump github.com/spf13/viper from 1.18.2 to 1.19.0 ( #2954 )
...
Bumps [github.com/spf13/viper](https://github.com/spf13/viper ) from 1.18.2 to 1.19.0.
- [Release notes](https://github.com/spf13/viper/releases )
- [Commits](https://github.com/spf13/viper/compare/v1.18.2...v1.19.0 )
---
updated-dependencies:
- dependency-name: github.com/spf13/viper
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-06-03 10:52:54 +01:00
tobi
d79c2f2688
[feature/frontend] Add debug sections to settings panel ( #2950 )
...
* [feature/frontend] Add debug sections to settings panel
* max-width
* swagger
2024-06-03 11:20:53 +02:00
Vyr Cossont
04bcde08a1
[feature] Add from: search operator and account_id query param ( #2943 )
...
* Add from: search operator
* Fix whitespace in Swagger YAML comment
* Move query parsing into its own method
* Document search
* Clarify post search scope
2024-05-31 12:57:42 +02:00
Vyr Cossont
61a8d36255
[feature] Implement Filter API v2 ( #2936 )
...
* Use correct entity name
* We support server-side filters now
* Document filter v1 methods that can throw a 409
* Validate v1 filter phrase as filter title
* Always check v1 filter API status codes in tests
* Document keyword minimum requirement on filter API v1
* Make it possible to specify filter keyword update columns per filter keyword
* Implement v2 filter API
* Fix lint and tests
* Update Swagger spec
* Fix filter update test
* Update Swagger spec *correctly*
* Update actual files Swagger spec was generated from
* Remove keywords_attributes and statuses_attributes
* Add test for serialization of empty filter
* More helpful messages when object is owned by wrong account
2024-05-31 12:55:56 +02:00
tobi
4db596b8b9
[chore] little startup tweaks ( #2941 )
...
* [chore] little startup tweaks
* go fmt
2024-05-30 11:55:57 +02:00
Daenney
2fd69ec58b
[chore] Make worker run messages debug output ( #2944 )
...
On startup and shutdown of a worker, we log a message of the worker
being started together with a textual representation of a memory
address. Though this can be handy for developers to debug
startup/shutdown sequencing issues of the workers, it's typically not
very useful or informative for an admin. We can also output a lot of
these (on my system I get 265 lines of these during startup).
This changes the messages from Info to Debug, to not print them under
normal circumstances.
2024-05-30 11:00:47 +02:00
Daenney
b67937c213
[docs]: Document build tag for WASM SQLite ( #2942 )
...
Follow-up for #2863 .
2024-05-30 11:00:25 +02:00
浮心物语
59fedfc4f9
[docs] Fix link in domain part ( #2946 )
2024-05-30 11:00:01 +02:00
kim
32e570abfd
[chore] improved startup / shutdown ( #2925 )
...
* improved server shutdown with more precise shutdown of modules + deferring of ALL of it
* make the same changes to the testrig server
* use testrig specific func
* update variable name to fix nilptr
* fix removal of setting db on state
2024-05-29 13:21:04 +02:00
Vyr Cossont
975e92b7f1
[feature] Implement profile API ( #2926 )
...
* Implement profile API
This Mastodon 4.2 extension provides capabilities missing from the existing Mastodon account update API: deleting an account's avatar or header.
See: https://docs.joinmastodon.org/methods/profile/
* Move profile media methods to media processor
* Remove check for moved account
2024-05-29 12:57:44 +02:00
tobi
f9a4a6120d
[feature] Debug admin endpoint to clear caches ( #2940 )
...
* [feature] Debug admin endpoint to clear caches
* go fmt
2024-05-29 12:56:17 +02:00
tobi
fa9a3075a5
[chore/bugfix] Don't cache MovedTo account ( #2939 )
2024-05-28 15:39:45 +02:00
tobi
4dc30f8687
[chore] make wasm sqlite3 available to goreleaser via env var ( #2938 )
2024-05-28 15:20:40 +02:00
tobi
a276b1ca06
[feature/frontend] Let admins send test email to validate SMTP config ( #2934 )
...
* [feature/frontend] Let admins send test email to validate SMTP config
* wee
2024-05-27 17:03:54 +00:00
kim
1e7b32490d
[experiment] add alternative wasm sqlite3 implementation available via build-tag ( #2863 )
...
This allows for building GoToSocial with [SQLite transpiled to WASM](https://github.com/ncruces/go-sqlite3 ) and accessed through [Wazero](https://wazero.io/ ).
2024-05-27 17:46:15 +02:00
tobi
cce21c11cb
[chore] Small styling + link issues ( #2933 )
2024-05-27 12:37:14 +02:00
tobi
5bee30d60c
[chore] Fix report email link ( #2932 )
2024-05-27 12:27:49 +02:00
dependabot[bot]
d96cca60a1
[chore]: Bump github.com/tdewolff/minify/v2 from 2.20.25 to 2.20.32 ( #2927 )
2024-05-27 09:36:09 +00:00
dependabot[bot]
0a18c0d802
[chore]: Bump github.com/jackc/pgx/v5 from 5.5.5 to 5.6.0 ( #2929 )
2024-05-27 09:35:41 +00:00
kim
3d3e99ae52
[performance] update storage backend and make use of seek syscall when available ( #2924 )
...
* update to use go-storage/ instead of go-store/v2/storage/
* pull in latest version from codeberg
* remove test output 😇
* add code comments
* set the exclusive bit when creating new files in disk config
* bump to actual release version
* bump to v0.1.1 (tis a simple no-logic change)
* update readme
* only use a temporary read seeker when decoding video if required (should only be S3 now)
* use fastcopy library to use memory pooled buffers when calling TempFileSeeker()
* update to use seek call in serveFileRange()
2024-05-22 11:46:24 +02:00
dependabot[bot]
06b1e0173b
--- ( #2923 )
...
updated-dependencies:
- dependency-name: github.com/tdewolff/minify/v2
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-05-21 14:37:47 +01:00
kim
b092da6d28
[performance] cache v2 filter keyword regular expressions ( #2903 )
...
* add caching of filterkeyword regular expressions
* formatting
* fix WholeWord nil check
2024-05-21 14:20:19 +01:00
kim
6c0d93c6cb
[chore] dependabot updates ( #2922 )
...
* [chore]: Bump github.com/prometheus/client_golang from 1.18.0 to 1.19.1
Bumps [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang ) from 1.18.0 to 1.19.1.
- [Release notes](https://github.com/prometheus/client_golang/releases )
- [Changelog](https://github.com/prometheus/client_golang/blob/main/CHANGELOG.md )
- [Commits](https://github.com/prometheus/client_golang/compare/v1.18.0...v1.19.1 )
---
updated-dependencies:
- dependency-name: github.com/prometheus/client_golang
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
* [chore]: Bump github.com/KimMachineGun/automemlimit from 0.6.0 to 0.6.1
Bumps [github.com/KimMachineGun/automemlimit](https://github.com/KimMachineGun/automemlimit ) from 0.6.0 to 0.6.1.
- [Release notes](https://github.com/KimMachineGun/automemlimit/releases )
- [Commits](https://github.com/KimMachineGun/automemlimit/compare/v0.6.0...v0.6.1 )
---
updated-dependencies:
- dependency-name: github.com/KimMachineGun/automemlimit
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
* [chore]: Bump github.com/tdewolff/minify/v2 from 2.20.20 to 2.20.24
Bumps [github.com/tdewolff/minify/v2](https://github.com/tdewolff/minify ) from 2.20.20 to 2.20.24.
- [Release notes](https://github.com/tdewolff/minify/releases )
- [Commits](https://github.com/tdewolff/minify/compare/v2.20.20...v2.20.24 )
---
updated-dependencies:
- dependency-name: github.com/tdewolff/minify/v2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
* [chore]: Bump github.com/go-swagger/go-swagger
Bumps [github.com/go-swagger/go-swagger](https://github.com/go-swagger/go-swagger ) from 0.30.6-0.20240418033037-c46c303aaa02 to 0.31.0.
- [Release notes](https://github.com/go-swagger/go-swagger/releases )
- [Changelog](https://github.com/go-swagger/go-swagger/blob/master/.goreleaser.yml )
- [Commits](https://github.com/go-swagger/go-swagger/commits/v0.31.0 )
---
updated-dependencies:
- dependency-name: github.com/go-swagger/go-swagger
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
* [chore]: Bump github.com/gin-gonic/gin from 1.9.1 to 1.10.0
Bumps [github.com/gin-gonic/gin](https://github.com/gin-gonic/gin ) from 1.9.1 to 1.10.0.
- [Release notes](https://github.com/gin-gonic/gin/releases )
- [Changelog](https://github.com/gin-gonic/gin/blob/master/CHANGELOG.md )
- [Commits](https://github.com/gin-gonic/gin/compare/v1.9.1...v1.10.0 )
---
updated-dependencies:
- dependency-name: github.com/gin-gonic/gin
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-21 14:17:22 +01:00
dependabot[bot]
16c1832793
[chore]: Bump github.com/gin-contrib/cors from 1.7.1 to 1.7.2 ( #2912 )
...
Bumps [github.com/gin-contrib/cors](https://github.com/gin-contrib/cors ) from 1.7.1 to 1.7.2.
- [Release notes](https://github.com/gin-contrib/cors/releases )
- [Changelog](https://github.com/gin-contrib/cors/blob/master/.goreleaser.yaml )
- [Commits](https://github.com/gin-contrib/cors/compare/v1.7.1...v1.7.2 )
---
updated-dependencies:
- dependency-name: github.com/gin-contrib/cors
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>
Co-authored-by: kim <89579420+NyaaaWhatsUpDoc@users.noreply.github.com>
2024-05-13 08:29:54 +00:00
dependabot[bot]
f817f96596
[chore]: Bump github.com/gin-contrib/sessions from 1.0.0 to 1.0.1 ( #2916 )
...
Bumps [github.com/gin-contrib/sessions](https://github.com/gin-contrib/sessions ) from 1.0.0 to 1.0.1.
- [Release notes](https://github.com/gin-contrib/sessions/releases )
- [Changelog](https://github.com/gin-contrib/sessions/blob/master/.goreleaser.yaml )
- [Commits](https://github.com/gin-contrib/sessions/compare/v1.0.0...v1.0.1 )
---
updated-dependencies:
- dependency-name: github.com/gin-contrib/sessions
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-05-13 08:07:17 +00:00
dependabot[bot]
1ba9601472
[chore]: Bump golang.org/x/crypto from 0.22.0 to 0.23.0 ( #2915 )
...
Bumps [golang.org/x/crypto](https://github.com/golang/crypto ) from 0.22.0 to 0.23.0.
- [Commits](https://github.com/golang/crypto/compare/v0.22.0...v0.23.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/crypto
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-05-13 08:06:51 +00:00
dependabot[bot]
96eea416f3
[chore]: Bump golang.org/x/net from 0.24.0 to 0.25.0 ( #2914 )
...
Bumps [golang.org/x/net](https://github.com/golang/net ) from 0.24.0 to 0.25.0.
- [Commits](https://github.com/golang/net/compare/v0.24.0...v0.25.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-05-13 08:06:30 +00:00
kim
c06e6fb656
[performance] update go-structr and go-mutexes with memory usage improvements ( #2909 )
...
* update go-structr and go-mutexes with memory usage improvements
* bump to go-structr v0.8.4
2024-05-13 08:05:46 +00:00
tobi
578a4e0cf5
[bugfix] Reset emoji fields on upload error ( #2905 )
2024-05-07 19:48:12 +02:00
kim
f24ce34c3a
bump modernc.org/sqlite v1.29.8 -> v1.29.9 (concurrency workaround) ( #2906 )
2024-05-07 14:52:37 +01:00
kim
f456bd3401
update the total ratios calculation to include ALL caches (previously was missing a few!) ( #2907 )
2024-05-06 22:29:31 +01:00
kim
3554991444
update go-structr -> v0.8.2 which includes some minor memory usage improvements ( #2904 )
2024-05-06 19:44:22 +00:00
Vyr Cossont
45f4afe60e
feature: filters v2 server-side warning/hiding ( #2793 )
...
* Remove dead code
* Filter statuses when converting to frontend representation
* status.filtered is an array
* Make matching case-insensitive
* Remove TODOs that don't need to be done now
* Add missing filter check for notification
* lint: rename ErrHideStatus
* APIFilterActionToFilterAction not used yet
* swaggerino docseroni
* Address review comments
* Add apimodel.FilterActionNone
---------
Co-authored-by: tobi <31960611+tsmethurst@users.noreply.github.com>
Co-authored-by: tobi <tobi.smethurst@protonmail.com>
2024-05-06 12:49:08 +01:00
dependabot[bot]
a0d066844f
[chore]: Bump golang.org/x/oauth2 from 0.19.0 to 0.20.0 ( #2900 )
2024-05-06 11:14:04 +00:00
dependabot[bot]
8237e8d09e
[chore]: Bump codeberg.org/gruf/go-structr from 0.7.0 to 0.8.0 ( #2902 )
...
Bumps codeberg.org/gruf/go-structr from 0.7.0 to 0.8.0.
---
updated-dependencies:
- dependency-name: codeberg.org/gruf/go-structr
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-05-06 08:51:06 +00:00
dependabot[bot]
a5f28fe0c9
[chore]: Bump github.com/gin-contrib/gzip from 1.0.0 to 1.0.1 ( #2899 )
...
Bumps [github.com/gin-contrib/gzip](https://github.com/gin-contrib/gzip ) from 1.0.0 to 1.0.1.
- [Release notes](https://github.com/gin-contrib/gzip/releases )
- [Changelog](https://github.com/gin-contrib/gzip/blob/master/.goreleaser.yaml )
- [Commits](https://github.com/gin-contrib/gzip/compare/v1.0.0...v1.0.1 )
---
updated-dependencies:
- dependency-name: github.com/gin-contrib/gzip
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-05-06 08:50:47 +00:00
dependabot[bot]
c98ec6f89d
[chore]: Bump golang.org/x/image from 0.15.0 to 0.16.0 ( #2898 )
...
Bumps [golang.org/x/image](https://github.com/golang/image ) from 0.15.0 to 0.16.0.
- [Commits](https://github.com/golang/image/compare/v0.15.0...v0.16.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/image
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-05-06 08:50:03 +00:00
kim
d3f6960ba0
close + drain body if response body is too large ( #2897 )
2024-05-05 16:43:38 +01:00
tobi
6171dcbe51
[feature] Add HTTP header permission section to frontend ( #2893 )
...
* [feature] Add HTTP header filter section to frontend
* tweak naming a bit
2024-05-05 11:47:22 +00:00