Skip to content

Releases: criptogus/hermesoffice-embed

v0.1.4 — isolamento de falhas por contribuição

Choose a tag to compare

@criptogus criptogus released this 15 Sep 15:00

Contexto: o HermesOffice sumiu da barra lateral sem nenhuma falha registrada no log do app.

Causa provável

O register() era uma sequência única e compartilhada. Um throw em qualquer contribuição (por exemplo o dock do pane do editor) pula todas as seguintes — chip, rota, linha da barra lateral e paleta — e o app reporta isso como uma falha opaca só.

Correção

Cada contribuição é registrada dentro do seu próprio try/catch, e a linha que falhou é nomeada. Uma contribuição rejeitada agora custa só ela mesma.

Também passa a logar uma linha no sucesso: o app só loga falhas de plugin, então um plugin saudável era indistinguível de um morto no desktop.log — foi exatamente o que tornou o "nada aconteceu" difícil de diagnosticar.

Teste

O load test agora simula o app rejeitando o pane do editor e afirma que a linha da barra lateral e o chip ainda registram, e que a falha é reportada.

Se o plugin não aparecer

⌘K → Reload desktop plugins

Se não voltar, reinicie o Hermes — o watcher de arquivos do app pode estar travado (nenhuma mudança de arquivo/pasta disparava recarga).

v0.1.3 — editor na área central

Choose a tag to compare

@criptogus criptogus released this 15 Sep 14:38

Corrige: ao clicar num documento, o editor abria dentro da coluna lateral em vez da área central.

O que mudou

O pane único continha a lista e o editor, então abrir um documento renderizava o editor dentro do painel lateral.

Agora são dois panes com papéis distintos:

Pane Posição Conteúdo
pane placement: 'right' a lista de documentos (onde um plugin de barra lateral pertence)
editor placement: 'main' + dock: { pane: 'workspace', pos: 'center' } o editor — abre como aba do workspace, na área central

A seleção é compartilhada por um store de módulo lido com useSyncExternalStore, já que cada pane é a sua própria árvore de componentes.

Também

  • A linha da lista marca o documento aberto.
  • O cabeçalho do editor tem recarregar / abrir no preview / fechar.
  • O pane do editor vazio diz onde escolher um documento, em vez de ficar em branco.

Teste

PANE_ID e EDITOR_PANE_ID são exportados e o load test afirma que cada alvo de reveal compõe como <pluginId>:<paneContributionId> — um id que não bate não revela nada, em silêncio.

v0.1.2 — palette + nav fix

Choose a tag to compare

@criptogus criptogus released this 15 Sep 14:21

Fixes two silent registration-shape bugs that made clicks appear to do nothing.

1. Palette row was registered dead

A PaletteContribution lives inside data — the registry builds the row as { id: data.id, area, data }. The command was registered with label in data but run at the top level and no data.id, so it resolved to a null-id row with no runnable action.

Before / after

- data: { label: 'HermesOffice: abrir documentos', codicon: 'file-code' },
- run: () => host.navigate('/hermesoffice')
+ data: {
+   id: 'hermesoffice-embed.open',
+   label: 'HermesOffice · abrir documentos',
+   keywords: ['office', 'docx', 'xlsx', 'pptx', 'pdf'],
+   run: () => host.navigate('/hermesoffice')
+ }

2. Sidebar nav used a codicon the app does not ship

file-code is not in the app's glyph set — an unknown name renders an invisible box rather than failing. Now project, proven by both theme-forge and the bundled plugins.

Test coverage

The load test now asserts each area's contract — palette (data.id, data.label, data.run), route (data.path + render), nav (data.path + data.label + a proven codicon) — and is layout-agnostic, so the same file runs from the repo and from an installed copy. Verified it fails on the old shape and passes on the fix.

Install

hermes plugins install criptogus/hermesoffice-embed

v0.1.1 — install fix

Choose a tag to compare

@criptogus criptogus released this 15 Sep 14:12

Fixes an install blocker in v0.1.0 — do not use v0.1.0.

Plugin 'hermesoffice-embed' requires manifest_version 2, but this installer only supports up to 1.

The catalog admission gate accepts manifest_version: 2, but the plugin installer caps at 1 and refuses anything higher. Manifests now declare manifest_version: 1, matching every current catalog entry.

Verified by installing the published repo into an isolated HERMES_HOME and running the bridge from the installed location.

Install

hermes plugins install criptogus/hermesoffice-embed

v0.1.0

v0.1.0 Pre-release
Pre-release

Choose a tag to compare

@criptogus criptogus released this 15 Sep 14:10

⚠️ Uninstallable — use v0.1.1. This tag declares manifest_version 2, which the plugin installer rejects.