Commit Graph

2795 Commits

Author SHA1 Message Date
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
f63a46e5b1 Add TraceError and function export utility
Introduces a TraceError class for enhanced stack tracing and logging, and adds a __export__ utility to wrap functions with error handling and naming. Also adds a console.trace method and updates bootstrap.js to use the new main function structure.
2026-01-23 16:00:12 +09:00
8d27e1fd02 Add fallback to UseObject error handling
The UseObject function now accepts an optional fallback callback, which is invoked if the main callback throws an error. This improves error handling and allows custom recovery logic.
2026-01-21 17:51:26 +09:00
3fbcd71bc5 Fix type checks and update version in pipe-ipc.js
Corrects type checking for callback and position parameters in app.js and pipe-ipc.js, ensuring proper function behavior. Also updates the version string in pipe-ipc.js to 0.1.26.
2026-01-21 17:44:17 +09:00
0c79192a63 Add custom dispose to UseObject and update pipe-ipc
Enhanced UseObject to accept a custom dispose function, improving resource management flexibility. Updated pipe-ipc.js to utilize this feature, preventing unintended disposal in repositionObject and ensuring correct stream handling. Bumped module version to 0.1.25.
2026-01-21 17:35:38 +09:00
d54a348368 Fix pageEventId usage in request body
Use pageEventId.get() instead of pageEventId when setting the request body, as pageEventId is an accessor object and requires the getter.
2026-01-21 16:23:32 +09:00
4e48bdba25 Remove unused Websocket instance and update version
Eliminated the creation of an unused Websocket instance in ChromeObject and incremented the VERSIONINFO to 0.5.5.
2026-01-21 16:00:54 +09:00
f84198799b Add new models to friendiai availableModels list
Expanded the 'availableModels' array for the 'friendiai' engine profile to include several new LLM models, increasing the range of supported models for inference.
2026-01-19 15:09:56 +09:00
fde431c069 Add Friendiai API key path to apikey.json
Included the Friendiai API key reference in apikey.json to support integration with the Friendiai service.
2026-01-19 14:58:36 +09:00
ce7e88d02c Add FriendIAI (LGAI-EXAONE) engine integration
Introduces support for the FriendIAI  (LGAI-EXAONE) LLM engine, including its API endpoint, model configuration, request formatting, and response handling. Updates the version to 0.1.12 to reflect the new integration.
2026-01-19 14:57:05 +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
4086d6bd27 Limit email body length in prompt context
Truncate the email body to a maximum of 2000 characters when adding it to the prompt context to reduce token usage and avoid sending overly large or sensitive content.
2026-01-18 16:20:15 +09:00
Namhyeon, Go
552bd10e82 Enhance Outlook test to use AI for email reply suggestions
Updated the 'outlook_open_outlook_with_chatgpt' test to search emails by sender or recipient, collect email data, and generate a prompt for AI-based reply suggestions using OpenAI via the language-inference-engine. Improved logging, increased result count, and added full body previews for context.
2026-01-18 16:12:36 +09:00
Namhyeon, Go
255a1367ad Update OpenAI API key reference in apikey.json
Replaces the 'chatgpt' key with 'openai' and updates the corresponding file path to 'openai_apikey.txt' in apikey.json for clarity and consistency.
2026-01-18 15:46:16 +09:00
Namhyeon, Go
d7014a5d23 Add mail body preview to Outlook test cases
Enhanced Outlook-related test implementations to include a body preview (first 160 characters) when listing or searching mails. Updated log messages for clarity and consistency.
2026-01-18 15:05:24 +09:00
Namhyeon, Go
eb57f3964e Refactor Outlook item filtering and add comments
Reworked Outlook.ItemsFiltered to support generic item sources and improved forEach logic. Enhanced code comments for clarity, added getClass to MailItem, and clarified filter implementations for Jet and DASL. This improves maintainability and interoperability of Outlook item filtering and searching.
2026-01-18 15:01:13 +09:00
Namhyeon, Go
0cd8d5ec96 Refactor Outlook search filters for Jet and DASL
Updated search methods to use appropriate Jet or DASL filters for sender and recipient queries, improving reliability and compatibility. Sender email equality now uses DASL display-from matching, and legacy filter names are preserved for compatibility.
2026-01-18 14:56:50 +09:00
Namhyeon, Go
8f02a5f07c Refactor Outlook search filters and merge logic
Updated Outlook search methods to use DASL filters for recipient searches and introduced a new ItemsMerged class to combine results from multiple Restrict calls. Cleaned up comments and improved clarity in filter functions, ensuring sender and recipient searches are handled separately and merged in JavaScript.
2026-01-18 14:51:24 +09:00
Namhyeon, Go
3a8ad122ea Refactor Outlook search filters for Jet and DASL
Separated Jet and DASL filter logic in Outlook.Search.filters to avoid mixing filter syntaxes. Added DASL-specific escaping and recipient filter functions, and provided clear helpers for sender and recipient filters in both Jet and DASL. This improves clarity and prevents errors when constructing Outlook search queries.
2026-01-18 14:44:43 +09:00
Namhyeon, Go
6f58843e4c Update Outlook search filters to use wildcard syntax
Changed SQL LIKE pattern from '%' to '*' in Outlook search filter functions to match the expected wildcard syntax for Outlook queries.
2026-01-18 14:36:09 +09:00
Namhyeon, Go
d83d1f86f5 Add Office module import to Outlook test functions
Added 'var Office = require("lib/msoffice");' at the start of each Outlook-related test function in testloader.js to ensure the Office module is available within each function's scope.
2026-01-18 14:26:55 +09:00
Namhyeon, Go
f19a5790b4 Refactor Outlook automation to use Office.Outlook API
Replaced usage of the old Outlook API with the new Office.Outlook API throughout test implementations. Updated object instantiations, method calls, and type checks to use the Office.Outlook namespace for improved clarity and maintainability.
2026-01-18 14:24:33 +09:00
Namhyeon, Go
fd0eddecb4 Add Outlook automation test cases and update test IDs
Introduced new Outlook-related test implementations in testloader.js, including session opening, inbox listing, mail body reading, sender/recipient search, draft creation, and an end-to-end automation test. Updated corresponding test IDs in data/test-msoffice.json to match the new function names for consistency.
2026-01-18 13:57:19 +09:00
Namhyeon, Go
423e880e76 Add Outlook test cases and update descriptions
Added multiple test cases for Microsoft Outlook including session management, mail reading, searching, and draft creation. Updated existing test descriptions from Korean to English for consistency and clarity.
2026-01-18 13:50:10 +09:00
Namhyeon, Go
02ef05586e Add advanced Outlook search and logging features
Introduces multiple search helper methods to the Outlook class, including sender/recipient/subject filters and date-based queries. Adds detailed logging for MAPI session management and folder selection. Implements ItemsFiltered for predicate-based filtering and refactors folder path resolution for improved robustness.
2026-01-18 13:47:36 +09:00
Namhyeon, Go
630495f243 Add Outlook support to msoffice.js and filetypes
Introduces Outlook integration in msoffice.js, including folder navigation, item access, and mail operations. Updates filetypes.json to include Outlook-related file extensions and types for improved compatibility.
2026-01-18 13:40:51 +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
Namhyeon, Go
32e864271d Add curl fallback for file downloads in postInstall.ps1
Updated the Download-File function to use curl as a fallback if PowerShell download fails. Also added curl.exe and curl-ca-bundle.crt to the installer in setup.iss to ensure curl is available during installation.
2025-12-21 00:23:24 +09:00
Namhyeon, Go
b53d80ce21 Improve TLS protocol handling in Download-File
Expanded TLS protocol support to include TLS 1.0, 1.1, 1.2, and conditionally TLS 1.3 for better compatibility. Added error handling and warning output if TLS configuration fails.
2025-12-20 22:42:38 +09:00
Namhyeon, Go
054b294106 Move TLS protocol setup into Download-File function
Relocated the TLS 1.2/1.3 configuration from the script's global scope to within the Download-File function. This ensures secure protocol settings are applied specifically when downloading files, improving reliability and scope control.
2025-12-20 22:21:53 +09:00
Namhyeon, Go
fd0c18032f Update setup script metadata date
Changed the @updated_on field in setup.iss from 2025-12-01 to 2025-12-20 to reflect the latest modification date.
2025-12-20 22:11:35 +09:00
Namhyeon, Go
d44b63286b Improve archive extraction with 7zr fallback
Enhanced Extract-CompressedFile and Extract-TarGzArchive to use 7zr.exe as a fallback when native extraction methods fail or are unavailable. Added Invoke-7zr helper for consistent 7zr invocation. Improved script root resolution for better compatibility with older PowerShell versions.
2025-12-20 21:37:46 +09:00
Namhyeon, Go
7910bb3bbe Update installer to use local x86 launcher path
Changed setup.iss to reference the launcher executable from the application directory (bin/x86) instead of the user app data directory. Updated file sources and icon/command paths accordingly. Improved postInstall.ps1 to handle cases where PSCommandPath is not set by falling back to MyInvocation.MyCommand.Path.
2025-12-20 21:13:32 +09:00