Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
a62ed46
docs: add 6.6.0 toolchain modernization design spec
jthrilly Jun 8, 2026
4f82c1b
docs: add 6.6.0 toolchain modernization implementation plan
jthrilly Jun 8, 2026
57af137
build: target Node 24 LTS
jthrilly Jun 8, 2026
823b177
refactor: vendor networkQuery, network-exporters, protocol-validation…
jthrilly Jun 8, 2026
b58acd7
refactor: strip vendored submodule package metadata
jthrilly Jun 8, 2026
5425481
feat: remove obsolete Server integration (pairing, mDNS, secure-comms)
jthrilly Jun 8, 2026
bc9390e
build: replace webpack/CRA/jest toolchain with vite 7 + electron-vite…
jthrilly Jun 8, 2026
5b6daaa
build: add vite renderer config, root index.html, worker + postcss mi…
jthrilly Jun 8, 2026
83e9dde
feat(electron): hardened main process + contextBridge IPC (C.3/C.4)
jthrilly Jun 8, 2026
a8c2240
feat(electron): migrate renderer to NCAPI bridge + harden IPC; build …
jthrilly Jun 8, 2026
1771480
fix(renderer): route all remaining native calls through NCAPI (C.5 ru…
jthrilly Jun 8, 2026
df836c0
fix(renderer): resolve runtime Node-dep issues; app builds + launches…
jthrilly Jun 8, 2026
f0b5ef1
fix(protocol): decode readFile bytes before JSON.parse in parseProtocol
jthrilly Jun 8, 2026
f08cfc9
test: migrate to vitest (jest->vi codemod, enzyme harness); 80/96 fil…
jthrilly Jun 8, 2026
0b6aa27
test: fix remaining vitest failures and async leaks; full suite green
jthrilly Jun 8, 2026
ed430a6
test: remove dead Spectron integration suite + jest artifacts (D.4)
jthrilly Jun 8, 2026
72ef7a9
feat(mobile): migrate Cordova -> Capacitor 8 (E.1-E.3)
jthrilly Jun 8, 2026
0da1a21
build(mobile): scaffold and sync Capacitor iOS + Android native proje…
jthrilly Jun 8, 2026
7aa5027
chore: version 6.6.0, remove dead webpack/CRA config, clean lint (F.1…
jthrilly Jun 8, 2026
a3d3fe4
docs: modernize README + CI for Node 24 / Vite / Capacitor (F.3)
jthrilly Jun 8, 2026
9da19a9
feat: handle Electron lazy binary download + on-device file picker
jthrilly Jun 8, 2026
8f7dd8d
chore: gitignore build output (out/, dist/); untrack committed artifacts
jthrilly Jun 8, 2026
4b2e175
test: fix CI failures (.only modifiers + animejs rAF teardown leak)
jthrilly Jun 8, 2026
9d9dbc1
ci: bump actions/checkout + actions/setup-node to v6
jthrilly Jun 8, 2026
79d0e26
refactor: convert vendored packages to native ESM for Vite dev
jthrilly Jun 8, 2026
cefafd7
fix(protocol): download protocols in main to avoid renderer CORS
jthrilly Jun 8, 2026
edad7e0
test: ignore animation-frame teardown errors; add dev VS Code task
jthrilly Jun 8, 2026
5f74495
fix(security): guard protocol download against SSRF
jthrilly Jun 8, 2026
894a62e
fix(security): harden protocol-download SSRF guard
jthrilly Jun 8, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
28 changes: 0 additions & 28 deletions .dockerignore

This file was deleted.

33 changes: 31 additions & 2 deletions .eslintrc.json
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,16 @@
"dyad",
"Dyad",
"hostname",
"searchable"
"searchable",
"ios",
"mailto",
"nodebuffer",
"preload",
"reduxstore",
"renderer",
"utils",
"loopback",
"unicast"
],
"skipIfMatch": [
"http(s)?://[^s]*",
Expand All @@ -139,5 +148,25 @@
"minLength": 3
}
]
}
},
"overrides": [
{
"files": ["**/*.test.js", "**/__tests__/**", "**/__mocks__/**", "vitest.setup.js"],
"rules": {
"react/no-unknown-property": "off"
},
"globals": {
"vi": "readonly",
"describe": "readonly",
"it": "readonly",
"test": "readonly",
"expect": "readonly",
"beforeAll": "readonly",
"afterAll": "readonly",
"beforeEach": "readonly",
"afterEach": "readonly",
"vitest": "readonly"
}
}
]
}
34 changes: 7 additions & 27 deletions .github/workflows/dist.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,36 +11,16 @@ jobs:
dist:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
submodules: recursive
# Set python version to 2.x due to node-gyp and sass
- uses: actions/setup-python@v4
with:
python-version: "3.10.12"
# Set node version
- uses: actions/setup-node@v4
with:
node-version: "14.21.3"
- name: Set NPM 7
run: npm install -g npm@8.19.4
# Cache node_modules
- uses: actions/cache@v4
env:
cache-name: cache-node-modules
with:
path: "**/node_modules"
key: ${{ runner.os }}-modules-${{ hashFiles('**/package-lock.json') }}

- name: Install MDNS build dependencies
run: |
sudo apt-get update
sudo apt-get install libavahi-compat-libdnssd-dev
node-version: "24"
cache: npm

- name: Install node modules
run: npm install
- name: Install dependencies
run: npm ci

- name: Dist
- name: Dist (Linux)
run: npm run dist:linux -- --publish always
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
72 changes: 16 additions & 56 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,73 +11,33 @@ jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
submodules: recursive
# Set python version to 2.x due to node-gyp and sass
- uses: actions/setup-python@v4
with:
python-version: "3.10.12"
# Set node version
- uses: actions/setup-node@v4
with:
node-version: "14.21.3"
- name: Set NPM 7
run: npm install -g npm@8.19.4
# Cache node_modules
- uses: actions/cache@v4
env:
cache-name: cache-node-modules
with:
path: "**/node_modules"
key: ${{ runner.os }}-modules-${{ hashFiles('**/package-lock.json') }}

- name: Install MDNS build dependencies
run: |
sudo apt-get update
sudo apt-get install libavahi-compat-libdnssd-dev
node-version: "24"
cache: npm

- name: Install node modules
run: npm install
- name: Install dependencies
run: npm ci

- name: Lint
run: npm run lint -- --max-warnings 0 && npm run sass-lint -- --max-warnings 0

- name: Run tests
run: npm run test
- name: Test
run: npm run test:ci

build:
needs: test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
submodules: recursive
# Set python version to 2.x due to node-gyp and sass
- uses: actions/setup-python@v4
with:
python-version: "3.10.12"
# Set node version
- uses: actions/setup-node@v4
with:
node-version: "14.21.3"
- name: Set NPM 7
run: npm install -g npm@8.19.4
# Cache node_modules
- uses: actions/cache@v4
env:
cache-name: cache-node-modules
with:
path: "**/node_modules"
key: ${{ runner.os }}-modules-${{ hashFiles('**/package-lock.json') }}

- name: Install MDNS build dependencies
run: |
sudo apt-get update
sudo apt-get install libavahi-compat-libdnssd-dev
node-version: "24"
cache: npm

- name: Install node modules
run: npm install
- name: Install dependencies
run: npm ci

- name: Build
run: npm run build:electron
- name: Build (Vite + Electron)
run: npm run build
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@
/docs-build
/plugins

# Build output
/out
/dist

npm-debug.log*
yarn-debug.log*
yarn-error.log*
Expand Down
9 changes: 0 additions & 9 deletions .gitmodules

This file was deleted.

2 changes: 1 addition & 1 deletion .node-version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
14.21.3
24
2 changes: 1 addition & 1 deletion .npmrc
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
save-prefix=~
arch=x64
legacy-peer-deps=true
1 change: 1 addition & 0 deletions .nvmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
24
22 changes: 22 additions & 0 deletions .vscode/tasks.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
{
"version": "2.0.0",
"tasks": [
{
"label": "Dev: Vite + Electron",
"detail": "Start the Vite dev server and launch Electron (electron-vite dev)",
"type": "npm",
"script": "dev",
"problemMatcher": [],
"isBackground": true,
"group": {
"kind": "build",
"isDefault": true
},
"presentation": {
"reveal": "always",
"panel": "dedicated",
"clear": true
}
}
]
}
46 changes: 0 additions & 46 deletions Dockerfile

This file was deleted.

Loading