Koushik Dutta
5dde5ae893
fix: add type annotations for network address functions
...
- Add parseInt with empty string fallback for undefined env vars
- getIpAddress returns string | undefined when no addresses available
- Add type guard filters for network interface arrays
2026-04-02 13:33:12 -07:00
Koushik Dutta
cfa9e2a200
fix: make LevelDocument._id and _documentType required
...
These properties are always present after document creation.
Update PluginDevice constructor to require id parameter.
2026-04-02 13:33:12 -07:00
Koushik Dutta
0d4a0d2c2c
fix: initialize RpcResult before try block to match Python implementation
...
Previously, if this.serialize() threw an exception, result would be undefined
when passed to createErrorResult. This fix brings TypeScript in sync with the
Python rpc.py implementation which already initializes result before the try block.
2026-04-02 13:33:12 -07:00
Koushik Dutta
24ecc19e99
fix: add ts-ignore for delete operations on required properties
...
zipFile and unzippedPath are set at runtime by cluster worker host.
2026-04-02 13:33:12 -07:00
Koushik Dutta
675b967862
fix: add undefined to buffer state type annotations
...
Buffer state variables can be undefined before initialization.
2026-04-02 13:33:12 -07:00
Koushik Dutta
3882805cfc
fix: add type guard filter for network interfaces
...
Filter undefined values after flat() to prevent runtime errors
when accessing ni.address.
2026-04-02 13:33:12 -07:00
Koushik Dutta
6ac91bc1a3
fix: add undefined to return type and filter
...
inferTypeFromInterfaces can return undefined for empty arrays.
Add type guard filter to remove undefined entries.
2026-04-02 13:33:12 -07:00
Koushik Dutta
b2301a3073
fix: add non-null assertions for process.argv and process.send
...
These values are guaranteed to exist in the plugin main process context.
2026-04-02 13:33:12 -07:00
Koushik Dutta
9cfa6ea58b
fix: refactor serviceKey undefined handling
...
Check serviceKey directly after parsing instead of checking existing?.serviceKey.
This fixes a bug where key parsing failures would be silently ignored.
2026-04-02 13:33:12 -07:00
Koushik Dutta
65199ecdf7
refactor: rename mixins parameter to avoid mutation
...
Rename parameter to mixinsList to avoid mutating the input parameter.
Add non-null assertion for pop result.
2026-04-02 13:33:12 -07:00
Koushik Dutta
64ed95e9aa
fix: add non-null assertions for parentPort access
...
parentPort is guaranteed to exist in worker thread context.
2026-04-02 13:33:12 -07:00
Koushik Dutta
8c5b2f48cc
fix: add definite assignment assertion for cancel variable
...
Add `!` assertion to cancel variable that is assigned in callback.
2026-04-02 13:33:12 -07:00
Koushik Dutta
bc8f1ebc97
refactor: use Object.entries() in createHeadersArray
...
Use Object.entries() spread instead of manual loop for cleaner code.
2026-04-02 13:33:12 -07:00
Koushik Dutta
2977d0a90b
server: update types
2026-04-02 13:33:12 -07:00
Koushik Dutta
dd59ac40b6
noImplicitReturns: enabled implicit return checking
...
Fixed all 32 errors by:
- Adding '| undefined' to return type signatures where functions could return undefined
- Changing 'return;' to 'return undefined;' (explicit instead of implicit)
- Adding 'return undefined;' at function ends where needed
Functions updated:
- src/cluster/cluster-setup.ts: getClusterObject, getScryptedClusterMode
- src/fetch/index.ts: getHttpFetchAccept
- src/infer-defaults.ts: inferRoomFromName, getProvidedRoomOrDefault, getDisplayRoom
- src/level.ts: tryGet
- src/plugin/plugin-api.ts: getDeviceById
- src/plugin/plugin-device.ts: findMethod, findMixin
- src/plugin/plugin-host-api.ts: setDeviceProperty
- src/plugin/system.ts: getOwnPropertyDescriptor
- src/rpc.ts: getIteratorNext
- src/runtime.ts: getAccessControlAllowOrigin, getDeviceLogger, getEndpointPluginData, getAccessControls, invalidatePluginDevice, rebuildPluginDeviceMixinTable, installNpm, getPluginHostForDevice, getDevice
- src/scrypted-server-main.ts: getDefaultAuthentication, checkValidUserToken
- src/services/addresses.ts: getLocalAddresses
- src/state.ts: setState
2026-04-02 13:33:09 -07:00
Koushik Dutta
fd0b3a0b8f
noImplicitOverride: enabled override modifier checking
...
Added 'override' keyword to methods that override base class members:
- src/level.ts: override open() methods
- src/plugin/plugin-remote-worker.ts: override setStorage() methods
- src/plugin/runtime/node-fork-worker.ts: override pid getter
- src/plugin/runtime/python-worker.ts: override stdout/stderr getters
- src/rpc.ts: override cause parameter in RPCResultError
- src/runtime.ts: override wss property
- src/state.ts: override listenDevice() method
2026-04-02 13:32:51 -07:00
Koushik Dutta
196ff8378c
noUncheckedIndexedAccess: enabled unchecked indexed access checking
2026-04-02 13:32:51 -07:00
Koushik Dutta
78311762a7
strictFunctionTypes: enabled stricter function type checking
2026-04-02 13:32:51 -07:00
Koushik Dutta
4e0ab38986
noImplicitThis: enabled implicit this checking
2026-04-02 13:32:51 -07:00
Koushik Dutta
bd8b152bfd
noFallthroughCasesInSwitch: enabled switch fallthrough checking
2026-04-02 13:32:51 -07:00
Koushik Dutta
7cf11d040c
strictBindCallApply: enabled stricter bind/call/apply checking
2026-04-02 13:32:51 -07:00
Koushik Dutta
a64dd8e878
http-fetch: missing file
2026-03-31 09:07:24 -07:00
Raman Gupta
a4d28791ed
server: python rpc should use create_task instead of run_coroutine_threadsafe ( #1953 )
...
run_coroutine_threadsafe is designed for scheduling coroutines from a
different thread onto the event loop. Since readLoop is already running
as an async function on the event loop, using create_task is the correct
and more efficient approach.
This removes unnecessary thread-safe queue overhead for every RPC message.
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-15 09:34:44 -08:00
Koushik Dutta
61cf589800
sdk: update tool calls to include id
2025-12-09 16:03:26 -08:00
Koushik Dutta
ef65a413e7
server: fix EventEmitter import
2025-11-16 11:33:40 -08:00
Koushik Dutta
4ad594074a
server: remove python cluster mode port logging
2025-11-09 08:23:06 -08:00
Koushik Dutta
8dba09e047
beta
2025-11-07 09:15:58 -08:00
Koushik Dutta
56b4a04e56
postbeta
2025-11-07 09:15:58 -08:00
Koushik Dutta
ace1c74ec2
server: prevent invalid media converter from crashing all conversions
2025-11-07 08:08:16 -08:00
Koushik Dutta
38037d31b3
install: add nvidia legacy
2025-10-29 21:08:42 -07:00
Koushik Dutta
dd6e5cf854
postbeta
2025-10-29 20:47:42 -07:00
Koushik Dutta
547db5bbbd
install: update ha
2025-10-28 11:11:26 -07:00
Koushik Dutta
5b789b35ec
postrelease
2025-10-28 10:13:05 -07:00
Koushik Dutta
bde3dfb9a8
server: verup
2025-10-28 10:12:56 -07:00
Koushik Dutta
d751ac8871
postbeta
2025-10-23 07:57:30 -07:00
Koushik Dutta
e9dc5a4254
server: package-lock.json
2025-09-28 12:15:23 -07:00
Koushik Dutta
5ae0bb10ff
postbeta
2025-09-28 12:15:18 -07:00
Koushik Dutta
da417f3d5c
server: @scrypted/node-pty update
2025-09-28 12:15:08 -07:00
Koushik Dutta
e4d62668b7
server/rpc: fixup rpc serializer buffer serialization
2025-09-23 22:45:44 -07:00
Koushik Dutta
8f1c5fdf3c
snapshot/sdk: add resolution property
2025-09-19 11:41:48 -07:00
Koushik Dutta
22444eb63d
server/webrtc: restructure
2025-08-31 21:51:15 -07:00
Koushik Dutta
9de2b480ff
webrtc: wip connectRPCObject
2025-08-28 11:31:37 -07:00
Koushik Dutta
442e8d53f7
server: package-lock
2025-08-28 09:45:57 -07:00
Koushik Dutta
8304c1d065
postbeta
2025-08-28 08:32:22 -07:00
Koushik Dutta
dea55e4fcd
server: fix bug in connectRPCObject
2025-08-26 16:30:01 -07:00
Koushik Dutta
9eab88572e
postbeta
2025-08-26 09:51:54 -07:00
Koushik Dutta
427c3e2f7b
Merge branch 'main' of github.com:koush/scrypted
2025-08-26 09:51:42 -07:00
Koushik Dutta
98f97a51e8
postbeta
2025-08-26 09:51:32 -07:00
Koushik Dutta
529b4d30fb
postbeta
2025-08-26 09:48:40 -07:00
Brett Jia
eaabd02bfe
server: bind single address if cluster address is 127.0.0.1 (python) ( #1877 )
...
A continuation of https://github.com/koush/scrypted/pull/1820 for the missing Python half.
2025-08-26 09:23:32 -07:00