Eugen Rochko
958089fb21
[Glitch] Add notifications when a reblogged status has been updated
...
Port front-end changes from 8f03b7a2fb
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-02-12 13:15:07 +01:00
Claire
d9379f5331
Merge branch 'main' into glitch-soc/merge-upstream
2022-02-12 11:12:41 +01:00
Eugen Rochko
e848d281d5
Fix layout of the report page on smaller screens in admin UI ( #17523 )
...
Fix #17491
2022-02-12 01:08:23 +01:00
Claire
28ec7def58
Fix missing javascript in some admin pages
2022-02-12 00:10:28 +01:00
Claire
f3b9a2b590
Add support for multiple source files per pack
2022-02-12 00:10:28 +01:00
Jeong Arm
ee47e2028b
Enable domain purge button on suspended domains too ( #17209 )
...
* Enable domain purge button on suspended domains too
* Change unless to if
2022-02-11 22:23:19 +01:00
Eugen Rochko
8f03b7a2fb
Add notifications when a reblogged status has been updated ( #17404 )
...
* Add notifications when a reblogged status has been updated
* Change wording to say "edit" instead of "update" and add missing controls
* Replace previous update notifications with the most up-to-date one
2022-02-11 22:20:19 +01:00
Eugen Rochko
a34e4f7e27
[Glitch] Change actions in reports to require only one click
...
Port SCSS changes from d0fcf07436
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-02-11 21:56:27 +01:00
Claire
51cad4f7fb
Merge branch 'main' into glitch-soc/merge-upstream
2022-02-11 21:53:20 +01:00
Eugen Rochko
d0fcf07436
Change actions in reports to require only one click ( #17487 )
2022-02-11 21:51:57 +01:00
Eugen Rochko
a27729ee48
Change reblogs to not count towards hashtag trends anymore ( #17501 )
2022-02-11 21:16:23 +01:00
Eugen Rochko
c9a52833b6
Fix deletes not being signed in authorized fetch mode ( #17484 )
...
Fix #17483
2022-02-11 14:52:45 +01:00
Claire
d4e6774a0c
Fix Undo Announce sometimes inlining the originally Announced status ( #17516 )
...
* Change tests to have more specific expectations on sent ActivityPub payloads
* Check that payload doesn't actually contain the contents of the boosted toot
* Fix Undo Announce sometimes inlining the originally Announced status
2022-02-11 14:52:07 +01:00
Eugen Rochko
6f38765fcc
New Crowdin updates ( #16858 )
...
* New translations en.yml (Russian)
[ci skip]
* New translations en.yml (Russian)
[ci skip]
* New translations en.yml (French)
[ci skip]
* New translations en.yml (Russian)
[ci skip]
* New translations en.yml (French)
[ci skip]
* New translations en.yml (Russian)
[ci skip]
* New translations en.json (French)
[ci skip]
* New translations en.yml (Russian)
[ci skip]
* New translations en.json (French)
[ci skip]
* New translations simple_form.en.yml (French)
[ci skip]
* New translations en.yml (French)
[ci skip]
* New translations en.yml (Russian)
[ci skip]
* New translations simple_form.en.yml (French)
[ci skip]
* New translations en.yml (French)
[ci skip]
* New translations en.yml (Russian)
[ci skip]
* New translations en.yml (French)
[ci skip]
* New translations en.yml (Russian)
[ci skip]
* New translations en.yml (French)
[ci skip]
* New translations devise.en.yml (French)
[ci skip]
* New translations devise.en.yml (French)
[ci skip]
* New translations activerecord.en.yml (French)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* New translations en.yml (Russian)
[ci skip]
* New translations en.yml (French)
[ci skip]
* New translations en.yml (Spanish)
[ci skip]
* New translations en.yml (Chinese Simplified)
[ci skip]
* New translations en.yml (Russian)
[ci skip]
* New translations en.yml (Russian)
[ci skip]
* New translations en.yml (Scottish Gaelic)
[ci skip]
* New translations en.yml (Russian)
[ci skip]
* New translations en.yml (Russian)
[ci skip]
* New translations en.yml (Russian)
[ci skip]
* New translations en.yml (Russian)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* New translations en.yml (Hebrew)
[ci skip]
* New translations en.yml (Russian)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* New translations en.yml (French)
[ci skip]
* New translations en.yml (French)
[ci skip]
* New translations en.yml (French)
[ci skip]
* New translations en.yml (Slovak)
[ci skip]
* New translations en.yml (Italian)
[ci skip]
* New translations en.yml (French)
[ci skip]
* New translations en.yml (French)
[ci skip]
* New translations en.yml (Korean)
[ci skip]
* New translations en.json (Slovenian)
[ci skip]
* New translations en.json (Slovenian)
[ci skip]
* New translations activerecord.en.yml (Slovenian)
[ci skip]
* New translations en.yml (Slovenian)
[ci skip]
* New translations doorkeeper.en.yml (Slovenian)
[ci skip]
* New translations activerecord.en.yml (Slovenian)
[ci skip]
* New translations simple_form.en.yml (Slovenian)
[ci skip]
* New translations devise.en.yml (Slovenian)
[ci skip]
* New translations simple_form.en.yml (Slovenian)
[ci skip]
* New translations en.json (Persian)
[ci skip]
* New translations en.yml (Japanese)
[ci skip]
* New translations en.yml (Swedish)
[ci skip]
* New translations en.yml (Swedish)
[ci skip]
* New translations en.json (Slovenian)
[ci skip]
* New translations devise.en.yml (Slovenian)
[ci skip]
* New translations en.json (Slovenian)
[ci skip]
* New translations en.json (Slovenian)
[ci skip]
* New translations en.yml (Slovenian)
[ci skip]
* New translations en.json (Slovenian)
[ci skip]
* New translations doorkeeper.en.yml (Slovenian)
[ci skip]
* New translations en.yml (Slovenian)
[ci skip]
* New translations en.yml (Slovenian)
[ci skip]
* New translations simple_form.en.yml (Slovenian)
[ci skip]
* New translations devise.en.yml (Slovenian)
[ci skip]
* New translations en.yml (Swedish)
[ci skip]
* New translations en.yml (Slovenian)
[ci skip]
* New translations en.yml (Japanese)
[ci skip]
* New translations simple_form.en.yml (Catalan)
[ci skip]
* New translations en.yml (Catalan)
[ci skip]
* New translations simple_form.en.yml (Catalan)
[ci skip]
* New translations simple_form.en.yml (Catalan)
[ci skip]
* New translations en.yml (Catalan)
[ci skip]
* New translations en.json (Catalan)
[ci skip]
* New translations simple_form.en.yml (Catalan)
[ci skip]
* New translations doorkeeper.en.yml (Catalan)
[ci skip]
* New translations en.yml (Catalan)
[ci skip]
* New translations en.json (Catalan)
[ci skip]
* New translations en.yml (Arabic)
[ci skip]
* New translations en.yml (Arabic)
[ci skip]
* New translations en.yml (Arabic)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* New translations en.yml (Slovak)
[ci skip]
* New translations en.yml (Vietnamese)
[ci skip]
* New translations en.yml (Occitan)
[ci skip]
* New translations en.json (Occitan)
[ci skip]
* New translations simple_form.en.yml (Chinese Simplified)
[ci skip]
* New translations en.json (Arabic)
[ci skip]
* New translations en.json (Arabic)
[ci skip]
* New translations en.json (Arabic)
[ci skip]
* New translations en.json (Arabic)
[ci skip]
* New translations en.json (Arabic)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* New translations en.json (Thai)
[ci skip]
* New translations en.json (Norwegian Nynorsk)
[ci skip]
* New translations en.json (Norwegian Nynorsk)
[ci skip]
* New translations en.json (Norwegian)
[ci skip]
* New translations en.yml (French)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* New translations en.yml (Persian)
[ci skip]
* New translations simple_form.en.yml (Thai)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* New translations en.json (Thai)
[ci skip]
* New translations simple_form.en.yml (Thai)
[ci skip]
* New translations en.yml (Spanish)
[ci skip]
* New translations en.yml (Korean)
[ci skip]
* New translations en.yml (Portuguese)
[ci skip]
* New translations en.yml (Hungarian)
[ci skip]
* New translations en.yml (Armenian)
[ci skip]
* New translations en.yml (Georgian)
[ci skip]
* New translations en.yml (Lithuanian)
[ci skip]
* New translations en.yml (Dutch)
[ci skip]
* New translations en.yml (Norwegian)
[ci skip]
* New translations en.yml (Polish)
[ci skip]
* New translations en.yml (Albanian)
[ci skip]
* New translations en.yml (Basque)
[ci skip]
* New translations en.yml (Serbian (Cyrillic))
[ci skip]
* New translations en.yml (Turkish)
[ci skip]
* New translations en.yml (Ukrainian)
[ci skip]
* New translations en.yml (Chinese Traditional)
[ci skip]
* New translations en.yml (Icelandic)
[ci skip]
* New translations en.yml (Portuguese, Brazilian)
[ci skip]
* New translations en.yml (Indonesian)
[ci skip]
* New translations en.yml (Spanish, Argentina)
[ci skip]
* New translations en.yml (Finnish)
[ci skip]
* New translations en.yml (Greek)
[ci skip]
* New translations en.yml (Galician)
[ci skip]
* New translations en.yml (Slovak)
[ci skip]
* New translations en.yml (Chinese Simplified)
[ci skip]
* New translations en.yml (Swedish)
[ci skip]
* New translations en.yml (Arabic)
[ci skip]
* New translations en.yml (French)
[ci skip]
* New translations en.yml (Spanish)
[ci skip]
* New translations en.yml (Catalan)
[ci skip]
* New translations en.yml (Italian)
[ci skip]
* New translations en.yml (Japanese)
[ci skip]
* New translations en.yml (Russian)
[ci skip]
* New translations en.yml (Slovenian)
[ci skip]
* New translations en.yml (German)
[ci skip]
* New translations en.yml (Vietnamese)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* New translations en.yml (Scottish Gaelic)
[ci skip]
* New translations en.yml (Occitan)
[ci skip]
* New translations en.yml (Persian)
[ci skip]
* New translations en.yml (Romanian)
[ci skip]
* New translations en.yml (Czech)
[ci skip]
* New translations en.yml (Danish)
[ci skip]
* New translations en.yml (Spanish, Mexico)
[ci skip]
* New translations en.yml (Kabyle)
[ci skip]
* New translations en.yml (Sardinian)
[ci skip]
* New translations en.yml (Corsican)
[ci skip]
* New translations en.yml (Sorani (Kurdish))
[ci skip]
* New translations en.yml (Kurmanji (Kurdish))
[ci skip]
* New translations en.yml (Asturian)
[ci skip]
* New translations en.yml (Chinese Traditional, Hong Kong)
[ci skip]
* New translations en.yml (Esperanto)
[ci skip]
* New translations en.yml (Welsh)
[ci skip]
* New translations en.yml (Latvian)
[ci skip]
* New translations en.yml (Estonian)
[ci skip]
* New translations en.yml (Kazakh)
[ci skip]
* New translations en.yml (Norwegian Nynorsk)
[ci skip]
* New translations en.yml (Kurmanji (Kurdish))
[ci skip]
* New translations en.yml (Catalan)
[ci skip]
* New translations en.yml (Chinese Traditional)
[ci skip]
* New translations en.yml (Russian)
[ci skip]
* New translations en.yml (Russian)
[ci skip]
* New translations en.yml (Galician)
[ci skip]
* New translations en.yml (Hebrew)
[ci skip]
* New translations en.json (Hebrew)
[ci skip]
* New translations en.yml (Catalan)
[ci skip]
* New translations en.yml (Greek)
[ci skip]
* New translations en.yml (Polish)
[ci skip]
* New translations en.yml (Hungarian)
[ci skip]
* New translations en.yml (Japanese)
[ci skip]
* New translations en.yml (Albanian)
[ci skip]
* New translations en.yml (Italian)
[ci skip]
* New translations en.yml (Indonesian)
[ci skip]
* New translations en.yml (Icelandic)
[ci skip]
* New translations en.yml (Swedish)
[ci skip]
* New translations en.yml (Spanish)
[ci skip]
* New translations en.yml (Turkish)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* New translations en.yml (Danish)
[ci skip]
* New translations en.yml (Spanish, Argentina)
[ci skip]
* New translations en.yml (Ukrainian)
[ci skip]
* New translations en.yml (Latvian)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* New translations devise.en.yml (Thai)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* New translations devise.en.yml (Thai)
[ci skip]
* New translations en.yml (French)
[ci skip]
* New translations devise.en.yml (Thai)
[ci skip]
* New translations devise.en.yml (Thai)
[ci skip]
* New translations en.yml (Spanish, Mexico)
[ci skip]
* New translations en.yml (German)
[ci skip]
* New translations en.yml (Ukrainian)
[ci skip]
* New translations en.yml (Latvian)
[ci skip]
* New translations en.yml (Kurmanji (Kurdish))
[ci skip]
* New translations en.yml (Catalan)
[ci skip]
* New translations en.yml (Catalan)
[ci skip]
* New translations en.yml (Danish)
[ci skip]
* New translations en.yml (Vietnamese)
[ci skip]
* New translations en.yml (Chinese Traditional)
[ci skip]
* New translations en.yml (Turkish)
[ci skip]
* New translations en.yml (Russian)
[ci skip]
* New translations en.yml (Greek)
[ci skip]
* New translations en.json (Greek)
[ci skip]
* New translations en.yml (Galician)
[ci skip]
* New translations en.json (Greek)
[ci skip]
* New translations en.yml (Spanish, Argentina)
[ci skip]
* New translations en.yml (Chinese Simplified)
[ci skip]
* New translations en.yml (Kabyle)
[ci skip]
* New translations en.yml (French)
[ci skip]
* New translations en.yml (French)
[ci skip]
* New translations en.yml (Spanish)
[ci skip]
* New translations en.yml (Slovenian)
[ci skip]
* New translations simple_form.en.yml (Slovenian)
[ci skip]
* New translations en.yml (Hungarian)
[ci skip]
* New translations en.yml (Icelandic)
[ci skip]
* New translations simple_form.en.yml (Polish)
[ci skip]
* New translations en.yml (Esperanto)
[ci skip]
* New translations en.json (Dutch)
[ci skip]
* New translations en.json (Dutch)
[ci skip]
* New translations en.yml (Dutch)
[ci skip]
* New translations en.yml (Dutch)
[ci skip]
* New translations en.yml (French)
[ci skip]
* New translations en.yml (French)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* Ran `i18n-tasks normalize`
* Ran `yarn manage:translations`
* Add space
Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-02-11 04:50:27 +01:00
Eugen Rochko
642b5a621a
[Glitch] Chore: Disable menu items for editing statuses in web UI ( #17497 )
...
Port 3dc1e3cfc3
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-02-10 19:10:59 +01:00
Eugen Rochko
5e67858fbc
[Glitch] Add editing for published statuses
...
Port 63002cde03
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-02-10 19:10:20 +01:00
Claire
abd113167b
Add ability to change content-type when editing a toot
...
Content-type defaults to edited toot's content-type to avoid surprising
behaviors when using clients that do not support this feature.
2022-02-10 19:10:14 +01:00
Claire
f1a6f9062e
Merge branch 'main' into glitch-soc/merge-upstream
...
Conflicts:
- `app/controllers/api/v1/statuses_controller.rb`:
Upstream moved things around in a place where glitch-soc had support for
an extra parameter (`content_type`).
Follow upstream but reintroduce `content_type`.
2022-02-10 19:09:27 +01:00
Eugen Rochko
3dc1e3cfc3
Chore: Disable menu items for editing statuses in web UI ( #17497 )
...
Feature must be unlocked in a separate release for max. compatibility
2022-02-10 15:28:53 +01:00
Claire
da91b18a8b
Fix NoMethodError in StatusUpdateDistributionWorker ( #17499 )
...
* Add tests
* Fix NoMethodError in StatusUpdateDistributionWorker
* Fix tests
2022-02-10 14:57:10 +01:00
Claire
63854bee6c
Fix poll votes not being properly reset on poll change ( #17498 )
...
* Fix poll votes not being properly reset on poll change
* Fix and add tests
* Fix poll update handling when the number of options changes
2022-02-10 14:26:54 +01:00
Eugen Rochko
1bfcb75105
Fix outdated iso-639 reference in update status service ( #17496 )
2022-02-10 03:09:44 +01:00
Eugen Rochko
63002cde03
Add editing for published statuses ( #17320 )
...
* Add editing for published statuses
* Fix change of multiple-choice boolean in poll not resetting votes
* Remove the ability to update existing media attachments for now
2022-02-10 00:15:30 +01:00
Eugen Rochko
2f8159baad
Add category
and rule_ids
params to POST /api/v1/reports
( #17492 )
2022-02-10 00:10:16 +01:00
Claire
d90da7d080
Add content_type to status_edits
2022-02-09 18:02:31 +01:00
Eugen Rochko
44b06c4d96
[Glitch] Add edit history to web UI
...
Port fd3a45e348
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-02-09 17:51:35 +01:00
Claire
322e907e04
Merge branch 'main' into glitch-soc/merge-upstream
...
Conflicts:
- `app/views/settings/preferences/appearance/show.html.haml`:
Upstream renamed some helper functions that were used in a part of the
settings page which glitch-soc slightly changed the layout of.
Ported the change.
2022-02-09 17:28:33 +01:00
Claire
0bb3d445ab
Please Codeclimate
2022-02-09 17:15:36 +01:00
Claire
e1a4590bca
Rework actions modal to bring it closer to upstream and fix modal stacking issue
2022-02-09 16:40:23 +01:00
Claire
bc2eaf3581
Remove unused noModal prop
2022-02-09 16:40:23 +01:00
Claire
f03dc97070
Some more refactoring
2022-02-09 16:40:23 +01:00
Claire
f87ce13afc
Refactor dropdown and action modal code slightly
...
Simplify it a bit and make it closer to upstream
2022-02-09 13:23:12 +01:00
Eugen Rochko
3aebe711fd
Change languages to be listed under standard instead of native name in admin UI ( #17485 )
2022-02-09 04:15:38 +01:00
Eugen Rochko
fd3a45e348
Add edit history to web UI ( #17390 )
...
* Add edit history to web UI
* Change history reducer to store items per status
* Fix missing loading prop
2022-02-09 01:17:07 +01:00
Eugen Rochko
2adcad04ff
Fix error in suggestions API due to typo ( #17486 )
...
Regression from #17479
2022-02-08 22:23:04 +01:00
Claire
692963d43b
Merge branch 'main' into glitch-soc/merge-upstream
2022-02-08 18:23:53 +01:00
Eugen Rochko
b6d7726ecb
Remove language detection through cld3 ( #17478 )
...
* Remove language detection through cld3
* Update app/helpers/languages_helper.rb
Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-02-08 02:41:17 +01:00
Eugen Rochko
85b86fe28c
Add global locale
param ( #17464 )
...
- Remove the session-based locale stickyness
2022-02-08 02:34:56 +01:00
Eugen Rochko
35850f8195
Fix localization of cold-start follow recommendations ( #17479 )
2022-02-08 01:53:49 +01:00
Claire
52c1b86964
Fix Ruby 2.5 incompatibility ( #17465 )
2022-02-07 19:57:06 +01:00
Eugen Rochko
f1f6ddd536
Fix structured data parsing from links choking on bad data ( #17403 )
...
* Fix structured data parsing from links choking on bad data
- Fix og:url meta tag being prioritized over canonical link tag
- Fix structured data parsing choking on commented-out CDATA declarations
- Fix HTML entities in title, description, provider_name, author_name
- Change structured data parsing to attempt every JSON-LD script tag
* Remove unnecessary slash escapes from CDATA regex pattern
2022-02-07 18:16:31 +01:00
Claire
73a782391c
Fix replies collection incorrectly looping ( #17462 )
...
* Refactor tests
* Add tests
* Fix replies collection incorrectly looping
2022-02-07 17:06:43 +01:00
Claire
0d2cf3cd4a
Fix errors when multiple Delete are received for a given actor ( #17460 )
2022-02-07 13:14:48 +01:00
Claire
aa832d623a
Merge branch 'main' into glitch-soc/merge-upstream
...
Conflicts:
- `CHANGELOG.md`:
Upstream added newlines.
Conflicts are because the CHANGELOG was independently merged from 3.4.6 on
last security update.
Took upstream's version.
- `app/helpers/context_helper.rb`:
Conflicts because of extra vocabulary in glitch-soc. The conflicts were
actually handled in last security merge.
Kept our version.
2022-02-06 15:34:42 +01:00
Claire
92658f0fb0
Fix instance actor not being dereferenceable ( #17457 )
...
* Add tests
* Fix instance actor not being dereferenceable
* Fix tests
* Fix tests for real
2022-02-06 15:31:03 +01:00
Claire
08f44d1953
Move glitch-soc-specific theming methods to ThemingConcern
2022-02-05 10:58:51 +01:00
Claire
5f48ec9e42
Make theme-selection fall back to default ones if configured is not found
2022-02-05 10:29:27 +01:00
Eugen Rochko
e03e7ac290
Fix error on account relationships page in admin UI ( #17444 )
2022-02-05 05:06:34 +01:00
Claire
c8b1e72a4f
Fix compacted JSON-LD possibly causing compatibility issues on forwarding ( #17428 )
2022-02-03 14:09:04 +01:00
Claire
948235592a
Fix response_to_recipient? CTE ( #17427 )
2022-02-03 14:07:43 +01:00
Claire
d1ecc323e7
Compact JSON-LD signed incoming activities ( #17426 )
...
Co-authored-by: Puck Meerburg <puck@puck.moe>
2022-02-03 14:07:29 +01:00
Claire
a3e0dacf5c
Fix response_to_recipient? CTE
2022-02-02 19:55:57 +01:00
Claire
7b969436a0
Fix compacted JSON-LD possibly causing compatibility issues on forwarding
2022-02-02 19:55:57 +01:00
Puck Meerburg
63da32468c
Compact JSON-LD signed incoming activities
2022-02-02 16:13:11 +01:00
Claire
098f2bc1e1
Merge branch 'main' into glitch-soc/merge-upstream
2022-02-01 20:59:28 +01:00
Claire
987d88ea56
Fix requiring an extra restart after recent post-deployment migrations ( #17422 )
...
Follow-up to #16409
2022-02-01 20:57:39 +01:00
Claire
7679ddcd5e
Merge branch 'main' into glitch-soc/merge-upstream
2022-01-30 22:33:30 +01:00
Claire
f5639e1cbe
Change public profile pages to be disabled for unconfirmed users ( #17385 )
...
Fixes #17382
Note that unconfirmed and unapproved accounts can still be searched for
and their (empty) account retrieved using the REST API.
2022-01-28 14:24:37 +01:00
Claire
94a39f6b68
Fix Sidekiq warning when pushing DMs to direct timeline
2022-01-28 09:07:56 +01:00
Claire
b2915613fb
Merge branch 'main' into glitch-soc/merge-upstream
...
Conflicts:
- `Gemfile.lock`:
Upstream-updated lib textually too close to glitch-soc-only dep.
Updated like upstream.
2022-01-28 08:58:32 +01:00
Claire
03d59340da
Fix Sidekiq warnings about JSON serialization ( #17381 )
...
* Fix Sidekiq warnings about JSON serialization
This occurs on every symbol argument we pass, and every symbol key in hashes,
because Sidekiq expects strings instead.
See https://github.com/mperham/sidekiq/pull/5071
We do not need to change how workers parse their arguments because this has
not changed and we were already converting to symbols adequately or using
`with_indifferent_access`.
* Set Sidekiq to raise on unsafe arguments in test mode
In order to more easily catch issues that would produce warnings in production
code.
2022-01-28 00:43:56 +01:00
Claire
ad6ddb9bdd
Merge branch 'main' into glitch-soc/merge-upstream
...
Conflicts:
- `config/environments/production.rb`:
Upstream changed a header but we had different default headers.
Applied the same change, and also dropped HSTS headers redundant with
Rails'.
2022-01-26 22:32:21 +01:00
Claire
166cc5b89d
Fix local distribution of edited statuses ( #17380 )
...
Because `FanOutOnWriteService#update?` was broken, edits were considered as new
toots and a regular `update` payload was sent.
2022-01-26 20:53:50 +01:00
Eugen Rochko
6505b39e5d
Fix poll updates being saved as status edits ( #17373 )
...
Fix #17344
2022-01-26 18:05:39 +01:00
Claire
7c2204314a
Add some explanation text on the CAPTCHA confirmation page
2022-01-26 13:24:51 +01:00
Claire
b7cf3941b3
Change CAPTCHA handling to be only on email verification
...
This simplifies the implementation considerably, and while not providing
ideal UX, it's the most flexible approach.
2022-01-25 23:56:57 +01:00
Claire
0fb907441c
Add ability to set hCaptcha either on registration form or on e-mail validation
...
Upshot of CAPTCHA on e-mail validation is it does not need to break the in-band
registration API.
2022-01-25 23:09:48 +01:00
Claire
a9269f8786
Disable registrations
flag in /api/v1/instance when CAPTCHA is enabled
...
This is to avoid apps trying and failing at using the registrations API,
which does not let us require a CAPTCHA and cannot be clearly signaled as
unavailable.
2022-01-25 13:58:24 +01:00
Claire
bf351d72af
Disable captcha if registrations are disabled for various reasons
2022-01-24 22:12:57 +01:00
Claire
6a2f248fe4
Renew Rails session ID on successful registration
2022-01-24 22:01:05 +01:00
Claire
04050fbd46
Please CodeClimate
2022-01-24 21:29:50 +01:00
Claire
1b493c9fee
Add optional hCaptcha support
...
Fixes #1649
This requires setting `HCAPTCHA_SECRET_KEY` and `HCAPTCHA_SITE_KEY`, then
enabling the admin setting at
`/admin/settings/edit#form_admin_settings_captcha_enabled`
Subsequently, a hCaptcha widget will be displayed on `/about` and
`/auth/sign_up` unless:
- the user is already signed-up already
- the user has used an invite link
- the user has already solved the captcha (and registration failed for another
reason)
The Content-Security-Policy headers are altered automatically to allow the
third-party hCaptcha scripts on `/about` and `/auth/sign_up` following the same
rules as above.
2022-01-24 21:22:13 +01:00
Claire
dd63923c0a
Fix link_to_login argument handling when a block is passed ( #17345 )
2022-01-24 03:29:03 +01:00
Claire
9483d0c6b2
[Glitch] Change percent
to rate
in retention metrics API
...
Port a63495230a
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-01-23 18:24:40 +01:00
Claire
4dd4fc2e5e
[Glitch] Fix text being incorrectly pre-selected in composer textarea on /share
...
Port 3a103cd317
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-01-23 18:24:34 +01:00
Claire
61ef81c548
Merge branch 'main' into glitch-soc/merge-upstream
...
Conflicts:
- `spec/models/status_spec.rb`:
Upstream added tests too close to glitch-soc-specific tests.
Kept both tests.
2022-01-23 18:24:01 +01:00
Claire
0a120d86d2
Fix error-prone SQL queries ( #15828 )
...
* Fix error-prone SQL queries in Account search
While this code seems to not present an actual vulnerability, one could
easily be introduced by mistake due to how the query is built.
This PR parameterises the `to_tsquery` input to make the query more robust.
* Harden code for Status#tagged_with_all and Status#tagged_with_none
Those two scopes aren't used in a way that could be vulnerable to an SQL
injection, but keeping them unchanged might be a hazard.
* Remove unneeded spaces surrounding tsquery term
* Please CodeClimate
* Move advanced_search_for SQL template to its own function
This avoids one level of indentation while making clearer that the SQL template
isn't build from all the dynamic parameters of advanced_search_for.
* Add tests covering tagged_with, tagged_with_all and tagged_with_none
* Rewrite tagged_with_none to avoid multiple joins and make it more robust
* Remove obsolete brakeman warnings
* Revert "Remove unneeded spaces surrounding tsquery term"
The two queries are not strictly equivalent.
This reverts commit 86f16c537e06c6ba4a8b250f25dcce9f049023ff.
2022-01-23 18:10:10 +01:00
Claire
a63495230a
Change percent
to rate
in retention metrics API ( #16910 )
2022-01-23 16:01:25 +01:00
Claire
bddd9ba36d
Add OMNIAUTH_ONLY environment variable to enforce externa log-in ( #17288 )
...
* Remove support for OAUTH_REDIRECT_AT_SIGN_IN
Fixes #15959
Introduced in #6540 , OAUTH_REDIRECT_AT_SIGN_IN allowed skipping the log-in form
to instead redirect to the external OmniAuth login provider.
However, it did not prevent the log-in form on /about introduced by #10232 from
appearing, and completely broke with the introduction of #15228 .
As I restoring that previous log-in flow without introducing a security
vulnerability may require extensive care and knowledge of how OmniAuth works,
this commit removes support for OAUTH_REDIRECT_AT_SIGN_IN instead for the time
being.
* Add OMNIAUTH_ONLY environment variable to enforce external log-in only
* Disable user registration when OMNIAUTH_ONLY is set to true
* Replace log-in links When OMNIAUTH_ONLY is set with exactly one OmniAuth provider
2022-01-23 15:52:58 +01:00
Claire
cfa583fa71
Remove support for OAUTH_REDIRECT_AT_SIGN_IN ( #17287 )
...
Fixes #15959
Introduced in #6540 , OAUTH_REDIRECT_AT_SIGN_IN allowed skipping the log-in form
to instead redirect to the external OmniAuth login provider.
However, it did not prevent the log-in form on /about introduced by #10232 from
appearing, and completely broke with the introduction of #15228 .
As I restoring that previous log-in flow without introducing a security
vulnerability may require extensive care and knowledge of how OmniAuth works,
this commit removes support for OAUTH_REDIRECT_AT_SIGN_IN instead for the time
being.
2022-01-23 15:50:41 +01:00
Claire
8a07ecd377
Remove leftover database columns from Devise::Models::Rememberable ( #17191 )
...
* Remove leftover database columns from Devise::Models::Rememberable
* Update fix-duplication maintenance script
* Improve errors/warnings in the fix-duplicates maintenance script
2022-01-23 15:46:30 +01:00
Claire
3a103cd317
Fix text being incorrectly pre-selected in composer textarea on /share ( #17339 )
...
Fixes #17295
2022-01-20 20:56:21 +01:00
Claire
6eea3f8f9c
Add post edited notice in admin and public UIs ( #17335 )
...
* Add edited toot flag on public pages
* Add toot edit flag to admin pages
2022-01-20 13:37:31 +01:00
Claire
4d0383d75a
Add content-type to status source in glitch-soc
2022-01-20 00:03:44 +01:00
Eugen Rochko
d4654dc892
[Glitch] Add support for editing for published statuses
...
Port front-end changes from 1060666c58
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-01-20 00:03:41 +01:00
Claire
1af4618a06
Merge branch 'main' into glitch-soc/merge-upstream
2022-01-19 23:52:53 +01:00
Claire
fe89554a54
Merge branch 'main' into glitch-soc/merge-upstream
...
Conflicts:
- `app/lib/activitypub/activity/create.rb`:
Upstream refactored how `Create` activities are handled and how values are
extracted from `Create`d objects. This conflicted with how glitch-soc
supported the `directMessage` flag to explicitly distinguish between
limited and direct messages.
Ported glitch-soc's changes to latest upstream changes.
- `app/services/fan_out_on_write_service.rb`:
Upstream largely refactored that file and changed some of the logic.
This conflicted with glitch-soc's handling of the direct timeline and
the options to allow replies and boosts in public feeds.
Ported those glitch-soc changes on top of latest upstream changes.
- `app/services/process_mentions_service.rb`:
Upstream refactored to move mention-related ActivityPub deliveries to
`ActivityPub::DeliveryWorker`, while glitch-soc contained an extra check
to not send local-only toots to remote mentioned users.
Took upstream's version, as the check is not needed anymore, since it is
performed at the `ActivityPub::DeliveryWorker` call site already.
- `app/workers/feed_insert_worker.rb`:
Upstream added support for `update` toot events, while glitch-soc had
support for an extra timeline support, `direct`.
Ported upstream changes and extended them to the `direct` timeline.
Additional changes:
- `app/lib/activitypub/parser/status_parser.rb`:
Added code to handle the `directMessage` flag and take it into account
to compute visibility.
- `app/lib/feed_manager.rb`:
Extended upstream's support of `update` toot events to glitch-soc's
`direct` timeline.
2022-01-19 23:52:48 +01:00
Eugen Rochko
9eb775a9d1
Fix error when using raw distribution worker ( #17334 )
...
Regression from #16697
2022-01-19 23:05:59 +01:00
Eugen Rochko
d412a8d1f2
Fix error when processing poll updates ( #17333 )
...
Regression from #16697
2022-01-19 22:50:01 +01:00
Eugen Rochko
1060666c58
Add support for editing for published statuses ( #16697 )
...
* Add support for editing for published statuses
* Fix references to stripped-out code
* Various fixes and improvements
* Further fixes and improvements
* Fix updates being potentially sent to unauthorized recipients
* Various fixes and improvements
* Fix wrong words in test
* Fix notifying accounts that were tagged but were not in the audience
* Fix mistake
2022-01-19 22:37:27 +01:00
Claire
b209e919bd
Merge pull request #1662 from ClearlyClaire/glitch-soc/merge-upstream
...
Merge upstream changes
2022-01-19 14:22:59 +01:00
Claire
c42938aed4
Merge branch 'main' into glitch-soc/merge-upstream
2022-01-19 12:32:44 +01:00
Jeong Arm
2d1f082bb6
Fix NameError on ActivityPub::FetchFeaturedCollectionService ( #17326 )
...
Related: #16954
2022-01-19 04:08:46 +01:00
Claire
f6acc039ec
Merge pull request #1660 from ClearlyClaire/glitch-soc/features/themes-multiple-packs
...
Refactor glitch-soc's theme handling
2022-01-18 00:18:07 +01:00
Claire
b9ed7e0f55
Please CodeClimate
2022-01-17 13:06:06 +01:00
Claire
c7e2b9cf64
Move controller theming code to concern
2022-01-17 12:50:52 +01:00
Claire
c60f8ce032
Fix pinned
attribute not being set for private self-posts ( #17304 )
2022-01-17 11:59:46 +01:00
Eugen Rochko
69208ef6ff
[Glitch] Add notifications for statuses deleted by moderators
...
Port front-end changes from 14f436c457
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-01-17 11:19:44 +01:00
Claire
b3bf32a21e
Merge branch 'main' into glitch-soc/merge-upstream
...
Conflicts:
- `app/views/admin/reports/show.html.haml`:
Conflicts due to glitch-soc's theming system.
2022-01-17 10:45:25 +01:00
Claire
77dd4ab8f5
Fix pinned
attribute not being set for private self-posts
2022-01-17 09:52:19 +01:00
Eugen Rochko
14f436c457
Add notifications for statuses deleted by moderators ( #17204 )
2022-01-17 09:41:33 +01:00
Claire
5effc0f8fa
[Glitch] Add support for private pinned posts
...
Port JS changes from d5c9feb7b7
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-01-17 08:35:27 +01:00
Claire
2d4b4b0b45
Merge branch 'main' into glitch-soc/merge-upstream
...
Conflicts:
- `app/controllers/accounts_controller.rb`:
Upstream introduced support for private pinned toots, but glitch-soc's query
was a bit different as it filtered out local-only toots.
Used upstream's query, while adding local-only filtering back.
- `app/controllers/activitypub/collections_controller.rb`:
Same thing with regards to local-only posts.
- `app/validators/status_pin_validator.rb`:
Not a real conflict, but the line below was different in glitch-soc due to
the configurable pinned toots limit.
2022-01-17 08:28:52 +01:00
Claire
d5c9feb7b7
Add support for private pinned posts ( #16954 )
...
* Add support for private pinned toots
* Allow local user to pin private toots
* Change wording to avoid "direct message"
2022-01-17 00:49:55 +01:00
Claire
278bd61d6f
Merge branch 'main' into glitch-soc/merge-upstream
2022-01-16 22:29:05 +01:00
Claire
de4c67c5fa
Fix missing media: 'all' on default skins
2022-01-16 22:26:18 +01:00
Claire
c789bcc844
Refactor theming HAML template a bit
2022-01-16 22:26:18 +01:00
Claire
1b386c881c
Refactor theme config loading
2022-01-16 22:26:18 +01:00
Claire
c61b29ebfd
Refactor some more
2022-01-16 22:26:18 +01:00
Claire
30d9abdfc9
Refactor glitch-soc's theme handling
2022-01-16 22:12:11 +01:00
Claire
081e4426f8
Fix admin interface crash when displaying deleted user ( #17301 )
2022-01-16 20:57:37 +01:00
Jeong Arm
474cd302c9
[Glitch] Gradually increase retry waiting for media processing
...
Port bc7a8ae6d6
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-01-16 18:14:33 +01:00
Claire
b61c3ddff8
Merge branch 'main' into glitch-soc/merge-upstream
...
Conflicts:
- `README.md`:
Upstream added some text, but our README is completely different.
Kept our README unchanged.
2022-01-16 18:11:20 +01:00
Eugen Rochko
8e84ebf0cb
Remove IP tracking columns from users table ( #16409 )
2022-01-16 13:23:50 +01:00
Jeong Arm
bc7a8ae6d6
Gradually increase retry waiting for media processing ( #17271 )
2022-01-10 14:25:08 +01:00
Claire
af86c7a5de
[Glitch] Fix media descriptions not being used for client-side filtering
...
Port 37e80994f8
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-01-07 19:54:58 +01:00
Claire
fca50e4b50
Merge branch 'main' into glitch-soc/merge-upstream
2022-01-07 19:51:47 +01:00
Jeong Arm
d3db2eb7fb
Remove custom emojis on domain purge ( #17210 )
2021-12-30 08:41:09 +01:00
Claire
37e80994f8
Fix media descriptions not being used for client-side filtering ( #17206 )
...
Fix oversight in #13837
2021-12-28 23:25:50 +01:00
Rens Groothuijsen
f011787003
[Glitch] Fix tag rendering error in hashtag column settings
...
Port e65080181a
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2021-12-27 15:22:12 +01:00
Claire
09c61e1376
Merge branch 'main' into glitch-soc/merge-upstream
...
Conflicts:
- `README.md`:
We have completely different contents. Kept our version.
- `package.json`:
Not a real conflict, just an upstream dependency udpated
textually too close to a glitch-soc-only dependency.
Updated dependencies like upstream.
- `streaming/index.js`:
Conflict due to code style changes on parts that were
modified in glitch-soc to handle local-only toots.
Changed style according to upstream.
2021-12-27 15:16:18 +01:00
Eugen Rochko
fe71548844
Fix warnings on Rails boot ( #16946 )
2021-12-27 00:47:20 +01:00
Rens Groothuijsen
e65080181a
Fix tag rendering error in hashtag column settings ( #17184 )
...
* Flatten tags in configuration to regular array before converting to JSON
* Render filter tags using toJS instead of toJSON
2021-12-26 19:22:05 +01:00
Jeong Arm
720e8ab0f5
Fix duplicate record on admin/accounts when searching with IP ( #17150 )
2021-12-21 00:17:14 +01:00
Claire
e061ea5f71
[Glitch] Change title of retention chart
...
Port 0c17fd9109
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2021-12-18 11:47:54 +01:00
Claire
d4f315f304
Merge branch 'main' into glitch-soc/merge-upstream
2021-12-18 11:44:54 +01:00
Claire
76761d5fc0
Add ability for admins to delete canonical email blocks ( #16644 )
...
* Add admin option to remove canonical email blocks from a deleted account
* Add tootctl canonical_email_blocks to inspect and remove canonical email blocks
2021-12-17 23:02:14 +01:00
Claire
7f803c41e2
Add ability to purge undeliverable domains from admin interface ( #16686 )
...
* Add ability to purge undeliverable domains from admin interface
* Add tests
2021-12-17 23:01:21 +01:00
Claire
0c17fd9109
Change title of retention chart ( #16909 )
...
Changes from “Retention” to “User retention rate by month after sign-up”.
This should make it much clearer to people not familiar with retention charts
what it actually means.
2021-12-17 23:00:41 +01:00
Claire
40f202c1e5
Change list title input styling ( #17092 )
2021-12-17 23:00:05 +01:00
David Sterry
50d62fe2e7
[Glitch] ignore hashtag suggestions if they vary only in case
...
Port 2aafa5b4e7
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2021-12-16 16:48:42 +01:00
Rens Groothuijsen
59a5193280
[Glitch] Show correct error message if chosen password is too long
...
Port 66baa629ea
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2021-12-16 16:26:04 +01:00
Eugen Rochko
9cecf59300
[Glitch] Add batch suspend for accounts in admin UI
...
Port SCSS changes from 2aafa5b4e7
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2021-12-16 16:25:21 +01:00
Claire
b2526316f5
Merge branch 'main' into glitch-soc/merge-upstream
...
Conflicts:
- `app/views/admin/pending_accounts/index.html.haml`:
Removed upstream, while it had glitch-soc-specific changes to accomodate
for glitch-soc's theming system.
Removed the file.
Additional changes:
- `app/views/admin/accounts/index.html.haml':
Accomodate for glitch-soc's theming system.
2021-12-16 16:20:44 +01:00
David Sterry
2aafa5b4e7
ignore hashtag suggestions if they vary only in case ( #16460 )
...
* ignore hashtag suggestions if they vary only in case
* remove console.logs and unused args
* consistently add space when dismissing suggestions
* linting
2021-12-15 23:47:19 +01:00
Takeshi Umeda
bda8e4f815
Fix follow recommendation biased towards older accounts ( #17126 )
2021-12-13 23:21:14 +01:00
Eugen Rochko
fe45184b36
Change trending hashtags threshold back from 15 to 5 ( #17122 )
2021-12-13 05:32:29 +01:00
heguro
41503507ec
Fix redirection when succeeded WebAuthn ( #17098 )
2021-12-05 21:50:12 +01:00
Rens Groothuijsen
66baa629ea
Show correct error message if chosen password is too long ( #17082 )
...
* Add correct error message for exceeding max length on password confirmation field
* Code style fixes
2021-12-05 21:49:50 +01:00
Eugen Rochko
0fb9536d38
Add batch suspend for accounts in admin UI ( #17009 )
2021-12-05 21:48:39 +01:00
Claire
d911c17f52
Fix unneeded outline around list name edition input
2021-12-03 21:03:40 +01:00
Claire
5bf3a09c5b
Merge branch 'main' into glitch-soc/merge-upstream
2021-11-30 12:13:54 +01:00
Eugen Rochko
a458b74c7e
Fix error on trending mailer due to missing constant ( #17072 )
2021-11-29 17:39:40 +01:00
Jeong Arm
4a109ec1ba
Fix server graph on admin/tags/:id ( #17066 )
2021-11-28 23:13:07 +01:00
Claire
ca5d78816b
[Glitch] Fix searching for additional hashtags in hashtag column
...
Port 3f382e337d
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2021-11-26 22:58:46 +01:00
Claire
d5d44b431a
[Glitch] Fix color of hashtag column settings inputs
...
Port 1630807ee2
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2021-11-26 22:58:13 +01:00
Claire
9b861d56a9
Merge branch 'main' into glitch-soc/merge-upstream
...
Conflicts:
- `.env.production.sample`:
Copied upstream changes.
- `app/controllers/settings/identity_proofs_controller.rb`:
Minor conflict due to glitch-soc's extra “enable_keybase” setting.
Upstream removed keybase support altogether, so did the same.
- `app/controllers/well_known/keybase_proof_config_controller.rb`:
Minor conflict due to glitch-soc's extra “enable_keybase” setting.
Upstream removed keybase support altogether, so did the same.
- `lib/mastodon/statuses_cli.rb`:
Minor conflict due to an optimization that wasn't shared between
the two versions. Copied upstream's version.
2021-11-26 22:53:55 +01:00
Jeong Arm
1c826471e7
Fix admin statuses order( #16937 ) ( #16969 )
...
* Fix #16937
* Add test for statuses order
2021-11-26 22:12:27 +01:00
Claire
3f382e337d
Fix searching for additional hashtags in hashtag column ( #17054 )
2021-11-26 22:11:09 +01:00
Claire
1630807ee2
Fix color of hashtag column settings inputs ( #17058 )
...
Fixes #17057
2021-11-26 22:09:11 +01:00
Claire
ddcb9da74f
Fix opening wrong profile when clicking on username of boosting user in WebUI ( #17060 )
...
Fixes #16799
2021-11-26 22:04:09 +01:00
Jeong Arm
97151840b0
[Glitch] Port upstream changes about trending links
2021-11-26 11:36:22 +01:00
Eugen Rochko
7de0ee7aba
Remove Keybase integration ( #17045 )
2021-11-26 05:58:18 +01:00
Claire
3304df0ab5
Merge branch 'main' into glitch-soc/merge-upstream
2021-11-26 01:15:32 +01:00
Claire
afd71867ba
Revert "Fix trends admin page crashing"
...
This reverts commit 5f10e64330
.
2021-11-26 01:15:29 +01:00
Eugen Rochko
12b3ff6c6d
Fix error on trending hashtags/links pages in admin UI due to missing constant ( #17044 )
2021-11-26 01:12:39 +01:00
Claire
5f10e64330
Fix trends admin page crashing
2021-11-26 00:50:13 +01:00
Claire
0ccaedc92b
Disable trending links review request emails
2021-11-25 23:55:05 +01:00
Claire
67c4e8e317
[Glitch] Fix handling of recursive toots in WebUI
...
Port b1fd6d4490
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2021-11-25 23:52:22 +01:00
Claire
443ec4f8ba
Merge branch 'main' into glitch-soc/merge-upstream
...
Conflicts:
- `app/views/admin/tags/index.html.haml`:
Removed upstream while it had changes in glitch-soc to accomodate for the
theming system.
Additional changes to accomodate for the theming system:
- `app/views/admin/trends/links/preview_card_providers/index.html.haml`
- `app/views/admin/trends/links/index.html.haml`
- `app/views/admin/trends/tags/index.html.haml`
- `app/views/admin/tags/show.html.haml`
2021-11-25 23:50:35 +01:00
Claire
b1fd6d4490
Fix handling of recursive toots in WebUI ( #17041 )
2021-11-25 23:46:39 +01:00
Claire
013bee6afb
Fix filtering DMs from non-followed users ( #17042 )
2021-11-25 23:46:30 +01:00
Claire
534b0a2704
Merge branch 'main' into glitch-soc/merge-upstream
2021-11-25 18:42:18 +01:00
Eugen Rochko
6e50134a42
Add trending links ( #16917 )
...
* Add trending links
* Add overriding specific links trendability
* Add link type to preview cards and only trend articles
Change trends review notifications from being sent every 5 minutes to being sent every 2 hours
Change threshold from 5 unique accounts to 15 unique accounts
* Fix tests
2021-11-25 13:07:38 +01:00
Claire
02a87431cf
Fix error when suspending user with an already-existing canonical email block ( #17036 )
...
* Fix error when suspending user with an already-existing canonical email block
Fixes #17033
While attempting to create a `CanonicalEmailBlock` with an existing hash would
raise an `ActiveRecord::RecordNotUnique` error, this being done within a
transaction would cancel the whole transaction. For this reason, checking for
uniqueness in Rails would query the database within the transaction and avoid
invalidating the whole transaction for this reason.
A race condition is still possible, where multiple accounts sharing a canonical
email would be blocked in concurrent transactions, in which only one would
succeed, but that is way less likely to happen that the current issue, and can
always be retried after the first failure, unlike the current situation.
* Add tests
2021-11-24 17:41:03 +01:00
Claire
189cf652e6
[Glitch] Fix overflow of long profile fields in admin view
...
Port db32835338
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2021-11-19 18:55:27 +01:00
Claire
2b4c7beb73
Merge branch 'main' into glitch-soc/merge-upstream
2021-11-19 18:51:41 +01:00
Claire
db32835338
Fix overflow of long profile fields in admin view ( #17010 )
2021-11-19 18:22:49 +01:00
Claire
6159020617
Fix background-color of emoji-mart selector ( #17011 )
...
Reverts part of #16907 to fix hardcoded color
2021-11-19 18:21:37 +01:00
Takeshi Umeda
3419d3ec84
Bump chewy from 5.2.0 to 7.2.3 (supports Elasticsearch 7.x) ( #16915 )
...
* Bump chewy from 5.2.0 to 7.2.2
* fix style (codeclimate)
* fix style
* fix style
* Bump chewy from 7.2.2 to 7.2.3
2021-11-18 22:02:08 +01:00
Mashiro
2b6a25c609
Add lazy load to emoji-mart ( #16907 )
...
* perf: lazyload emoji-mart!
* Bump lazyload
2021-11-18 22:01:31 +01:00
Claire
3517867b76
Fix confusing error when webfinger request returns empty document ( #16986 )
...
For some reason, some misconfigured servers return an empty document when
queried over webfinger. Since an empty document does not lead to a parse
error, the error is not caught properly and triggers uncaught exceptions
later on.
This PR fixes that by immediately erroring out with `Webfinger::Error` on
getting an empty response.
2021-11-14 21:55:40 +01:00
Eugen Rochko
5d7c852283
Fix no link previews being generated for pages with invalid structured data ( #16979 )
...
Fix #16955
2021-11-13 23:07:13 +01:00
Claire
2cda8be805
Merge branch 'main' into glitch-soc/merge-upstream
2021-11-13 09:40:13 +01:00
Claire
ef8deb0878
Fix OpenGraph/LinkedData embeds having incorrectly-generated iframes ( #16978 )
2021-11-13 03:30:27 +01:00
Jeong Arm
8b8d58c670
Rename, move, fix code
2021-11-12 19:51:35 +01:00
Jeong Arm
3238e60823
Fix admin sidebar on Mobile layout
2021-11-12 19:51:35 +01:00
Claire
f33878969a
Fix some glitch-soc styling issues due to different class names
...
Partial fix to #1629
2021-11-12 16:29:36 +01:00
Claire
4bb6b1a1e7
Merge branch 'main' into glitch-soc/merge-upstream
2021-11-06 00:15:38 +01:00
Claire
6da135a493
Fix reviving revoked sessions and invalidating login ( #16943 )
...
Up until now, we have used Devise's Rememberable mechanism to re-log users
after the end of their browser sessions. This mechanism relies on a signed
cookie containing a token. That token was stored on the user's record,
meaning it was shared across all logged in browsers, meaning truly revoking
a browser's ability to auto-log-in involves revoking the token itself, and
revoking access from *all* logged-in browsers.
We had a session mechanism that dynamically checks whether a user's session
has been disabled, and would log out the user if so. However, this would only
clear a session being actively used, and a new one could be respawned with
the `remember_user_token` cookie.
In practice, this caused two issues:
- sessions could be revived after being closed from /auth/edit (security issue)
- auto-log-in would be disabled for *all* browsers after logging out from one
of them
This PR removes the `remember_token` mechanism and treats the `_session_id`
cookie/token as a browser-specific `remember_token`, fixing both issues.
2021-11-06 00:13:58 +01:00
Claire
87085a5152
Fix AccountNote not having a maximum length ( #16942 )
2021-11-06 00:12:25 +01:00
Eugen Rochko
39cdf61ab7
Add support for structured data and more OpenGraph tags to link cards ( #16938 )
...
Save preview cards under their canonical URL
Increase max redirects to follow from 2 to 3
2021-11-05 23:23:05 +01:00
Claire
989c67d29d
Fix handling announcements with links ( #16941 )
...
Broken since #15827
2021-11-05 21:14:35 +01:00
Jeong Arm
458830ee7c
Fix statuses order in account's statuses admin page ( #16937 )
2021-11-04 15:49:35 +01:00
mayaeh
7ccbfb55dd
ran yarn manage:translations en
( #16912 )
2021-10-28 05:29:49 +02:00
Sasha Sorokin
a30ac454b2
[Glitch] Split context for filter bar and unread markers
...
Port 11d4f9eefc
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2021-10-25 20:37:07 +02:00
Mashiro
dbbb077c19
[Glitch] Enhance dashboard styles
...
Port b58d32cfe2
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2021-10-25 20:36:31 +02:00
Claire
e855df149b
Merge branch 'main' into glitch-soc/merge-upstream
...
Conflicts:
- `.env.production.sample`:
Upstream added new configuration options, uncommented by default.
Commented them.
- `Gemfile.lock`:
Upstream updated dependencies textually close to glitch-soc-specific
dependencies.
Updated those upstream dependencies.
2021-10-25 20:28:51 +02:00
Sasha Sorokin
11d4f9eefc
Split context for filter bar and unread markers ( #16865 )
...
On notifications page, in settings, "Show" for quick filter bar and
unread notifications markers use the same string, while being placed in
the separate contexts - under different settings categories.
This commit splits the contexts, creating new strings:
- "Show filter bar" in place of "Show" for filter bar;
- "Highlight unread notifications" in place of "Show" for unread
notification markers, which are now simply called "Highlighting";
- There's also "Unread notifications" in place of "Unread notification
markers" string to accompany the changes to "Show" string under that
category.
All new strings have new IDs, which will cause previous strings to
invalidate on the next translation update and new strings to be created.
This will help Mastodon translators to know that there are changes and
improve translation in accordance to the source string update.
2021-10-25 16:32:28 +02:00
atsu1125
dae377b3b5
translation glitch's web interface [ja]
...
Squashed commit of the following:
commit f8c339b4dafd7347c5e824191dbf28d770d6583d
Author: atsuchan <83960488+atsu1125@users.noreply.github.com>
Date: Sat Oct 23 20:24:28 2021 +0900
translation glitch's web interface [ja]
commit a9520d5c5fb21490fa66c51bf1063f1edb9150ff
Author: atsu1125 <mastodon@atsuchan.page>
Date: Sat Oct 23 15:21:55 2021 +0900
translation glitch's web interface [ja]
commit 699848f2abff24be149c4a1c623df8b920ef2ed9
Author: atsu1125 <mastodon@atsuchan.page>
Date: Sat Oct 23 13:23:39 2021 +0900
translation glitch's web interface [ja]
2021-10-24 00:05:33 +09:00
Claire
ec059317fa
Fix some link previews being incorrectly generated from other prior links ( #16885 )
...
* Add tests
* Fix some link previews being incorrectly generated from different prior links
PR #12403 added a cache to avoid redundant queries when the OEmbed endpoint can
be guessed from the URL. This caching mechanism is not perfectly correct as
there is no guarantee that all pages from a given domain share the same
OEmbed provider endpoint.
This PR prevents the FetchOEmbedService from caching OEmbed endpoint that
cannot be generalized by replacing a fully-qualified URL from the endpoint's
parameters, greatly reducing the number of incorrect cached generalizations.
2021-10-21 20:39:35 +02:00
Mashiro
b58d32cfe2
Enhance dashboard styles ( #16884 )
...
* Display sparkline graph on Chrome
* Heatmap auto overflow
* Change grid columns number on small screen
* Please codeclimate bot
* Remove graph height
2021-10-21 06:24:34 +02:00
Claire
3f9b28ce26
Add support for fetching Create and Announce activities by URI ( #16383 )
...
* Add support for fetching Create and Announce activities by URI
This should improve compatibility with ZAP and offer a way to fetch boosts,
which is currently not possible.
* Add tests
2021-10-21 01:14:04 +02:00
atsu1125
aa6269b08e
translation glitch's client setting interface [ja]
2021-10-20 13:00:51 +09:00
Takeshi Umeda
17f4e457b3
Add remove from followers api ( #16864 )
...
* Add followed_by? to account_interactions
* Add RemoveFromFollowersService
* Fix AccountBatch to use RemoveFromFollowersService
* Add remove from followers API
2021-10-18 12:02:35 +02:00
Eugen Rochko
f00043dc4b
New Crowdin updates ( #16354 )
...
* New translations en.json (Latvian)
[ci skip]
* New translations en.json (Hebrew)
[ci skip]
* New translations en.json (Hebrew)
[ci skip]
* New translations simple_form.en.yml (Breton)
[ci skip]
* New translations simple_form.en.yml (Breton)
[ci skip]
* New translations simple_form.en.yml (Breton)
[ci skip]
* New translations simple_form.en.yml (Breton)
[ci skip]
* New translations en.json (Icelandic)
[ci skip]
* New translations en.json (Icelandic)
[ci skip]
* New translations en.json (Chinese Simplified)
[ci skip]
* New translations en.yml (Chinese Simplified)
[ci skip]
* New translations en.yml (Chinese Simplified)
[ci skip]
* New translations simple_form.en.yml (Chinese Simplified)
[ci skip]
* New translations devise.en.yml (Chinese Simplified)
[ci skip]
* New translations en.yml (Chinese Simplified)
[ci skip]
* New translations devise.en.yml (Chinese Simplified)
[ci skip]
* New translations en.json (Persian)
[ci skip]
* New translations en.json (Finnish)
[ci skip]
* New translations doorkeeper.en.yml (Finnish)
[ci skip]
* New translations doorkeeper.en.yml (Finnish)
[ci skip]
* New translations doorkeeper.en.yml (Finnish)
[ci skip]
* New translations doorkeeper.en.yml (Finnish)
[ci skip]
* New translations doorkeeper.en.yml (Finnish)
[ci skip]
* New translations en.yml (Finnish)
[ci skip]
* New translations en.yml (Finnish)
[ci skip]
* New translations en.yml (Finnish)
[ci skip]
* New translations en.yml (Finnish)
[ci skip]
* New translations en.yml (Finnish)
[ci skip]
* New translations en.yml (Finnish)
[ci skip]
* New translations en.yml (Finnish)
[ci skip]
* New translations en.yml (Finnish)
[ci skip]
* New translations en.yml (Finnish)
[ci skip]
* New translations en.yml (Finnish)
[ci skip]
* New translations en.yml (Finnish)
[ci skip]
* New translations en.yml (Finnish)
[ci skip]
* New translations en.yml (Finnish)
[ci skip]
* New translations en.yml (Finnish)
[ci skip]
* New translations en.yml (Finnish)
[ci skip]
* New translations en.yml (Finnish)
[ci skip]
* New translations en.yml (Finnish)
[ci skip]
* New translations en.yml (Finnish)
[ci skip]
* New translations en.yml (Finnish)
[ci skip]
* New translations en.yml (Finnish)
[ci skip]
* New translations en.yml (Finnish)
[ci skip]
* New translations en.yml (Finnish)
[ci skip]
* New translations en.yml (Finnish)
[ci skip]
* New translations en.yml (Finnish)
[ci skip]
* New translations en.yml (Finnish)
[ci skip]
* New translations en.yml (Finnish)
[ci skip]
* New translations en.yml (French)
[ci skip]
* New translations en.yml (French)
[ci skip]
* New translations en.json (Russian)
[ci skip]
* New translations en.json (Russian)
[ci skip]
* New translations en.json (Russian)
[ci skip]
* New translations activerecord.en.yml (Latvian)
[ci skip]
* New translations devise.en.yml (Latvian)
[ci skip]
* New translations devise.en.yml (Latvian)
[ci skip]
* New translations devise.en.yml (Latvian)
[ci skip]
* New translations devise.en.yml (Latvian)
[ci skip]
* New translations devise.en.yml (Latvian)
[ci skip]
* New translations devise.en.yml (Latvian)
[ci skip]
* New translations doorkeeper.en.yml (Latvian)
[ci skip]
* New translations en.yml (Slovak)
[ci skip]
* New translations doorkeeper.en.yml (Latvian)
[ci skip]
* New translations en.yml (Slovak)
[ci skip]
* New translations doorkeeper.en.yml (Latvian)
[ci skip]
* New translations doorkeeper.en.yml (Latvian)
[ci skip]
* New translations en.yml (Latvian)
[ci skip]
* New translations en.yml (Latvian)
[ci skip]
* New translations en.yml (Latvian)
[ci skip]
* New translations en.yml (Latvian)
[ci skip]
* New translations en.yml (Latvian)
[ci skip]
* New translations en.yml (Finnish)
[ci skip]
* New translations en.yml (Finnish)
[ci skip]
* New translations en.yml (Finnish)
[ci skip]
* New translations en.yml (Finnish)
[ci skip]
* New translations en.yml (Esperanto)
[ci skip]
* New translations en.yml (Esperanto)
[ci skip]
* New translations devise.en.yml (Latvian)
[ci skip]
* New translations devise.en.yml (Latvian)
[ci skip]
* New translations devise.en.yml (Latvian)
[ci skip]
* New translations devise.en.yml (Latvian)
[ci skip]
* New translations devise.en.yml (Latvian)
[ci skip]
* New translations doorkeeper.en.yml (Latvian)
[ci skip]
* New translations doorkeeper.en.yml (Latvian)
[ci skip]
* New translations doorkeeper.en.yml (Latvian)
[ci skip]
* New translations doorkeeper.en.yml (Latvian)
[ci skip]
* New translations devise.en.yml (Latvian)
[ci skip]
* New translations simple_form.en.yml (Latvian)
[ci skip]
* New translations simple_form.en.yml (Latvian)
[ci skip]
* New translations simple_form.en.yml (Latvian)
[ci skip]
* New translations simple_form.en.yml (Latvian)
[ci skip]
* New translations simple_form.en.yml (Latvian)
[ci skip]
* New translations simple_form.en.yml (Latvian)
[ci skip]
* New translations simple_form.en.yml (Latvian)
[ci skip]
* New translations simple_form.en.yml (Latvian)
[ci skip]
* New translations en.yml (Slovak)
[ci skip]
* New translations simple_form.en.yml (Latvian)
[ci skip]
* New translations simple_form.en.yml (Slovak)
[ci skip]
* New translations simple_form.en.yml (Latvian)
[ci skip]
* New translations simple_form.en.yml (Latvian)
[ci skip]
* New translations simple_form.en.yml (Latvian)
[ci skip]
* New translations simple_form.en.yml (Latvian)
[ci skip]
* New translations simple_form.en.yml (Latvian)
[ci skip]
* New translations simple_form.en.yml (Latvian)
[ci skip]
* New translations simple_form.en.yml (Latvian)
[ci skip]
* New translations simple_form.en.yml (Latvian)
[ci skip]
* New translations simple_form.en.yml (Latvian)
[ci skip]
* New translations simple_form.en.yml (Latvian)
[ci skip]
* New translations simple_form.en.yml (Latvian)
[ci skip]
* New translations simple_form.en.yml (Latvian)
[ci skip]
* New translations simple_form.en.yml (Latvian)
[ci skip]
* New translations en.yml (Latvian)
[ci skip]
* New translations en.yml (Latvian)
[ci skip]
* New translations en.yml (Latvian)
[ci skip]
* New translations en.yml (Latvian)
[ci skip]
* New translations en.yml (Latvian)
[ci skip]
* New translations en.yml (Latvian)
[ci skip]
* New translations en.yml (Latvian)
[ci skip]
* New translations en.yml (Latvian)
[ci skip]
* New translations en.yml (Latvian)
[ci skip]
* New translations en.yml (Latvian)
[ci skip]
* New translations en.yml (Latvian)
[ci skip]
* New translations en.yml (Latvian)
[ci skip]
* New translations en.yml (Latvian)
[ci skip]
* New translations en.yml (Armenian)
[ci skip]
* New translations en.json (Danish)
[ci skip]
* New translations en.yml (Arabic)
[ci skip]
* New translations en.yml (Catalan)
[ci skip]
* New translations en.yml (Czech)
[ci skip]
* New translations en.yml (Danish)
[ci skip]
* New translations en.yml (Spanish)
[ci skip]
* New translations en.yml (German)
[ci skip]
* New translations en.yml (Greek)
[ci skip]
* New translations en.yml (Basque)
[ci skip]
* New translations en.yml (Hungarian)
[ci skip]
* New translations en.yml (Slovak)
[ci skip]
* New translations en.yml (Persian)
[ci skip]
* New translations en.yml (Swedish)
[ci skip]
* New translations en.yml (French)
[ci skip]
* New translations en.yml (Chinese Simplified)
[ci skip]
* New translations en.yml (Finnish)
[ci skip]
* New translations en.yml (Latvian)
[ci skip]
* New translations en.yml (Italian)
[ci skip]
* New translations en.yml (Sinhala)
[ci skip]
* New translations en.yml (Sardinian)
[ci skip]
* New translations en.yml (Esperanto)
[ci skip]
* New translations en.yml (Vietnamese)
[ci skip]
* New translations en.yml (Turkish)
[ci skip]
* New translations en.yml (Ukrainian)
[ci skip]
* New translations en.yml (Chinese Traditional)
[ci skip]
* New translations en.yml (Galician)
[ci skip]
* New translations en.yml (Icelandic)
[ci skip]
* New translations en.yml (Portuguese, Brazilian)
[ci skip]
* New translations en.yml (Indonesian)
[ci skip]
* New translations en.yml (Tamil)
[ci skip]
* New translations en.yml (Spanish, Argentina)
[ci skip]
* New translations en.yml (Serbian (Cyrillic))
[ci skip]
* New translations en.yml (Albanian)
[ci skip]
* New translations en.yml (Japanese)
[ci skip]
* New translations en.yml (Georgian)
[ci skip]
* New translations en.yml (Korean)
[ci skip]
* New translations en.yml (Lithuanian)
[ci skip]
* New translations en.yml (Dutch)
[ci skip]
* New translations en.yml (Norwegian)
[ci skip]
* New translations en.yml (Polish)
[ci skip]
* New translations en.yml (Portuguese)
[ci skip]
* New translations en.yml (Russian)
[ci skip]
* New translations en.yml (Slovenian)
[ci skip]
* New translations en.yml (Spanish, Mexico)
[ci skip]
* New translations en.yml (Norwegian Nynorsk)
[ci skip]
* New translations en.yml (Estonian)
[ci skip]
* New translations en.yml (Kazakh)
[ci skip]
* New translations en.json (Norwegian Nynorsk)
[ci skip]
* New translations en.yml (Thai)
[ci skip]
* New translations en.yml (Bengali)
[ci skip]
* New translations en.yml (Asturian)
[ci skip]
* New translations en.yml (Scottish Gaelic)
[ci skip]
* New translations en.yml (Occitan)
[ci skip]
* New translations en.json (Kurmanji (Kurdish))
[ci skip]
* New translations en.yml (Kurmanji (Kurdish))
[ci skip]
* New translations en.json (Sorani (Kurdish))
[ci skip]
* New translations en.yml (Breton)
[ci skip]
* New translations en.yml (Malay)
[ci skip]
* New translations en.yml (Welsh)
[ci skip]
* New translations en.yml (Chinese Traditional, Hong Kong)
[ci skip]
* New translations en.yml (Tatar)
[ci skip]
* New translations en.yml (Malayalam)
[ci skip]
* New translations en.yml (Sorani (Kurdish))
[ci skip]
* New translations en.yml (Corsican)
[ci skip]
* New translations en.yml (Kabyle)
[ci skip]
* New translations en.yml (Catalan)
[ci skip]
* New translations en.yml (Polish)
[ci skip]
* New translations en.yml (Russian)
[ci skip]
* New translations en.yml (Russian)
[ci skip]
* New translations en.yml (Catalan)
[ci skip]
* New translations en.yml (Kurmanji (Kurdish))
[ci skip]
* New translations en.json (Russian)
[ci skip]
* New translations en.yml (Czech)
[ci skip]
* New translations en.json (Russian)
[ci skip]
* New translations en.yml (Czech)
[ci skip]
* New translations en.yml (Czech)
[ci skip]
* New translations en.yml (Turkish)
[ci skip]
* New translations en.yml (Occitan)
[ci skip]
* New translations en.yml (Czech)
[ci skip]
* New translations en.yml (Kurmanji (Kurdish))
[ci skip]
* New translations en.yml (Czech)
[ci skip]
* New translations en.yml (Danish)
[ci skip]
* New translations en.yml (Danish)
[ci skip]
* New translations en.yml (Kurmanji (Kurdish))
[ci skip]
* New translations en.yml (Norwegian)
[ci skip]
* New translations en.yml (Kurmanji (Kurdish))
[ci skip]
* New translations en.yml (Chinese Traditional)
[ci skip]
* New translations en.yml (Galician)
[ci skip]
* New translations en.yml (Galician)
[ci skip]
* New translations en.yml (French)
[ci skip]
* New translations en.yml (French)
[ci skip]
* New translations en.yml (Chinese Traditional)
[ci skip]
* New translations en.yml (Hungarian)
[ci skip]
* New translations en.yml (Albanian)
[ci skip]
* New translations en.yml (Albanian)
[ci skip]
* New translations en.yml (Ukrainian)
[ci skip]
* New translations en.yml (Latvian)
[ci skip]
* New translations en.yml (Latvian)
[ci skip]
* New translations en.yml (Latvian)
[ci skip]
* New translations en.yml (Portuguese)
[ci skip]
* New translations en.yml (Latvian)
[ci skip]
* New translations en.json (Portuguese)
[ci skip]
* New translations en.yml (Portuguese)
[ci skip]
* New translations en.yml (Latvian)
[ci skip]
* New translations en.yml (Latvian)
[ci skip]
* New translations en.yml (Latvian)
[ci skip]
* New translations en.yml (Latvian)
[ci skip]
* New translations en.yml (Latvian)
[ci skip]
* New translations en.yml (Latvian)
[ci skip]
* New translations en.yml (Latvian)
[ci skip]
* New translations en.yml (Latvian)
[ci skip]
* New translations en.yml (Latvian)
[ci skip]
* New translations en.yml (Latvian)
[ci skip]
* New translations en.yml (Latvian)
[ci skip]
* New translations en.yml (Spanish)
[ci skip]
* New translations en.yml (Hungarian)
[ci skip]
* New translations en.yml (Italian)
[ci skip]
* New translations en.yml (Indonesian)
[ci skip]
* New translations en.yml (Indonesian)
[ci skip]
* New translations devise.en.yml (French)
[ci skip]
* Run `i18n-tasks normalize`
* Run `yarn manage:translations`
* Trim unnecessary line breaks
Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2021-10-17 10:28:51 +09:00
Claire
6964952d5f
Merge branch 'main' into glitch-soc/merge-upstream
2021-10-14 22:22:39 +02:00
Claire
a184c860ca
Fix retention rate computation ( #16854 )
2021-10-14 22:20:37 +02:00
Claire
b2eaf5562d
Merge branch 'main' into glitch-soc/merge-upstream
...
Conflicts:
- `README.md`:
Upstream added some documentation in the README, but our README is pretty
different and barebone.
Kept our README.
2021-10-14 22:14:26 +02:00
Eugen Rochko
7aec1bc308
[Glitch] Add graphs and retention metrics to admin dashboard ( #16829 )
...
Port 07341e7aa6
to glitch-soc
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2021-10-14 21:45:01 +02:00