Zaid Humaimidi
6f3ce6f7c8
refactor: replace array-based expressions with typed class hierarchy
...
Replace the old Lisp-like array expression representation
(["AND", ["PARAM", ...], ...]) with a class hierarchy rooted in
an abstract Expression class (Literal, Parameter, Binary, Unary,
FunctionCall, Conditional). This gives compile-time type safety
to expression construction, evaluation, and pattern matching.
Key changes:
- New lib/common/expression.ts defines the class hierarchy with
map/evaluate/toString methods
- Rewrite parser as hand-rolled recursive descent, removing the
parsimmon dependency
- Extend Path with a colon separator to unify parameter identity
and attributes into a single address space (e.g.
"Device.WiFi.SSID.1.Name:writable"). The colon field tracks
how many trailing segments are attribute qualifiers. PathSet
rewritten with separate param/attr segment indexes
- Flatten device attribute representation in the UI to
colon-delimited keys mirroring the new path syntax
2026-03-12 14:58:20 -07:00
Zaid Humaimidi
75908e624f
build: migrate eslint to v10 flat config and upgrade typescript
...
Replace .eslintrc.json with eslint.config.js using the new flat config
format required by ESLint 10. Swap @typescript-eslint/eslint-plugin and
@typescript-eslint/parser for the unified typescript-eslint package.
Upgrade TypeScript to 5.9 and @types/node to 25. Apply automatic code
fixes: remove unused catch bindings and preserve error cause in auth
header parsing.
2026-03-12 14:58:19 -07:00
Zaid Humaimidi
4a191afdec
feat(ui): redesign UI with Tailwind CSS, CodeMirror 6, and new layout
...
- Replace all hand-written CSS with Tailwind utility classes
- Upgrade CodeMirror 5 to CodeMirror 6 (scoped @codemirror/* packages)
- Redesign layout with responsive sidebar navigation using JSX/Mithril
- Flatten admin routes (e.g. /admin/presets -> /presets)
- Add "remember me" login option with 2-week persistent cookie
- Add delete confirmation dialogs across admin pages
- Upgrade esbuild from 0.21 to 0.27 and update browser targets
- Add Inter and Roboto Mono variable fonts with subset script
2026-03-12 14:55:10 -07:00
Zaid Humaimidi
a7256620e0
chore: bump version to 1.3.0-dev
2026-03-12 14:28:07 -07:00
Zaid Humaimidi
bef840ce0a
docs: add ARCHITECTURE.md and AGENTS.md, expand CONTRIBUTING.md
...
Add ARCHITECTURE.md with comprehensive codebase map covering service
boundaries, expression system, session engine, sandbox, database layer,
and architectural invariants. Add AGENTS.md as a concise guide for AI
coding agents. Expand CONTRIBUTING.md with detailed code style, naming,
import, testing, and git workflow conventions.
2026-03-12 14:26:46 -07:00
Zaid Humaimidi
cc723c0b50
1.2.14
v1.2.14
2026-03-12 14:26:22 -07:00
Zaid Humaimidi
a2a6fd82f3
Changelog for v1.2.14
2026-03-12 14:25:25 -07:00
Zaid Humaimidi
729beba0ed
Update dependencies
2026-03-12 12:38:03 -07:00
Zaid Humaimidi
1b14387aa2
Fix covers() for false and contradictions
2026-03-12 10:21:03 -07:00
Zaid Humaimidi
49cdd39617
Fix (de)serialization bug in VersionedMap
2025-02-12 19:05:08 -08:00
Zaid Humaimidi
4be39ed742
Replace deprecated koa middleware
2024-10-04 11:28:04 -07:00
Zaid Humaimidi
8ddb692370
Prevent UI crash when malformed URL is sent
2024-10-04 11:05:07 -07:00
Zaid Humaimidi
fc80a7d487
1.2.13
v1.2.13
2024-06-06 12:55:38 -07:00
Zaid Humaimidi
f34f10edc7
Changelog for v1.2.13
2024-06-06 12:55:12 -07:00
Zaid Humaimidi
a416f68b76
Update dependencies
2024-06-06 12:52:53 -07:00
Zaid Humaimidi
2b61c8f7b8
Fix race condition when deleting multiple faults
2024-05-23 13:22:35 -07:00
Zaid Humaimidi
756912eeb1
Fix dynamic evaluation of UI config expressions
2024-04-22 14:14:12 -07:00
Zaid Humaimidi
5c4fc3263b
Increase server timeout to 2 mins
...
To allow enough time for running unindexed queries in large deployments.
2024-04-18 12:16:44 -07:00
Zaid Humaimidi
307b9f57b0
Fix bug in Mongo query construction
2024-04-18 11:51:29 -07:00
Zaid Humaimidi
0f6604ffbd
1.2.12
v1.2.12
2024-03-28 12:56:35 -07:00
Zaid Humaimidi
f57a26c95b
Changelog for v1.2.12
2024-03-28 12:04:31 -07:00
Zaid Humaimidi
60e6d8b175
Fix regression in CSV and JSON streaming
2024-03-27 14:08:35 -07:00
Zaid Humaimidi
ab80a62c5c
Fix bug preventing XMPP client from connecting
2024-03-27 13:57:09 -07:00
Zaid Humaimidi
3134b63b68
Add requirements.txt for RTD
2024-03-21 13:06:33 -07:00
Zaid Humaimidi
2b1bca7dde
Add .readthedocs.yaml file
2024-03-21 12:27:40 -07:00
Zaid Humaimidi
fd046ea8e3
1.2.11
v1.2.11
2024-03-21 12:03:24 -07:00
Zaid Humaimidi
8091907071
Changelog for v1.2.11
2024-03-21 11:32:43 -07:00
Zaid Humaimidi
872aa1c608
Update dependencies
2024-03-21 11:29:32 -07:00
Zaid Humaimidi
cdbfb172c7
Remove certificate validation check
...
Breaks compatibility with Node 12 and it's not really necessary anyway.
2024-03-20 17:11:14 -07:00
Zaid Humaimidi
c6fe696300
1.2.10
v1.2.10
2024-03-18 19:32:26 -07:00
Zaid Humaimidi
8d7d4de386
Changelog for v1.2.10
2024-03-18 19:29:55 -07:00
Zaid Humaimidi
3701c73b00
Update dependencies
2024-03-18 19:17:47 -07:00
Zaid Humaimidi
6e501990e0
Update author in package.json
2024-03-18 18:56:09 -07:00
Zaid Humaimidi
450fc6fe53
Fix lock expired errors
2024-03-11 11:04:49 -07:00
Divya Jagadish
6962cedba9
Fix exception caused by invalid con req URL
2024-03-09 13:14:38 -08:00
Zaid Humaimidi
227a005400
Fix exception when URL has two trailing slashes
2024-03-07 13:27:06 -08:00
Divya Jagadish
24cd3f5670
Support cert and key as string env variable
2024-03-03 13:48:00 -08:00
Divya Jagadish
052706877a
Fix bug in Change Password
2024-03-02 11:31:47 -08:00
Zaid Humaimidi
867e7e768d
Fix crash with certain validator expressions
2024-03-01 09:47:12 -08:00
Zaid Humaimidi
1c61504a68
Fix regression in f3068c5
2024-03-01 09:43:52 -08:00
Zaid Humaimidi
effd574f4e
XMPP connection request
2024-02-27 11:41:03 -08:00
Zaid Humaimidi
f3068c5355
Improve pagination/sorting
2024-02-24 04:26:40 -08:00
Zaid Humaimidi
f8e6e93602
Better version metadata string
2023-12-19 13:11:59 -08:00
Zaid Humaimidi
e6c8d4f3f2
Build script improvements
2023-12-18 23:57:44 -08:00
Zaid Humaimidi
0dee9a5f00
Remove license headers and update imports
2023-12-18 19:13:59 -08:00
Zaid Humaimidi
bfbbdb12ca
Fix label issue in some components
2023-12-18 11:33:49 -08:00
Zaid Humaimidi
ddb240d542
Migrate from Ava test framework to node:test
2023-12-17 22:26:52 -08:00
Zaid Humaimidi
0c9c027a77
Update linting
2023-12-16 19:08:13 -08:00
Zaid Humaimidi
4f2dfb4f48
Drop Rollup in favor of esbuild
2023-12-12 22:27:58 -08:00
Zaid Humaimidi
342210faf1
Utilize locks to prevent certain edge case issues
2023-12-06 11:10:23 -08:00