diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 8a04da03..689294d8 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -287,7 +287,7 @@ jobs: run: | sudo apt-get install -y flatpak flatpak-builder flatpak remote-add --if-not-exists --user flathub https://flathub.org/repo/flathub.flatpakrepo - flatpak install -y --noninteractive --user flathub org.gnome.Platform//48 org.gnome.Sdk//48 + flatpak install -y --noninteractive --user flathub org.gnome.Platform//51 org.gnome.Sdk//51 - name: Build Flatpak bundle if: matrix.platform == 'linux' diff --git a/.gitignore b/.gitignore index 06663930..d4119d84 100644 --- a/.gitignore +++ b/.gitignore @@ -33,3 +33,4 @@ flatpak/.deb-input/ flatpak/.build/ flatpak/.repo/ flatpak/output/ +.flatpak-builder/ diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 00000000..ff138137 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "flatpak/shared-modules"] + path = flatpak/shared-modules + url = https://github.com/flathub/shared-modules.git diff --git a/eslint.config.ts b/eslint.config.ts index 67b02ec6..877bbbc4 100644 --- a/eslint.config.ts +++ b/eslint.config.ts @@ -7,7 +7,10 @@ import checkFile from 'eslint-plugin-check-file'; import pluginVueI18n from '@intlify/eslint-plugin-vue-i18n'; export default defineConfigWithVueTs( - globalIgnores(['**/dist/**', '**/dist-ssr/**', '**/coverage/**', '**/e2e-webdriver/**', 'src-tauri/**']), + globalIgnores([ + '**/dist/**', '**/dist-ssr/**', '**/coverage/**', '**/e2e-webdriver/**', 'src-tauri/**', + 'flatpak/shared-modules/', 'flatpak/.build/', 'flatpak/.repo/', 'flatpak/.deb-input/', 'flatpak/output/', '.flatpak-builder/', + ]), pluginVue.configs['flat/strongly-recommended'], vueTsConfigs.recommended, pluginStylistic.configs.customize({ diff --git a/flatpak/build-flatpak.sh b/flatpak/build-flatpak.sh index fe7e8994..b80748d4 100644 --- a/flatpak/build-flatpak.sh +++ b/flatpak/build-flatpak.sh @@ -10,7 +10,8 @@ repo_directory="$flatpak_directory/.repo" output_directory="$flatpak_directory/output" manifest_path="$flatpak_directory/com.sigma-file-manager.app.yml" app_id="com.sigmafilemanager.app" -runtime_ref="org.gnome.Platform/x86_64/48" +runtime_version="51" +runtime_ref="org.gnome.Platform/x86_64/${runtime_version}" version="$(node -p "require('$root_directory/package.json').version")" bundle_path="$output_directory/Sigma-File-Manager-${version}-linux.flatpak" @@ -62,9 +63,17 @@ ensure_flatpak_runtime() { fi flatpak remote-add --if-not-exists --user flathub https://flathub.org/repo/flathub.flatpakrepo - flatpak install -y --noninteractive --user flathub org.gnome.Platform//48 org.gnome.Sdk//48 + flatpak install -y --noninteractive --user flathub "org.gnome.Platform//${runtime_version}" "org.gnome.Sdk//${runtime_version}" } +ensure_shared_modules() { + if [ -f "$flatpak_directory/shared-modules/libayatana-appindicator/libayatana-appindicator-gtk3.json" ]; then + return + fi + git -C "$root_directory" submodule update --init flatpak/shared-modules +} + +ensure_shared_modules deb_package="$(ensure_deb_package)" mkdir -p "$deb_input_directory" "$output_directory" cp "$deb_package" "$deb_input_directory/sigma-file-manager.deb" diff --git a/flatpak/com.sigma-file-manager.app.yml b/flatpak/com.sigma-file-manager.app.yml index 952b42c5..0d94f45c 100644 --- a/flatpak/com.sigma-file-manager.app.yml +++ b/flatpak/com.sigma-file-manager.app.yml @@ -1,6 +1,6 @@ id: com.sigmafilemanager.app runtime: org.gnome.Platform -runtime-version: '48' +runtime-version: '51' sdk: org.gnome.Sdk command: sigma-file-manager appstream-compose: false @@ -22,6 +22,10 @@ finish-args: - --filesystem=xdg-config/autostart:create modules: + # Tauri's tray icon (libappindicator-sys) dlopens libayatana-appindicator3 at startup, + # which the GNOME runtime doesn't ship. + - shared-modules/libayatana-appindicator/libayatana-appindicator-gtk3.json + - name: sigma-file-manager buildsystem: simple sources: diff --git a/flatpak/shared-modules b/flatpak/shared-modules new file mode 160000 index 00000000..a58e654b --- /dev/null +++ b/flatpak/shared-modules @@ -0,0 +1 @@ +Subproject commit a58e654b9113feffaee113cc7167ebbbdb406bee diff --git a/src/components/ui/tag-selector/item-tags-field.vue b/src/components/ui/tag-selector/item-tags-field.vue index 372365a8..5a16c3c4 100644 --- a/src/components/ui/tag-selector/item-tags-field.vue +++ b/src/components/ui/tag-selector/item-tags-field.vue @@ -26,6 +26,7 @@ const props = withDefaults(defineProps<{ align?: PopoverContentProps['align']; side?: PopoverContentProps['side']; }>(), { + tagSummary: undefined, allowCreate: true, fullWidth: true, align: 'end', @@ -33,7 +34,7 @@ const props = withDefaults(defineProps<{ }); const emit = defineEmits<{ - open: []; + 'open': []; 'open-change': [open: boolean]; 'toggle-tag': [tagId: string]; 'create-tag': [name: string]; @@ -100,6 +101,7 @@ watch(() => props.isSelectorMounted, (mounted) => { if (mounted) { showEditor.value = true; + if (prefersReducedMotion()) { isExpanded.value = true; return; @@ -165,11 +167,11 @@ onUnmounted(() => { :title="resolvedTagSummary" @click="emit('open')" > - - + + diff --git a/src/modules/navigator/components/clipboard-toolbar/clipboard-items-popover.vue b/src/modules/navigator/components/clipboard-toolbar/clipboard-items-popover.vue index 23f64508..4442be67 100644 --- a/src/modules/navigator/components/clipboard-toolbar/clipboard-items-popover.vue +++ b/src/modules/navigator/components/clipboard-toolbar/clipboard-items-popover.vue @@ -4,7 +4,9 @@ Copyright © 2021 - present Aleksey Hoffman. All rights reserved. -->