Duarte Serrano
970d6ab2e6
Add bookmark folders feature
...
This feature implements bookmark folders, a way for users to organize
their bookmarked posts into different folders.
It's possible to create folders, edit their names and delete them.
- UX: Allow users to assign bookmarks to specific folders
- Frontend: Update UI to allow creating, editing, and deleting folders
- API: Implement CRUD API for bookmark folders
- Database: Add bookmark_folders table and update bookmarks table
Co-authored-by: David Bento <david.p.bento@tecnico.ulisboa.pt>
2026-06-08 17:32:46 +00:00
diondiondion
8e15e49e87
[Profile] Make handle button text selectable ( #39217 )
2026-05-29 13:14:06 +00:00
diondiondion
7fba458d92
Remove frontend check for collections feature flag ( #39215 )
2026-05-29 13:07:00 +00:00
diondiondion
a86f3a4000
Use new Collections endpoint version ( #39214 )
2026-05-29 12:48:12 +00:00
Echo
fa1e16ed9f
Collections: Add default recommendations ( #39202 )
2026-05-29 11:53:03 +00:00
github-actions[bot]
f436be9410
New Crowdin Translations (automated) ( #39193 )
...
Co-authored-by: GitHub Actions <noreply@github.com>
2026-05-29 07:30:42 +00:00
Echo
4101f567c5
Collection notification filtering ( #39198 )
2026-05-28 20:13:56 +00:00
Itoh Shimon
ddd687b98e
Enable vertical text editing on Alt text editor ( #38797 )
2026-05-27 16:23:52 +00:00
Echo
d229157f19
Collections: Handle URLs in search ( #39182 )
2026-05-27 13:13:38 +00:00
diondiondion
888011de69
[Accessibility] Differentiate accessible labels of About links in footer ( #39181 )
2026-05-27 10:35:15 +00:00
diondiondion
b5879fd61f
Refactor BundleColumnError to TS ( #39177 )
2026-05-27 10:33:52 +00:00
diondiondion
bd2e86d7f4
Refactor "copy to clipboard" functionality into hook ( #39180 )
2026-05-27 10:03:45 +00:00
diondiondion
5f998507ec
Fix navigation overflow issue in advanced UI ( #39178 )
2026-05-27 09:38:18 +00:00
github-actions[bot]
991a8af7a0
New Crowdin Translations (automated) ( #39152 )
...
Co-authored-by: GitHub Actions <noreply@github.com>
2026-05-27 09:35:56 +00:00
diondiondion
d20d049226
Accessibility: Ensure focus order of post elements matches visual reading order ( #39169 )
Check i18n / check-i18n (push) Waiting to run
Chromatic / Check for relevant changes (push) Waiting to run
Chromatic / Run Chromatic (push) Blocked by required conditions
CodeQL / Analyze (actions) (push) Waiting to run
CodeQL / Analyze (javascript) (push) Waiting to run
CodeQL / Analyze (ruby) (push) Waiting to run
Check formatting / lint (push) Waiting to run
CSS Linting / lint (push) Waiting to run
JavaScript Linting / lint (push) Waiting to run
JavaScript Testing / test (push) Waiting to run
Ruby Testing / build (production) (push) Waiting to run
Ruby Testing / build (test) (push) Waiting to run
Ruby Testing / test (.ruby-version) (push) Blocked by required conditions
Ruby Testing / test (3.3) (push) Blocked by required conditions
Ruby Testing / test (3.4) (push) Blocked by required conditions
Ruby Testing / End to End testing (.ruby-version) (push) Blocked by required conditions
Ruby Testing / End to End testing (3.3) (push) Blocked by required conditions
Ruby Testing / End to End testing (3.4) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (.ruby-version, docker.elastic.co/elasticsearch/elasticsearch:7.17.29) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (.ruby-version, docker.elastic.co/elasticsearch/elasticsearch:8.19.2) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (.ruby-version, opensearchproject/opensearch:2) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (3.3, docker.elastic.co/elasticsearch/elasticsearch:7.17.29) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (3.4, docker.elastic.co/elasticsearch/elasticsearch:7.17.29) (push) Blocked by required conditions
2026-05-26 17:42:49 +00:00
diondiondion
1962e4743c
Fix advanced UI column crashing in development ( #39171 )
Check i18n / check-i18n (push) Waiting to run
Chromatic / Check for relevant changes (push) Waiting to run
Chromatic / Run Chromatic (push) Blocked by required conditions
CodeQL / Analyze (actions) (push) Waiting to run
CodeQL / Analyze (javascript) (push) Waiting to run
CodeQL / Analyze (ruby) (push) Waiting to run
Check formatting / lint (push) Waiting to run
CSS Linting / lint (push) Waiting to run
Haml Linting / lint (push) Waiting to run
JavaScript Linting / lint (push) Waiting to run
Ruby Linting / lint (push) Waiting to run
JavaScript Testing / test (push) Waiting to run
Historical data migration test / test (14-alpine) (push) Waiting to run
Historical data migration test / test (15-alpine) (push) Waiting to run
Historical data migration test / test (16-alpine) (push) Waiting to run
Historical data migration test / test (17-alpine) (push) Waiting to run
Ruby Testing / build (production) (push) Waiting to run
Ruby Testing / build (test) (push) Waiting to run
Ruby Testing / test (.ruby-version) (push) Blocked by required conditions
Ruby Testing / test (3.3) (push) Blocked by required conditions
Ruby Testing / test (3.4) (push) Blocked by required conditions
Ruby Testing / End to End testing (.ruby-version) (push) Blocked by required conditions
Ruby Testing / End to End testing (3.3) (push) Blocked by required conditions
Ruby Testing / End to End testing (3.4) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (.ruby-version, docker.elastic.co/elasticsearch/elasticsearch:7.17.29) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (.ruby-version, docker.elastic.co/elasticsearch/elasticsearch:8.19.2) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (.ruby-version, opensearchproject/opensearch:2) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (3.3, docker.elastic.co/elasticsearch/elasticsearch:7.17.29) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (3.4, docker.elastic.co/elasticsearch/elasticsearch:7.17.29) (push) Blocked by required conditions
Crowdin / Upload translations / upload-translations (push) Has been cancelled
2026-05-26 14:59:07 +00:00
diondiondion
ceab04a1fd
Fix missing Translate button ( #39170 )
2026-05-26 14:33:37 +00:00
Echo
c39072ad9d
Emojis: Fix bug with search + improve custom tokenization ( #39167 )
2026-05-26 14:00:23 +00:00
Eugen Rochko
3559efe526
Fix missing padding on email subscription form ( #39162 )
2026-05-26 13:42:55 +00:00
Eugen Rochko
07d099cbf7
Add new overview landing page setting ( #39074 )
2026-05-26 12:36:54 +00:00
Eugen Rochko
f6d1795da5
Fix some server-side limits not being respected in web UI ( #39163 )
2026-05-26 11:51:25 +00:00
diondiondion
0275a97888
Don't open account hover card unless preceded by mouse movement ( #39166 )
2026-05-26 10:24:38 +00:00
diondiondion
cc03e381ef
Accessibility: Fix broken aria label & description in CollectionListItem ( #39165 )
2026-05-26 10:22:38 +00:00
diondiondion
e1aa4e3a8c
Accessibility: Add landmark regions to Web UI ( #39133 )
2026-05-26 10:22:22 +00:00
diondiondion
9fe97e1ad6
Accessibility: Mark pseudo element content in link footer as decorative ( #39164 )
2026-05-26 10:22:15 +00:00
Coro
71da0c4648
Fix bio text overflow ( #39160 )
2026-05-26 08:53:11 +00:00
diondiondion
6a4d14b178
[Accessibility] Fix heading level gaps ( #39149 )
2026-05-22 15:06:59 +00:00
diondiondion
28849e433a
[Accessibility] Add list semantics to main navigation ( #39145 )
2026-05-22 14:25:00 +00:00
diondiondion
90e505d295
[Accessibility] Use headings and lists in footer ( #39144 )
2026-05-22 14:08:51 +00:00
zunda
fd4a9c25dd
Honor configuration.statuses.max_characters from /api/v2/instance ( #39138 )
2026-05-22 09:21:29 +00:00
github-actions[bot]
efa729c6d4
New Crowdin Translations (automated) ( #39142 )
...
Co-authored-by: GitHub Actions <noreply@github.com>
2026-05-22 09:12:41 +00:00
Echo
cafe7ea35c
Use display name component for empty message ( #39131 )
2026-05-21 13:59:02 +00:00
diondiondion
e54f927149
Accessibility: Add skip link & landmark regions to settings ( #39129 )
2026-05-21 13:41:14 +00:00
Echo
6735902c1a
Fixes collection notification urls ( #39127 )
2026-05-21 13:17:35 +00:00
github-actions[bot]
6b5e18fb1d
New Crowdin Translations (automated) ( #39095 )
...
Co-authored-by: GitHub Actions <noreply@github.com>
2026-05-21 07:37:39 +00:00
diondiondion
d39f7bc72f
Accessibility: Add visible focus outlines to emoji/language search fields ( #39120 )
2026-05-21 07:24:55 +00:00
diondiondion
e68c1c824a
Accessibility: Add visible focus outlines to main search & composer fields ( #39111 )
2026-05-21 06:41:34 +00:00
Eugen Rochko
076c8ec51e
Refactor server reducer into TypeScript ( #39089 )
Check i18n / check-i18n (push) Waiting to run
Chromatic / Check for relevant changes (push) Waiting to run
Chromatic / Run Chromatic (push) Blocked by required conditions
CodeQL / Analyze (actions) (push) Waiting to run
CodeQL / Analyze (javascript) (push) Waiting to run
CodeQL / Analyze (ruby) (push) Waiting to run
Check formatting / lint (push) Waiting to run
JavaScript Linting / lint (push) Waiting to run
Ruby Linting / lint (push) Waiting to run
JavaScript Testing / test (push) Waiting to run
Historical data migration test / test (14-alpine) (push) Waiting to run
Historical data migration test / test (15-alpine) (push) Waiting to run
Historical data migration test / test (16-alpine) (push) Waiting to run
Historical data migration test / test (17-alpine) (push) Waiting to run
Ruby Testing / build (production) (push) Waiting to run
Ruby Testing / build (test) (push) Waiting to run
Ruby Testing / test (.ruby-version) (push) Blocked by required conditions
Ruby Testing / test (3.3) (push) Blocked by required conditions
Ruby Testing / test (3.4) (push) Blocked by required conditions
Ruby Testing / End to End testing (.ruby-version) (push) Blocked by required conditions
Ruby Testing / End to End testing (3.3) (push) Blocked by required conditions
Ruby Testing / End to End testing (3.4) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (.ruby-version, docker.elastic.co/elasticsearch/elasticsearch:7.17.29) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (.ruby-version, docker.elastic.co/elasticsearch/elasticsearch:8.19.2) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (.ruby-version, opensearchproject/opensearch:2) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (3.3, docker.elastic.co/elasticsearch/elasticsearch:7.17.29) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (3.4, docker.elastic.co/elasticsearch/elasticsearch:7.17.29) (push) Blocked by required conditions
2026-05-20 14:06:38 +00:00
diondiondion
6e7e8de343
Allow adding an account to a collection directly from the profile page ( #39080 )
Check i18n / check-i18n (push) Waiting to run
Chromatic / Check for relevant changes (push) Waiting to run
Chromatic / Run Chromatic (push) Blocked by required conditions
CodeQL / Analyze (actions) (push) Waiting to run
CodeQL / Analyze (javascript) (push) Waiting to run
CodeQL / Analyze (ruby) (push) Waiting to run
Check formatting / lint (push) Waiting to run
CSS Linting / lint (push) Waiting to run
Haml Linting / lint (push) Waiting to run
JavaScript Linting / lint (push) Waiting to run
Ruby Linting / lint (push) Waiting to run
JavaScript Testing / test (push) Waiting to run
Historical data migration test / test (14-alpine) (push) Waiting to run
Historical data migration test / test (15-alpine) (push) Waiting to run
Historical data migration test / test (16-alpine) (push) Waiting to run
Historical data migration test / test (17-alpine) (push) Waiting to run
Ruby Testing / build (production) (push) Waiting to run
Ruby Testing / build (test) (push) Waiting to run
Ruby Testing / test (.ruby-version) (push) Blocked by required conditions
Ruby Testing / test (3.3) (push) Blocked by required conditions
Ruby Testing / test (3.4) (push) Blocked by required conditions
Ruby Testing / End to End testing (.ruby-version) (push) Blocked by required conditions
Ruby Testing / End to End testing (3.3) (push) Blocked by required conditions
Ruby Testing / End to End testing (3.4) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (.ruby-version, docker.elastic.co/elasticsearch/elasticsearch:7.17.29) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (.ruby-version, docker.elastic.co/elasticsearch/elasticsearch:8.19.2) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (.ruby-version, opensearchproject/opensearch:2) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (3.3, docker.elastic.co/elasticsearch/elasticsearch:7.17.29) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (3.4, docker.elastic.co/elasticsearch/elasticsearch:7.17.29) (push) Blocked by required conditions
Crowdin / Upload translations / upload-translations (push) Has been cancelled
2026-05-20 11:29:41 +00:00
Claire
f28715d370
Fix custom emoji selection ( #39088 )
2026-05-20 07:23:29 +00:00
Echo
dee1dc41aa
Include boosts to restore pinned ordering ( #39084 )
2026-05-19 15:15:36 +00:00
diondiondion
655de32990
Ensure quote posts have no collection previews ( #39082 )
2026-05-19 14:14:25 +00:00
Echo
99db6a1910
Trigger initial field flow recalculation ( #39079 )
2026-05-19 12:58:46 +00:00
Echo
d5a7b383fa
Autosuggest emojis rendering fix ( #39077 )
2026-05-19 12:22:52 +00:00
Echo
34c91555ae
Refactor emoji search ( #39008 )
2026-05-19 10:47:45 +00:00
github-actions[bot]
eec97e387a
New Crowdin Translations (automated) ( #39075 )
...
Co-authored-by: GitHub Actions <noreply@github.com>
2026-05-19 07:00:03 +00:00
diondiondion
c26003af21
Allow users to change how accounts are sorted when viewing a collection ( #39073 )
Check i18n / check-i18n (push) Waiting to run
Chromatic / Check for relevant changes (push) Waiting to run
Chromatic / Run Chromatic (push) Blocked by required conditions
CodeQL / Analyze (actions) (push) Waiting to run
CodeQL / Analyze (javascript) (push) Waiting to run
CodeQL / Analyze (ruby) (push) Waiting to run
Check formatting / lint (push) Waiting to run
JavaScript Linting / lint (push) Waiting to run
JavaScript Testing / test (push) Waiting to run
Ruby Testing / build (production) (push) Waiting to run
Ruby Testing / build (test) (push) Waiting to run
Ruby Testing / test (.ruby-version) (push) Blocked by required conditions
Ruby Testing / test (3.3) (push) Blocked by required conditions
Ruby Testing / test (3.4) (push) Blocked by required conditions
Ruby Testing / End to End testing (.ruby-version) (push) Blocked by required conditions
Ruby Testing / End to End testing (3.3) (push) Blocked by required conditions
Ruby Testing / End to End testing (3.4) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (.ruby-version, docker.elastic.co/elasticsearch/elasticsearch:7.17.29) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (.ruby-version, docker.elastic.co/elasticsearch/elasticsearch:8.19.2) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (.ruby-version, opensearchproject/opensearch:2) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (3.3, docker.elastic.co/elasticsearch/elasticsearch:7.17.29) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (3.4, docker.elastic.co/elasticsearch/elasticsearch:7.17.29) (push) Blocked by required conditions
Crowdin / Upload translations / upload-translations (push) Has been cancelled
CSS Linting / lint (push) Has been cancelled
2026-05-18 16:48:40 +00:00
Pia B.
07a05e1edf
Add batch remove for collections in reports ( #39020 )
Check i18n / check-i18n (push) Waiting to run
Chromatic / Check for relevant changes (push) Waiting to run
Chromatic / Run Chromatic (push) Blocked by required conditions
CodeQL / Analyze (actions) (push) Waiting to run
CodeQL / Analyze (javascript) (push) Waiting to run
CodeQL / Analyze (ruby) (push) Waiting to run
Crowdin / Upload translations / upload-translations (push) Waiting to run
Check formatting / lint (push) Waiting to run
CSS Linting / lint (push) Waiting to run
JavaScript Linting / lint (push) Waiting to run
JavaScript Testing / test (push) Waiting to run
Ruby Testing / build (production) (push) Waiting to run
Ruby Testing / build (test) (push) Waiting to run
Ruby Testing / test (.ruby-version) (push) Blocked by required conditions
Ruby Testing / test (3.3) (push) Blocked by required conditions
Ruby Testing / test (3.4) (push) Blocked by required conditions
Ruby Testing / End to End testing (.ruby-version) (push) Blocked by required conditions
Ruby Testing / End to End testing (3.3) (push) Blocked by required conditions
Ruby Testing / End to End testing (3.4) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (.ruby-version, docker.elastic.co/elasticsearch/elasticsearch:7.17.29) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (.ruby-version, docker.elastic.co/elasticsearch/elasticsearch:8.19.2) (push) Blocked by required conditions
Haml Linting / lint (push) Has been cancelled
Ruby Linting / lint (push) Has been cancelled
Historical data migration test / test (14-alpine) (push) Has been cancelled
Historical data migration test / test (15-alpine) (push) Has been cancelled
Historical data migration test / test (16-alpine) (push) Has been cancelled
Historical data migration test / test (17-alpine) (push) Has been cancelled
Ruby Testing / Elastic Search integration testing (.ruby-version, opensearchproject/opensearch:2) (push) Has been cancelled
Ruby Testing / Elastic Search integration testing (3.3, docker.elastic.co/elasticsearch/elasticsearch:7.17.29) (push) Has been cancelled
Ruby Testing / Elastic Search integration testing (3.4, docker.elastic.co/elasticsearch/elasticsearch:7.17.29) (push) Has been cancelled
2026-05-18 14:53:40 +00:00
diondiondion
28ae61f34d
Unify compact button size between variants ( #39070 )
2026-05-18 14:33:23 +00:00
diondiondion
dcb6dbbc86
Update content & placement of "sensitive content" warning on collection page ( #39069 )
2026-05-18 13:08:41 +00:00