From 86445f45fc1a25ce7e7540bd832a6b18c6f60347 Mon Sep 17 00:00:00 2001 From: Claire Date: Tue, 18 Nov 2025 18:38:48 +0100 Subject: [PATCH 1/4] Clean up CSS differences with upstream (#3283) --- .../flavours/glitch/styles/_mixins.scss | 4 ++-- .../flavours/glitch/styles/accounts.scss | 5 +++-- .../flavours/glitch/styles/basics.scss | 4 ++++ .../flavours/glitch/styles/forms.scss | 5 +++-- .../flavours/glitch/styles/rtl.scss | 22 +++++-------------- 5 files changed, 17 insertions(+), 23 deletions(-) diff --git a/app/javascript/flavours/glitch/styles/_mixins.scss b/app/javascript/flavours/glitch/styles/_mixins.scss index 0bd6ec7ec6..c1545d50cd 100644 --- a/app/javascript/flavours/glitch/styles/_mixins.scss +++ b/app/javascript/flavours/glitch/styles/_mixins.scss @@ -11,7 +11,7 @@ } } -@mixin search-input() { +@mixin search-input { outline: 0; box-sizing: border-box; width: 100%; @@ -26,7 +26,7 @@ margin: 0; } -@mixin search-popout() { +@mixin search-popout { background: $simple-background-color; border-radius: 4px; padding: 10px 14px; diff --git a/app/javascript/flavours/glitch/styles/accounts.scss b/app/javascript/flavours/glitch/styles/accounts.scss index fa9ae76901..30cc670253 100644 --- a/app/javascript/flavours/glitch/styles/accounts.scss +++ b/app/javascript/flavours/glitch/styles/accounts.scss @@ -70,7 +70,7 @@ margin-inline-start: 15px; text-align: start; - i[data-hidden] { + svg[data-hidden] { display: none; } @@ -138,7 +138,7 @@ .newer { float: right; - padding-inline-start: 0; + padding-inline-end: 0; } .disabled { @@ -204,6 +204,7 @@ } .information-badge, +.simple_form .overridden, .simple_form .recommended, .simple_form .not_recommended { background-color: color.change($ui-secondary-color, $alpha: 0.1); diff --git a/app/javascript/flavours/glitch/styles/basics.scss b/app/javascript/flavours/glitch/styles/basics.scss index f91a7c4003..3d8bba7c00 100644 --- a/app/javascript/flavours/glitch/styles/basics.scss +++ b/app/javascript/flavours/glitch/styles/basics.scss @@ -168,6 +168,10 @@ a { button { font-family: inherit; cursor: pointer; + + &:focus:not(:focus-visible) { + outline: none; + } } .app-holder { diff --git a/app/javascript/flavours/glitch/styles/forms.scss b/app/javascript/flavours/glitch/styles/forms.scss index 060f54f607..e11f8768c1 100644 --- a/app/javascript/flavours/glitch/styles/forms.scss +++ b/app/javascript/flavours/glitch/styles/forms.scss @@ -700,9 +700,10 @@ code { font-family: inherit; pointer-events: none; cursor: default; - max-width: 140px; + max-width: 50%; white-space: nowrap; overflow: hidden; + text-overflow: ellipsis; &::after { content: ''; @@ -831,7 +832,7 @@ code { } } - @media screen and (width <= 740px) and (width >= 441px) { + @media screen and (440px < width <= 740px) { margin-top: 40px; } diff --git a/app/javascript/flavours/glitch/styles/rtl.scss b/app/javascript/flavours/glitch/styles/rtl.scss index 8ac564ae47..77ec7bbb30 100644 --- a/app/javascript/flavours/glitch/styles/rtl.scss +++ b/app/javascript/flavours/glitch/styles/rtl.scss @@ -41,27 +41,11 @@ body.rtl { float: left; } - .activity-stream .status.light { - padding-left: 10px; - padding-right: 68px; - } - - .status__info .status__display-name, - .activity-stream .status.light .status__display-name { + .status__info .status__display-name { padding-left: 25px; padding-right: 0; } - .activity-stream .pre-header { - padding-right: 68px; - padding-left: 0; - } - - .activity-stream .pre-header .pre-header__icon { - left: auto; - right: 42px; - } - .account__header__tabs__buttons > .icon-button { margin-right: 0; margin-left: 8px; @@ -93,6 +77,10 @@ body.rtl { direction: rtl; } + .react-swipeable-view-container > * { + direction: rtl; + } + .column-back-button__icon { transform: scale(-1, 1); } From 0bb771122511565f9f608712a5b63308036ac3df Mon Sep 17 00:00:00 2001 From: Claire Date: Tue, 18 Nov 2025 18:38:53 +0100 Subject: [PATCH 2/4] Fix threaded mode not resetting quote (#3284) --- app/javascript/flavours/glitch/reducers/compose.js | 1 + 1 file changed, 1 insertion(+) diff --git a/app/javascript/flavours/glitch/reducers/compose.js b/app/javascript/flavours/glitch/reducers/compose.js index 6af8c14898..71c2b7a71d 100644 --- a/app/javascript/flavours/glitch/reducers/compose.js +++ b/app/javascript/flavours/glitch/reducers/compose.js @@ -213,6 +213,7 @@ function continueThread (state, status) { map.set('focusDate', new Date()); map.set('caretPosition', null); map.set('preselectDate', new Date()); + map.set('quoted_status_id', null); }); } From 9b91852f9335de1913bf4c5d240f2d31dfa93b06 Mon Sep 17 00:00:00 2001 From: Claire Date: Tue, 18 Nov 2025 18:31:05 +0100 Subject: [PATCH 3/4] Fix `d` bookmark keyboard shortcut (#3285) --- app/javascript/flavours/glitch/components/hotkeys/index.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/app/javascript/flavours/glitch/components/hotkeys/index.tsx b/app/javascript/flavours/glitch/components/hotkeys/index.tsx index b1484ec3ac..d679592b02 100644 --- a/app/javascript/flavours/glitch/components/hotkeys/index.tsx +++ b/app/javascript/flavours/glitch/components/hotkeys/index.tsx @@ -105,6 +105,7 @@ const hotkeyMatcherMap = { reply: just('r'), favourite: just('f'), boost: just('b'), + bookmark: just('d'), quote: just('q'), mention: just('m'), open: any('enter', 'o'), From b5ae2f07a11ea2d04641bbe4502cf4a2fb9bab43 Mon Sep 17 00:00:00 2001 From: Claire Date: Wed, 19 Nov 2025 21:28:51 +0100 Subject: [PATCH 4/4] Change quotes to inherit local-only status of quoted post in composer (#3286) --- app/javascript/flavours/glitch/reducers/compose.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/javascript/flavours/glitch/reducers/compose.js b/app/javascript/flavours/glitch/reducers/compose.js index 71c2b7a71d..ed709040fa 100644 --- a/app/javascript/flavours/glitch/reducers/compose.js +++ b/app/javascript/flavours/glitch/reducers/compose.js @@ -425,7 +425,9 @@ export const composeReducer = (state = initialState, action) => { return 'private'; } return visibility; - }); + }).update('advanced_options', + map => map.merge(new ImmutableMap({ do_not_federate: !!status.get('local_only') })), + ); } else if (quoteComposeCancel.match(action)) { return state.set('quoted_status_id', null); } else if (setComposeQuotePolicy.match(action)) {