Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
65 commits
Select commit Hold shift + click to select a range
2835ef5
core: disable v8-compile-cache for ESM imports
RubenKelevra Feb 9, 2026
3e457df
webui: init electron-serve via dynamic import
RubenKelevra Feb 9, 2026
0551218
i18n: load i18next-icu via dynamic import
RubenKelevra Feb 9, 2026
2b9c05f
deps: bump electron-serve to ^3.0.1
RubenKelevra Feb 9, 2026
1ce2232
deps: bump i18next-icu and intl-messageformat
RubenKelevra Feb 9, 2026
d2c4862
deps: drop v8-compile-cache
RubenKelevra Feb 9, 2026
51bd846
tooling: bump electron-builder to 26.7.0
RubenKelevra Feb 9, 2026
24071a3
tooling: bump patch-package to ^8.0.1
RubenKelevra Feb 9, 2026
bc8867e
deps: pin electron-store to 8.1.0
RubenKelevra Feb 9, 2026
19f7d0c
tooling: bump devDependencies
RubenKelevra Feb 9, 2026
db56e70
deps: bump fs-extra to ^11.3.3
RubenKelevra Feb 9, 2026
92c2164
deps: bump @electron/notarize
RubenKelevra Feb 9, 2026
42f8be2
deps: bump winston
RubenKelevra Feb 9, 2026
413f349
deps: bump i18next-fs-backend
RubenKelevra Feb 9, 2026
9f492f5
deps: bump countly-sdk-nodejs
RubenKelevra Feb 9, 2026
19f047e
deps: bump electron (dev)
RubenKelevra Feb 9, 2026
8b51921
deps: pin i18next-fs-backend
RubenKelevra Feb 9, 2026
d80c60c
dev: add typescript
RubenKelevra Feb 10, 2026
4070a5f
dev: add globals
RubenKelevra Feb 10, 2026
ff969d5
deps: bump i18next
RubenKelevra Feb 10, 2026
567605a
lint: switch to ESLint
RubenKelevra Feb 10, 2026
afe873e
deps: bump @playwright/test
RubenKelevra Feb 10, 2026
6d90160
deps: bump @typescript-eslint
RubenKelevra Feb 10, 2026
40aef42
deps: bump eslint
RubenKelevra Feb 10, 2026
42b5fd2
deps: bump electron-updater
RubenKelevra Feb 10, 2026
8f38bae
deps: bump non-ipfs runtime deps
RubenKelevra Feb 10, 2026
dff64c2
deps: bump ipfs-utils
RubenKelevra Feb 10, 2026
8c950ba
deps: bump ipfs-http-client
RubenKelevra Feb 10, 2026
b1c3dd4
refactor: drop untildify for autostart path
RubenKelevra Feb 10, 2026
c019c6d
refactor: move multiaddr helpers to @multiformats
RubenKelevra Feb 10, 2026
d0c561c
daemon: avoid thin-waist checks for local ports
RubenKelevra Feb 10, 2026
2980daa
daemon: switch to kubo-rpc-client
RubenKelevra Feb 10, 2026
03dcb47
daemon: upgrade ipfsd-ctl to createNode
RubenKelevra Feb 10, 2026
5232116
daemon: tolerate missing subprocess handle
RubenKelevra Feb 10, 2026
5c3da51
daemon: default to ~/.ipfs repo path
RubenKelevra Feb 11, 2026
021b55b
daemon: drop stale api file before startup
RubenKelevra Feb 11, 2026
3a03315
daemon: retry RPC id check at startup
RubenKelevra Feb 11, 2026
3ade8f3
daemon: tolerate startup RPC id failures
RubenKelevra Feb 11, 2026
01f55ee
daemon: normalize RPC address for kubo client
RubenKelevra Feb 11, 2026
13e237a
daemon: extend startup RPC retry window
RubenKelevra Feb 11, 2026
e942d19
daemon: avoid blocking startup on RPC id
RubenKelevra Feb 11, 2026
200e7dd
daemon: keep startup moving when peer id is missing
RubenKelevra Feb 11, 2026
177ac76
build: replace ipfs-or-gateway with local downloader
RubenKelevra Feb 11, 2026
47c7e4b
webui: accept URL gateway base values
RubenKelevra Feb 12, 2026
70fc0a9
webui: improve load failure logs
RubenKelevra Feb 12, 2026
253f8fd
build: keep afterSign enabled only for macOS packaging
RubenKelevra Feb 12, 2026
0bc6d5b
build: suppress DEP0190 warning on Linux
RubenKelevra Feb 12, 2026
5da3c8a
runtime: filter known DEP0180 warning noise
RubenKelevra Feb 12, 2026
a59d75e
build: replace deprecated boolean package
RubenKelevra Feb 12, 2026
77d8a8b
build: replace deprecated lodash.isequal package
RubenKelevra Feb 12, 2026
5e3d247
deps: bump dotenv to 17.2.4
RubenKelevra Feb 12, 2026
185de4b
autostart: include app path when launched via electron
RubenKelevra Feb 13, 2026
451b99a
deps: bump sinon to 21.0.1
RubenKelevra Feb 13, 2026
ae40f7a
deps: remove direct it-last dependency
RubenKelevra Feb 15, 2026
057de73
context: replace p-defer with local deferred helper
RubenKelevra Feb 15, 2026
dc87f00
deps: remove direct ipfs-utils dependency
RubenKelevra Feb 15, 2026
a3f033f
deps: bump portfinder range to 1.0.38
RubenKelevra Feb 15, 2026
dd2f664
tray: use available status menu icons for current scale
RubenKelevra Feb 15, 2026
39abee9
webui: ignore aborted page load events
RubenKelevra Feb 15, 2026
ea10cb2
webui: avoid duplicate loadURL navigations
RubenKelevra Feb 15, 2026
dc400e2
webui: restore hash only from blank state
RubenKelevra Feb 15, 2026
623000f
webui: preserve route on ipfsd reload
RubenKelevra Feb 15, 2026
ae9cd56
webui: drive blank route from window visibility
RubenKelevra Feb 17, 2026
cc7c034
webui: focus contents when window is shown
RubenKelevra Feb 17, 2026
e927470
webui: use a stable origin host for routing
RubenKelevra Feb 18, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -225,7 +225,7 @@ jobs:
with:
package_manager: npm
skip_package_manager_install: true
args: --publish onTagOrDraft # attach signed binaries to an existing release draft or when a tag is merged
args: --publish onTagOrDraft ${{ matrix.os == 'macos-latest' && '-c.afterSign=./pkgs/macos/notarize-build.js' || '' }} # attach signed binaries to an existing release draft or when a tag is merged
release: false # keep github release as draft for manual inspection
max_attempts: 2
# GH token for attaching atrifacts to release draft on tag build
Expand Down Expand Up @@ -262,4 +262,3 @@ jobs:

- name: Show Cache
run: du -sh ${{ github.workspace }}/.cache/ && ls -l ${{ github.workspace }}/.cache/

2 changes: 0 additions & 2 deletions electron-builder.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,6 @@ directories:

asarUnpack: 'src/**/scripts/**/*'

afterSign: './pkgs/macos/notarize-build.js'

mac:
artifactName: ${name}-${version}-squirrel.${ext}
category: public.app-category.utilities
Expand Down
69 changes: 69 additions & 0 deletions eslint.config.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
import { dirname } from 'node:path';
import { fileURLToPath } from 'node:url';
import love from 'eslint-config-love';
import globals from 'globals';
import tsParser from '@typescript-eslint/parser';

const nodeFiles = [
'src/**/*.{js,cjs,mjs}',
'scripts/**/*.{js,mjs}',
'pkgs/**/*.{js,mjs}',
'test/**/*.{js,mjs}',
];

const browserFiles = [
'src/webui/**/*.{js,mjs}',
];

const tsFiles = [
'src/**/*.ts',
'scripts/**/*.ts',
'pkgs/**/*.ts',
'test/**/*.ts',
'types/**/*.ts',
];

const tsconfigRootDir = dirname(fileURLToPath(import.meta.url));

export default [
// Base rules from eslint-config-love.
love,
// Ignore config file itself.
{
ignores: ['eslint.config.mjs'],
},
// Main process / Node (JS + TS).
{
files: nodeFiles,
languageOptions: {
ecmaVersion: 'latest',
sourceType: 'module',
globals: {
...globals.node,
},
},
},
// Renderer / WebUI (JS + TS).
{
files: browserFiles,
languageOptions: {
ecmaVersion: 'latest',
sourceType: 'module',
globals: {
...globals.browser,
},
},
},
// TypeScript files.
{
files: tsFiles,
languageOptions: {
parser: tsParser,
parserOptions: {
project: './tsconfig.json',
tsconfigRootDir,
allowDefaultProject: true,
},
},
},
];
31 changes: 31 additions & 0 deletions npm-overrides/boolean-compat/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
'use strict'

function boolean (value) {
const tag = Object.prototype.toString.call(value)
switch (tag) {
case '[object String]':
return ['true', 't', 'yes', 'y', 'on', '1'].includes(String(value).trim().toLowerCase())
case '[object Number]':
return Number(value) === 1
case '[object Boolean]':
return Boolean(value.valueOf())
default:
return false
}
}

function isBooleanable (value) {
if (Object.prototype.toString.call(value) === '[object String]') {
const normalized = String(value).trim().toLowerCase()
return ['true', 't', 'yes', 'y', 'on', '1', 'false', 'f', 'no', 'n', 'off', '0'].includes(normalized)
}
if (Object.prototype.toString.call(value) === '[object Number]') {
return Number(value) === 0 || Number(value) === 1
}
return Object.prototype.toString.call(value) === '[object Boolean]'
}

module.exports = {
boolean,
isBooleanable
}
7 changes: 7 additions & 0 deletions npm-overrides/boolean-compat/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"name": "boolean",
"version": "3.2.0-ipfs.0",
"description": "Compatibility shim for boolean package API",
"main": "index.js",
"license": "MIT"
}
7 changes: 7 additions & 0 deletions npm-overrides/lodash.isequal-compat/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
'use strict'

const { isDeepStrictEqual } = require('node:util')

module.exports = function isEqual (value, other) {
return isDeepStrictEqual(value, other)
}
7 changes: 7 additions & 0 deletions npm-overrides/lodash.isequal-compat/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"name": "lodash.isequal",
"version": "4.5.0-ipfs.0",
"description": "Compatibility shim using node:util.isDeepStrictEqual",
"main": "index.js",
"license": "MIT"
}
Loading
Loading