feat: account rename, drag reorder, display overrides, debug console fixes#16
Merged
feat: account rename, drag reorder, display overrides, debug console fixes#16
Conversation
…g order backend - Fix rename API: TW uses tw.beanfun.com, HK has no server API - Edit modal: TW shows 'sync to server' checkbox (default off), HK shows 'local only' note - DisplayOverrides struct with names + order, DPAPI encrypted - get_game_accounts and refresh_accounts apply name overrides and custom sort order from display_overrides.dat - set_display_override, set_account_order, get_display_overrides commands added - Account cards show game account ID instead of #SN - i18n keys for edit_sync, edit_local_only (EN/繁中/简中)
- Custom mouse-based drag (no HTML5 drag API, no forbidden cursor) - Grip icon (⠿) on hover for both card and list view - 4px threshold before drag starts to prevent accidental triggers - Live reorder preview during drag, dragged item at 50% opacity - Displaced items get a subtle scale bump animation (dragBump keyframe) - Order saved to DPAPI-encrypted display_overrides.dat on drop - Invalidates query cache instead of server refetch for instant UX - Shows account.id instead of #sn on cards
CSS @Keyframes dragBump: scale 1 → 1.04 → 1 over 200ms. Used by AccountGrid to animate displaced items during drag.
…efresh - DisplayOverrides now has 'names' (HashMap) and 'order' (Vec) - get_game_accounts and refresh_accounts apply custom sort order - set_account_order command saves order to encrypted storage - Legacy HashMap format auto-migrated on load
- Add name attribute to all inputs/selects missing id or name - Add autoComplete=off and data-form-type=other to text inputs to suppress WebView2 autofill suggestions - Fixes browser warning about form fields without id/name
- Fix regex to match timezone offset timestamps (+08:00) - Strip [] span markers and module::path: prefixes from log lines - Add 2-second polling interval for live log updates - Add name/autoComplete to select and search input
- Emit 'patcher-killed' event with client + server version info - Read client version from MapleStory.exe (ProductMinorPart.FileBuildPart) - Connect to tw.login.maplestory.beanfun.com:8484 to read server version from handshake packet (same as old Beanfun client) - Add Win32_Storage_FileSystem feature to windows-sys for GetFileVersionInfo - Works for both launch_game and launch_game_direct
- Move patcher listener from MainPage to App.tsx so it works on all pages (including login page for direct launch) - Modal shows client version, server version, update hint, and download button linking to beanfun download page - Fix duplicate update check by increasing fallback delay to 6s
Original MapleLink wording — not copied from old client: - 'Patcher.exe was automatically blocked to prevent game files from being overwritten' - Current/latest version labels - Hint to disable in settings + manual download button
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
User feedback (#15) requested:
[] INFOduplicates and doesn't auto-refreshAccount Rename
tw.beanfun.comfor API (was hardcoded tobfweb.hk.beanfun.com)display_overrides.datin%APPDATA%get_game_accountsandrefresh_accountsapply name overrides server-side before returning to frontendAccount Drag Reorder
dragBumpkeyframe)display_overrides.dat(DPAPI encrypted, same file as name overrides)Display Changes
DisplayOverridesstruct now hasnames(HashMap) +order(Vec), auto-migrates legacy formatForm Input Fixes
<input>and<select>elements now havenameattribute (fixes browser warning)autoComplete="off"+data-form-type="other"to suppress WebView2 autofillDebug Console
+08:00timezone offset (was only matchingZ)[]span markers andmodule::path:prefixes from log lines