Commit Graph

2491 Commits

Author SHA1 Message Date
849470555a
Update WelsonJS.Toolkit/WelsonJS.Launcher/ResourceTools/IpQuery.cs
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-09-25 15:37:16 +09:00
90d623be95 Rename CitiQuery to IpQuery and update API references
Renamed the CitiQuery tool and related files to IpQuery for clarity. Updated all references from CitiApiKey and CitiApiPrefix to CriminalIpApiKey and CriminalIpApiPrefix in code, resources, and UI. Adjusted the editor UI and backend to use the new naming and API configuration.
2025-09-25 15:26:24 +09:00
e9d475ba4c Improve resource server initialization and mutex handling
Adds a null check for the resource server after initialization and logs an error if it fails. Changes duplicate launcher instance log from error to info, and wraps mutex release in a try-catch to prevent exceptions if not owned.
2025-08-26 13:02:32 +09:00
f3db44d8e3 Fix mutex variable naming in Program.cs
Renamed the out variable from '_createdNew' to 'createdNew' for clarity and updated its usage in the mutex check. This improves code readability and consistency.
2025-08-26 12:55:39 +09:00
ecbe55cf80 Rename mutex out parameter for clarity
Changed the out parameter name from 'mutexNotExists' to '_createdNew' in the Mutex constructor for improved readability and clarity in the Main method.
2025-08-26 12:55:07 +09:00
d3ecbd7ebe Fix mutex logic for single instance check
Renamed variable to clarify mutex existence and corrected the condition to properly detect if the launcher is already running.
2025-08-26 12:53:48 +09:00
57d0454051 Refactor logging and resource server initialization
Introduces ICompatibleLogger for improved logging, replaces Trace.TraceError and Trace.TraceInformation calls with logger methods, and standardizes ResourceServer instance naming to _resourceServer. Passes logger instances to MainForm and ResourceServer for consistent logging. Also refactors mutex handling and initialization logic for clarity.
2025-08-26 12:49:37 +09:00
78ab8d839f Add abnormal case check to clusteredCellsDensity
Returns false if more than one third of the grid is selected, treating it as an abnormal case. Also updates VERSIONINFO to 1.0.4.
2025-08-25 01:39:42 +09:00
d443f6270c Update OTP endpoint and version info in totp.js
Changed the OTP API endpoint from '/tfa/otp' to '/otp' and updated VERSIONINFO to 1.0.1. Improved example comments to clarify key formats and OTP code usage.
2025-08-22 17:59:32 +09:00
dfc18cfd7d Refactor TFA tool to TwoFactorAuth and update TOTP client
Renamed ResourceTools/Tfa.cs to ResourceTools/TwoFactorAuth.cs and updated all references accordingly. Enhanced TwoFactorAuth with improved key handling, error responses, and form parsing. Updated totp.js to use the new local HTTP API endpoints for key generation and OTP calculation, removing legacy JSON-RPC code.
2025-08-22 17:21:31 +09:00
8ff12c9883
Update lib/extramath.js
Co-authored-by: qodo-merge-pro[bot] <151058649+qodo-merge-pro[bot]@users.noreply.github.com>
2025-08-20 17:29:44 +09:00
1dd02f7a75
Update lib/extramath.js
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
2025-08-20 17:25:51 +09:00
83b022bf6f Refactor grid functions and update exports in extramath.js
Improved clusteredCellsDensity to validate cell indices and refactored coordinate calculation to be 1-based. Replaced tileStartPos with estimateTileStartPosition for more flexible tile positioning, updated exports accordingly, and bumped VERSIONINFO to 1.0.3.
2025-08-20 17:10:58 +09:00
ab869556c4 Add tileStartPos function and update version
Introduced tileStartPos to calculate tile coordinates based on index, size, and columns. Updated VERSIONINFO to 1.0.1 and exported the new function.
2025-08-18 07:20:01 +09:00
717b141cb7 Add clusteredCellsDensity function to extramath.js
Introduces clusteredCellsDensity to evaluate density of selected cells within a grid. Updates module version to 1.0.0 and exports the new function for external use.
2025-08-18 04:16:52 +09:00
83fb136957 Remove redundant error handling in ChromeObject
Eliminated duplicate error response handling logic in ChromeObject and updated the version info to 0.5.3. Error messages are now handled solely by the catch block for cleaner code.
2025-08-18 03:26:27 +09:00
a022383d63 Improve error handling for FetchBlobConfig
Replaces fire-and-forget async call to FetchBlobConfig with a safe pattern that logs errors if the task fails. This ensures exceptions are not silently ignored and improves reliability.
2025-08-17 22:34:31 +09:00
d0c031fe32 Fix async context handling in blob config loading
Added ConfigureAwait(false) to async HTTP call and moved Compile() invocation to immediately after deserialization. This improves async context handling and ensures blob config is compiled before assignment.
2025-08-17 21:22:17 +09:00
6896c272ef
Update WelsonJS.Toolkit/WelsonJS.Launcher/TraceLogger.cs
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-08-17 20:58:08 +09:00
f44f56ea2c Refactor HTTP client usage in ResourceServer
Replaced local HttpClient instantiation with the class-level _httpClient for sending requests. This improves resource management and consistency in HTTP operations.
2025-08-17 20:43:33 +09:00
cc08c46886 Improve logging and async handling in ResourceServer
ResourceServer now defaults to using TraceLogger if no logger is provided and properly awaits FetchBlobConfig. FetchBlobConfig is refactored to return a Task and handle missing configuration more gracefully. TraceLogger now writes logs to a file named after its namespace and sets up a TextWriterTraceListener for persistent logging.
2025-08-17 20:12:38 +09:00
8ecdf99d78 Add ICompatibleLogger interface and integrate logging
Introduced ICompatibleLogger interface and TraceLogger implementation to enable flexible logging. ResourceServer now uses ICompatibleLogger for error reporting instead of Trace, improving testability and future extensibility. Updated project file to include new logger classes.
2025-08-16 21:23:16 +09:00
2068cdfeb3 Refactor WebSocket communication logic
Replaces manual WebSocket send/receive code with a single call to _wsManager.SendAndReceiveAsync for improved clarity and maintainability. Updates comments for better readability and removes redundant exception handling for OperationCanceledException.
2025-08-14 04:43:13 +09:00
6893eadd04 Improve WebSocket receive buffer handling
Refactored TrySendAndReceiveAsync to use a fixed-size buffer for I/O and dynamically accumulate received data chunks until EndOfMessage. This prevents truncation of large messages and ensures the entire payload is received before decoding.
2025-08-14 04:21:02 +09:00
e1d90cde18 Improve WebSocket receive to handle multi-frame messages
The receive logic now accumulates all frames until EndOfMessage, ensuring complete messages are read even if fragmented. This change improves reliability when handling large or fragmented WebSocket messages.
2025-08-14 04:01:02 +09:00
7a05916319 Improve error handling in ChromeObject
Enhanced error handling by returning a structured error object when exceptions occur in ChromeObject. Also updated the version info to 0.5.2.
2025-08-11 04:52:38 +09:00
1533059e44 Improve error handling in sendPageRPC and getEvaluatedValue
Refactored sendPageRPC to better handle error responses and log error descriptions from the response object. Updated getEvaluatedValue to safely access the evaluated value, returning an empty string if not present. Bumped VERSIONINFO to 0.5.1.
2025-08-11 02:58:33 +09:00
665642586b
Fix indentation on lib/pipe-ipc.js
Fix indentation on lib/pipe-ipc.js
2025-08-05 17:48:13 +09:00
444b80e3b5
Update file.js 2025-08-05 17:45:46 +09:00
68a57f15fb
Update app.js 2025-08-05 17:44:34 +09:00
0ab35aab7c
Enable the worksheet activation on the screen
Enable the worksheet activation on the screen
2025-08-05 17:33:43 +09:00
6e89bda453
Remove makeInterface(<number>) and replace to UseObject(<string>)
Remove makeInterface(<number>) and replace to UseObject(<string>)
2025-08-05 17:31:48 +09:00
3de5b618db
Introduce getFilesFromFolder() and clean the code
Introduce getFilesFromFolder() and clean the code
2025-08-05 17:30:20 +09:00
1398c1b359
Intoduce UseObject(<string>, <function>) in app.js
Intoduce UseObject(<string>, <function>) in app.js
2025-08-05 17:28:38 +09:00
fe74f360d9
Introduce Array.form(<Enumerator>) polyfills
Introduce Array.form(<Enumerator>) polyfills
2025-08-05 16:39:44 +09:00
3f376d29c3 Switch Chrome RPC from WebSocket to HTTP gateway
Replaces WebSocket-based RPC communication with HTTP POST requests to a gateway for Chrome debugging. Updates documentation to clarify the need for a protocol conversion gateway and refactors related methods for compatibility. Bumps version to 0.5.
2025-08-05 05:34:22 +09:00
ae7f79aeb8 Update WebSocketManager.cs 2025-08-05 05:01:54 +09:00
57fae72f42 Refactor WebSocketManager for improved clarity and reliability
Renamed internal classes and fields for clarity, added comments, and refactored SendAndReceiveAsync to use a helper method and a retry mechanism. Improved resource cleanup and error handling for stale sockets. These changes enhance code readability and robustness in WebSocket connection management.
2025-08-05 04:33:18 +09:00
b33069fc9e Update WebSocketManager.cs 2025-08-05 04:26:30 +09:00
f9c265b08a Use MD5 hash for WebSocket connection keys
Replaces the plain concatenation of host, port, and path with an MD5 hash to generate unique keys for WebSocket connections. This improves key uniqueness and prevents potential issues with special characters in the key string.
2025-07-31 17:28:26 +09:00
92a35606ed Improve XML escaping, WebSocket buffer, and editor style
Replaced HTML encoding with SecurityElement.Escape for XML escaping in ChromiumDevTools. Made WebSocketManager's receive buffer size configurable with a default of 65536 bytes. Updated editor.html to use 'color: inherit' for banner link hover to maintain contrast.
2025-07-31 17:23:11 +09:00
837ab036a8 Enhance banner link style and text in editor.html
Added custom CSS for the banner link to improve appearance and hover effect. Updated the banner link text to include a heart emoji for better visual appeal.
2025-07-31 17:13:45 +09:00
14da9f90da Update editor.html 2025-07-31 17:08:29 +09:00
ed0a7eed3f Update banner link text in editor.html
Changed the banner text from 'WelsonJS Editor powered by Metro UI, Monaco Editor, and JSONEditor.' to 'Contribute this project' with a link to the project's GitHub repository.
2025-07-31 17:05:44 +09:00
7b49817182 Add WebSocket support for Chromium DevTools endpoints
Implemented WebSocket communication in ChromiumDevTools to support 'page/' endpoints, allowing bidirectional messaging with Chromium DevTools Protocol. Added timeout configuration, improved error handling, and refactored WebSocketManager for connection pooling and reconnection. Updated resources and configuration files to support new timeout settings. Also fixed editor.html to handle direct JSON responses for citi-query.
2025-07-31 16:59:03 +09:00
2b30e864f0 Update WelsonJS.Cryptography.Test.vbproj 2025-07-27 22:45:56 +09:00
6f3e4342fb Update .appveyor.yml 2025-07-27 22:30:25 +09:00
e579a341a4 Add WebSocketManager.cs and more
Add WebSocketManager.cs and more
2025-07-27 22:25:48 +09:00
782f1ebb28
Merge pull request #301 from gnh1201/master
Merge master to dev branch
2025-07-27 16:22:03 +09:00
9a328bff0b
Merge pull request #300 from gnh1201/cryptography
Some checks are pending
CodeQL / Analyze (javascript) (push) Waiting to run
Deploy Jekyll with GitHub Pages dependencies preinstalled / build (push) Waiting to run
Deploy Jekyll with GitHub Pages dependencies preinstalled / deploy (push) Blocked by required conditions
Add resource server autostart and Chromium config options
2025-07-27 16:17:10 +09:00