App Update Notifier

by Michael Naumov
5
4
3
2
1
Score: 51/100

Description

Notifies you about new Obsidian app, beta and installer releases, even when auto-update is disabled. It never installs anything.

Reviews

No reviews yet.

Stats

0
stars
135
downloads
0
forks
35
days
4
days
4
days
0
total PRs
0
open PRs
0
closed PRs
0
merged PRs
0
total issues
0
open issues
0
closed issues
102
commits

Latest Version

5 days ago

Changelog

  • test(screenshots): merge the dark theme set through applyObsidianTheme
  • test(screenshots): merge desktop frame 1 re-shot without the search caret
  • docs(screenshots): merge the three frames re-shot under the opaque band
  • test(screenshots): merge the first-check wait before the settings-panel shot
  • test(screenshots): merge the shortened captions that overflowed their frames
  • chore(deps): merge the obsidian-integration-testing 17 float
  • chore(deps): merge the obsidian-test-mocks 7.0.0 raise
  • fix(test): merge the headless demo-vault toolkit install
  • fix(deps): restore the lockfile's missing resolved and integrity fields
  • docs(release-streams): record that Obsidian ships one Catalyst version line
  • fix(mobile): name a Catalyst route a phone has, not the desktop About tab
  • test(screenshots): drop the settings-popout workaround the harness now owns
  • fix(mobile): offer one update route instead of two desktop-only ones
  • fix(test): pin the capture run's Obsidian so shot 2 cannot silently degrade
  • build(markdownlint): forbid hard-wrapped markdown paragraphs
  • chore(deps): drop the dead type-fest override
  • chore(deps): drop the dead markdown-it override
  • chore(deps): drop the dead js-yaml override
  • style(comments): stop capitalizing the middle of a wrapped comment
  • docs: replace the private rule-id citations with what they assert
  • docs: name the library and the sibling plugins so a reader can resolve them
  • docs: replace the private tracker references with what they pointed at
  • chore(deps): move to obsidian-dev-utils 103
  • chore: adopt the npm run gate branch gate
  • docs: say where the debug command is run
  • docs: name the unversioned demo-vault asset and the folder it unzips into
  • chore: make the LICENSE copyright line checkable by the linter and guard it against the year roll-over
  • test(test-mocks): drop the hand-rolled app.plugins stub, and sweep the dependencies
  • fix(test): capture the settings shot in the main window, not a popout
  • test: land the pollInObsidian conversion for the real-feed suites
  • fix(build): wire build:compile to buildCompile and drop the duplicate leaf script

Full Changelog: https://github.com/mnaoumov/obsidian-app-update-notifier/compare/1.0.2...1.0.3

README file from

Github

App Update Notifier

Buy Me a Coffee GitHub release GitHub downloads Coverage: 100%

Turning off Obsidian's automatic updates also turns off its checking, so from then on nothing tells you a release happened — and the installer version, which carries the Electron that gates several Obsidian features, is never checked at all. This plugin watches all three release streams — the app, the insider (Catalyst) build and the installer — reports what is behind in the status bar, and announces each new version exactly once with a link to its changelog. It never installs anything.

Demo vault

The documentation is a demo vault. Every feature has a note that explains what it does and why you would want it, with buttons that run a real check, read what this machine is actually running, and forget which versions you have already been told about — so you see the plugin working rather than read a description of it.

Start reading here — it is plain markdown, so it works on GitHub with nothing installed.

A copy of the vault ships with every release. You can access it via any of the following:

  1. Running the App Update Notifier: Open demo vault command.
  2. Downloading app-update-notifier-demo-vault.zip from the Releases. It unzips into a single app-update-notifier-demo-vault-<version> folder.
  3. Browsing its source in demo-vault/ in this repository.

What it does

The three streams

Obsidian's version is three separate answers that move independently, and this plugin reports each one.

  • App
    • the obsidian.asar bundle Obsidian loads, and the only piece automatic updates replace. Read from desktop-releases.json, the same file Obsidian's own updater reads. On Android, from the newest release that shipped an .apk.
  • Insider build
    • the same app published ahead of the public release to Catalyst license holders. Watched by default only when Obsidian's own insider setting is on, so a vault without Catalyst is never told about a build it cannot install.
  • Installer
    • the executable installed on this machine, which automatic updates never touch. It carries the bundled Electron, and Obsidian gates features on a minimum Electron version — so an old installer silently withholds features with nothing in the interface connecting the two. Desktop only.

What it does with them

  • A status bar item showing what is behind, or Obsidian: up to date. Clicking it opens a panel listing every watched stream, what is installed against what is published, and a changelog link for each. Before the first successful check it says not checked, which is deliberately not dressed up as "up to date".
  • One notice per new version, ever. A version already announced is never mentioned again — not on the next check, not after a restart.
  • A changelog link on everything. A version with no public GitHub release, which is the normal case for a Catalyst build, still resolves its changelog from Obsidian's changelog feed.
  • An Electron warning when the bundled version is below 28.2.3, the floor Obsidian itself checks, with the download link built the same way Obsidian's own recommendation builds it.
  • Both ways to take an update, on the notice and in the panel. Update with new installer (recommended) links the download page for your operating system and architecture; beside it, Settings → General → Check for updates names the route that replaces the app bundle alone and leaves the installer where it is. It is a path rather than a button on purpose — Obsidian's own button is wired to an internal updater a plugin could only press by matching translated text in the DOM. On mobile there is one route instead, Update Obsidian: there is no installer to replace, and that settings path is the desktop About tab.
  • A license-aware Catalyst row. An insider build you cannot install is not a dead end: the panel says what is needed and links Obsidian's early-access page. It never claims you have no Catalyst — Obsidian exposes no way to read that, only whether the insider setting is on. What it names differs by platform, because the channel is reached differently: on desktop, the insider toggle in Settings → General; on mobile, where there is no such tab and no toggle, the insider Discord channels a Catalyst license opens.
  • A Check for updates now command, for when you would rather not wait for the next scheduled check.

Checks run once at startup and then hourly, matching Obsidian's own updater; the interval is configurable, and 0 leaves only the command. A check makes four requests, one of which reaches GitHub's API — so an hourly check uses one of its sixty per hour. A failed check is silent and keeps the last answer it had, rather than reporting "up to date" when it means "could not tell".

Installation

The plugin is available in the official Community Plugins repository.

Beta versions

To install the latest beta release of this plugin (regardless if it is available in the official Community Plugins repository or not), follow these steps:

  1. Ensure you have the BRAT plugin installed and enabled.
  2. Click Install via BRAT.
  3. An Obsidian pop-up window should appear. In the window, click the Add plugin button once and wait a few seconds for the plugin to install.

Debugging

By default, debug messages for this plugin are hidden.

To show them, run the following command in the DevTools Console:

window.DEBUG.enable('app-update-notifier');

For more details, refer to the documentation.

Changelog

All notable changes to this project will be documented in the CHANGELOG.

Contributing

Contributions are welcome — see CONTRIBUTING to get set up.

Support

My other Obsidian resources

See my other Obsidian resources.

License

© Michael Naumov