release infra: build scripts, Firefox signing, plugin fixes
- .gitignore: release/, .env, *.xpi, node_modules/ - .env.example: template for AMO credentials - extension-firefox/package.json: web-ext scripts (lint, sign) - extension-firefox/manifest.json: gecko.id + update_url + data_collection_permissions - scripts/build.sh: renamed binaries (verstak, verstak-server), release target - scripts/sign-firefox-xpi.sh: AMO signing with --self-hosted - scripts/release-firefox-xpi.sh: signed XPI + updates.json generation - scripts/release.sh: full release pipeline (DEB/RPM/checksums/git tag) - VERSION: 0.1.0 - README.md: Firefox extension & release sections Plugin fixes: - internal/core/plugins/manager.go: auto-create .verstak/plugins/ dir - frontend/src/lib/SettingsSidebar.svelte: remove 'plugins' from disabled + active left border - frontend/src/lib/SettingsPlugins.svelte: force ListPlugins refresh on toggle - frontend/src/lib/SettingsWindow.svelte: onPluginToggle callback - frontend/src/App.svelte: refreshSystemViews on plugin toggle - frontend/src/lib/CalendarPluginPage.svelte: visible error icon
This commit is contained in:
@@ -110,10 +110,16 @@ func NewManager(vaultRoot string) *Manager {
|
||||
// Active/Enabled are always false after Discover — call SyncConfig + InitRuntimes to activate.
|
||||
func (m *Manager) Discover() {
|
||||
pluginsDir := filepath.Join(m.vaultRoot, ".verstak", "plugins")
|
||||
// Ensure plugins directory exists
|
||||
if err := os.MkdirAll(pluginsDir, 0o750); err != nil {
|
||||
log.Printf("[plugins] failed to create plugins dir: %v", err)
|
||||
m.plugins = nil
|
||||
return
|
||||
}
|
||||
entries, err := os.ReadDir(pluginsDir)
|
||||
if err != nil {
|
||||
m.plugins = nil
|
||||
return // no plugins dir — OK
|
||||
return
|
||||
}
|
||||
|
||||
newPlugins := make([]Plugin, 0, len(entries))
|
||||
|
||||
Reference in New Issue
Block a user