Skip to content

Commit 07fb7d7

Browse files
committed
chore: bump to v1.4.2
1 parent 45d63cb commit 07fb7d7

9 files changed

Lines changed: 194 additions & 69 deletions

File tree

manifest.dev.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,5 +50,5 @@
5050
"service_worker": "src/pages/background/index.ts",
5151
"type": "module"
5252
},
53-
"version": "1.4.0"
53+
"version": "1.4.2"
5454
}

manifest.json

Lines changed: 7 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"default_locale": "en",
44
"name": "__MSG_extName__",
55
"description": "__MSG_extDescription__",
6-
"version": "1.4.1",
6+
"version": "1.4.2",
77
"key": "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqyGtKj1peaqzYlrf+cu2b9PKAapZJ7FCuIAh9N8ZQf0c9NKgt2R0G6t+QwXtmqNBFqnerqZrzVgH37cjK93Nt+/WCMCFksGH48nxKAGNpYzeALQnqa7s1fHVMleIGuHSQmKMqzT9YBy9hLqzK2DhX1jQPQBOiSLnhsqhGHTaoTEArerCopHmjfu3Ksl9paXFX/1ybi9HG3MnJKSY3X9m2+zbe370ntUEYxWTBN91ikKRveB1w6U5KqaMNFka2XblzN7nAajWjSLGUdZNpbcF1gC9MKnu3oZsABh65zFmiZeW21vUGUrsJt7mgkLcoV2/gjQCXEtsk23Ty/b+ZTNxWwIDAQAB",
88
"action": {
99
"default_popup": "src/pages/popup/index.html",
@@ -24,16 +24,10 @@
2424
"icons": {
2525
"128": "icon-128.png"
2626
},
27-
"permissions": [
28-
"storage",
29-
"identity",
30-
"scripting"
31-
],
27+
"permissions": ["storage", "identity", "scripting"],
3228
"oauth2": {
3329
"client_id": "462948120910-vvunu0k3b4vi37u23mqnh77mbgdjcg78.apps.googleusercontent.com",
34-
"scopes": [
35-
"https://www.googleapis.com/auth/drive.file"
36-
]
30+
"scopes": ["https://www.googleapis.com/auth/drive.file"]
3731
},
3832
"host_permissions": [
3933
"https://gemini.google.com/*",
@@ -46,10 +40,7 @@
4640
"https://lh3.google.com/*",
4741
"https://*.ggpht.com/*"
4842
],
49-
"optional_host_permissions": [
50-
"https://*/*",
51-
"http://*/*"
52-
],
43+
"optional_host_permissions": ["https://*/*", "http://*/*"],
5344
"content_security_policy": {
5445
"extension_pages": "script-src 'self'; object-src 'self'; worker-src 'self'"
5546
},
@@ -65,12 +56,8 @@
6556
"https://aistudio.google.com/*",
6657
"https://aistudio.google.cn/*"
6758
],
68-
"js": [
69-
"src/pages/content/index.tsx"
70-
],
71-
"css": [
72-
"contentStyle.css"
73-
]
59+
"js": ["src/pages/content/index.tsx"],
60+
"css": ["contentStyle.css"]
7461
}
7562
],
7663
"web_accessible_resources": [
@@ -85,9 +72,7 @@
8572
"assets/*.js",
8673
"assets/*.png"
8774
],
88-
"matches": [
89-
"<all_urls>"
90-
]
75+
"matches": ["<all_urls>"]
9176
}
9277
]
9378
}

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "gemini-voyager",
3-
"version": "1.4.1",
3+
"version": "1.4.2",
44
"description": "Supercharge your Gemini experience with timeline navigation, folder organization, prompt vault, and chat export.",
55
"license": "GPL-3.0",
66
"author": "Jesse Zhang",

public/contentStyle.css

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8859,7 +8859,8 @@ html.dark .gv-input-vim-cursor-moving {
88598859
}
88608860

88618861
.gv-floating-folder-panel__folder-header:hover .gv-floating-folder-panel__icon-button--add-child,
8862-
.gv-floating-folder-panel__folder-header:focus-within .gv-floating-folder-panel__icon-button--add-child,
8862+
.gv-floating-folder-panel__folder-header:focus-within
8863+
.gv-floating-folder-panel__icon-button--add-child,
88638864
.gv-floating-folder-panel__conv:hover .gv-floating-folder-panel__icon-button--star,
88648865
.gv-floating-folder-panel__conv:focus-within .gv-floating-folder-panel__icon-button--star,
88658866
.gv-floating-folder-panel__conv:hover .gv-floating-folder-panel__icon-button--remove,
@@ -9427,7 +9428,8 @@ html.light-theme .gv-floating-folder-panel__folder-body::before {
94279428
}
94289429

94299430
.gv-floating-folder-panel__folder-header:hover .gv-floating-folder-panel__icon-button--add-child,
9430-
.gv-floating-folder-panel__folder-header:focus-within .gv-floating-folder-panel__icon-button--add-child,
9431+
.gv-floating-folder-panel__folder-header:focus-within
9432+
.gv-floating-folder-panel__icon-button--add-child,
94319433
.gv-floating-folder-panel__conv:hover .gv-floating-folder-panel__icon-button--star,
94329434
.gv-floating-folder-panel__conv:focus-within .gv-floating-folder-panel__icon-button--star,
94339435
.gv-floating-folder-panel__conv:hover .gv-floating-folder-panel__icon-button--remove,
Lines changed: 149 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,149 @@
1+
<!-- lang:en -->
2+
3+
### What's New
4+
5+
- **Floating folder mode** *(off by default)*: Pop the folder panel out as a draggable floating window instead of injecting it into the sidebar. Toggle from popup → Folder options.
6+
- **AI Studio new nav support**: Folder panel now mounts on AI Studio's refreshed left nav (`/prompts` and `/library`), restoring the feature after Google's UI change.
7+
- **Hide archived in AI Studio Library**: The `/library` table hides conversations already filed into folders.
8+
- **Vim mode for chat input** *(off by default)*: Modal editing keybindings directly in the chat input.
9+
- **Copy Canvas as Markdown**: One-click markdown copy from a Canvas artifact's share menu.
10+
11+
### Fixes
12+
13+
- **Vim mode line editing**: Stabilized cursor behavior at end-of-line.
14+
- **Sidebar auto-hide / full-hide**: The two settings are now independent — toggling one no longer affects the other.
15+
16+
<!-- lang:zh -->
17+
18+
### 新功能
19+
20+
- **悬浮文件夹模式** *(默认关闭)*:把文件夹面板拆成可拖动的悬浮窗,不再注入到侧边栏。弹窗 → 文件夹选项中开启。
21+
- **AI Studio 新导航支持**:文件夹面板适配 AI Studio 改版后的左侧导航(`/prompts``/library`),恢复 Google 改版后失效的功能。
22+
- **AI Studio 库页面隐藏已归档**`/library` 表格现在会隐藏已归入文件夹的对话。
23+
- **Vim 模式聊天输入** *(默认关闭)*:在聊天输入框直接使用模态编辑键位。
24+
- **Canvas 复制为 Markdown**:Canvas 作品的分享菜单中新增"复制为 Markdown"。
25+
26+
### 修复
27+
28+
- **Vim 模式行尾编辑**:行尾操作时光标行为更稳定。
29+
- **侧边栏自动隐藏与完全隐藏**:两项设置互相独立,不再相互干扰。
30+
31+
<!-- lang:zh_TW -->
32+
33+
### 新功能
34+
35+
- **浮動資料夾模式** *(預設關閉)*:將資料夾面板拆成可拖曳的浮動視窗,不再注入到側邊欄。彈窗 → 資料夾選項中開啟。
36+
- **AI Studio 新導覽支援**:資料夾面板適配 AI Studio 改版後的左側導覽(`/prompts``/library`),恢復 Google 改版後失效的功能。
37+
- **AI Studio 檔案庫隱藏已封存**`/library` 表格會隱藏已歸入資料夾的對話。
38+
- **Vim 模式聊天輸入** *(預設關閉)*:在聊天輸入框直接使用模式編輯鍵位。
39+
- **Canvas 複製為 Markdown**:Canvas 作品的分享選單中新增「複製為 Markdown」。
40+
41+
### 修復
42+
43+
- **Vim 模式行末編輯**:行末操作時游標行為更穩定。
44+
- **側邊欄自動隱藏與完全隱藏**:兩項設定互相獨立,不再互相干擾。
45+
46+
<!-- lang:ja -->
47+
48+
### 新機能
49+
50+
- **フローティングフォルダモード** *(デフォルトでオフ)*:フォルダパネルをサイドバーに埋め込む代わりにドラッグ可能なフローティングウィンドウとして表示します。ポップアップ → フォルダ設定から切替。
51+
- **AI Studio 新ナビ対応**:リニューアルされた AI Studio の左ナビ(`/prompts``/library`)にフォルダパネルが挿入され、Google の UI 変更後も機能が復帰します。
52+
- **AI Studio ライブラリでアーカイブを非表示**`/library` のテーブルで、すでにフォルダに振り分けた会話を非表示にします。
53+
- **チャット入力の Vim モード** *(デフォルトでオフ)*:チャット入力欄でモーダル編集キーバインドを使えます。
54+
- **Canvas を Markdown としてコピー**:Canvas アーティファクトの共有メニューからワンクリックで Markdown をコピー。
55+
56+
### 修正
57+
58+
- **Vim モードの行末編集**:行末でのカーソル挙動が安定しました。
59+
- **サイドバー自動非表示/完全非表示**:両設定が独立し、一方の切替がもう一方に影響しなくなりました。
60+
61+
<!-- lang:fr -->
62+
63+
### Nouveautés
64+
65+
- **Mode dossier flottant** *(désactivé par défaut)* : Ouvrez le panneau des dossiers dans une fenêtre flottante déplaçable au lieu de l'injecter dans la barre latérale. Activable depuis popup → Options de dossiers.
66+
- **Prise en charge de la nouvelle navigation AI Studio** : Le panneau des dossiers s'intègre désormais à la nouvelle barre latérale AI Studio (`/prompts` et `/library`), rétablissant la fonctionnalité après le changement d'UI de Google.
67+
- **Masquer les conversations archivées dans la bibliothèque AI Studio** : Le tableau `/library` masque les conversations déjà classées dans des dossiers.
68+
- **Mode Vim dans la saisie** *(désactivé par défaut)* : Raccourcis d'édition modale directement dans le champ de saisie.
69+
- **Copier un Canvas en Markdown** : Copie Markdown en un clic depuis le menu de partage d'un artefact Canvas.
70+
71+
### Corrections
72+
73+
- **Édition Vim en fin de ligne** : Stabilisation du comportement du curseur en fin de ligne.
74+
- **Masquage automatique vs masquage complet de la sidebar** : Les deux réglages sont désormais indépendants — l'activation de l'un n'affecte plus l'autre.
75+
76+
<!-- lang:es -->
77+
78+
### Novedades
79+
80+
- **Modo de carpetas flotantes** *(desactivado por defecto)*: Muestra el panel de carpetas como una ventana flotante arrastrable en lugar de inyectarlo en la barra lateral. Actívalo desde popup → Opciones de carpetas.
81+
- **Compatibilidad con la nueva navegación de AI Studio**: El panel de carpetas se integra con la nueva navegación lateral de AI Studio (`/prompts` y `/library`), restaurando la funcionalidad tras el cambio de UI de Google.
82+
- **Ocultar archivadas en la biblioteca de AI Studio**: La tabla `/library` oculta las conversaciones ya clasificadas en carpetas.
83+
- **Modo Vim en la entrada** *(desactivado por defecto)*: Atajos de edición modal directamente en el cuadro de entrada.
84+
- **Copiar Canvas como Markdown**: Copia Markdown con un clic desde el menú de compartir de un artefacto Canvas.
85+
86+
### Correcciones
87+
88+
- **Edición Vim al final de línea**: Comportamiento del cursor estabilizado al final de la línea.
89+
- **Ocultación automática y total de la barra lateral**: Ambos ajustes son ahora independientes — activar uno no afecta al otro.
90+
91+
<!-- lang:pt -->
92+
93+
### Novidades
94+
95+
- **Modo de pastas flutuantes** *(desativado por padrão)*: Mostra o painel de pastas como uma janela flutuante arrastável em vez de injetá-lo na barra lateral. Ative em popup → Opções de pastas.
96+
- **Compatibilidade com a nova navegação do AI Studio**: O painel de pastas integra-se com a nova navegação lateral do AI Studio (`/prompts` e `/library`), restaurando a funcionalidade após a mudança de UI do Google.
97+
- **Ocultar arquivadas na biblioteca do AI Studio**: A tabela `/library` oculta as conversas já classificadas em pastas.
98+
- **Modo Vim na entrada** *(desativado por padrão)*: Atalhos de edição modal diretamente no campo de entrada.
99+
- **Copiar Canvas como Markdown**: Cópia em Markdown com um clique a partir do menu de partilha de um artefacto Canvas.
100+
101+
### Correções
102+
103+
- **Edição Vim no final da linha**: Comportamento do cursor estabilizado no final da linha.
104+
- **Ocultação automática e total da barra lateral**: As duas configurações são agora independentes — ativar uma já não afeta a outra.
105+
106+
<!-- lang:ar -->
107+
108+
### الجديد
109+
110+
- **وضع المجلدات العائم** *(مُعطَّل افتراضيًا)*: اعرض لوحة المجلدات كنافذة عائمة قابلة للسحب بدلاً من إدراجها في الشريط الجانبي. فعِّل من النافذة المنبثقة ← خيارات المجلدات.
111+
- **دعم تنقّل AI Studio الجديد**: لوحة المجلدات تعمل الآن مع الشريط الجانبي الجديد لـ AI Studio (`/prompts` و `/library`)، ما يعيد الميزة بعد تغيير واجهة Google.
112+
- **إخفاء المؤرشفة في مكتبة AI Studio**: جدول `/library` يخفي المحادثات التي سبق تصنيفها في مجلدات.
113+
- **وضع Vim لمربع الإدخال** *(مُعطَّل افتراضيًا)*: اختصارات التحرير الوضعية مباشرة في مربع إدخال المحادثة.
114+
- **نسخ Canvas كـ Markdown**: نسخ Markdown بنقرة واحدة من قائمة مشاركة محتوى Canvas.
115+
116+
### الإصلاحات
117+
118+
- **تحرير Vim في نهاية السطر**: استقرار سلوك المؤشر عند نهاية السطر.
119+
- **الإخفاء التلقائي / الإخفاء الكامل للشريط الجانبي**: أصبح الإعدادان مستقلَّين — تفعيل أحدهما لم يعد يؤثر على الآخر.
120+
121+
<!-- lang:ko -->
122+
123+
### 새로운 기능
124+
125+
- **플로팅 폴더 모드** *(기본값: 꺼짐)*: 폴더 패널을 사이드바에 주입하지 않고 드래그 가능한 플로팅 창으로 표시합니다. 팝업 → 폴더 옵션에서 켜세요.
126+
- **AI Studio 새 내비게이션 지원**: 폴더 패널이 새로 개편된 AI Studio 왼쪽 내비게이션(`/prompts``/library`)에 장착되어, Google UI 변경 이후 기능이 복구됩니다.
127+
- **AI Studio 라이브러리에서 보관됨 숨기기**: `/library` 테이블에서 이미 폴더에 정리된 대화를 숨깁니다.
128+
- **채팅 입력창 Vim 모드** *(기본값: 꺼짐)*: 채팅 입력창에서 직접 모달 편집 단축키를 사용합니다.
129+
- **Canvas를 Markdown으로 복사**: Canvas 아티팩트의 공유 메뉴에서 한 번에 Markdown으로 복사.
130+
131+
### 수정
132+
133+
- **Vim 모드 줄 끝 편집**: 줄 끝에서의 커서 동작이 안정화되었습니다.
134+
- **사이드바 자동 숨김과 완전 숨김**: 두 설정이 서로 독립적으로 작동하며, 한쪽을 켜도 다른 쪽에 영향을 주지 않습니다.
135+
136+
<!-- lang:ru -->
137+
138+
### Новое
139+
140+
- **Плавающий режим папок** *(по умолчанию выключено)*: Показывать панель папок как перетаскиваемое плавающее окно вместо внедрения в боковую панель. Включается в попапе → Настройки папок.
141+
- **Поддержка новой навигации AI Studio**: Панель папок теперь работает в обновлённой левой навигации AI Studio (`/prompts` и `/library`), восстанавливая функцию после изменения интерфейса Google.
142+
- **Скрытие архивных в библиотеке AI Studio**: Таблица `/library` скрывает разговоры, уже помещённые в папки.
143+
- **Режим Vim в поле ввода** *(по умолчанию выключено)*: Модальные клавиши редактирования прямо в поле ввода чата.
144+
- **Копировать Canvas как Markdown**: Копирование в Markdown одним кликом из меню «Поделиться» артефакта Canvas.
145+
146+
### Исправления
147+
148+
- **Редактирование в конце строки в Vim-режиме**: Стабилизировано поведение курсора в конце строки.
149+
- **Автоскрытие и полное скрытие боковой панели**: Настройки теперь независимы — включение одной не влияет на другую.

src/pages/content/folder/floatingModeFab.ts

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,9 +65,13 @@ export function mountFloatingFab({
6565
btn.style.left = `${initialPos.x}px`;
6666
btn.style.top = `${initialPos.y}px`;
6767

68-
let dragState:
69-
| { startX: number; startY: number; offsetX: number; offsetY: number; moved: boolean }
70-
| null = null;
68+
let dragState: {
69+
startX: number;
70+
startY: number;
71+
offsetX: number;
72+
offsetY: number;
73+
moved: boolean;
74+
} | null = null;
7175

7276
const onPointerDown = (e: PointerEvent) => {
7377
if (e.button !== 0) return;

src/pages/content/folder/floatingModeNudge.test.ts

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4,26 +4,26 @@ import { shouldShowFloatingModeNudge } from './floatingModeNudge';
44

55
describe('shouldShowFloatingModeNudge', () => {
66
it('returns true for a fresh user who has not seen the nudge and has no floating window open', () => {
7-
expect(
8-
shouldShowFloatingModeNudge({ nudgeShown: false, floatingAlreadyOpen: false }),
9-
).toBe(true);
7+
expect(shouldShowFloatingModeNudge({ nudgeShown: false, floatingAlreadyOpen: false })).toBe(
8+
true,
9+
);
1010
});
1111

1212
it('returns false if the nudge has already been dismissed', () => {
13-
expect(
14-
shouldShowFloatingModeNudge({ nudgeShown: true, floatingAlreadyOpen: false }),
15-
).toBe(false);
13+
expect(shouldShowFloatingModeNudge({ nudgeShown: true, floatingAlreadyOpen: false })).toBe(
14+
false,
15+
);
1616
});
1717

1818
it('returns false if the floating window is already on screen', () => {
19-
expect(
20-
shouldShowFloatingModeNudge({ nudgeShown: false, floatingAlreadyOpen: true }),
21-
).toBe(false);
19+
expect(shouldShowFloatingModeNudge({ nudgeShown: false, floatingAlreadyOpen: true })).toBe(
20+
false,
21+
);
2222
});
2323

2424
it('returns false when both flags are set', () => {
25-
expect(
26-
shouldShowFloatingModeNudge({ nudgeShown: true, floatingAlreadyOpen: true }),
27-
).toBe(false);
25+
expect(shouldShowFloatingModeNudge({ nudgeShown: true, floatingAlreadyOpen: true })).toBe(
26+
false,
27+
);
2828
});
2929
});

src/pages/content/folder/floatingPanel.test.ts

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@ import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
22

33
import {
44
FLOATING_PANEL_CLASS,
5-
mountFloatingPanel,
65
type FloatingPanelHandle,
76
type FloatingPanelMountArgs,
7+
mountFloatingPanel,
88
} from './floatingPanel';
99
import type { ConversationReference, Folder, FolderData } from './types';
1010

@@ -229,9 +229,7 @@ describe('mountFloatingPanel', () => {
229229
);
230230
click(title);
231231

232-
expect(onNavigate).toHaveBeenCalledWith(
233-
expect.objectContaining({ conversationId: 'conv-a' }),
234-
);
232+
expect(onNavigate).toHaveBeenCalledWith(expect.objectContaining({ conversationId: 'conv-a' }));
235233
});
236234

237235
it('renders the move-to-folder hint above the folder tree', () => {
@@ -348,10 +346,7 @@ describe('mountFloatingPanel', () => {
348346
const onRemoveConversation = vi.fn();
349347
const handle = mountPanel({ onToggleStar, onRemoveConversation });
350348

351-
const row = requireElement<HTMLElement>(
352-
handle.element,
353-
`.${FLOATING_PANEL_CLASS}__conv`,
354-
);
349+
const row = requireElement<HTMLElement>(handle.element, `.${FLOATING_PANEL_CLASS}__conv`);
355350
click(requireElement<HTMLButtonElement>(row, `.${FLOATING_PANEL_CLASS}__icon-button--star`));
356351
click(requireElement<HTMLButtonElement>(row, `.${FLOATING_PANEL_CLASS}__icon-button--remove`));
357352

0 commit comments

Comments
 (0)