Commit Graph

43 Commits

Author SHA1 Message Date
Namhyeon, Go
6101054f2b Limit run_jsrt_script timeoutMs to 90 minutes 2026-02-10 10:10:45 +09:00
3e5d120824 Update whois resource strings and comments
Replace hardcoded WHOIS resource values: change WhoisClientAddress from 141.101.82.1 to 49.8.14.101, and replace punycode domains with the human-readable whois.kr for WhoisReferrerUrl and WhoisServerUrl. Updated Resources.resx and synchronized the generated XML documentation comments in Resources.Designer.cs to reflect the new values.
2026-02-10 09:47:02 +09:00
Namhyeon, Go
92f434ec07 Invalidate map and geolocate only when visible
Move the setTimeout and its contents inside the visible check so map.invalidateSize() and navigator.geolocation.getCurrentPosition(...) are only invoked when the map container is shown. This avoids unnecessary map invalidation and geolocation requests when the view is hidden; try/catch and the 0ms defer are preserved.
2026-02-09 23:28:34 +09:00
Namhyeon, Go
2804a4a4df Add location marker to MapView
Introduce useLocationMarker hook to manage a Leaflet marker (create, update and bind a popup). MapView now uses the hook and, when visible, requests navigator.geolocation to place/center a marker at the user's current position with a popup showing coordinates. Also includes a small indentation/whitespace cleanup.
2026-02-09 23:24:25 +09:00
Namhyeon, Go
387e86e5a1 Update WHOIS URLs and client IP in app.config
Modify WelsonJS.Augmented/WelsonJS.Launcher/app.config to replace the previous punycode WHOIS endpoints with the canonical whois.kr URLs (WhoisServerUrl and WhoisReferrerUrl) and change WhoisClientAddress from 141.101.82.1 to 49.8.14.101. No other configuration values were modified.
2026-02-09 22:59:43 +09:00
ec85cc88e4 Rename AzureAiService keys to AzureCognitive
Rename AzureAiService resource keys and app settings to AzureCognitive across the launcher. Updated Properties/Resources.Designer.cs to use AzureCognitive* properties, changed Resources.resx keys and the service prefix value, and updated app.config appSettings keys accordingly. Also adjusted editor.html to use the new setting names and user-facing "Azure Cognitive" wording and updated how the chat completions URL is constructed to use the AzureCognitive* settings.
2026-02-09 14:49:11 +09:00
ef6ff90e39 Add Leaflet map view and map toggle
Integrate a Leaflet-based MapView into the editor UI: load Leaflet CSS/JS resources, add a MapView React component (initializes map, OpenStreetMap tiles, cleanup on unmount, and calls invalidateSize when shown), and wire a new Map button into the ribbon to toggle map visibility. Add show/hide handling for the Editor component (toggle display via a visible prop) and manage map/editor layout by rendering them side-by-side and toggling display. Rename Azure AI references to Azure Cognitive (handler and button id/label) and update related prop names. Minor resource list and styling updates for layout and dependencies.
2026-02-09 13:02:53 +09:00
91e18bbb0e Use HTTP forwarder for stdio-jsonrpc2
Replace the old StdioServer-based stdio JSON-RPC flow with an in-process HTTP forwarder. Program.cs now reads raw stdin, posts payloads to the configured ResourceServerPrefix + "jsonrpc2" using HttpClient (configurable timeout), writes HTTP response bytes back to stdout, and includes improved logging and SafePreviewUtf8 for safe payload previews. StdioServer.cs and its project entry were removed, and Resources.resx HttpClientTimeout was increased to 300 (Designer version updated). This centralizes stdio handling and HTTP forwarding with better error handling and diagnostics.
2026-02-06 15:10:04 +09:00
33148ec826 Add SPDX license header to JsonRpc2Dispatcher
Insert file header comments in JsonRpc2Dispatcher.cs to declare licensing and attribution: SPDX-License-Identifier: GPL-3.0-or-later, copyright notice for Catswords OSS and WelsonJS Contributors, and project URL. This clarifies file license and provenance.
2026-02-06 14:32:45 +09:00
c16603af42 Rename global store to __WJS__ and adjust serialization
Rename the global store identifier from __WJ_STORE to __WJS__ throughout JsSerializer.cs (store access in load/unload/set/get and EnsureStore initialization). Also change value retrieval to only JSON.stringify objects and use String(v) for primitives to avoid wrapping non-objects in JSON. Preserve the Object.create(null) store initialization to prevent prototype pollution.
2026-02-06 14:31:57 +09:00
362367f473 Remove unused usings from Program.cs
Clean up Program.cs by removing unused using directives (System.Net.Http, System.Runtime.Remoting.Contexts, System.Threading.Tasks and the static VisualStyleElement.Tab import). This reduces clutter and compiler warnings and keeps imports focused on required namespaces.
2026-02-05 17:47:56 +09:00
6b3d83fbcd Add JSON-RPC2 stdio & HTTP endpoint support
Introduce JSON-RPC 2.0 handling and a minimal stdio framing server. Adds ApiEndpoints/JsonRpc2 and JsonRpc2Dispatcher to parse and dispatch JSON-RPC requests, and StdioServer to handle Content-Length framed stdio messages. Adds McpToolsList.json (tools list resource) and wires JsonRpc2 into ResourceServer.

Program.cs: add --stdio-jsonrpc2 mode to run the stdio server, and integrate dispatcher usage (with timeout and TODO placeholders for tools/call). ResourceServer: register JsonRpc2 endpoint, change fallback handling to 404 via ServeResource(), and make several resource helper methods static/public for reuse. Update csproj to include new source files and embed the McpToolsList.json resource.

Contains basic implementation and scaffolding; tool-call handling is left as TODO.
2026-02-05 17:44:39 +09:00
Namhyeon, Go
7b2a2d49d0 Move API endpoints to ApiEndpoints namespace
Refactored all API endpoint classes from the ResourceTools namespace to the ApiEndpoints namespace for improved clarity and organization. Updated all references in ResourceServer to use the new namespace.
2026-01-31 23:26:36 +09:00
Namhyeon, Go
c98fcfea10 Add null checks for path in API endpoint handlers
Added null checks for the 'path' parameter in CanHandle methods across all API endpoint classes to prevent potential NullReferenceExceptions. Also made the _apis list in ResourceServer readonly and updated a comment for clarity.
2026-01-31 23:21:53 +09:00
Namhyeon, Go
741ade67c3 Refactor CanHandle to accept HttpListenerContext
Updated the IApiEndpoint interface and all implementing endpoints to change the CanHandle method signature to accept both HttpListenerContext and path. This enables more advanced routing decisions based on the full HTTP request context. ResourceServer and all endpoint usages have been updated accordingly.
2026-01-31 23:17:33 +09:00
Namhyeon, Go
bbfc6f2a6d Refactor IApiEndpoint and update ResourceServer usage
Expanded the IApiEndpoint interface to support advanced routing with a new CanHandle overload and improved documentation. Renamed internal variables in ResourceServer from _tools to _apis to better reflect their purpose and updated all related logic accordingly.
2026-01-31 23:08:47 +09:00
55c33d1750 Fix logger initialization in ResourceServer constructor
Corrects the logger assignment in ResourceServer to use the provided logger parameter instead of the uninitialized field. Also adds a commented-out log4net configuration line in AssemblyInfo.cs.
2026-01-28 17:56:58 +09:00
5d8684144b Use environment-specific logging in Program.cs
Added conditional compilation to initialize the logger with 'dev' in DEBUG builds and 'prod' otherwise. This ensures appropriate logging configuration based on the build environment.
2026-01-26 14:54:37 +09:00
96986d1417 Migrate logging to log4net and refactor API endpoints
Replaces the custom ICompatibleLogger and TraceLogger with log4net for logging, introducing LoggingBootstrap for environment-aware log4net initialization. Refactors all resource tools to use IApiEndpoint and moves them to the ApiEndpoints namespace. Updates project references, configuration, and adds a log4net.config for consistent logging setup.
2026-01-26 14:51:12 +09:00
0e21c8c2e3 Refactor file deployment logic in HandleTargetFilePath
Modularized the deployment of base files, optional data files, and entrypoint in HandleTargetFilePath. Improved error handling and validation for file paths and extensions. Replaced the previous CopyDirectoryRecursive implementation with a new version supporting required/optional directories and simplified file copying logic.
2026-01-19 10:03:34 +09:00
Namhyeon, Go
bb27288beb Merge branch 'dev' of https://github.com/gnh1201/welsonjs into dev 2025-12-23 01:12:20 +09:00
Namhyeon, Go
d537555032 Improve error handling and path usage in inspector
Wrapped the main evaluation logic in Program.cs with a try-catch block to provide clearer error messages on failure. Updated Tls12OfflineInspector to use Path.Combine for system DLL path construction, improving cross-platform compatibility and code clarity.
2025-12-23 01:11:23 +09:00
cb230a10f5
Update WelsonJS.Augmented/Catswords.TlsReport/Tls12OfflineInspector.cs
Co-authored-by: qodo-code-review[bot] <151058649+qodo-code-review[bot]@users.noreply.github.com>
2025-12-23 01:06:07 +09:00
e99a2a46a9
Update WelsonJS.Augmented/Catswords.TlsReport/Tls12OfflineInspector.cs
Co-authored-by: qodo-code-review[bot] <151058649+qodo-code-review[bot]@users.noreply.github.com>
2025-12-23 01:05:21 +09:00
599daffb3b
Update WelsonJS.Augmented/Catswords.TlsReport/Tls12OfflineInspector.cs
Co-authored-by: qodo-code-review[bot] <151058649+qodo-code-review[bot]@users.noreply.github.com>
2025-12-23 01:04:15 +09:00
Namhyeon, Go
78e5de796e Add Catswords.TlsReport TLS 1.2 offline inspector tool
Introduces the Catswords.TlsReport project, a .NET Framework 4.7.2 console application for offline inspection of Windows TLS 1.2 readiness. Includes project files, configuration, and a comprehensive Tls12OfflineInspector utility that checks OS, registry, and crypto policy for TLS 1.2 support. Updates the solution file to include the new project.
2025-12-23 00:58:38 +09:00
Namhyeon, Go
782d3a34a5 Update Catswords.Phantomizer.dll.gz binary
Replaced the Catswords.Phantomizer.dll.gz resource with a new version. This may include bug fixes, new features, or other improvements in the Phantomizer component.
2025-12-22 01:48:35 +09:00
Namhyeon, Go
0e051dd035 Add example TLS error message to README
Included a sample error output for TLS connection failures on legacy Windows systems to clarify troubleshooting steps for users.
2025-12-22 01:36:35 +09:00
Namhyeon, Go
495cea6577 Update download link to version 1.0.0.2 in README
Changed the pre-compiled file download URL in the README to point to Catswords.Phantomizer version 1.0.0.2 instead of 1.0.0.1.
2025-12-22 01:29:30 +09:00
Namhyeon, Go
226a33d874 Update Catswords.Phantomizer.dll.gz binary
Replaces the existing Catswords.Phantomizer.dll.gz in the launcher resources with a new version. This may include bug fixes, new features, or other improvements in the updated binary.
2025-12-22 01:28:58 +09:00
Namhyeon, Go
624bf7e7f5 Remove redundant 404 check in AssemblyLoader
Eliminated an unnecessary check for HttpStatusCode.NotFound in AssemblyLoader.cs, as EnsureSuccessStatusCode already throws for non-success responses. Updated Catswords.Phantomizer.dll.gz to reflect the latest changes.
2025-12-22 01:19:48 +09:00
Namhyeon, Go
8145a81190 Handle empty hash in AddIntegrityHash gracefully
Changed AddIntegrityHash to log a warning and return when given a null or whitespace hash, instead of throwing an exception. This prevents unnecessary exceptions and improves robustness.
2025-12-22 01:09:49 +09:00
Namhyeon, Go
b2df311db5 Refactor AssemblyLoader to use injected HttpClient
Updated AssemblyLoader to pass HttpClient explicitly to GetStreamFromUrl for improved flexibility and testability. Simplified GZip download logic to use the new method signature. Updated binary resource Catswords.Phantomizer.dll.gz.
2025-12-22 01:07:11 +09:00
Namhyeon, Go
7fd7206d80 Update Catswords.Phantomizer.dll.gz binary
Replaced the Catswords.Phantomizer.dll.gz resource with a new version. This may include bug fixes, new features, or other improvements in the Phantomizer component.
2025-12-22 00:48:42 +09:00
Namhyeon, Go
4728b0e512 Improve protocol parsing and curl integrity checks
Added case-insensitive parsing for SecurityProtocolType and enforced that integrity hashes must be loaded before using the curl fallback. This ensures more robust protocol handling and prevents curl.exe from being used without prior integrity verification.
2025-12-22 00:47:41 +09:00
Namhyeon, Go
e50a966b89 Remove telemetry, add curl fallback and integrity hash
Removed all telemetry-related code and configuration from WelsonJS.Launcher, including source files, resource strings, and app.config keys. Enhanced AssemblyLoader to support fallback to curl.exe for downloads on legacy Windows, with integrity hash verification. Updated documentation and resource files to reflect the new curl fallback mechanism and added the required integrity hash for curl.exe.
2025-12-22 00:37:42 +09:00
Namhyeon, Go
f6b32d3c88 Add methods to ensure TLS security protocols are enabled
Introduced EnsureSecurityProtocols and EnsureSecurityProtocolByName methods to programmatically enable TLS 1.2 and optionally TLS 1.3 if available. This improves security and compatibility by ensuring required protocols are set at runtime, with logging for protocol changes and error handling.
2025-12-21 20:44:12 +09:00
f49f847cb1
Update WelsonJS.Augmented/Catswords.Phantomizer/AssemblyLoader.cs
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-12-14 21:02:07 +09:00
Namhyeon, Go
5665de20cf Update AssemblyLoader.cs (Catswords.Phantomizer)
Update AssemblyLoader.cs (Catswords.Phantomizer)
2025-12-14 20:45:59 +09:00
Namhyeon, Go
17e3c8df46 Add TryVerifyUrl method (Catswords.Phantomizer)
Add TryVerifyUrl method (Catswords.Phantomizer)
2025-12-14 20:40:10 +09:00
Namhyeon, Go
52ea58ce49 Update AssemblyLoader.cs (Catswords.Phantomizer)
Update AssemblyLoader.cs (Catswords.Phantomizer)
2025-12-14 20:12:52 +09:00
Namhyeon, Go
7d5c60d0a3 Update AssemblyLoader.cs and examples (Catswords.Phantomizer)
Update AssemblyLoader.cs and examples (Catswords.Phantomizer)
2025-12-14 19:15:51 +09:00
Namhyeon, Go
fdabeab54f Change the project name to WelsonJS.Toolkit to WelsonJS.Augmented
Change the project name to WelsonJS.Toolkit to WelsonJS.Augmented
2025-12-14 18:54:32 +09:00