Edit workspace files directly on web (#2270)
* feat(files): edit workspace files on web Keep source buffers synchronized with host file changes and require an explicit overwrite or reload when revisions diverge. * feat(panels): surface and protect modified tabs Expose tooltip and modification state through the generic panel boundary so tabs can show stable metadata and guard every close route consistently. * fix(tests): use portable fake timeout handle * fix(files): harden editor conflict handling Preserve modified panel state across tab eviction, use precise revisions for optimistic writes, coalesce concurrent file watchers, and localize the editor interface. * fix(files): close editor concurrency gaps Coalesce clean reloads, preserve subscriber identities and file permissions, suspend pending saves during close confirmation, and carry precise revisions through file reads. * test(files): expect read revision metadata
This commit is contained in:
@@ -470,6 +470,7 @@ export const ptBR: TranslationResources = {
|
||||
},
|
||||
tabs: {
|
||||
loading: "Carregando...",
|
||||
modified: "Alterações não salvas",
|
||||
loadingAgentTitle: "Carregando título do agente",
|
||||
emptyPane: "Nenhuma aba neste painel.",
|
||||
fallback: {
|
||||
@@ -536,6 +537,12 @@ export const ptBR: TranslationResources = {
|
||||
failedToReloadAgent: "Falha ao recarregar agente",
|
||||
},
|
||||
confirmations: {
|
||||
unsavedTitle: "Alterações não salvas",
|
||||
unsavedMessage: "Esta aba tem alterações não salvas. Fechá-la descartará o rascunho.",
|
||||
closeWithoutSaving: "Fechar sem salvar",
|
||||
closePaneTitle: "Fechar painel?",
|
||||
bulkUnsaved:
|
||||
"{{count}} aba(s) têm alterações não salvas. Fechar descartará esses rascunhos.",
|
||||
close: "Fechar",
|
||||
cancel: "Cancelar",
|
||||
archive: "Arquivar",
|
||||
@@ -1475,6 +1482,25 @@ export const ptBR: TranslationResources = {
|
||||
binaryPreviewUnavailable: "Prévia binária indisponível",
|
||||
failedToLoad: "Falha ao carregar arquivo",
|
||||
failedToLoadPreview: "Falha ao carregar prévia do arquivo",
|
||||
editor: {
|
||||
fileSize: "Tamanho {{size}}",
|
||||
lines: "{{count}} linhas",
|
||||
editorStatus: "Status do editor: {{status}}",
|
||||
unsavedChanges: "Alterações não salvas",
|
||||
saving: "Salvando...",
|
||||
saveFailed: "Falha ao salvar",
|
||||
changedOnDisk: "Alterado no disco",
|
||||
vimMode: "Modo Vim {{mode}}",
|
||||
cursor: "Linha {{line}}, coluna {{column}}",
|
||||
preview: "Prévia",
|
||||
source: "Fonte",
|
||||
unavailableTitle: "Arquivo indisponível no disco",
|
||||
conflictDescription: "O conteúdo local foi preservado. Escolha qual versão manter.",
|
||||
overwrite: "Sobrescrever",
|
||||
reload: "Recarregar",
|
||||
reloadTitle: "Recarregar do disco?",
|
||||
reloadMessage: "Suas alterações locais serão perdidas.",
|
||||
},
|
||||
},
|
||||
diff: {
|
||||
changesLabel: "Alterações",
|
||||
@@ -1570,12 +1596,18 @@ export const ptBR: TranslationResources = {
|
||||
sections: {
|
||||
general: "Geral",
|
||||
appearance: "Aparência",
|
||||
editor: "Editor",
|
||||
shortcuts: "Atalhos",
|
||||
integrations: "Integrações",
|
||||
permissions: "Permissões",
|
||||
diagnostics: "Diagnósticos",
|
||||
about: "Sobre",
|
||||
},
|
||||
editor: {
|
||||
title: "Editor",
|
||||
vimKeybindings: "Atalhos do Vim",
|
||||
vimHint: "Aplica-se a arquivos-fonte na web e no desktop.",
|
||||
},
|
||||
hostSections: {
|
||||
connections: "Conexões",
|
||||
agents: "Agentes",
|
||||
|
||||
Reference in New Issue
Block a user