32 Commits
Author SHA1 Message Date
dhkatzandClaude Opus 5.5 34330046e4 Choose the hub server in Settings; nightlies use staging
CI / test (push) Successful in 1m6s
The T5DE Hub section gets a Server choice (T5DE, Staging, Custom), used from the next start. Without one,
the install's channel decides: nightlies and dev builds use hub.staging.t5de.dev, releases hub.t5de.dev.
The client passes the channel to the proxy, which keeps each hub's sign-in and product IDs apart; that
needs proxy 0.2.0, now pinned.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-02 09:17:34 -08:00
dhkatzandClaude Opus 5.5 565c76df1e T5 room badges; a second client instance for testing (patch and drive.py --instance)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-30 03:36:30 -07:00
dhkatzandClaude Opus 5.5 762f94c373 T5 badges on people who opted in
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-30 02:52:57 -07:00
dhkatzandClaude Opus 5.5 8880f0bcea T5 products in the shop and the inventory
Patch 0026 (t5de-shop): the shop's rating filter gets T5 (GA, AP, AP+, T5, then all), answered by
T5DE's proxy from the hub; T5 products show the T5 badge, are free, and buying saves to the library.
Patch 0027 (t5de-inventory): the clothing inventory's filter gets T5 the same way, drawn as T5DE's own
sprite, and T5 products get the T5 badge.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-30 02:24:27 -07:00
dhkatzandClaude Opus 5.5 1a2c85126e Sign in to T5DE's hub from Settings
Settings > T5DE gets a T5DE Hub section to sign in (showing the code and opening the hub's page) or out,
through T5DE's proxy, which keeps the sign-in.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-29 19:25:49 -07:00
dhkatzandClaude Opus 5.5 f2dea72a0d drive.py: wait for T5DE's helpers to exit; note community product testing
CI / test (push) Successful in 1m10s
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-29 03:17:42 -07:00
dhkatzandClaude Opus 5.5 5d06b968ff Connect through T5DE's proxy
Adds the t5de-proxy patch: the client starts t5de-proxy.exe and sends it every HTTP request, the
embedded browser's included, and its IMQ connection, and connects directly if the proxy isn't there.
Installs also wait for t5de-proxy.exe and t5de-renderer.exe to exit before replacing files.
tools/drive.py drives the built client (screenshots, clicks, imvu: commands) for testing without a
person; a Python 2.7 check covers the patch's requests, errors, post_multipart, IMQ and fallback.

The proxy program isn't pinned in t5de.toml yet: that needs t5de-proxy's first release.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-29 00:05:01 -07:00
dhkatzandClaude Opus 5.5 f4ae0ddb28 Note how the renderer does high frame rates
CI / test (push) Successful in 1m12s
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-28 22:50:03 -07:00
dhkatzandClaude Opus 5.5 b3f1cfddfe Group T5DE's settings, and add the renderer's frame rate
CI / test (push) Successful in 1m15s
T5DE's settings page is now in sections like IMVU's pages: Diagnostics, and,
with the T5DE Renderer patch, Graphics with the renderer's Frame Rate (30, 60,
120, 240, 360 or Uncapped), kept in HKCU\Software\T5DE\Graphics.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-28 20:38:52 -07:00
dhkatzandClaude Opus 5.5 d1189ba0ef Install T5DE's renderer with its patch
CI / test (push) Successful in 1m15s
t5de.toml pins renderer 0.1.0 (a t5de-renderer release, by sha256); t5de bundle
downloads its two programs into the t5de-renderer patch's files, so the setup
installs them with the patch. The patch's description now says so.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-28 18:57:00 -07:00
dhkatzandClaude Opus 5.5 8965d82c3e Group the installer's patches by area, with Title Case names
CI / test (push) Successful in 1m9s
The patches page lists optional patches in sections (General, Shop, Rooms, Avatars, Chat, Renderer) instead of one long features list, then the required ones as Always Included. T5de-Group names the section; T5de-Required still decides what's locked. Names are now Title Case and shorter where the section already says where.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-28 08:26:17 -07:00
dhkatzandClaude Opus 5.5 b926601bd9 Point to the renderer repository
CI / test (push) Successful in 1m17s
IMVU update check / check (push) Successful in 10s
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-28 03:31:01 -07:00
dhkatzandClaude Opus 5.5 c7e2835684 Drop the frame rate patch
Shorter ticks speed up animations: they advance one frame per tick. Higher frame rates need interpolation, so they move to the renderer roadmap.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-28 02:58:52 -07:00
dhkatzandClaude Opus 5.5 26b3e55f8b Add the frame rate patch
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-28 02:48:38 -07:00
dhkatzandClaude Opus 5.5 58c5f9b4f3 Note why updates must not run inside the install folder
CI / test (push) Successful in 1m12s
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-28 00:26:48 -07:00
dhkatzandClaude Opus 5.5 cd960c315b Offer T5DE updates in the client
CI / test (push) Successful in 1m9s
A new required patch has the client look for a newer T5DE release as it starts, and offer it in
IMVU's own update dialog; updating hands over to the setup and closes the client.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-28 00:03:06 -07:00
dhkatzandClaude Opus 5.5 540e9a75bd Add T5DE settings to the client
CI / test (push) Successful in 1m12s
A new required patch adds a T5DE page to the client's Settings, to turn usage statistics and
crash reports on or off after installing. It shares the setup's choice.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-27 23:36:05 -07:00
dhkatzandClaude Opus 5.5 2c5b765c48 Send the client's launches and errors to T5DE
CI / test (push) Successful in 1m9s
A new required patch sends a launch event on each start, and reports crashes, unrecoverable
errors and startup failures (type, message and stack, with the Windows user name removed) through
the install's t5de-setup.exe, which sends only what the user agreed to and adds the install's
IMVU version and patches.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-27 23:32:56 -07:00
dhkatzandClaude Opus 5.5 746068b4fa Document diagnostics
CI / test (push) Successful in 1m41s
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-27 23:25:39 -07:00
dhkatzandClaude Opus 5.5 4690aff5ab Document releases and the next steps
CI / test (push) Successful in 1m22s
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-27 20:23:19 -07:00
dhkatzandClaude Opus 5.5 24931c3426 Give shortcuts T5DE's icon
CI / test (push) Successful in 55s
Windows 11 shows a shortcut's icon on the taskbar for the windows it starts, and the shortcuts used
IMVUClient.exe's icon, which can't be extracted, so the taskbar button was blank. Shortcuts and the
"Apps & features" entry now use the install's imvu.ico, which the branding patch makes T5DE's.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-27 19:43:02 -07:00
dhkatzandClaude Opus 5.5 30c7e5fbbc Document client files and the client's icons
CI / test (push) Successful in 57s
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-27 06:24:40 -07:00
dhkatzandClaude Opus 5.5 9e4319fb90 Document patch names and the installer's look
CI / test (push) Successful in 55s
IMVU update check / check (push) Successful in 13s
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-27 05:25:05 -07:00
dhkatzandClaude Opus 5.5 c4a2219e2e Give the setup and patcher T5DE's icon
CI / test (push) Successful in 54s
Windows resources for both executables, generated by go-winres v0.3.3 (pinned in a go:generate
directive; regenerating reproduces them byte for byte): the T5DE icon, version info, and a
manifest (GUI with DPI awareness for the setup, console for the patcher).

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-27 05:10:32 -07:00
dhkatzandClaude Opus 5.5 f2523758db Document the setup wizard
CI / test (push) Successful in 1m15s
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-27 05:03:47 -07:00
dhkatzandClaude Opus 5.5 ea5dd3d31e Document installing with the patcher
CI / test (push) Failing after 32s
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-27 04:40:53 -07:00
dhkatzandClaude Opus 5.5 7823d4ecb8 Document patch metadata, the bundle and the patcher
CI / test (push) Successful in 1m3s
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-27 04:21:32 -07:00
dhkatzandClaude Opus 5.5 f10152fe5e Check the patcher in CI and document it
CI / test (push) Successful in 1m9s
CI installs Go and runs gofmt, go vet, the patcher's tests and a Windows build, and the client
tests compare the patcher's output with the build.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-27 04:04:35 -07:00
dhkatzandClaude Opus 5.5 17527688f9 Make the decompiled base independent of the time zone
CI / test (push) Successful in 1m46s
uncompyle6 writes each module's bytecode timestamp as a `# Compiled at:` header in the local time
zone, so CI (UTC) decompiled a different base than a machine in Pacific time, and the pinned base
commit check failed. Normalization now drops the header. The base moves to 5b8137f (identical in
local time and in UTC), and the patches are re-exported against it; only their hunk line numbers
and blob indexes change.

CI prints the base tree's per-file blob hashes when setup fails, to find any other differences
without logging IMVU's code.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-27 03:23:22 -07:00
dhkatzandClaude Opus 5.5 713560e35c Document the tests, CI and setup checks
CI / test (push) Failing after 1m42s
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-27 03:15:20 -07:00
dhkatzandClaude Opus 5.5 407d765432 Document t5de build and findings about the 554.8 client
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-27 02:27:40 -07:00
dhkatzandClaude Opus 5.5 36a2dbcdb1 Add t5de setup and save
`t5de setup` builds a git workspace from the pinned IMVU installer (decompiled Python and the
extracted UI jar as the `base` commit) and applies patches/ on top. `t5de save` exports the
workspace's commits back to patches/ as deterministic format-patch files.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-27 02:27:38 -07:00