Skip to content

CraftLife-1.4.0

Choose a tag to compare

@Hellowww-02 Hellowww-02 released this 05 Sep 14:20
· 30 commits to main since this release
bae6595

CraftLife v1.4.0 — Full Parity Release

Ringkasan (ID): Setiap halaman React kini 1:1 dalam fitur & perilaku dengan referensi PyQt (P30–P46). Jam aplikasi & timestamp chat mengikuti zona lokasi pengguna (bukan zona server), dan chat Friends/Guild sudah realtime serta lengkap. Game rules tetap 100% di database.py (backend), tidak pernah diduplikasi di TypeScript.

CraftLife v1.4.0 is a Windows-first desktop RPG life-tracker. Everything local works fully offline; Supabase cloud remains optional for multi-device sync and online social features.


✨ Highlights

  • Full page parity — every React page now matches the PyQt reference feature-for-feature (P30–P46 complete).
  • User-local time everywhere — the app clock and all chat timestamps now follow your device's timezone, not the server's.
  • Rebuilt Friends & Guild chat — attachments, reply, edit, delete, reactions, load-earlier, typing indicator (cloud), and reliable send.
  • Real boss combat feedback — every attack shows damage dealt, damage blocked, boss HP remaining, crits, shield, revive, and ultimate effects.

🆕 What's new / changed (by page)

Page Change
Home Sleep↔productivity chart now stretches edge-to-edge.
Profile Hero Customization moved here from Settings; class change limited to once per 7 days.
Habits / Dailies / Quests Removed duplicate quick-template buttons (already in the Templates menu).
SportTrack Reps chart now renders; added the folder system like habits/dailies/quests.
Economy Savings accept any user-entered amount; investments store your current total value; transaction cards show the name (not category); full subscription dialog (name/icon/cost/due/period/auto-renew/notes); dialogs follow the active currency (no more hardcoded IDR).
Health & Food Food DB names translated (id/en); weight/height 7-day trend charts stretch properly.
Love Space Couple profile & couple account brought to 1:1 parity.
Learning 3-tab slide (Sources / Chat AI / Studio Generate); layout stretches when a tab is closed.
Music Faster, wider lyric search; found lyrics are live time-synced (min:sec) to playback.
Crafting A consumable requirement with quantity 0 now blocks crafting.
Shop Buff item descriptions shown in Bag/Inventory; consumable qty 0 displays as 0; re-buying increments by the amount bought.
Pets New scaling: below level 25 = 1 pet; level 25+ = 2 + floor((level-25)/5) pets (25→2, 30→3, 35→4…). Buffs recalculate on equip/unequip.
Friends Chat is now full parity: attachments (≤5), reply, edit, delete, reactions + remove, load earlier (50/page), typing indicator, 3s refresh — hybrid cloud/local storage.
Guild Chat no longer "silently unsent" (fixed local send path) + full dialog (send, leader clear-all, 3s poll); Spyglass now has a real effect (reveals full boss stats); attacks show full damage/blocked-HP info; boss start is leader-only.
Navbar Shows all active buffs.

🐛 Bug fixes

  • App clock was 7h off (e.g. 06:00 when it should be 13:18 WIB) — the clock now renders in the user's local timezone instead of the server's.
  • Friends & Guild chat timestamps now sync exactly with the app clock via per-message epoch timestamps (works regardless of server zone: UTC, WIB, Windows tzset() no-op, etc.).
  • Guild chat messages "not sent" — send path was targeting the online (cloud) guild while the page showed the local guild; now local-only, matching PyQt.
  • Chart stretching, currency formatting, and translation-key gaps cleaned up across pages.

✅ Verification

  • py_compile — all core modules pass.
  • tsc --noEmit — 0 errors.
  • vite build — clean production build.
  • Backend smoke tests — auth, bootstrap/server clock, guild create/messages, friends chat, boss catalog all pass.
  • i18n — 3,694 keys consistent across translations.py ↔ WEB_I18N_KEYS ↔ messages.json (id + en).

⬇️ Install / update

  • Windows: download craftlife-1.4.0.zip, extract, run CraftLife.exe (no Node required).
  • Auto-update: the app checks app-updates/GitHub Releases on launch and applies updates with SHA-256 verification.

☁️ Cloud (Supabase) — for self-hosters / operators

  • Apply supabase/migrations/*.sql in file order (see README — 13 files, from 20260812000000_initial_social_cloud.sql to 20260821010000_app_updates.sql).
  • Deploy the chat-attachment-maintenance Edge Function for scheduled attachment cleanup.
  • No new Supabase migration is required by v1.4.0 itself beyond those already in the repo.

📌 Notes

  • Legacy PyQt widgets are kept and reachable with CRAFTLIFE_WEB_UI=0; action parity (not pixel-identical skins) is the goal.
  • Game/business rules live only in database.py; the frontend never re-implements RPG math.
  • Windows is the supported release target; Linux/macOS may run from source.