From 234d7c6f39fb527565a0268111779483ddb0e235 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Platero?= <133709838+TomasPlatero@users.noreply.github.com> Date: Mon, 9 Nov 2026 11:16:31 +0100 Subject: [PATCH 1/2] release: v2.0.3-experimental (#186) * fix(whats-new): translate the fixes list and keep the pages of the version line * release: v2.0.3-experimental --- package.json | 2 +- product.json | 4 +- .../contrib/picode/browser/picodeWhatsNew.ts | 11 ++--- .../picode/browser/picodeWhatsNewData.ts | 15 +++++++ .../picode/browser/picodeWhatsNewFixes.ts | 43 +++++++++++++++++++ .../browser/test/picodeWhatsNewData.test.ts | 13 +++++- src/vs/workbench/contrib/picode/l10n/cs.json | 4 ++ src/vs/workbench/contrib/picode/l10n/de.json | 4 ++ src/vs/workbench/contrib/picode/l10n/es.json | 4 ++ src/vs/workbench/contrib/picode/l10n/fr.json | 4 ++ src/vs/workbench/contrib/picode/l10n/it.json | 4 ++ src/vs/workbench/contrib/picode/l10n/ja.json | 4 ++ src/vs/workbench/contrib/picode/l10n/ko.json | 4 ++ src/vs/workbench/contrib/picode/l10n/pl.json | 4 ++ .../workbench/contrib/picode/l10n/pt-br.json | 4 ++ src/vs/workbench/contrib/picode/l10n/ru.json | 4 ++ .../workbench/contrib/picode/l10n/source.json | 4 ++ src/vs/workbench/contrib/picode/l10n/tr.json | 4 ++ .../workbench/contrib/picode/l10n/zh-cn.json | 4 ++ .../workbench/contrib/picode/l10n/zh-tw.json | 4 ++ 20 files changed, 135 insertions(+), 9 deletions(-) create mode 100644 src/vs/workbench/contrib/picode/browser/picodeWhatsNewFixes.ts diff --git a/package.json b/package.json index 770b39f6..28a7b3d2 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "code-oss-dev", - "version": "1.144.11", + "version": "1.144.12", "distro": "c842171bd42ca4aef20b0a186c94d99edd763842", "author": { "name": "PiCode" diff --git a/product.json b/product.json index c27e52eb..fc7c2e19 100644 --- a/product.json +++ b/product.json @@ -758,7 +758,7 @@ "default": false } }, - "version": "1.144.11", - "picodeVersion": "2.0.2-experimental", + "version": "1.144.12", + "picodeVersion": "2.0.3-experimental", "hotfixPublicKey": "MCowBQYDK2VwAyEAZes8irGrgqOvvCEWRBn3rwOG6qxSNp+zxWOX3HqXyjo=" } diff --git a/src/vs/workbench/contrib/picode/browser/picodeWhatsNew.ts b/src/vs/workbench/contrib/picode/browser/picodeWhatsNew.ts index a4be044e..60c0e5da 100644 --- a/src/vs/workbench/contrib/picode/browser/picodeWhatsNew.ts +++ b/src/vs/workbench/contrib/picode/browser/picodeWhatsNew.ts @@ -20,7 +20,8 @@ import { IHostService } from '../../../services/host/browser/host.js'; import { IWorkbenchLayoutService } from '../../../services/layout/browser/layoutService.js'; import { IPaneCompositePartService } from '../../../services/panecomposite/browser/panecomposite.js'; import { ILifecycleService, LifecyclePhase } from '../../../services/lifecycle/common/lifecycle.js'; -import { composeWhatsNew, sameVersionLine, extractWhatChanged, highlightsSince, readHistory, shouldShowWhatsNew, whatsNewHistoryUrl, whatsNewSince, WhatsNewEntry } from './picodeWhatsNewData.js'; +import { composeWhatsNew, fixesMarkdown, inVersionLine, sameVersionLine, extractWhatChanged, highlightsSince, readHistory, shouldShowWhatsNew, whatsNewHistoryUrl, whatsNewSince, WhatsNewEntry } from './picodeWhatsNewData.js'; +import { whatsNewFixes } from './picodeWhatsNewFixes.js'; import { whatsNewHighlights } from './picodeWhatsNewHighlights.js'; import { IPicodeProEntitlement } from './account/picodeProEntitlement.js'; import { IWhatsNewWindowServices, showWhatsNewWindow } from './picodeWhatsNewWindow.js'; @@ -50,14 +51,16 @@ const RELEASES_API = 'https://api.github.com/repos/Tomas-Platero/PiCode/releases */ async function showWhatsNew(version: string, last: string, accessor: { readonly requestService: IRequestService; readonly productService: IProductService; readonly services: IWhatsNewWindowServices }, manual = false): Promise { const { requestService, productService, services } = accessor; - const changes = (async () => { + // Inside one line of versions (2.0.0 to 2.0.2) the window keeps the line's pages and lists every fix the line brought, in the person's language. + const fixesOnly = !manual && sameVersionLine(last, version); + const changes = fixesOnly ? Promise.resolve(fixesMarkdown(whatsNewFixes(), version)) : (async () => { const [notes, history] = await Promise.all([fetchNotes(requestService, version), fetchHistory(requestService, productService.quality)]); // Asked for by hand (Help menu), a version without its own summary shows the newest one the // channel has, so the window is never empty when something is on record. const current = notes ? { version, notes } : history.find(entry => entry.version === version) ?? (manual ? history[0] : undefined); return current ? composeWhatsNew(whatsNewSince(last, current, history)) : undefined; })(); - const highlights = highlightsSince(whatsNewHighlights(), last, version); + const highlights = fixesOnly ? inVersionLine(whatsNewHighlights(), version) : highlightsSince(whatsNewHighlights(), last, version); // With nothing of our own to tell, the window is only worth opening if the release has something. if (highlights.length === 0 && !(await changes)) { return false; @@ -66,8 +69,6 @@ async function showWhatsNew(version: string, last: string, accessor: { readonly const subtitle = last ? localize('picodeWhatsNew.subtitleSince', "New since {0}", last) : localize('picodeWhatsNew.subtitleAll', "Try each one right here."); - // Inside one line of versions (2.0.0 to 2.0.1) the list is the fixes that came since: the page says so. - const fixesOnly = !manual && sameVersionLine(last, version); showWhatsNewWindow({ version, subtitle, highlights, changes, fixesOnly, releaseUrl }, services); return true; } diff --git a/src/vs/workbench/contrib/picode/browser/picodeWhatsNewData.ts b/src/vs/workbench/contrib/picode/browser/picodeWhatsNewData.ts index 2c6a2c35..d779eef8 100644 --- a/src/vs/workbench/contrib/picode/browser/picodeWhatsNewData.ts +++ b/src/vs/workbench/contrib/picode/browser/picodeWhatsNewData.ts @@ -96,6 +96,21 @@ export function sameVersionLine(a: string, b: string): boolean { return left !== undefined && left === line(b); } +/** What belongs to the line of `current` (`2.0.x`) and came by it, newest first: the news and fixes a fix release keeps showing. */ +export function inVersionLine(all: readonly T[], current: string): T[] { + return all + .filter(item => sameVersionLine(item.since, current) && compareVersions(item.since, current) <= 0) + .sort((a, b) => compareVersions(b.since, a.since)); +} + +/** + * The fixes of the line up to `current`, as a Markdown list. Undefined when there are none. + */ +export function fixesMarkdown(fixes: readonly { readonly since: string; readonly text: string }[], current: string): string | undefined { + const list = inVersionLine(fixes, current).map(fix => `- ${fix.text}`); + return list.length > 0 ? list.join('\n') : undefined; +} + /** * Whether the window opens after this start. * diff --git a/src/vs/workbench/contrib/picode/browser/picodeWhatsNewFixes.ts b/src/vs/workbench/contrib/picode/browser/picodeWhatsNewFixes.ts new file mode 100644 index 00000000..6445ff3f --- /dev/null +++ b/src/vs/workbench/contrib/picode/browser/picodeWhatsNewFixes.ts @@ -0,0 +1,43 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) PiCode. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +import { localize } from '../../../../nls.js'; + +/** + * One thing a release fixed, written for the person using PiCode. The text is Markdown (a bold + * lead, then one or two sentences) and is translated with the rest of the editor, unlike the + * release page, which is only in English. + */ +export interface IWhatsNewFix { + /** The version that first carries the fix (`2.0.1`). */ + readonly since: string; + readonly text: string; +} + +/** + * What each release fixed, newest first. A fix release adds its entries here with `since` set to its + * own version; the "Bugs fixed" page shows all of the current line (2.0.x), so a person who skipped + * a fix release still sees it. + */ +export function whatsNewFixes(): readonly IWhatsNewFix[] { + return [ + { + since: '2.0.3', + text: localize('picodeWhatsNew.fix.language', "**What's New now speaks your language.** The list of fixes is translated, and the window keeps the news of this version line together with every fix since."), + }, + { + since: '2.0.2', + text: localize('picodeWhatsNew.fix.whatsNew', "**What's New opens after every update.** Updates that only fix things now show their fixes here, and the window no longer opens blank."), + }, + { + since: '2.0.2', + text: localize('picodeWhatsNew.fix.updateAccess', "**Updating no longer stops at \"Access denied\".** The memory engine that PiCode carries now closes right before the update replaces its folder."), + }, + { + since: '2.0.1', + text: localize('picodeWhatsNew.fix.jira', "**Connecting Jira no longer depends on your browser.** Some browsers never opened PiCode again after you agreed on Atlassian's page. Now a PiCode page shows which account gets the connection, you confirm it there, and the editor notices by itself."), + }, + ]; +} diff --git a/src/vs/workbench/contrib/picode/browser/test/picodeWhatsNewData.test.ts b/src/vs/workbench/contrib/picode/browser/test/picodeWhatsNewData.test.ts index f016f290..6a09e044 100644 --- a/src/vs/workbench/contrib/picode/browser/test/picodeWhatsNewData.test.ts +++ b/src/vs/workbench/contrib/picode/browser/test/picodeWhatsNewData.test.ts @@ -13,7 +13,7 @@ import assert from 'assert'; import { test } from 'node:test'; -import { composeWhatsNew, extractWhatChanged, highlightsSince, readHistory, sameVersionLine, shouldShowWhatsNew, whatsNewHistoryUrl, whatsNewSince } from '../picodeWhatsNewData.js'; +import { composeWhatsNew, extractWhatChanged, fixesMarkdown, highlightsSince, inVersionLine, readHistory, sameVersionLine, shouldShowWhatsNew, whatsNewHistoryUrl, whatsNewSince } from '../picodeWhatsNewData.js'; test('returns the grouped summary without its heading or the sections after it', () => { const body = ['Channel text', '', '## What changed', '', '### ✨ New', '', '- A thing', '', '## What\'s Changed', '', '* raw changelog'].join('\n'); @@ -112,3 +112,14 @@ test('asked for by hand, everything on record, newest first', () => { const all = [{ id: 'old', since: '1.0.0' }, { id: 'new', since: '1.0.9' }]; assert.deepStrictEqual(highlightsSince(all, '', '1.0.8').map(h => h.id), ['new', 'old']); }); + +test('a fix release keeps the pages of its line and drops those of other lines', () => { + const pages = [{ since: '2.0.0' }, { since: '1.0.0' }, { since: '2.1.0' }]; + assert.deepStrictEqual(inVersionLine(pages, '2.0.2'), [{ since: '2.0.0' }]); +}); + +test('the fixes of the whole line are listed, newest first, and nothing from later versions', () => { + const fixes = [{ since: '2.0.3', text: 'c' }, { since: '2.0.2', text: 'b' }, { since: '2.0.1', text: 'a' }, { since: '1.9.9', text: 'old' }]; + assert.strictEqual(fixesMarkdown(fixes, '2.0.2'), '- b\n- a'); + assert.strictEqual(fixesMarkdown(fixes, '2.2.0'), undefined); +}); diff --git a/src/vs/workbench/contrib/picode/l10n/cs.json b/src/vs/workbench/contrib/picode/l10n/cs.json index 5989ce28..44f09d08 100644 --- a/src/vs/workbench/contrib/picode/l10n/cs.json +++ b/src/vs/workbench/contrib/picode/l10n/cs.json @@ -642,6 +642,10 @@ "picodeWhatsNew.command": "Zobrazit novinky", "picodeWhatsNew.connect": "Připojit GitHub nebo Jira", "picodeWhatsNew.done": "Hotovo", + "picodeWhatsNew.fix.jira": "**Připojení k Jiře už nezávisí na prohlížeči.** Některé prohlížeče po vašem souhlasu na stránce Atlassian PiCode nikdy znovu neotevřely. Nyní stránka PiCode ukáže, ke kterému účtu se připojení provádí, potvrdíte ho tam a editor si toho všimne sám.", + "picodeWhatsNew.fix.language": "**Novinky nyní mluví vaším jazykem.** Seznam oprav je přeložen a okno uchovává novinky této řady verzí spolu se všemi opravami od té doby.", + "picodeWhatsNew.fix.updateAccess": "**Aktualizace se už nezastaví na „Přístup byl odepřen“.** Paměťový modul, který PiCode obsahuje, se zavře těsně předtím, než aktualizace nahradí jeho složku.", + "picodeWhatsNew.fix.whatsNew": "**Novinky se otevřou po každé aktualizaci.** Aktualizace, které jen opravují chyby, nyní zobrazují své opravy zde a okno se už neotevírá prázdné.", "picodeWhatsNew.full": "Úplné poznámky k verzi", "picodeWhatsNew.group.free": "Zdarma pro všechny", "picodeWhatsNew.group.pro": "PiCode Pro", diff --git a/src/vs/workbench/contrib/picode/l10n/de.json b/src/vs/workbench/contrib/picode/l10n/de.json index 93b19e86..b8d8a121 100644 --- a/src/vs/workbench/contrib/picode/l10n/de.json +++ b/src/vs/workbench/contrib/picode/l10n/de.json @@ -642,6 +642,10 @@ "picodeWhatsNew.command": "Neuigkeiten anzeigen", "picodeWhatsNew.connect": "GitHub oder Jira verbinden", "picodeWhatsNew.done": "Fertig", + "picodeWhatsNew.fix.jira": "**Die Verbindung zu Jira hängt nicht mehr von deinem Browser ab.** Manche Browser haben PiCode nach der Zustimmung auf der Atlassian-Seite nie wieder geöffnet. Jetzt zeigt eine PiCode-Seite, mit welchem Konto die Verbindung entsteht, du bestätigst sie dort, und der Editor bemerkt es selbst.", + "picodeWhatsNew.fix.language": "**„Neuigkeiten“ spricht jetzt deine Sprache.** Die Liste der Korrekturen ist übersetzt, und das Fenster behält die Neuigkeiten dieser Versionslinie zusammen mit allen seitherigen Korrekturen.", + "picodeWhatsNew.fix.updateAccess": "**Das Aktualisieren bleibt nicht mehr bei „Zugriff verweigert“ hängen.** Die Speicher-Engine von PiCode wird jetzt direkt vor dem Austausch ihres Ordners durch das Update beendet.", + "picodeWhatsNew.fix.whatsNew": "**„Neuigkeiten“ öffnet sich nach jedem Update.** Updates, die nur Fehler beheben, zeigen ihre Korrekturen jetzt hier, und das Fenster erscheint nicht mehr leer.", "picodeWhatsNew.full": "Vollständige Versionshinweise", "picodeWhatsNew.group.free": "Kostenlos für alle", "picodeWhatsNew.group.pro": "PiCode Pro", diff --git a/src/vs/workbench/contrib/picode/l10n/es.json b/src/vs/workbench/contrib/picode/l10n/es.json index a15b44d1..06770f57 100644 --- a/src/vs/workbench/contrib/picode/l10n/es.json +++ b/src/vs/workbench/contrib/picode/l10n/es.json @@ -642,6 +642,10 @@ "picodeWhatsNew.command": "Mostrar las novedades", "picodeWhatsNew.connect": "Conectar GitHub o Jira", "picodeWhatsNew.done": "Hecho", + "picodeWhatsNew.fix.jira": "**Conectar Jira ya no depende de tu navegador.** Algunos navegadores nunca volvían a abrir PiCode después de aceptar en la página de Atlassian. Ahora una página de PiCode te dice a qué cuenta se conecta, lo confirmas ahí y el editor se entera solo.", + "picodeWhatsNew.fix.language": "**Las novedades ya hablan tu idioma.** La lista de arreglos está traducida y la ventana conserva las novedades de esta línea de versiones junto con todos los arreglos desde entonces.", + "picodeWhatsNew.fix.updateAccess": "**Actualizar ya no se detiene en «Acceso denegado».** El motor de memoria que lleva PiCode se cierra justo antes de que la actualización reemplace su carpeta.", + "picodeWhatsNew.fix.whatsNew": "**Las novedades salen tras cada actualización.** Las actualizaciones que solo corrigen errores ahora muestran aquí sus arreglos, y la ventana ya no se abre en blanco.", "picodeWhatsNew.full": "Notas completas de la versión", "picodeWhatsNew.group.free": "Gratis para todos", "picodeWhatsNew.group.pro": "PiCode Pro", diff --git a/src/vs/workbench/contrib/picode/l10n/fr.json b/src/vs/workbench/contrib/picode/l10n/fr.json index 15c8b469..04d67f74 100644 --- a/src/vs/workbench/contrib/picode/l10n/fr.json +++ b/src/vs/workbench/contrib/picode/l10n/fr.json @@ -642,6 +642,10 @@ "picodeWhatsNew.command": "Afficher les nouveautés", "picodeWhatsNew.connect": "Connecter GitHub ou Jira", "picodeWhatsNew.done": "Terminer", + "picodeWhatsNew.fix.jira": "**La connexion à Jira ne dépend plus de votre navigateur.** Certains navigateurs ne rouvraient jamais PiCode après votre accord sur la page d'Atlassian. Désormais, une page PiCode indique à quel compte la connexion est faite, vous la confirmez là, et l'éditeur s'en aperçoit tout seul.", + "picodeWhatsNew.fix.language": "**Les nouveautés parlent maintenant votre langue.** La liste des corrections est traduite, et la fenêtre conserve les nouveautés de cette série de versions avec toutes les corrections depuis.", + "picodeWhatsNew.fix.updateAccess": "**La mise à jour ne s'arrête plus sur « Accès refusé ».** Le moteur de mémoire livré avec PiCode se ferme juste avant que la mise à jour remplace son dossier.", + "picodeWhatsNew.fix.whatsNew": "**Les nouveautés s'affichent après chaque mise à jour.** Les mises à jour qui ne font que corriger des erreurs montrent désormais leurs corrections ici, et la fenêtre ne s'ouvre plus vide.", "picodeWhatsNew.full": "Notes de version complètes", "picodeWhatsNew.group.free": "Gratuit pour tous", "picodeWhatsNew.group.pro": "PiCode Pro", diff --git a/src/vs/workbench/contrib/picode/l10n/it.json b/src/vs/workbench/contrib/picode/l10n/it.json index 50484ca5..6036df62 100644 --- a/src/vs/workbench/contrib/picode/l10n/it.json +++ b/src/vs/workbench/contrib/picode/l10n/it.json @@ -642,6 +642,10 @@ "picodeWhatsNew.command": "Mostra le novità", "picodeWhatsNew.connect": "Connetti GitHub o Jira", "picodeWhatsNew.done": "Fine", + "picodeWhatsNew.fix.jira": "**Collegare Jira non dipende più dal browser.** Alcuni browser non riaprivano mai PiCode dopo il tuo consenso sulla pagina di Atlassian. Ora una pagina di PiCode mostra a quale account viene collegata la connessione, la confermi lì e l'editor se ne accorge da solo.", + "picodeWhatsNew.fix.language": "**Le novità ora parlano la tua lingua.** L'elenco delle correzioni è tradotto e la finestra conserva le novità di questa linea di versioni insieme a tutte le correzioni successive.", + "picodeWhatsNew.fix.updateAccess": "**L'aggiornamento non si ferma più su «Accesso negato».** Il motore di memoria incluso in PiCode si chiude subito prima che l'aggiornamento sostituisca la sua cartella.", + "picodeWhatsNew.fix.whatsNew": "**Le novità si aprono dopo ogni aggiornamento.** Gli aggiornamenti che correggono soltanto errori ora mostrano qui le correzioni, e la finestra non si apre più vuota.", "picodeWhatsNew.full": "Note di rilascio complete", "picodeWhatsNew.group.free": "Gratis per tutti", "picodeWhatsNew.group.pro": "PiCode Pro", diff --git a/src/vs/workbench/contrib/picode/l10n/ja.json b/src/vs/workbench/contrib/picode/l10n/ja.json index 952be6b9..573f329e 100644 --- a/src/vs/workbench/contrib/picode/l10n/ja.json +++ b/src/vs/workbench/contrib/picode/l10n/ja.json @@ -642,6 +642,10 @@ "picodeWhatsNew.command": "新着情報を表示", "picodeWhatsNew.connect": "GitHub または Jira を接続", "picodeWhatsNew.done": "完了", + "picodeWhatsNew.fix.jira": "**Jira への接続がブラウザーに左右されなくなりました。** 一部のブラウザーでは、Atlassian のページで許可しても PiCode が再び開かないことがありました。今は PiCode のページに接続先のアカウントが表示され、そこで確認すると、エディターが自動で検知します。", + "picodeWhatsNew.fix.language": "**「新機能」があなたの言語で表示されます。** 修正の一覧が翻訳され、このバージョンラインの新機能と、それ以降のすべての修正がまとめて残ります。", + "picodeWhatsNew.fix.updateAccess": "**更新が「アクセスが拒否されました」で止まらなくなりました。** PiCode に同梱されているメモリエンジンは、更新がそのフォルダーを置き換える直前に終了します。", + "picodeWhatsNew.fix.whatsNew": "**更新のたびに「新機能」が開きます。** 不具合の修正だけの更新でも、修正内容がここに表示されるようになり、ウィンドウが空白で開くこともなくなりました。", "picodeWhatsNew.full": "リリースノート全文", "picodeWhatsNew.group.free": "すべての方に無料", "picodeWhatsNew.group.pro": "PiCode Pro", diff --git a/src/vs/workbench/contrib/picode/l10n/ko.json b/src/vs/workbench/contrib/picode/l10n/ko.json index 52a447b0..38237bd5 100644 --- a/src/vs/workbench/contrib/picode/l10n/ko.json +++ b/src/vs/workbench/contrib/picode/l10n/ko.json @@ -642,6 +642,10 @@ "picodeWhatsNew.command": "새 소식 보기", "picodeWhatsNew.connect": "GitHub 또는 Jira 연결", "picodeWhatsNew.done": "완료", + "picodeWhatsNew.fix.jira": "**Jira 연결이 더 이상 브라우저에 좌우되지 않습니다.** 일부 브라우저는 Atlassian 페이지에서 동의한 뒤 PiCode를 다시 열지 않았습니다. 이제 PiCode 페이지가 연결될 계정을 보여 주고, 거기서 확인하면 편집기가 스스로 알아챕니다.", + "picodeWhatsNew.fix.language": "**새 소식이 이제 사용자의 언어로 표시됩니다.** 수정 목록이 번역되었고, 창은 이 버전 계열의 새 기능과 그 이후의 모든 수정 사항을 함께 유지합니다.", + "picodeWhatsNew.fix.updateAccess": "**업데이트가 더 이상 '액세스 거부됨'에서 멈추지 않습니다.** PiCode에 포함된 메모리 엔진이 업데이트가 폴더를 교체하기 직전에 종료됩니다.", + "picodeWhatsNew.fix.whatsNew": "**업데이트할 때마다 새 소식이 열립니다.** 오류만 수정한 업데이트도 이제 수정 내용을 여기에 보여 주며, 창이 비어 있는 채로 열리지 않습니다.", "picodeWhatsNew.full": "전체 릴리스 노트", "picodeWhatsNew.group.free": "모두에게 무료", "picodeWhatsNew.group.pro": "PiCode Pro", diff --git a/src/vs/workbench/contrib/picode/l10n/pl.json b/src/vs/workbench/contrib/picode/l10n/pl.json index 11e1cbcb..ce94a6bb 100644 --- a/src/vs/workbench/contrib/picode/l10n/pl.json +++ b/src/vs/workbench/contrib/picode/l10n/pl.json @@ -642,6 +642,10 @@ "picodeWhatsNew.command": "Pokaż nowości", "picodeWhatsNew.connect": "Połącz GitHub lub Jira", "picodeWhatsNew.done": "Gotowe", + "picodeWhatsNew.fix.jira": "**Łączenie z Jirą nie zależy już od przeglądarki.** Niektóre przeglądarki nigdy nie otwierały ponownie PiCode po wyrażeniu zgody na stronie Atlassian. Teraz strona PiCode pokazuje, z jakim kontem zostanie nawiązane połączenie, potwierdzasz to tam, a edytor sam to zauważa.", + "picodeWhatsNew.fix.language": "**Nowości mówią teraz w Twoim języku.** Lista poprawek jest przetłumaczona, a okno zachowuje nowości tej linii wersji razem ze wszystkimi poprawkami od tamtej pory.", + "picodeWhatsNew.fix.updateAccess": "**Aktualizacja nie zatrzymuje się już na «Odmowa dostępu».** Silnik pamięci dołączony do PiCode zamyka się tuż przed tym, jak aktualizacja zastąpi jego folder.", + "picodeWhatsNew.fix.whatsNew": "**Nowości otwierają się po każdej aktualizacji.** Aktualizacje, które tylko naprawiają błędy, pokazują teraz tutaj swoje poprawki, a okno nie otwiera się już puste.", "picodeWhatsNew.full": "Pełne informacje o wydaniu", "picodeWhatsNew.group.free": "Za darmo dla wszystkich", "picodeWhatsNew.group.pro": "PiCode Pro", diff --git a/src/vs/workbench/contrib/picode/l10n/pt-br.json b/src/vs/workbench/contrib/picode/l10n/pt-br.json index de3f5802..a6f696bc 100644 --- a/src/vs/workbench/contrib/picode/l10n/pt-br.json +++ b/src/vs/workbench/contrib/picode/l10n/pt-br.json @@ -642,6 +642,10 @@ "picodeWhatsNew.command": "Mostrar novidades", "picodeWhatsNew.connect": "Conectar GitHub ou Jira", "picodeWhatsNew.done": "Concluir", + "picodeWhatsNew.fix.jira": "**Conectar o Jira não depende mais do seu navegador.** Alguns navegadores nunca voltavam a abrir o PiCode depois que você aceitava na página da Atlassian. Agora uma página do PiCode mostra a qual conta a conexão será feita, você confirma ali e o editor percebe sozinho.", + "picodeWhatsNew.fix.language": "**As novidades agora falam o seu idioma.** A lista de correções está traduzida e a janela mantém as novidades desta linha de versões junto com todas as correções desde então.", + "picodeWhatsNew.fix.updateAccess": "**Atualizar não para mais em «Acesso negado».** O mecanismo de memória que o PiCode traz é fechado logo antes de a atualização substituir sua pasta.", + "picodeWhatsNew.fix.whatsNew": "**As novidades aparecem após cada atualização.** Atualizações que só corrigem erros agora mostram aqui as correções, e a janela não abre mais em branco.", "picodeWhatsNew.full": "Notas de versão completas", "picodeWhatsNew.group.free": "Grátis para todos", "picodeWhatsNew.group.pro": "PiCode Pro", diff --git a/src/vs/workbench/contrib/picode/l10n/ru.json b/src/vs/workbench/contrib/picode/l10n/ru.json index c827ed56..200da882 100644 --- a/src/vs/workbench/contrib/picode/l10n/ru.json +++ b/src/vs/workbench/contrib/picode/l10n/ru.json @@ -642,6 +642,10 @@ "picodeWhatsNew.command": "Показать «Что нового»", "picodeWhatsNew.connect": "Подключить GitHub или Jira", "picodeWhatsNew.done": "Готово", + "picodeWhatsNew.fix.jira": "**Подключение Jira больше не зависит от браузера.** Некоторые браузеры так и не открывали PiCode снова после вашего согласия на странице Atlassian. Теперь страница PiCode показывает, к какой учётной записи подключается соединение, вы подтверждаете его там, а редактор замечает это сам.", + "picodeWhatsNew.fix.language": "**Окно «Что нового» теперь говорит на вашем языке.** Список исправлений переведён, а окно сохраняет новинки этой линейки версий вместе со всеми исправлениями после неё.", + "picodeWhatsNew.fix.updateAccess": "**Обновление больше не останавливается на «Отказано в доступе».** Движок памяти, который поставляется с PiCode, закрывается прямо перед тем, как обновление заменит его папку.", + "picodeWhatsNew.fix.whatsNew": "**Окно «Что нового» открывается после каждого обновления.** Обновления, которые только исправляют ошибки, теперь показывают здесь свои исправления, а окно больше не открывается пустым.", "picodeWhatsNew.full": "Полные заметки о выпуске", "picodeWhatsNew.group.free": "Бесплатно для всех", "picodeWhatsNew.group.pro": "PiCode Pro", diff --git a/src/vs/workbench/contrib/picode/l10n/source.json b/src/vs/workbench/contrib/picode/l10n/source.json index 49931d0b..ce8ecf37 100644 --- a/src/vs/workbench/contrib/picode/l10n/source.json +++ b/src/vs/workbench/contrib/picode/l10n/source.json @@ -642,6 +642,10 @@ "picodeWhatsNew.command": "Show What's New", "picodeWhatsNew.connect": "Connect GitHub or Jira", "picodeWhatsNew.done": "Done", + "picodeWhatsNew.fix.jira": "**Connecting Jira no longer depends on your browser.** Some browsers never opened PiCode again after you agreed on Atlassian's page. Now a PiCode page shows which account gets the connection, you confirm it there, and the editor notices by itself.", + "picodeWhatsNew.fix.language": "**What's New now speaks your language.** The list of fixes is translated, and the window keeps the news of this version line together with every fix since.", + "picodeWhatsNew.fix.updateAccess": "**Updating no longer stops at \"Access denied\".** The memory engine that PiCode carries now closes right before the update replaces its folder.", + "picodeWhatsNew.fix.whatsNew": "**What's New opens after every update.** Updates that only fix things now show their fixes here, and the window no longer opens blank.", "picodeWhatsNew.full": "Full release notes", "picodeWhatsNew.group.free": "Free for everyone", "picodeWhatsNew.group.pro": "With PiCode Pro", diff --git a/src/vs/workbench/contrib/picode/l10n/tr.json b/src/vs/workbench/contrib/picode/l10n/tr.json index 83f207de..1f827240 100644 --- a/src/vs/workbench/contrib/picode/l10n/tr.json +++ b/src/vs/workbench/contrib/picode/l10n/tr.json @@ -642,6 +642,10 @@ "picodeWhatsNew.command": "Yenilikleri göster", "picodeWhatsNew.connect": "GitHub veya Jira’yı bağla", "picodeWhatsNew.done": "Bitti", + "picodeWhatsNew.fix.jira": "**Jira'ya bağlanmak artık tarayıcınıza bağlı değil.** Bazı tarayıcılar, Atlassian sayfasında onay verdikten sonra PiCode'u bir daha açmıyordu. Artık bir PiCode sayfası bağlantının hangi hesaba yapılacağını gösteriyor, onu orada onaylıyorsunuz ve editör bunu kendisi fark ediyor.", + "picodeWhatsNew.fix.language": "**Yenilikler artık sizin dilinizi konuşuyor.** Düzeltme listesi çevrildi ve pencere, bu sürüm hattının yeniliklerini o zamandan beri gelen tüm düzeltmelerle birlikte koruyor.", + "picodeWhatsNew.fix.updateAccess": "**Güncelleme artık «Erişim reddedildi» hatasında takılmıyor.** PiCode'un içindeki bellek motoru, güncelleme klasörünü değiştirmeden hemen önce kapatılıyor.", + "picodeWhatsNew.fix.whatsNew": "**Yenilikler her güncellemeden sonra açılır.** Yalnızca hata düzelten güncellemeler artık düzeltmelerini burada gösteriyor ve pencere artık boş açılmıyor.", "picodeWhatsNew.full": "Sürüm notlarının tamamı", "picodeWhatsNew.group.free": "Herkese ücretsiz", "picodeWhatsNew.group.pro": "PiCode Pro", diff --git a/src/vs/workbench/contrib/picode/l10n/zh-cn.json b/src/vs/workbench/contrib/picode/l10n/zh-cn.json index 8be10800..b3033556 100644 --- a/src/vs/workbench/contrib/picode/l10n/zh-cn.json +++ b/src/vs/workbench/contrib/picode/l10n/zh-cn.json @@ -642,6 +642,10 @@ "picodeWhatsNew.command": "显示新增功能", "picodeWhatsNew.connect": "连接 GitHub 或 Jira", "picodeWhatsNew.done": "完成", + "picodeWhatsNew.fix.jira": "**连接 Jira 不再依赖你的浏览器。** 有些浏览器在你于 Atlassian 页面同意后,再也不会重新打开 PiCode。现在 PiCode 页面会显示连接到哪个账户,你在那里确认,编辑器会自动发现。", + "picodeWhatsNew.fix.language": "**“新功能”现在使用你的语言。** 修复列表已翻译,窗口会同时保留这个版本系列的新功能和此后的所有修复。", + "picodeWhatsNew.fix.updateAccess": "**更新不再卡在“访问被拒绝”。** PiCode 自带的内存引擎会在更新替换其文件夹之前关闭。", + "picodeWhatsNew.fix.whatsNew": "**每次更新后都会打开“新功能”。** 只修复问题的更新现在也会在这里显示修复内容,窗口也不会再以空白状态打开。", "picodeWhatsNew.full": "完整发行说明", "picodeWhatsNew.group.free": "所有人免费", "picodeWhatsNew.group.pro": "PiCode Pro", diff --git a/src/vs/workbench/contrib/picode/l10n/zh-tw.json b/src/vs/workbench/contrib/picode/l10n/zh-tw.json index 531b4a22..a4c84f59 100644 --- a/src/vs/workbench/contrib/picode/l10n/zh-tw.json +++ b/src/vs/workbench/contrib/picode/l10n/zh-tw.json @@ -642,6 +642,10 @@ "picodeWhatsNew.command": "顯示新功能", "picodeWhatsNew.connect": "連接 GitHub 或 Jira", "picodeWhatsNew.done": "完成", + "picodeWhatsNew.fix.jira": "**連線 Jira 不再依賴你的瀏覽器。** 有些瀏覽器在你於 Atlassian 頁面同意後,再也不會重新開啟 PiCode。現在 PiCode 頁面會顯示連線到哪個帳戶,你在那裡確認,編輯器會自動察覺。", + "picodeWhatsNew.fix.language": "**「新功能」現在使用你的語言。** 修正清單已翻譯,視窗會同時保留這個版本系列的新功能與此後的所有修正。", + "picodeWhatsNew.fix.updateAccess": "**更新不再卡在「存取被拒」。** PiCode 內建的記憶引擎會在更新取代其資料夾之前關閉。", + "picodeWhatsNew.fix.whatsNew": "**每次更新後都會開啟「新功能」。** 只修正問題的更新現在也會在這裡顯示修正內容,視窗也不會再以空白狀態開啟。", "picodeWhatsNew.full": "完整版本資訊", "picodeWhatsNew.group.free": "所有人免費", "picodeWhatsNew.group.pro": "PiCode Pro", From bfdda10c7782335b67b750bdd0aa7436274bd89a Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 9 Nov 2026 10:46:00 +0000 Subject: [PATCH 2/2] release: feed for v2.0.3-experimental (#187) release: update feed for v2.0.3-experimental [skip ci] Co-authored-by: github-actions[bot] --- updates/experimental/whats-new.json | 4 ++++ .../win32/x64/archive/latest.json | 20 +++++++++---------- .../experimental/win32/x64/user/latest.json | 14 ++++++------- 3 files changed, 21 insertions(+), 17 deletions(-) diff --git a/updates/experimental/whats-new.json b/updates/experimental/whats-new.json index dde40a5a..50a04224 100644 --- a/updates/experimental/whats-new.json +++ b/updates/experimental/whats-new.json @@ -1,5 +1,9 @@ { "versions": [ + { + "version": "2.0.2-experimental", + "notes": "### 🐛 Fixed\n\n- **The What's New window lists fixes under \"Bugs fixed\".** When an update only brings fixes, the window still opens and shows them in their own page, and it no longer appears blank when a version has no pages of its own.\n- **Updating no longer stops at \"Access denied\".** The memory engine that PiCode carries is now closed right before the update replaces its folder, so it can no longer keep files open. An engine installed by another program is left alone." + }, { "version": "2.0.1-experimental", "notes": "### 🐛 Fixed\n\n- **Connecting Jira no longer depends on your browser.** Some browsers never opened PiCode again after you agreed on Atlassian's page, so the connection never finished. Now a PiCode page shows which account gets the connection, you confirm it there, and the editor notices by itself." diff --git a/updates/experimental/win32/x64/archive/latest.json b/updates/experimental/win32/x64/archive/latest.json index 40ab7f9c..8be016f0 100644 --- a/updates/experimental/win32/x64/archive/latest.json +++ b/updates/experimental/win32/x64/archive/latest.json @@ -1,15 +1,15 @@ { - "version": "991610d5b71860bf85279304c04139e528279915", - "productVersion": "1.144.11", - "picodeVersion": "2.0.2-experimental", + "version": "4b3ba418b070139b012668ec038ec8ee7aba1b06", + "productVersion": "1.144.12", + "picodeVersion": "2.0.3-experimental", "kind": "hotfix", - "timestamp": 1794213804489, - "url": "https://github.com/Tomas-Platero/PiCode/releases/download/v2.0.2-experimental/PiCode-win32-x64-2.0.2-experimental.zip", - "sha256hash": "62a61b44e0c3b9a6e514fbaca3f15e4f13e7643016066c4a86b0e1d8b39802f0", + "timestamp": 1794221152441, + "url": "https://github.com/Tomas-Platero/PiCode/releases/download/v2.0.3-experimental/PiCode-win32-x64-2.0.3-experimental.zip", + "sha256hash": "aaeb1f452b816bbd2b5a24f995c812ee672da3cc36f848af518c25d595f51ea6", "delta": { - "url": "https://github.com/Tomas-Platero/PiCode/releases/download/v2.0.2-experimental/PiCode-win32-x64-2.0.2-experimental-update-from-2.0.1-experimental.zip", - "sha256hash": "ec7ace4c8874ccb07c23d18db9e1f16fb45ad741f6a0057f0ef0fbd8b8157c01", - "from": "2.0.1-experimental" + "url": "https://github.com/Tomas-Platero/PiCode/releases/download/v2.0.3-experimental/PiCode-win32-x64-2.0.3-experimental-update-from-2.0.2-experimental.zip", + "sha256hash": "0590ac964bfca72a7fc5b64e30e867a3707a285ad3b3ad21f6f9a3243ff5f00f", + "from": "2.0.2-experimental" }, - "signature": "wSUXA4pgdukuDSyPMTWfsrIuK7/vUsbFwqrztV7Zp5CBcKsZNvOswxi1nP1+MNLJIWrsz0nOjuxtkPko4MFFAQ==" + "signature": "fHrzq/D2itNDK2hZM3GKeAYeXdXA1nths8tWFi7s193IhNg4tj2T0vYwhbqXOIVFPh7lkwPktgvK/un/1oKXAQ==" } diff --git a/updates/experimental/win32/x64/user/latest.json b/updates/experimental/win32/x64/user/latest.json index 88f2577d..07a21796 100644 --- a/updates/experimental/win32/x64/user/latest.json +++ b/updates/experimental/win32/x64/user/latest.json @@ -1,10 +1,10 @@ { - "version": "991610d5b71860bf85279304c04139e528279915", - "productVersion": "1.144.11", - "picodeVersion": "2.0.2-experimental", + "version": "4b3ba418b070139b012668ec038ec8ee7aba1b06", + "productVersion": "1.144.12", + "picodeVersion": "2.0.3-experimental", "kind": "hotfix", - "timestamp": 1794213804602, - "url": "https://github.com/Tomas-Platero/PiCode/releases/download/v2.0.2-experimental/PiCode-win32-x64-2.0.2-experimental-setup.exe", - "sha256hash": "a39c3db6a9b56a2b41364116ed48722eae31ffb1edf52fbe2f39587714972a1e", - "signature": "Ky+btLVz8WxK5w2IdGgauwMbFUEA0mbkU1o602wAhd9cw5e77ajzdvOuZy5+rhF+PJ3GM8W1bYo4+0TfPMpOAA==" + "timestamp": 1794221152558, + "url": "https://github.com/Tomas-Platero/PiCode/releases/download/v2.0.3-experimental/PiCode-win32-x64-2.0.3-experimental-setup.exe", + "sha256hash": "4a99de0624c66a3946389e47f6c5e0abbfe1c5b61c549b557fe96bc13d895eac", + "signature": "omb2dsU+L1LueUnbAY2qYAbNj0SZH4nzn0UAKDYuHq+GKjm1Y5uXAejSh319CgyDjorllMN7CHH5WLYgooQ9DQ==" }