Skip to content

Releases: johannes-kaindl/anysource-sideloader

0.5.1

Choose a tag to compare

@github-actions github-actions released this 03 Oct 22:28

Added

  • The GitHub release now also carries a ready-to-unpack anysource-sideloader.zip (the plugin folder with main.js, manifest.json and styles.css) and a checksums.sha256 file. For a manual install, download the zip and unpack it into .obsidian/plugins/ instead of creating the folder and saving three files by hand.

Changed

  • The changelog is now written entirely in English.
  • The README shows a new screenshot of the access-token settings.

0.5.0

Choose a tag to compare

@github-actions github-actions released this 26 Sep 19:13

Added

  • Help row at the top of the settings with links to the documentation and the issue tracker.

0.4.4

Choose a tag to compare

@github-actions github-actions released this 26 Sep 16:19

Changed

  • „Install plugin from URL“: das Adressfeld füllt jetzt die Zeile. Es saß schmal am rechten Rand, links blieb eine leere Fläche, und der Platzhalter war abgeschnitten. Neu steht der Name „Repository URL“ mit einer Beschreibung über dem Feld (src/i18n/strings.ts, installUrl.fieldName/fieldDesc), das Feld nimmt die volle Breite; die Regel in styles.css setzt nur das Layout.

Documentation

  • Neue Seite docs/how-to/troubleshooting.md (Meldung → Ursache → Abhilfe), README-Links absolut, Erstinstallation über die drei GitHub-Release-Dateien, README-Bilder.
  • Korrigiert: die Doku nannte ein „source field“ in den Einstellungen. Ein Repository fügt man über den Befehl „Install plugin from URL“ hinzu, Katalog-URLs unter „Catalogs“.

0.4.3

Choose a tag to compare

@github-actions github-actions released this 24 Sep 15:06

Changed

  • authorUrl im Manifest zeigt wieder auf das GitHub-Profil (https://github.com/johannes-kaindl),
    nach der Rueckkehr in den Community Store.
  • Schluesselbund-Zugriff kommt jetzt aus obsidian-kit@0.37.1 statt aus einer eigenen
    Kopie (src/obsidian/secrets.ts entfernt, src/vendor/kit/secrets.ts +
    src/vendor/kit-obsidian/secrets.ts vendoriert). Sichtbare Folge: SecretStore bekommt
    delete(id) (ein geloeschter Endpunkt nimmt sein Token mit) und obsidianSecretStore(...).get()
    liefert bei einem leeren Secret jetzt null statt eines leeren Strings; der
    Verfuegbarkeits-Check beim Start prueft ueber secretStorageAvailable(app) sowohl
    getSecret als auch setSecret statt nur getSecret.
  • Release notes before an update now cover the whole version delta, not just the latest
    release.
    Updating from 0.3.1 to 0.5.0 used to show only 0.5.0's notes; it now shows 0.5.0,
    0.4.1 and 0.4.0, newest first, each under its own version heading — the same modal, just fed
    every release newer than the installed version instead of only the last one fetched.

0.4.2

Choose a tag to compare

@github-actions github-actions released this 24 Sep 13:00

Added

  • Releases now carry anysource-sideloader.zip — a one-download bootstrap for the manual
    first install.
    The archive holds a correctly named anysource-sideloader/ folder with
    main.js, manifest.json and styles.css, and is covered by checksums.sha256 like every
    other asset. The link
    .../releases/download/latest/anysource-sideloader.zip is stable across versions, so
    documentation can name it once.
    The reason is measured: a forge serves the individual assets as text/plain with
    content-disposition: inline, so clicking main.js in a browser opens it as text instead
    of downloading it, and browsers then tend to append .txt. The resulting install looks like
    a broken plugin rather than a mis-saved file. The archive gets a real download dialog, turns
    three downloads into one, and removes the need to create a folder and type its name.
    (Built by the shared release tooling, so every plugin using it gets the same asset.)
  • Documentation restructured after Diátaxis in docs/: a
    tutorial, five how-to guides, three
    reference pages and three
    explanation pages. The README shrank from 213 to ~140 lines and
    now links rather than retells — notably, the install instructions were on line 47 behind two
    explanatory sections.

Fixed

  • A fresh install now subscribes to the same catalog the README tells you to subscribe to.
    DEFAULT_CATALOG_URL still pointed at a predecessor repository: the README was moved to the
    current catalog in 0.4.1 and the code was left behind. Both URLs answered with HTTP 200, so
    no link check could see it — the visible effect was that following the README added a second,
    near-identical catalog to the browse list. The predecessor also carried no tags on any of its
    23 entries, and the browse filter searches name, description or tag, so searching by tag
    found nothing there.
    A test now checks the seam rather than the value: it reads both READMEs and asserts they name
    exactly the URL the code subscribes to. A test that merely repeated the string would have been
    edited along with the next move and confirmed nothing.

Changed

  • The manual install instructions no longer mention a filesystem path. They now use
    Obsidian's own Open plugins folder button, which makes the procedure identical on macOS,
    Linux and Windows and removes the need to unhide .obsidian. Exiting Restricted mode is now
    step 1 rather than an afterthought: a plugin sitting in exactly the right folder never loads
    while that mode is on, and every other indicator looks healthy, so the symptom reads as a
    broken plugin.

  • The GUI smoke checklist moved from docs/SMOKE.md to docs/internal/SMOKE.md, keeping
    docs/ user-facing. References in code and scripts were updated with it.

  • The button in each Installed plugins row now changes with the state. It reads
    Check while nothing is pending and becomes Update to <version> once a newer
    release is known, so an update can be installed from the row that reports it. Until now
    the row displayed "Update available: 0.4.1" and offered only a re-check next to it —
    installing meant switching to the Updates section, which stays as the overview.
    The status indicator is dropped while an update is pending: the row states it once,
    through the button, instead of twice.

0.4.0

Choose a tag to compare

@johannes-kaindl johannes-kaindl released this 02 Sep 10:18

Added

  • A loading indicator while checking for updates (is-checking, UI-STANDARD §8). The
    reason is measured, not assumed: checkAllUpdates fetches sequentially, and with the 22
    plugins of the production vault that takes 1.8 s against a self-hosted Forgejo on the LAN
    and an extrapolated 6.7 s against GitHub (5 samples, 305 ms mean per request). Until now
    the click produced no visible response at all for that long. Deliberately a single state:
    the outcome is already reported as a Notice — what was missing was the time in between.
    Deliberately not setDisabled (see below).

Fixed

  • GUI smoke: E5 was not self-contained. It was red in --section settings and green in
    a full run. Cause measured: between filling the field and clicking "Add host", the tab
    redraws (the catalog entered in E4 finishes loading and triggers refresh()), leaving a
    different, empty input for the click to hit. The check now re-applies the value until it
    stays put. ⚠️ The underlying product issue — a redraw discards a keystroke in progress —
    is tracked separately; it can hit a real user typing while the catalog loads.

Documented

  • The freeze cause is no longer open. The "Check now" freeze of 2026-09-01 was fixed by
    removing two suspects at once, leaving it unclear which one mattered. Seven runs in an
    isolated second Obsidian instance separated them: neither suspect freezes on its own.
    The trigger is the conjunction — ButtonComponent.setDisabled() called from the
    microtask of the flow promise, inside the settings window. Two variants differing from
    the defect in exactly one detail each (contents of the finally; timer instead of
    microtask) both run fine. Full table in docs/SMOKE.md § Freeze.

  • German README added (README.de.md, CORE-META-09), with a language toggle in both
    files. The English README.md stays canonical.

  • The README claimed the raw fallback only knows main. It has known master as well
    since 0.3.1 — the CHANGELOG said so, the README did not. Corrected in both places it was
    stated ("Adding sources" and "Known limitations").

0.3.1

Choose a tag to compare

@johannes-kaindl johannes-kaindl released this 01 Sep 23:40

Fixed

  • A raw source on a master repository was unreachable. The default branch was
    hard-coded to main; it now falls back to master when main returns 404, and the asset
    URLs follow whichever branch actually answered. The error message still names the main
    attempt — that is the expected name, and reporting master would send the search the
    wrong way.
  • A forge outage no longer buries the screen in notices. With twenty tracked plugins, a
    failed check produced twenty identical notices and hid the actual result underneath. They
    are summarised into one line now, and "everything up to date" is no longer claimed when
    checks failed — that would be a statement about plugins that could not be checked.

Removed

  • Dead github branch in the raw URL builder. detectForge never routes github.com through
    the raw path, so it could not run — and dead code that builds a foreign URL shape is the
    kind that gets mistaken for proven.

0.3.0

Choose a tag to compare

@johannes-kaindl johannes-kaindl released this 01 Sep 23:31

Changed — the store moved into the settings tab

  • The sidebar view is gone. Browsing catalogs, tracking installed plugins and applying
    updates all happen in the plugin's settings tab now — where Obsidian manages plugins
    anyway, and where BRAT and comparable plugins put it. The ribbon icon is removed; the
    "Open settings" command opens the tab.
  • Why this is more than a move: the view carried its own card and row CSS, built beside
    Obsidian's own building blocks instead of on them. One consequence was visible — catalog
    titles used an <h3> with no size rule and rendered far too large in a sidebar. In the
    settings tab, Obsidian's Setting API supplies layout and typography, so styles.css
    shrank from 105 to ~30 lines and the whole class of problem is gone rather than patched.

Fixed

  • The catalog cache survived a change of subscriptions — removing a catalog left its
    entries on screen.
  • The on-disk state was only read when a catalog loaded — installing a plugin outside
    this one (BRAT, by hand) left the entry showing "Install".
  • "Check now" did not refresh an open settings tab — you pressed it, got a notice, and
    the list still showed the old state.

0.2.1

Choose a tag to compare

@johannes-kaindl johannes-kaindl released this 01 Sep 22:05

Fixed

  • Clicking "Check now" in the settings froze the whole app. Not just the settings
    window — both renderers stopped responding, with no exception and no console message,
    and the state persisted until Obsidian was restarted. The check now runs through the
    registered command, which executes in the workspace context where the same flow is
    measured to work.

0.2.0

Choose a tag to compare

@johannes-kaindl johannes-kaindl released this 01 Sep 20:57

Added

  • Track already-installed plugins. The Browse tab now reads what is actually in the
    vault instead of only what this plugin installed itself. A catalog entry whose plugin is
    present but untracked offers "Track for updates"; a "Track all N installed" button above
    the list does the whole set at once. Until now such plugins were invisible: Browse
    offered "Install" for something long installed, and the update check ran over an empty
    list — it never reported anything because it knew nothing.
  • "Check for updates" as a button, in the Updates tab and in the settings. Both run the
    same flow as the existing command; the button in the Updates tab sits above the empty
    state, so it is there precisely when nothing was found and you want to know whether the
    check ran at all.
  • Catalog cards now show the installed version and whether it is current — a checkmark
    state for "up to date", a warning state for "1.2.0 → 1.3.0 available".

Changed

  • An update check with nothing tracked now says so instead of reporting "all up to date",
    which looked like a result and was none.