FailureNetworks / FailureNTS™

Note-to-self panel for Home Assistant power users.

FailureNTS™ is a local Home Assistant custom integration and messenger-style custom panel for personal notes, shared category threads, image/file attachments, tags, search, reminders, self-destructive notes and ZIP import/export.

v0.0.46 Home Assistant custom panel Local-first Dark mode
README.md

Screenshots

Real V0.046 Home Assistant screenshots, cropped to remove browser chrome. The screenshots are left otherwise intact so the UI state, menus, attachments, share mode and message feed are visible.

FailureNTS V0.046 message feed and note tree
Main Note-to-self feed with categories, image attachments and sticky composer.
FailureNTS V0.046 share mode menu
Share mode and note selection controls.
FailureNTS V0.046 settings menu and mobile notifications
Compact menu with tags, categories, archive, attachments and mobile notifications.
FailureNTS V0.046 shared category chat view
Shared category thread view with tag badges, messages and read-more behavior.

What it does

FailureNTS™ turns Home Assistant into a local note hub. Notes stay tied to real Home Assistant users, but selected notes or full categories can be shared as live conversation threads.

01

Messenger-style feed

Category tree on the left, message feed on the right and a sticky composer at the bottom.

02

Search and categories

Search notes, collapse groups, focus active category only and keep the tree clean.

03

Tags with color tokens

Tag suggestions, category suggestions and badge color suffixes such as @green.

04

Images and files

Upload images/files, paste images from clipboard and download all note attachments as ZIP.

05

Share notes or categories

Share one note, or share a category rule so future messages inherit the same visibility.

06

Import/export

Owner-scoped ZIP export/import with duplicate preview. Imported notes return as private notes.

Installation

1

Copy custom_components/note_to_self into your Home Assistant config folder.

2

Copy www/note-to-self into your Home Assistant config folder.

3

Restart Home Assistant.

4

Go to Settings → Devices & Services → Add Integration and add Note to self.

5

Open Note to self from the sidebar and do one browser hard reload after upgrading.

Easy install from /config
wget -O /tmp/failurents-install.sh http://failurenetworks.net/failurents/install.sh
sh /tmp/failurents-install.sh
No YAML panel registration needed.

V0.046 registers the custom panel at runtime. You do not need panel_custom or frontend.extra_module_url entries in configuration.yaml.

Architecture

Backend trust lives in the Home Assistant integration. The browser asks for data through authenticated WebSocket commands. File uploads/downloads use short-lived HTTP tokens that are prepared by the backend first.

Runtime flow

  1. Home Assistant loads the integration.
  2. WebSocket commands, HTTP token views and service actions are registered.
  3. The custom panel is added to the sidebar.
  4. The panel loads note-to-self-panel.js?v=0.0.46.

Storage flow

  1. Metadata: .storage/note_to_self.storage
  2. Files: /config/note_to_self_uploads/<owner>/YYYY/MM/
  3. Owner and permission checks are resolved by manager.py.
  4. Frontend never chooses ownership or storage path.
Project layout
custom_components/note_to_self/
├─ __init__.py
├─ const.py
├─ manager.py
├─ models.py
├─ websocket_api.py
├─ http.py
└─ storage.py

www/note-to-self/
├─ note-to-self-panel.js
├─ note-to-self-panel-app.js
├─ note-to-self-panel-shell.js
├─ note-to-self-panel-renderers.js
└─ note-to-self-panel-utils.js

Security model

Owner controlscategory, pin/archive, share settings and hard delete
Collaborator controlstitle, content, tags and attachments on shared notes
Tokenized filesshort-lived opaque URLs for upload, preview, download, import and export
Backend authorityshare rules and note ownership are evaluated server-side

Mobile notifications

FailureNTS™ does not ship with personal notification targets. The menu lists only notify.mobile_app_* devices that Home Assistant can match to the currently logged-in user.

1

Install and open the Home Assistant Companion App on the phone or tablet.

2

Make sure the mobile app is logged in as the same Home Assistant user.

3

Open Note to self → menu → Mobile notifications.

4

Tick the devices that should receive FailureNTS notifications.

Downloads

V0.046 highlight

V0.046

Browser freeze recovery cleanup

Removed the V0.044 shell-rebuild recovery path that could repeatedly rebuild the panel shell, multiply listeners and freeze the browser tab. The shell now initializes once, live refresh timers shut down cleanly and recovery stays at banner/log level.