From 2b3c76cfb46fd851a92bfc532a909fafbddf512b Mon Sep 17 00:00:00 2001 From: Henry Jameson Date: Wed, 31 Jul 2024 18:15:08 +0300 Subject: [PATCH 01/18] changelog for 2.7.0 --- CHANGELOG.md | 55 +++++++++++++++++++ changelog.d/add-apng.add | 1 - changelog.d/admin-emoji-packs.add | 1 - changelog.d/appearance-tab.change | 1 - changelog.d/ci-runner.skip | 1 - changelog.d/create-link-when-url-present.add | 1 - changelog.d/double-notifications.fix | 1 - changelog.d/emoji-scale.add | 1 - changelog.d/extra-notifications.add | 1 - changelog.d/firefox-redmon.fix | 1 - changelog.d/fixes-themes.skip | 1 - changelog.d/fixes.skip | 1 - changelog.d/focus-clear.add | 1 - changelog.d/group-actor.add | 1 - changelog.d/hide-custom-emojis-in-picker.add | 1 - changelog.d/mobile-chrome-notifs.fix | 1 - .../mobile-drawer-notifications.change | 1 - .../more-notification-types-setting.fix | 1 - changelog.d/mute-nsfw.add | 1 - changelog.d/native-filtering.add | 1 - changelog.d/native-notifications.add | 1 - changelog.d/no-preserve-selection-color.fix | 1 - changelog.d/non-expiring-polls-indication.fix | 1 - changelog.d/noninteractive-ignore-read.add | 1 - changelog.d/notif-types.fix | 1 - changelog.d/notification-read.add | 1 - changelog.d/notifications-sorting.change | 1 - changelog.d/poll-ended-notifications.fix | 1 - changelog.d/preview-interference.skip | 1 - changelog.d/profile-mentions.fix | 1 - changelog.d/public-favorites.add | 1 - changelog.d/public-favorites.skip | 0 changelog.d/quotes-count.add | 1 - changelog.d/registration-notice.add | 1 - changelog.d/scrobbles-age-filter.add | 1 - changelog.d/serviceworkers.change | 1 - changelog.d/show-recent-scrobble.skip | 1 - changelog.d/status-loading-indicator.add | 1 - changelog.d/status-notification-type.add | 1 - changelog.d/theme-selector.add | 1 - changelog.d/themes3-cache.add | 1 - changelog.d/themes3-fixes.fix | 1 - changelog.d/themes3.change | 1 - changelog.d/themesv3-on-safari.fix | 1 - changelog.d/ui-scale.add | 1 - changelog.d/unreads-sync.fix | 1 - changelog.d/user-overrides.add | 1 - changelog.d/video-poster.fix | 1 - changelog.d/video-poster.update.skip | 1 - changelog.d/web-push-always.add | 1 - 50 files changed, 55 insertions(+), 48 deletions(-) delete mode 100644 changelog.d/add-apng.add delete mode 100644 changelog.d/admin-emoji-packs.add delete mode 100644 changelog.d/appearance-tab.change delete mode 100644 changelog.d/ci-runner.skip delete mode 100644 changelog.d/create-link-when-url-present.add delete mode 100644 changelog.d/double-notifications.fix delete mode 100644 changelog.d/emoji-scale.add delete mode 100644 changelog.d/extra-notifications.add delete mode 100644 changelog.d/firefox-redmon.fix delete mode 100644 changelog.d/fixes-themes.skip delete mode 100644 changelog.d/fixes.skip delete mode 100644 changelog.d/focus-clear.add delete mode 100644 changelog.d/group-actor.add delete mode 100644 changelog.d/hide-custom-emojis-in-picker.add delete mode 100644 changelog.d/mobile-chrome-notifs.fix delete mode 100644 changelog.d/mobile-drawer-notifications.change delete mode 100644 changelog.d/more-notification-types-setting.fix delete mode 100644 changelog.d/mute-nsfw.add delete mode 100644 changelog.d/native-filtering.add delete mode 100644 changelog.d/native-notifications.add delete mode 100644 changelog.d/no-preserve-selection-color.fix delete mode 100644 changelog.d/non-expiring-polls-indication.fix delete mode 100644 changelog.d/noninteractive-ignore-read.add delete mode 100644 changelog.d/notif-types.fix delete mode 100644 changelog.d/notification-read.add delete mode 100644 changelog.d/notifications-sorting.change delete mode 100644 changelog.d/poll-ended-notifications.fix delete mode 100644 changelog.d/preview-interference.skip delete mode 100644 changelog.d/profile-mentions.fix delete mode 100644 changelog.d/public-favorites.add delete mode 100644 changelog.d/public-favorites.skip delete mode 100644 changelog.d/quotes-count.add delete mode 100644 changelog.d/registration-notice.add delete mode 100644 changelog.d/scrobbles-age-filter.add delete mode 100644 changelog.d/serviceworkers.change delete mode 100644 changelog.d/show-recent-scrobble.skip delete mode 100644 changelog.d/status-loading-indicator.add delete mode 100644 changelog.d/status-notification-type.add delete mode 100644 changelog.d/theme-selector.add delete mode 100644 changelog.d/themes3-cache.add delete mode 100644 changelog.d/themes3-fixes.fix delete mode 100644 changelog.d/themes3.change delete mode 100644 changelog.d/themesv3-on-safari.fix delete mode 100644 changelog.d/ui-scale.add delete mode 100644 changelog.d/unreads-sync.fix delete mode 100644 changelog.d/user-overrides.add delete mode 100644 changelog.d/video-poster.fix delete mode 100644 changelog.d/video-poster.update.skip delete mode 100644 changelog.d/web-push-always.add diff --git a/CHANGELOG.md b/CHANGELOG.md index 444a863c1..445308d18 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,61 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). +## 2.7.0 + +### Known issues +We got some reports related to emoji picker performance, this hopefully will be fixed in 2.7.1. + +### Notes +This release overhauls how themes work, themes now need to be "compiled", which can cause some delay when loading for the first time and temporarily look "wrong" in some places (popups, menus, dialogs). Please do report any issues, especially if your theme looks wrong or breaks interface when loading. Also report issues if you're experiencing constant performance issues. + +To admins: remember that you can update PleromaFE to recent `master` or `develop` in admin dashboard in "Front-ends" tab, scroll down to find PleromaFE box and click "Reinstall `master`" or dropdown and then "Reinstall `develop`". Currently there is no mechanism to check if there is an update or not. + +### Changed +- Overhauled the way themes work, migrating to new Pleroma Interface Style Sheets system aka "Themes 3". +- Notifications are no longer sorted by "seen" status since interacting with them can change their read status and makes UI jumpy. Old behavior can be restored in settings. +- Notifications are now shown through a ServiceWorker (since mobile chrome does not allow them otherwise), it's always enabled, even if previously we only enabled it for WebPush notifications only. If you don't like websites "running" while closed, check how to disable them in your browser. Old way to show notifications will be used as a fallback but might not have all the new features. +- Reorganized Settings modal to move out visual stuff into Appearance tab + +### Added +- Emoji pack management to the admin panel +- Support `status` notification type (subscriptions/bell, fixes PleromaFE on newer PleromaBE versions) +- Poll end notifications. +- Added option to not mark all notifications when closing notifications drawer on mobile, this creates a new button to mark all as seen. +- Option to always "show" notifications when using web push for better compatibility with some browsers (chrome, edge, safari) +- Option to toggle what notification types appear in native notifications, by default less important ones (likes, repeats, etc) will no longer show up in native notifications. +- Option to treat non-interactive notifications (likes, repeats et all) as seen for visual purposes (no read mark, ignored in counters, still can show in native notifications) +- Ability to resize UI (and certain components) scale independent of browser/text scale +- Ability to override certain aspects of UI style independent of theme used (UI roundness, fonts, underlay) +- Theme selector with visual previews of the theme +- Display loading and error indicator for conversation page +- Option to only show scrobbles that are recent enough +- Interacting (opening reply box etc) or simply clicking on non-interactive notifications now marks them as read. Clicking on native notifications for non-interactive ones also marks them as seen. +- Support group actors +- Focusing into a tab clears all current desktop notifications +- Ability to change size of emoji +- Ability to view APNG (Animated PNG) attachments. +- Support showing extra notifications in the notifications column +- Create a link to the URL of the scrobble when it's present +- Allow hiding custom emojis in picker. +- Ability to mute sensitive posts (ported from eintei). +- Native notifications now also have "badge" property that matches instance's favicon (visible in Android Chromium at least) +- Display public favorites on user profiles +- Display quotes count on posts and add quotes list page +- Show a dedicated registration notice page when further action is required after registering + +### Fixed +- Synchronized requested notification types with backend, hopefully should fix missing notifications for polls and follow requests +- Error that appeared on mobile Chromium (and derivatives) when native notifications are allowed +- Being unable to set notification visibility for reports and follow requests +- Native notifications appearing as many times as there are open tabs. Clicking on notification will focus last focused tab. +- The expiry date indication won't be shown if the poll never expires +- Profile mentions causing a 422 error on newer PleromaBE versions. +- Color inputs are less ugly now +- Unread notifications should now properly catch up between sessions (eventually) in polling mode +- Video posters on Safari + + ## 2.6.1 ### Fixed - fix admin dashboard not having any feedback on frontend installation diff --git a/changelog.d/add-apng.add b/changelog.d/add-apng.add deleted file mode 100644 index cdec58afc..000000000 --- a/changelog.d/add-apng.add +++ /dev/null @@ -1 +0,0 @@ -Make Pleroma FE to also view apng (Animated PNG) attachment. diff --git a/changelog.d/admin-emoji-packs.add b/changelog.d/admin-emoji-packs.add deleted file mode 100644 index 243163e8a..000000000 --- a/changelog.d/admin-emoji-packs.add +++ /dev/null @@ -1 +0,0 @@ -Added emoji pack management to the admin panel diff --git a/changelog.d/appearance-tab.change b/changelog.d/appearance-tab.change deleted file mode 100644 index 7fe1b45e6..000000000 --- a/changelog.d/appearance-tab.change +++ /dev/null @@ -1 +0,0 @@ -Reorganized Settings modal to move out visual stuff into Appearance tab diff --git a/changelog.d/ci-runner.skip b/changelog.d/ci-runner.skip deleted file mode 100644 index ad4b79d52..000000000 --- a/changelog.d/ci-runner.skip +++ /dev/null @@ -1 +0,0 @@ -stop using that one runner for intensive tasks \ No newline at end of file diff --git a/changelog.d/create-link-when-url-present.add b/changelog.d/create-link-when-url-present.add deleted file mode 100644 index 11aa37583..000000000 --- a/changelog.d/create-link-when-url-present.add +++ /dev/null @@ -1 +0,0 @@ -Create a link to the URL of the scrobble when it's present diff --git a/changelog.d/double-notifications.fix b/changelog.d/double-notifications.fix deleted file mode 100644 index 24e08c0ff..000000000 --- a/changelog.d/double-notifications.fix +++ /dev/null @@ -1 +0,0 @@ -Fix native notifications appearing as many times as there are open tabs. Clicking on notification will focus last focused tab. diff --git a/changelog.d/emoji-scale.add b/changelog.d/emoji-scale.add deleted file mode 100644 index 791d80d96..000000000 --- a/changelog.d/emoji-scale.add +++ /dev/null @@ -1 +0,0 @@ -Ability to change size of emoji diff --git a/changelog.d/extra-notifications.add b/changelog.d/extra-notifications.add deleted file mode 100644 index 90f21f540..000000000 --- a/changelog.d/extra-notifications.add +++ /dev/null @@ -1 +0,0 @@ -Support showing extra notifications in the notifications column diff --git a/changelog.d/firefox-redmon.fix b/changelog.d/firefox-redmon.fix deleted file mode 100644 index 64ab9b141..000000000 --- a/changelog.d/firefox-redmon.fix +++ /dev/null @@ -1 +0,0 @@ -Bug with firefox and redmond themes diff --git a/changelog.d/fixes-themes.skip b/changelog.d/fixes-themes.skip deleted file mode 100644 index af691507d..000000000 --- a/changelog.d/fixes-themes.skip +++ /dev/null @@ -1 +0,0 @@ -fixed themes for spw and kazvmoew diff --git a/changelog.d/fixes.skip b/changelog.d/fixes.skip deleted file mode 100644 index cc40793ec..000000000 --- a/changelog.d/fixes.skip +++ /dev/null @@ -1 +0,0 @@ -fix post appearance tab bugs part I diff --git a/changelog.d/focus-clear.add b/changelog.d/focus-clear.add deleted file mode 100644 index 70f54ab69..000000000 --- a/changelog.d/focus-clear.add +++ /dev/null @@ -1 +0,0 @@ -Focusing into a tab clears all current desktop notifications diff --git a/changelog.d/group-actor.add b/changelog.d/group-actor.add deleted file mode 100644 index 7b62676ae..000000000 --- a/changelog.d/group-actor.add +++ /dev/null @@ -1 +0,0 @@ -Support group actors diff --git a/changelog.d/hide-custom-emojis-in-picker.add b/changelog.d/hide-custom-emojis-in-picker.add deleted file mode 100644 index 4cfd2ca81..000000000 --- a/changelog.d/hide-custom-emojis-in-picker.add +++ /dev/null @@ -1 +0,0 @@ -Allow hiding custom emojis in picker. diff --git a/changelog.d/mobile-chrome-notifs.fix b/changelog.d/mobile-chrome-notifs.fix deleted file mode 100644 index 7db10c56a..000000000 --- a/changelog.d/mobile-chrome-notifs.fix +++ /dev/null @@ -1 +0,0 @@ -Fixed error that appeared on mobile Chrome(ium) (and derivatives) when native notifications are allowed diff --git a/changelog.d/mobile-drawer-notifications.change b/changelog.d/mobile-drawer-notifications.change deleted file mode 100644 index 9353c709d..000000000 --- a/changelog.d/mobile-drawer-notifications.change +++ /dev/null @@ -1 +0,0 @@ -Added option to not mark all notifications when closing notifications drawer on mobile, this creates a new button to mark all as seen. diff --git a/changelog.d/more-notification-types-setting.fix b/changelog.d/more-notification-types-setting.fix deleted file mode 100644 index 2d71b5993..000000000 --- a/changelog.d/more-notification-types-setting.fix +++ /dev/null @@ -1 +0,0 @@ -Fixed being unable to set notification visibility for reports and follow requests diff --git a/changelog.d/mute-nsfw.add b/changelog.d/mute-nsfw.add deleted file mode 100644 index b1794a0c2..000000000 --- a/changelog.d/mute-nsfw.add +++ /dev/null @@ -1 +0,0 @@ -Added ability to mute sensitive posts (ported from eintei) diff --git a/changelog.d/native-filtering.add b/changelog.d/native-filtering.add deleted file mode 100644 index 82ab9a23a..000000000 --- a/changelog.d/native-filtering.add +++ /dev/null @@ -1 +0,0 @@ -Added option to toggle what notification types appear in native notifications, by default less important ones (likes, repeats, etc) will no longer show up in native notifications. diff --git a/changelog.d/native-notifications.add b/changelog.d/native-notifications.add deleted file mode 100644 index d896e7c04..000000000 --- a/changelog.d/native-notifications.add +++ /dev/null @@ -1 +0,0 @@ -Native notifications now also have "badge" property that matches instance's favicon (visible in Android Chromium at least) diff --git a/changelog.d/no-preserve-selection-color.fix b/changelog.d/no-preserve-selection-color.fix deleted file mode 100644 index 669e744cc..000000000 --- a/changelog.d/no-preserve-selection-color.fix +++ /dev/null @@ -1 +0,0 @@ -Ensure selection text color has enough contrast diff --git a/changelog.d/non-expiring-polls-indication.fix b/changelog.d/non-expiring-polls-indication.fix deleted file mode 100644 index 7979cc131..000000000 --- a/changelog.d/non-expiring-polls-indication.fix +++ /dev/null @@ -1 +0,0 @@ -The expiry date indication won't be shown if the poll never expires diff --git a/changelog.d/noninteractive-ignore-read.add b/changelog.d/noninteractive-ignore-read.add deleted file mode 100644 index 5e8710cf0..000000000 --- a/changelog.d/noninteractive-ignore-read.add +++ /dev/null @@ -1 +0,0 @@ -Added option to treat non-interactive notifications (likes, repeats et all) as seen for visual purposes (no read mark, ignored in counters, still can show in native notifications) diff --git a/changelog.d/notif-types.fix b/changelog.d/notif-types.fix deleted file mode 100644 index fb0e5046b..000000000 --- a/changelog.d/notif-types.fix +++ /dev/null @@ -1 +0,0 @@ -Synchronized requested notification types with backend, hopefully should fix missing notifications for polls and follow requests diff --git a/changelog.d/notification-read.add b/changelog.d/notification-read.add deleted file mode 100644 index e5027a954..000000000 --- a/changelog.d/notification-read.add +++ /dev/null @@ -1 +0,0 @@ -Interacting (opening reply box etc) or simply clicking on non-interactive notifications now marks them as read. Clicking on native notifications for non-interactive ones also marks them as seen. diff --git a/changelog.d/notifications-sorting.change b/changelog.d/notifications-sorting.change deleted file mode 100644 index 3a6162441..000000000 --- a/changelog.d/notifications-sorting.change +++ /dev/null @@ -1 +0,0 @@ -Notifications are no longer sorted by "seen" status since interacting with them can change their read status and makes UI jumpy. Old behavior can be restored in settings. diff --git a/changelog.d/poll-ended-notifications.fix b/changelog.d/poll-ended-notifications.fix deleted file mode 100644 index d04b8cb00..000000000 --- a/changelog.d/poll-ended-notifications.fix +++ /dev/null @@ -1 +0,0 @@ -Add poll end notifications to fetched types. diff --git a/changelog.d/preview-interference.skip b/changelog.d/preview-interference.skip deleted file mode 100644 index e32e76dd5..000000000 --- a/changelog.d/preview-interference.skip +++ /dev/null @@ -1 +0,0 @@ -skip diff --git a/changelog.d/profile-mentions.fix b/changelog.d/profile-mentions.fix deleted file mode 100644 index 3f38ab0c4..000000000 --- a/changelog.d/profile-mentions.fix +++ /dev/null @@ -1 +0,0 @@ -Fix profile mentions causing a 422 error diff --git a/changelog.d/public-favorites.add b/changelog.d/public-favorites.add deleted file mode 100644 index 183fcc853..000000000 --- a/changelog.d/public-favorites.add +++ /dev/null @@ -1 +0,0 @@ -Display public favorites on user profiles \ No newline at end of file diff --git a/changelog.d/public-favorites.skip b/changelog.d/public-favorites.skip deleted file mode 100644 index e69de29bb..000000000 diff --git a/changelog.d/quotes-count.add b/changelog.d/quotes-count.add deleted file mode 100644 index 86779b96b..000000000 --- a/changelog.d/quotes-count.add +++ /dev/null @@ -1 +0,0 @@ -Display quotes count on posts and add quotes list page \ No newline at end of file diff --git a/changelog.d/registration-notice.add b/changelog.d/registration-notice.add deleted file mode 100644 index b2777ba2d..000000000 --- a/changelog.d/registration-notice.add +++ /dev/null @@ -1 +0,0 @@ -Show a dedicated registration notice page when further action is required after registering diff --git a/changelog.d/scrobbles-age-filter.add b/changelog.d/scrobbles-age-filter.add deleted file mode 100644 index ecd3c7d82..000000000 --- a/changelog.d/scrobbles-age-filter.add +++ /dev/null @@ -1 +0,0 @@ -Option to only show scrobbles that are recent enough diff --git a/changelog.d/serviceworkers.change b/changelog.d/serviceworkers.change deleted file mode 100644 index b3b64f6d8..000000000 --- a/changelog.d/serviceworkers.change +++ /dev/null @@ -1 +0,0 @@ -Notifications are now shown through a serviceworker (since mobile chrome does not allow them otherwise), it's always enabled, even if previously we only enabled it for WebPush notifications only. If you don't like websites "running" while closed, check how to disable them in your browser. Old way to show notifications will be used as a fallback but might not have all the new features. diff --git a/changelog.d/show-recent-scrobble.skip b/changelog.d/show-recent-scrobble.skip deleted file mode 100644 index 9227de069..000000000 --- a/changelog.d/show-recent-scrobble.skip +++ /dev/null @@ -1 +0,0 @@ -Shows the most recent scrobble under each post when available diff --git a/changelog.d/status-loading-indicator.add b/changelog.d/status-loading-indicator.add deleted file mode 100644 index d07256776..000000000 --- a/changelog.d/status-loading-indicator.add +++ /dev/null @@ -1 +0,0 @@ -Display loading and error indicator for conversation page diff --git a/changelog.d/status-notification-type.add b/changelog.d/status-notification-type.add deleted file mode 100644 index 0917dad4a..000000000 --- a/changelog.d/status-notification-type.add +++ /dev/null @@ -1 +0,0 @@ -Support `status` notification type \ No newline at end of file diff --git a/changelog.d/theme-selector.add b/changelog.d/theme-selector.add deleted file mode 100644 index c303f97c0..000000000 --- a/changelog.d/theme-selector.add +++ /dev/null @@ -1 +0,0 @@ -Theme selector with visual previews of the theme diff --git a/changelog.d/themes3-cache.add b/changelog.d/themes3-cache.add deleted file mode 100644 index a275e44c6..000000000 --- a/changelog.d/themes3-cache.add +++ /dev/null @@ -1 +0,0 @@ -Add caching system for themes3 diff --git a/changelog.d/themes3-fixes.fix b/changelog.d/themes3-fixes.fix deleted file mode 100644 index 15c31e823..000000000 --- a/changelog.d/themes3-fixes.fix +++ /dev/null @@ -1 +0,0 @@ -fix color inputs and some in-development themes3 issues diff --git a/changelog.d/themes3.change b/changelog.d/themes3.change deleted file mode 100644 index 5255f9b1d..000000000 --- a/changelog.d/themes3.change +++ /dev/null @@ -1 +0,0 @@ -Overhauled the way themes work, migrating to new Pleroma Interface Style Sheets system. diff --git a/changelog.d/themesv3-on-safari.fix b/changelog.d/themesv3-on-safari.fix deleted file mode 100644 index af767b3aa..000000000 --- a/changelog.d/themesv3-on-safari.fix +++ /dev/null @@ -1 +0,0 @@ -Fix Themes v3 on Safari not working diff --git a/changelog.d/ui-scale.add b/changelog.d/ui-scale.add deleted file mode 100644 index 594a9aa58..000000000 --- a/changelog.d/ui-scale.add +++ /dev/null @@ -1 +0,0 @@ -Ability to resize UI (and certain components) scale independent of browser/text scale diff --git a/changelog.d/unreads-sync.fix b/changelog.d/unreads-sync.fix deleted file mode 100644 index 1eac33649..000000000 --- a/changelog.d/unreads-sync.fix +++ /dev/null @@ -1 +0,0 @@ -unread notifications should now properly catch up (eventually) in polling mode diff --git a/changelog.d/user-overrides.add b/changelog.d/user-overrides.add deleted file mode 100644 index c0cb839a3..000000000 --- a/changelog.d/user-overrides.add +++ /dev/null @@ -1 +0,0 @@ -Ability to override certain aspects of UI style independent of theme used (UI roundness, fonts, underlay) diff --git a/changelog.d/video-poster.fix b/changelog.d/video-poster.fix deleted file mode 100644 index 43e95f6e1..000000000 --- a/changelog.d/video-poster.fix +++ /dev/null @@ -1 +0,0 @@ -Video posters on Safari diff --git a/changelog.d/video-poster.update.skip b/changelog.d/video-poster.update.skip deleted file mode 100644 index 9dafe9be2..000000000 --- a/changelog.d/video-poster.update.skip +++ /dev/null @@ -1 +0,0 @@ -nothing diff --git a/changelog.d/web-push-always.add b/changelog.d/web-push-always.add deleted file mode 100644 index f8b8888a2..000000000 --- a/changelog.d/web-push-always.add +++ /dev/null @@ -1 +0,0 @@ -Added option to always "show" notifications when using web push for better compatibility with some browsers (chrome, edge, safari) From 9d51eccf5dd0b4b773db5ec146d818b6c8fe18ac Mon Sep 17 00:00:00 2001 From: Henry Jameson Date: Wed, 31 Jul 2024 18:16:00 +0300 Subject: [PATCH 02/18] version bump --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index fb157fae6..822559147 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "pleroma_fe", - "version": "2.6.1", + "version": "2.7.0", "description": "Pleroma frontend, the default frontend of Pleroma social network server", "author": "Pleroma contributors ", "private": false, From c4352a1936b2bcb3ea4bf5534646ce39eec7e3e7 Mon Sep 17 00:00:00 2001 From: Henry Jameson Date: Tue, 13 Aug 2024 22:51:17 +0300 Subject: [PATCH 03/18] cache emoji groups etc --- src/modules/instance.js | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/src/modules/instance.js b/src/modules/instance.js index 99b8b5d52..2281141f4 100644 --- a/src/modules/instance.js +++ b/src/modules/instance.js @@ -145,6 +145,10 @@ const defaultState = { quotingAvailable: false, groupActorAvailable: false, + // Emoji stuff + standardEmojiList: null, + standardEmojiGroupList: null, + // Html stuff instanceSpecificPanelContent: '', tos: '', @@ -246,15 +250,21 @@ const instance = { }, {}) }, standardEmojiList (state) { - return SORTED_EMOJI_GROUP_IDS - .map(groupId => (state.emoji[groupId] || []).map(k => injectAnnotations(k, state.unicodeEmojiAnnotations))) - .reduce((a, b) => a.concat(b), []) + if (!state.standardEmojiList) { + state.standardEmojiList = SORTED_EMOJI_GROUP_IDS + .map(groupId => (state.emoji[groupId] || []).map(k => injectAnnotations(k, state.unicodeEmojiAnnotations))) + .reduce((a, b) => a.concat(b), []) + } + return state.standardEmojiList }, standardEmojiGroupList (state) { - return SORTED_EMOJI_GROUP_IDS.map(groupId => ({ - id: groupId, - emojis: (state.emoji[groupId] || []).map(k => injectAnnotations(k, state.unicodeEmojiAnnotations)) - })) + if (!state.standardEmojiGroupList) { + state.standardEmojiGroupList = SORTED_EMOJI_GROUP_IDS.map(groupId => ({ + id: groupId, + emojis: (state.emoji[groupId] || []).map(k => injectAnnotations(k, state.unicodeEmojiAnnotations)) + })) + } + return state.standardEmojiGroupList }, instanceDomain (state) { return new URL(state.server).hostname From 99490cdb21d577024a718084529c4ecd8079a557 Mon Sep 17 00:00:00 2001 From: Henry Jameson Date: Tue, 13 Aug 2024 23:54:18 +0300 Subject: [PATCH 04/18] speed up emoji picker somewhat --- src/components/emoji_picker/emoji_picker.js | 4 +++- src/components/emoji_picker/emoji_picker.vue | 1 + src/modules/instance.js | 2 ++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/components/emoji_picker/emoji_picker.js b/src/components/emoji_picker/emoji_picker.js index d71bc1bbf..9ea5c877a 100644 --- a/src/components/emoji_picker/emoji_picker.js +++ b/src/components/emoji_picker/emoji_picker.js @@ -150,7 +150,9 @@ const EmojiPicker = { }, showPicker () { this.$refs.popover.showPopover() - this.onShowing() + this.$nextTick(() => { + this.onShowing() + }) }, hidePicker () { this.$refs.popover.hidePopover() diff --git a/src/components/emoji_picker/emoji_picker.vue b/src/components/emoji_picker/emoji_picker.vue index 7c36deaa8..a3dc8f9ee 100644 --- a/src/components/emoji_picker/emoji_picker.vue +++ b/src/components/emoji_picker/emoji_picker.vue @@ -89,6 +89,7 @@ class="emoji-groups" :class="groupsScrolledClass" :min-item-size="minItemSize" + :buffer="minItemSize" :items="emojiItems" :emit-update="true" @update="onScroll" diff --git a/src/modules/instance.js b/src/modules/instance.js index 2281141f4..cc114505c 100644 --- a/src/modules/instance.js +++ b/src/modules/instance.js @@ -374,6 +374,8 @@ const instance = { // should have been "pack" field, that would be more useful }).sort(byPackThenByName) commit('setInstanceOption', { name: 'customEmoji', value: emoji }) + state.standardEmojiGroupList = null + state.standardEmojiList = null } else { throw (res) } From cfba4cc6b3a560d37a063db36dcae507bfd6bf4f Mon Sep 17 00:00:00 2001 From: Henry Jameson Date: Wed, 14 Aug 2024 00:08:56 +0300 Subject: [PATCH 05/18] don't do no-auto for themes2 seems to work better --- src/services/theme_data/theme2_to_theme3.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/services/theme_data/theme2_to_theme3.js b/src/services/theme_data/theme2_to_theme3.js index 95eb03c19..f654461d2 100644 --- a/src/services/theme_data/theme2_to_theme3.js +++ b/src/services/theme_data/theme2_to_theme3.js @@ -351,6 +351,7 @@ export const convertTheme2To3 = (data) => { newRules.push({ ...rule, parent: { component: 'Notification' } }) } if (key === 'buttonPressed') { + console.log(key) newRules.push({ ...rule, state: ['toggled'] }) newRules.push({ ...rule, state: ['toggled', 'focus'] }) newRules.push({ ...rule, state: ['pressed', 'focus'] }) @@ -418,7 +419,6 @@ export const convertTheme2To3 = (data) => { case 'Border': newRule.parent = rule newRule.directives.textColor = data.colors[key] - newRule.directives.textAuto = 'no-auto' variantArray = parts.slice(0, -1) break default: From 1b371afff375adcf05e30ec9fd8ac9c2d20b807a Mon Sep 17 00:00:00 2001 From: Henry Jameson Date: Wed, 14 Aug 2024 00:40:16 +0300 Subject: [PATCH 06/18] fix instance theme not applying --- src/boot/after_store.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/boot/after_store.js b/src/boot/after_store.js index a486bd4c7..6cad05f62 100644 --- a/src/boot/after_store.js +++ b/src/boot/after_store.js @@ -122,6 +122,7 @@ const setSettings = async ({ apiConfig, staticConfig, store }) => { store.dispatch('setInstanceOption', { name, value: config[name] }) } + copyInstanceOption('theme') copyInstanceOption('nsfwCensorImage') copyInstanceOption('background') copyInstanceOption('hidePostStats') From 1f50fc2a8b3b06aaeae90bdb6e5e3bef621698dc Mon Sep 17 00:00:00 2001 From: Henry Jameson Date: Thu, 15 Aug 2024 00:06:32 +0300 Subject: [PATCH 07/18] oops --- src/modules/instance.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/modules/instance.js b/src/modules/instance.js index cc114505c..2281141f4 100644 --- a/src/modules/instance.js +++ b/src/modules/instance.js @@ -374,8 +374,6 @@ const instance = { // should have been "pack" field, that would be more useful }).sort(byPackThenByName) commit('setInstanceOption', { name: 'customEmoji', value: emoji }) - state.standardEmojiGroupList = null - state.standardEmojiList = null } else { throw (res) } From 5ad4d82b6b7f7f82be010f4ecda693625bbc243e Mon Sep 17 00:00:00 2001 From: Henry Jameson Date: Thu, 15 Aug 2024 00:57:23 +0300 Subject: [PATCH 08/18] try to fix gaps --- src/components/timeline/timeline.scss | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/components/timeline/timeline.scss b/src/components/timeline/timeline.scss index 0fc0d9795..61261d326 100644 --- a/src/components/timeline/timeline.scss +++ b/src/components/timeline/timeline.scss @@ -4,6 +4,12 @@ backdrop-filter: none; } + /* This is to fix the occasional gaps/weird lines in timeline */ + .timeline { + display: flex; + flex-direction: column; + } + .alert-badge { font-size: 0.75em; line-height: 1; From 8b87d548acaeb3b55fe9b4227df3e5d4ca672a01 Mon Sep 17 00:00:00 2001 From: Henry Jameson Date: Thu, 15 Aug 2024 01:01:31 +0300 Subject: [PATCH 09/18] didn't work, lol --- src/components/timeline/timeline.scss | 6 ------ 1 file changed, 6 deletions(-) diff --git a/src/components/timeline/timeline.scss b/src/components/timeline/timeline.scss index 61261d326..0fc0d9795 100644 --- a/src/components/timeline/timeline.scss +++ b/src/components/timeline/timeline.scss @@ -4,12 +4,6 @@ backdrop-filter: none; } - /* This is to fix the occasional gaps/weird lines in timeline */ - .timeline { - display: flex; - flex-direction: column; - } - .alert-badge { font-size: 0.75em; line-height: 1; From 482f353f4d01a4beeced0c7fe9ea915589643dec Mon Sep 17 00:00:00 2001 From: Henry Jameson Date: Thu, 15 Aug 2024 11:35:33 +0300 Subject: [PATCH 10/18] make posts have highlight on higher level --- src/components/status/status.vue | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/components/status/status.vue b/src/components/status/status.vue index 61a58cda0..a8cef3c1c 100644 --- a/src/components/status/status.vue +++ b/src/components/status/status.vue @@ -3,7 +3,8 @@ v-if="!hideStatus" ref="root" class="Status" - :class="[{ '-focused': isFocused }, { '-conversation': inlineExpanded }]" + :class="[{ '-focused': isFocused }, { '-conversation': inlineExpanded }, userClass, { highlighted: userStyle, '-repeat': retweet && !inConversation }]" + :style="[ userStyle ]" >
From 5384d3b7a2d006d5d760680170b9998bf115862a Mon Sep 17 00:00:00 2001 From: Henry Jameson Date: Thu, 15 Aug 2024 20:43:11 +0300 Subject: [PATCH 11/18] fix solid color highlight --- src/services/user_highlighter/user_highlighter.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/services/user_highlighter/user_highlighter.js b/src/services/user_highlighter/user_highlighter.js index b5f580405..145b3e5e7 100644 --- a/src/services/user_highlighter/user_highlighter.js +++ b/src/services/user_highlighter/user_highlighter.js @@ -27,7 +27,11 @@ const highlightStyle = (prefs) => { } } else if (type === 'solid') { return { - backgroundColor: tintColor2, + backgroundImage: [ + 'repeating-linear-gradient(90deg,', + `${tintColor} ,`, + `${tintColor} 20px` + ].join(' '), ...customProps } } else if (type === 'side') { From a9c2d373157708c9d08289edb55069a9a054a7e6 Mon Sep 17 00:00:00 2001 From: Henry Jameson Date: Thu, 15 Aug 2024 21:49:45 +0300 Subject: [PATCH 12/18] ok i'm dumb, no manual caching needed tehepero --- src/modules/instance.js | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/src/modules/instance.js b/src/modules/instance.js index 2281141f4..7ec7a5dfb 100644 --- a/src/modules/instance.js +++ b/src/modules/instance.js @@ -250,21 +250,15 @@ const instance = { }, {}) }, standardEmojiList (state) { - if (!state.standardEmojiList) { - state.standardEmojiList = SORTED_EMOJI_GROUP_IDS - .map(groupId => (state.emoji[groupId] || []).map(k => injectAnnotations(k, state.unicodeEmojiAnnotations))) - .reduce((a, b) => a.concat(b), []) - } - return state.standardEmojiList + return SORTED_EMOJI_GROUP_IDS + .map(groupId => (state.emoji[groupId] || []).map(k => injectAnnotations(k, state.unicodeEmojiAnnotations))) + .reduce((a, b) => a.concat(b), []) }, standardEmojiGroupList (state) { - if (!state.standardEmojiGroupList) { - state.standardEmojiGroupList = SORTED_EMOJI_GROUP_IDS.map(groupId => ({ - id: groupId, - emojis: (state.emoji[groupId] || []).map(k => injectAnnotations(k, state.unicodeEmojiAnnotations)) - })) - } - return state.standardEmojiGroupList + return SORTED_EMOJI_GROUP_IDS.map(groupId => ({ + id: groupId, + emojis: (state.emoji[groupId] || []).map(k => injectAnnotations(k, state.unicodeEmojiAnnotations)) + })) }, instanceDomain (state) { return new URL(state.server).hostname From ab90dc9fb1785d237be5fa3ff207056d7935ddaf Mon Sep 17 00:00:00 2001 From: Henry Jameson Date: Thu, 15 Aug 2024 21:53:12 +0300 Subject: [PATCH 13/18] Revert all the user highlight stuff for now --- src/components/status/status.vue | 5 +++-- src/services/user_highlighter/user_highlighter.js | 6 +----- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/src/components/status/status.vue b/src/components/status/status.vue index a8cef3c1c..61a58cda0 100644 --- a/src/components/status/status.vue +++ b/src/components/status/status.vue @@ -3,8 +3,7 @@ v-if="!hideStatus" ref="root" class="Status" - :class="[{ '-focused': isFocused }, { '-conversation': inlineExpanded }, userClass, { highlighted: userStyle, '-repeat': retweet && !inConversation }]" - :style="[ userStyle ]" + :class="[{ '-focused': isFocused }, { '-conversation': inlineExpanded }]" >
diff --git a/src/services/user_highlighter/user_highlighter.js b/src/services/user_highlighter/user_highlighter.js index 145b3e5e7..b5f580405 100644 --- a/src/services/user_highlighter/user_highlighter.js +++ b/src/services/user_highlighter/user_highlighter.js @@ -27,11 +27,7 @@ const highlightStyle = (prefs) => { } } else if (type === 'solid') { return { - backgroundImage: [ - 'repeating-linear-gradient(90deg,', - `${tintColor} ,`, - `${tintColor} 20px` - ].join(' '), + backgroundColor: tintColor2, ...customProps } } else if (type === 'side') { From f5fbf9af6420c59957530047a62c72dd80b7a462 Mon Sep 17 00:00:00 2001 From: Henry Jameson Date: Wed, 28 Aug 2024 23:54:46 +0300 Subject: [PATCH 14/18] fix nested panel headers --- src/components/timeline/timeline.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/timeline/timeline.scss b/src/components/timeline/timeline.scss index 0fc0d9795..2dd66328d 100644 --- a/src/components/timeline/timeline.scss +++ b/src/components/timeline/timeline.scss @@ -26,7 +26,7 @@ } .conversation-heading { - top: calc(var(--__panel-heading-height) * var(--currentPanelStack, 2)); + top: calc(var(--__panel-heading-height) * var(--currentPanelStack, 1) + var(--navbar-height)); z-index: 2; } From e7741e619da229726f9a2bde8c3bd6d50c7e5f3b Mon Sep 17 00:00:00 2001 From: HJ <30-hj@users.noreply.git.pleroma.social> Date: Wed, 28 Aug 2024 21:17:37 +0000 Subject: [PATCH 15/18] Apply 1 suggestion(s) to 1 file(s) --- src/services/theme_data/theme2_to_theme3.js | 1 - 1 file changed, 1 deletion(-) diff --git a/src/services/theme_data/theme2_to_theme3.js b/src/services/theme_data/theme2_to_theme3.js index f654461d2..bcc0c961b 100644 --- a/src/services/theme_data/theme2_to_theme3.js +++ b/src/services/theme_data/theme2_to_theme3.js @@ -351,7 +351,6 @@ export const convertTheme2To3 = (data) => { newRules.push({ ...rule, parent: { component: 'Notification' } }) } if (key === 'buttonPressed') { - console.log(key) newRules.push({ ...rule, state: ['toggled'] }) newRules.push({ ...rule, state: ['toggled', 'focus'] }) newRules.push({ ...rule, state: ['pressed', 'focus'] }) From 87fe063cb656433efb796c3682e4b211e8ff7ba6 Mon Sep 17 00:00:00 2001 From: HJ <30-hj@users.noreply.git.pleroma.social> Date: Wed, 28 Aug 2024 21:18:35 +0000 Subject: [PATCH 16/18] Apply 1 suggestion(s) to 1 file(s) --- src/modules/instance.js | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/modules/instance.js b/src/modules/instance.js index 7ec7a5dfb..99b8b5d52 100644 --- a/src/modules/instance.js +++ b/src/modules/instance.js @@ -145,10 +145,6 @@ const defaultState = { quotingAvailable: false, groupActorAvailable: false, - // Emoji stuff - standardEmojiList: null, - standardEmojiGroupList: null, - // Html stuff instanceSpecificPanelContent: '', tos: '', From 06ebbaf7ba2261d0a1c3c564dcdb5eb5fe32a782 Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Sun, 4 Aug 2024 15:17:48 -0400 Subject: [PATCH 17/18] Simplify the OAuth client_name Every time PleromaFE is used to login it will need to do the OAuth dance and request an app key. If the client name is not stable it will pollute the server's database with entries. This also happens on every unauthenticated page load at the moment until #1339 is resolved --- changelog.d/oauth-app-name.change | 1 + src/services/new_api/oauth.js | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) create mode 100644 changelog.d/oauth-app-name.change diff --git a/changelog.d/oauth-app-name.change b/changelog.d/oauth-app-name.change new file mode 100644 index 000000000..15d6f87ee --- /dev/null +++ b/changelog.d/oauth-app-name.change @@ -0,0 +1 @@ +Simplify the OAuth client_name to 'PleromaFE' diff --git a/src/services/new_api/oauth.js b/src/services/new_api/oauth.js index 3c8e64bd9..a4b7cbf07 100644 --- a/src/services/new_api/oauth.js +++ b/src/services/new_api/oauth.js @@ -10,7 +10,8 @@ export const getOrCreateApp = ({ clientId, clientSecret, instance, commit }) => const url = `${instance}/api/v1/apps` const form = new window.FormData() - form.append('client_name', `PleromaFE_${window.___pleromafe_commit_hash}_${(new Date()).toISOString()}`) + form.append('client_name', 'PleromaFE') + form.append('website', 'https://pleroma.social') form.append('redirect_uris', REDIRECT_URI) form.append('scopes', 'read write follow push admin') From 50b2e73efafad830812cb41ee3655fb7dc334232 Mon Sep 17 00:00:00 2001 From: Henry Jameson Date: Wed, 4 Sep 2024 17:02:08 +0300 Subject: [PATCH 18/18] 2.7.1 release --- CHANGELOG.md | 13 +++++++++++++ changelog.d/oauth-app-name.change | 1 - package.json | 2 +- 3 files changed, 14 insertions(+), 2 deletions(-) delete mode 100644 changelog.d/oauth-app-name.change diff --git a/CHANGELOG.md b/CHANGELOG.md index 445308d18..9844319e3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,19 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). +## 2.7.1 +Bugfix release. Added small optimizations to emoji picker that should make it a bit more responsive, however it needs rather large change to make it more performant which might come in a major release. + +### Fixed +- Instance default theme not respected +- Nested panel header having wrong sticky position if navbar height != panel header height +- Toggled buttons having bad contrast (when using v2 theme) + +### Changed +- Simplify the OAuth client_name to 'PleromaFE' +- Small optimizations to emoji picker + + ## 2.7.0 ### Known issues diff --git a/changelog.d/oauth-app-name.change b/changelog.d/oauth-app-name.change deleted file mode 100644 index 15d6f87ee..000000000 --- a/changelog.d/oauth-app-name.change +++ /dev/null @@ -1 +0,0 @@ -Simplify the OAuth client_name to 'PleromaFE' diff --git a/package.json b/package.json index 822559147..45b046603 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "pleroma_fe", - "version": "2.7.0", + "version": "2.7.1", "description": "Pleroma frontend, the default frontend of Pleroma social network server", "author": "Pleroma contributors ", "private": false,