Commit Graph

2691 Commits

Author SHA1 Message Date
Namhyeon, Go
aafab2032c Update README.md 2025-12-08 01:31:37 +09:00
Namhyeon, Go
c68b73ce7b Update Catswords.Phantomizer.csproj 2025-12-08 01:20:37 +09:00
Namhyeon, Go
3b588c3446 Update .appveyor.yml 2025-12-08 01:15:25 +09:00
Namhyeon, Go
c357d6f944 Add description: Catswords.Phantomizer
Add description: Catswords.Phantomizer
2025-12-08 01:13:08 +09:00
Namhyeon, Go
1366931273 Update README.md 2025-12-08 01:00:23 +09:00
Namhyeon, Go
f30e43c2e3 Introduce new package Catswords.Phantomizer
Introduce new package `Catswords.Phantomizer`

**Catswords.Phantomizer** is an HTTP-based dynamic-link library (DLL) loader designed for .NET applications.
It allows your application to fetch and load assemblies directly from your CDN (Azure Blob, S3, Cloudflare R2, etc.) at runtime, with optional GZip compression support.
2025-12-08 00:49:10 +09:00
Namhyeon, Go
e8dbf69491 Clearify an exceptions
Clearify an exceptions
2025-12-07 02:42:26 +09:00
Namhyeon, Go
b3416f9a5f Dual HttpClient setup matches intent; make Legacy behavior explicitly “no decompression”
Dual HttpClient setup matches intent; make Legacy behavior explicitly “no decompression”
2025-12-07 02:26:45 +09:00
Namhyeon, Go
e90808e517 Null-check logger before use
Null-check logger before use
2025-12-07 02:22:44 +09:00
Namhyeon, Go
5747713f99 ntroduce separate HttpClient instances for raw and compressed HTTP transfer modes
Added two HttpClient instances to distinguish between legacy (no
Accept-Encoding) and modern compressed HTTP transfer behaviors.

- LegacyHttp:
  Sends no Accept-Encoding header.
  Used when requesting .dll.gz files, ensuring that the server delivers
  the file exactly as-is without applying HTTP-level compression.

- Http:
  Enables AutomaticDecompression and advertises Accept-Encoding
  (gzip, deflate).
  When the server supports HTTP content compression, even a regular .dll
  file can be transmitted in compressed form and transparently
  decompressed by the client.

This separation prevents ambiguities between:
  - File-level compression (.dll.gz)
  - Transport-level compression (Content-Encoding: gzip/deflate)

and ensures predictable behavior when downloading assemblies depending on
server capabilities.
2025-12-07 00:23:51 +09:00
Namhyeon, Go
5b86a88111 Use a temporary file for download, An exception clearify
To prevent partial or corrupt files on download failure, write the decompressed
stream to a temporary file first, and then atomically move it to the final
destination upon success.

In TryDownloadGzipToFile, modify the catch block to log the exception details
before returning false, instead of silently swallowing the error.
2025-12-06 00:23:58 +09:00
Namhyeon, Go
4e3c2bc52c Add support *.dll.gz file in Assembly Loader
Add support for *.dll.gz files in Assembly Loader to make downloads faster.
2025-12-06 00:01:50 +09:00
7abf705c6e Improve the loader policy
Improve the loader policy
2025-12-04 18:19:30 +09:00
cb41c92eab Improve the loader policy
Improve the loader policy
2025-12-04 18:06:47 +09:00
d2be6b116d Improve the loader policy
Improve the loader policy
2025-12-04 16:21:47 +09:00
eae040530e Code signing is required
Code signing is required
2025-12-04 16:12:47 +09:00
6d3fb3db0e Update AssemblyLoader.cs
comment an unused variables
2025-12-04 16:08:25 +09:00
07e47338cb Added the assembly loader with Azure Blob Storage
Added the assembly loader with Azure Blob Storage
2025-12-04 14:54:21 +09:00
e84a69d929 Add null-check for Assembly Version property.
The code properly checks if _telemetryClient is null before tracking the event and uses the assembly version dynamically. However, the Version property of AssemblyName can be null, which would cause a NullReferenceException when calling .ToString().
2025-12-03 16:59:41 +09:00
1d4b7af5b3 Fix the logger for telemetry
Fix the logger for telemetry
2025-12-03 16:54:19 +09:00
3188317bf6 Fix the TelemetryClient
Fix the TelemetryClient
2025-12-03 16:45:31 +09:00
2db2e7b91a Create TelemetryIdentity.cs and more fixes
Create TelemetryIdentity.cs and more fixes
2025-12-03 16:34:41 +09:00
78bcae182e Update telemetryEnabled configuration key
Update telemetryEnabled configuration key
2025-12-03 14:57:59 +09:00
c4e6acc8cd Add a telemetry to WelsonJS Launcher
Add a telemetry to WelsonJS Launcher, To improve debugging experience.
2025-12-03 14:48:30 +09:00
Namhyeon, Go
bf4b2214bc Update postInstall.ps1
Remove the architecture numbers comment (duplicated)
2025-12-02 15:21:32 +09:00
Namhyeon, Go
c240f8dfa8 Update postInstall.ps1
Improve a distinct ID fallback
2025-12-02 15:16:29 +09:00
Namhyeon, Go
77ef5b2270 Merge branch 'dev' of https://github.com/gnh1201/welsonjs into dev 2025-12-02 15:04:00 +09:00
Namhyeon, Go
778cc0641b Update postInstall.ps1
Add an architecture, and fixed a comment on the telemetry section.
2025-12-02 15:03:54 +09:00
996cc898ff Update DownloadUrls.psd1
Fix parse error
2025-12-02 10:32:38 +09:00
313e2dd275 Update DownloadUrls.psd1
added more download links
2025-12-02 10:29:17 +09:00
6b6ac32111 Update DownloadUrls.psd1
Fix a download links from SourceForge
2025-12-02 10:02:54 +09:00
a7db8a59bd Update DownloadUrls.psd1
added more downoad URLs
2025-12-02 09:52:06 +09:00
Namhyeon, Go
046bb146a9 Fix the architecture number
Fix the architecture number
2025-12-01 17:25:40 +09:00
Namhyeon, Go
e3ec367390 Add logo to postInstall.ps1
Add logo to postInstall.ps1
2025-12-01 17:20:38 +09:00
Namhyeon, Go
c37d42418d Fix mistypos in the post-install script
Fix mistypos in the post-install script, Fix decompression process when the file contains single root
2025-12-01 17:14:28 +09:00
Namhyeon, Go
3058d6c190 Delete binaries_meta.json
Use the `DownloadUrls.psd1` file instead of binaries_meta.json
2025-12-01 16:46:55 +09:00
Namhyeon, Go
95235d4e5f Fix the file path in adb.js
Fix the file path in adb.js
2025-12-01 16:44:03 +09:00
Namhyeon, Go
fc7a13ceba Update adb binary path and contributor info
Changed the default adb binary path to use the app data directory for improved portability. Updated copyright and contributor information. Bumped VERSIONINFO to 0.2.3.
2025-12-01 16:35:54 +09:00
Namhyeon, Go
3e82eeeb4b Add extraction steps for WinDivert and Android Platform Tools
Introduces extraction and installation logic for WinDivert and Android Platform Tools components in postInstall.ps1. Also updates log messages for consistency and clarity.
2025-12-01 16:33:05 +09:00
Namhyeon, Go
0be5bd031d Update installer process handling and cleanup arguments
Removed unnecessary installer arguments and ensured installers run with process waiting for completion in postInstall.ps1. Cleaned up setup.iss to remove redundant 'Components' field for PowerShell execution. Minor formatting fix in DownloadUrls.psd1.
2025-12-01 16:16:43 +09:00
Namhyeon, Go
6b5a5ea08e Rename android_tools component to android_platform_tools
Updated the component name from 'android_tools' to 'android_platform_tools' in setup.iss for consistency and clarity.
2025-12-01 15:47:06 +09:00
Namhyeon, Go
137537d5ca Rename android_tools to android_platform_tools
Updated the component name from 'android_tools' to 'android_platform_tools' in DownloadUrls.psd1 and postInstall.ps1 for consistency and clarity. Adjusted variable names and references accordingly.
2025-12-01 15:46:31 +09:00
Namhyeon, Go
dec8817a32 Add WinDivert and Android Tools components
Introduces WinDivert and Android Platform Tools as selectable components in the installer. Updates DownloadUrls.psd1 with their download URLs, adds their handling in postInstall.ps1, and registers them in setup.iss for installation.
2025-12-01 15:44:36 +09:00
Namhyeon, Go
b95de25502 Update telemetry event properties in postInstall.ps1
Replaces the $process_person_profile property with a product property set to 'welsonjs' in the telemetry event payload for PostHog. This clarifies the product being tracked during installation.
2025-12-01 15:12:08 +09:00
Namhyeon, Go
1c7d9e3b32 Remove tessdata submodules and update install scripts
Deleted tessdata, tessdata_best, and tessdata_fast submodules. Updated DownloadUrls.psd1 to fix Python x86 URL and set gtk3runtime arm64 to null. Improved architecture detection in postInstall.ps1 and cleaned up component selection logic. Modified setup.iss to remove exclusions for tessdata assets and cleaned up run/uninstall sections.
2025-12-01 15:02:40 +09:00
Namhyeon, Go
fc4a238569 Fix component names and update installer script
Corrected syntax errors in component definitions and registry entries, updated post-install PowerShell command formatting, added AppVersion custom message, and implemented GetSelectedComponents function for improved component selection handling.
2025-12-01 14:30:44 +09:00
a709031761 Refactor post-install script for modular component downloads
Introduces a DownloadUrls.psd1 manifest for component URLs and refactors postInstall.ps1 to support modular, architecture-aware downloads and installations. Adds selection logic for components, improves error handling, and updates setup.iss to support new GTK3 and GTK-server options. This change enables easier maintenance and extensibility for future components.
2025-12-01 14:17:03 +09:00
505801664a Refactor installer scripts and update components
Renamed afterInstall.ps1 to postInstall.ps1 and added telemetry support for PostHog. Updated Python embeddable package URLs to version 3.14.0. Revised setup.iss to improve component granularity, update author info, and integrate the new post-install script and telemetry parameters.
2025-12-01 12:29:46 +09:00
6bbfa23946 Merge branch 'dev' of https://github.com/gnh1201/welsonjs into dev 2025-11-26 10:23:16 +09:00
24bb524910 Update special channels section in README
Clarified the paid consultation channel is for Korean customers and added a paid mentorship program for Korean students or beginners.
2025-11-26 10:23:12 +09:00