kate522
60ce32f57e
fix(forum): drop legacy draft service require_once
...
PSR-4 already loads DraftService; require class-aksrt-forum-draft-service.php fatals on compose.
2026-07-17 16:11:43 +08:00
kate522
aff748d886
Merge pull request 'fix(ns): class_exists() must use FQCN after PSR-4' ( #201 ) from fix/ns-class-exists-fqcn into main
...
Reviewed-on: CYL/wordpress-theme-aksrt#201
2026-07-17 15:42:21 +08:00
kate522
68d2e78d77
fix(ns): class_exists() must use FQCN after PSR-4
...
Bare class_exists('Balance') looks up global Balance, always false
under AKSRT\* namespaces → REST 403 on balance exchange and friends.
Rewrite string checks to AKSRT\{Domain}\{Class}.
2026-07-17 15:40:20 +08:00
kate522
d55d1c6b62
Merge pull request 'fix(user-center): drop outer mega-card under assets' ( #200 ) from fix/uc-assets-row-side-by-side into main
...
Reviewed-on: CYL/wordpress-theme-aksrt#200
2026-07-17 15:25:42 +08:00
kate522
c789f71526
fix(user-center): drop outer mega-card under assets
...
Assets row is layout-only; each wallet/points cell is one card.
Strip zib-widget shell from record tabs so nothing stacks under.
2026-07-17 15:24:22 +08:00
kate522
a395d1ccb9
Merge pull request 'fix(user-center): put wallet and points on one asset row' ( #199 ) from fix/uc-assets-row-side-by-side into main
...
Reviewed-on: CYL/wordpress-theme-aksrt#199
2026-07-17 15:20:58 +08:00
kate522
e24780386b
fix(user-center): put wallet and points on one asset row
...
Drop nested zib-widget chrome on dual cards; one surface with
side-by-side cells (stack on mobile) instead of card-on-card.
2026-07-17 15:20:21 +08:00
kate522
e5b5e57bdd
Merge pull request 'fix(ns): root-qualify WP_* classes after PSR-4 move' ( #198 ) from fix/ns-root-wp-classes into main
...
Reviewed-on: CYL/wordpress-theme-aksrt#198
2026-07-17 15:13:31 +08:00
kate522
1e21911b03
fix(ns): root-qualify WP_* classes after PSR-4 move
...
Bare WP_REST_Server etc. resolve under AKSRT\* namespaces; prefix with
\ for Balance REST and other type hints / constructors.
2026-07-17 15:12:14 +08:00
kate522
d3107a449b
Merge pull request 'fix(ns): root-qualify PHP builtins after PSR-4 move' ( #197 ) from fix/ns-root-global-types into main
...
Reviewed-on: CYL/wordpress-theme-aksrt#197
2026-07-17 15:06:41 +08:00
kate522
da59d550ad
fix(ns): root-qualify PHP builtins after PSR-4 move
...
Namespaced classes resolved DateTimeImmutable etc. under AKSRT\*
(e.g. Credits\DateTimeImmutable). Prefix with \ globally.
2026-07-17 15:05:03 +08:00
kate522
0335517467
Merge pull request 'fix(scripts): drop dead $path arg from enqueue_public split' ( #196 ) from fix/scripts-undefined-path into main
...
Reviewed-on: CYL/wordpress-theme-aksrt#196
2026-07-17 15:00:16 +08:00
kate522
db210d7003
fix(scripts): drop dead $path arg from enqueue_public split
...
Trait split left enqueue_public_fonts_js_and_data requiring $path, but
caller never defines it; param unused. Remove to silence PHP warnings.
2026-07-17 14:58:30 +08:00
kate522
1a9035c6f9
Merge pull request 'fix(autoload): one PSR-4 type per payment/widget file' ( #195 ) from fix/psr4-one-class-per-file into main
...
Reviewed-on: CYL/wordpress-theme-aksrt#195
2026-07-17 14:52:52 +08:00
kate522
3cf0c08969
fix(autoload): one PSR-4 type per payment/widget file
...
PSR-4 split left GatewayInterface/Gateway duplicated across files;
loading BalanceGateway redeclared the interface. Strip sibling types
from polluted files (payment + widgets) so each path owns one type.
2026-07-17 14:44:36 +08:00
kate522
5694020e3d
Merge pull request 'fix(settings): restore memo cache dropped in class split' ( #194 ) from fix/settings-cached-all into main
...
Reviewed-on: CYL/wordpress-theme-aksrt#194
2026-07-17 14:00:01 +08:00
kate522
b2a57c700f
fix(settings): restore memo cache dropped in class split
...
PSR-4/split left get_all() reading undeclared $cached_all, fatalling
admin boot; restore property + standalone/secret option key consts.
2026-07-17 13:59:34 +08:00
kate522
9d2fef9ec0
Merge pull request 'chore(tools): drop one-shot PSR-4 migrators after apply' ( #193 ) from worktree-psr4-quantify into main
...
Reviewed-on: CYL/wordpress-theme-aksrt#193
2026-07-17 13:40:45 +08:00
kate522
70c345bb37
chore(tools): drop one-shot PSR-4 migrators after apply
...
Remove psr4-migrate.php / psr4-fix-multi.php (mass file rewriters that
triggered AV false positives on merge). Migration is complete; keep
build-psr4-map inventory only and note this in the ADR.
2026-07-17 13:40:04 +08:00
kate522
6990e3dd16
Merge pull request 'refactor(autoload): migrate theme classes to Composer PSR-4' ( #192 ) from worktree-psr4-quantify into main
...
Reviewed-on: CYL/wordpress-theme-aksrt#192
2026-07-17 13:37:31 +08:00
kate522
aaf458af1c
refactor(autoload): migrate theme classes to Composer PSR-4
...
Move 288 types from global AKSRT_* + inc/classes manual requires into
namespace AKSRT\{Domain} under src/AKSRT/, wire composer.json psr-4,
and slim bootstrap to helpers/modules/hooks only. Split multi-class
widget/gateway files, update admin contract audit paths, and document
the layout in ADR/README.
2026-07-17 13:29:22 +08:00
kate522
8f349b40fb
Merge pull request 'refactor(classes): split oversize modules + bootstrap hygiene' ( #191 ) from worktree-organize-inc-classes into main
...
Reviewed-on: CYL/wordpress-theme-aksrt#191
2026-07-17 11:44:29 +08:00
kate522
9c309b4c7f
refactor(classes): split oversize modules + bootstrap hygiene
...
- Trait-split content-pay, vip-service, balance-service, order-repository
- Procedural split of user module into user-parts/*
- Split scripts enqueue_public into part-1b/1c; settings bulk trait
- Bootstrap: explicit notifications, widgets glob-only, home-modules init
- ADR: freeze domain placement for pay/revenue/notify boundaries
2026-07-17 11:42:29 +08:00
kate522
8467656bca
Merge pull request 'refactor(classes): organize inc/classes into domain folders' ( #190 ) from worktree-organize-inc-classes into main
...
Reviewed-on: CYL/wordpress-theme-aksrt#190
2026-07-17 11:15:56 +08:00
kate522
ce1c13b947
refactor(classes): organize inc/classes into domain folders
...
Move ~94 root class shells and root *-traits into domain directories
(core, auth, user, credits, content, payment/gateways, forum, shop,
sms, ai, messages, extensions, widgets, settings, admin). Update
bootstrap require paths, co-locate traits with owners, fix forum/user
relative requires, drop duplicate shop controller requires, and wire
home-modules load. Path-only; class names and init order unchanged.
2026-07-17 11:11:57 +08:00
kate522
2a8fe68048
Merge pull request 'fix(yiyan): stop invalid Hitokoto category requests' ( #189 ) from worktree-fix-hitokoto-yiyan into main
...
Reviewed-on: CYL/wordpress-theme-aksrt#189
2026-07-17 10:51:22 +08:00
kate522
6bd7676b73
fix(yiyan): stop invalid Hitokoto category requests
...
Public hitokoto v1 rejects c=hitokoto (and ignores batch count). Whitelist
categories a–l, multi-fetch for carousel, and share full markup via
aksrt_render_yiyan_block so single-post shells actually render quotes.
2026-07-17 10:33:00 +08:00
kate522
7cc25ef68c
Merge pull request 'refactor(icons): replace local brand SVGs with FA5 classes' ( #188 ) from worktree-fa5-icons-replace into main
...
Reviewed-on: CYL/wordpress-theme-aksrt#188
2026-07-17 10:06:32 +08:00
kate522
fe870bfc19
refactor(icons): replace local brand SVGs with FA5 classes
...
Unify social/OAuth/contact icons on the global Font Awesome 5.15.4 pack,
add aksrt_render_social_links for author hero, enqueue FA on admin SPA,
and delete assets/img/icons.
2026-07-17 10:05:27 +08:00
kate522
e0f1e0a8ad
Merge pull request 'fix(nav): cancel full fixed-nav reserve under homepage hero' ( #187 ) from worktree-fix-profile-credits-sidebar into main
...
Reviewed-on: CYL/wordpress-theme-aksrt#187
2026-07-17 09:33:17 +08:00
kate522
56b9d61209
fix(nav): cancel full fixed-nav reserve under homepage hero
...
body.nav-fixed pads 88px but hero only pulled up by --nav-height (60px),
leaving a blank strip above the slider. Share --nav-fixed-reserve so body
padding and hero margin-top cancel exactly, matching zibll slide-header.
2026-07-17 09:32:28 +08:00
kate522
6bb0cbf889
Merge pull request 'fix(scripts): point user-badges enqueue at aksrt-script' ( #186 ) from worktree-fix-profile-credits-sidebar into main
...
Reviewed-on: CYL/wordpress-theme-aksrt#186
2026-07-17 09:26:03 +08:00
kate522
46c7c3af07
fix(scripts): point user-badges enqueue at aksrt-script
...
aksrt-user-badges depended on unregistered aksrt-core, which WP 6.9.1
warns about and can break load order. Match other profile scripts and
depend on the real core handle aksrt-script.
2026-07-17 09:24:28 +08:00
kate522
830bb1fffe
Merge pull request 'fix(user-center): align dual-column with zibll flex shell' ( #185 ) from worktree-fix-profile-credits-sidebar into main
...
Reviewed-on: CYL/wordpress-theme-aksrt#185
2026-07-17 09:19:22 +08:00
kate522
7177b090de
fix(user-center): align dual-column with zibll flex shell
...
Rebuild /profile layout as zibll-style user-center flex (sidebar 320px
first, content flexes). Drop content-layout float shell classes so the
stats/assets nav stays left of the credits panel on desktop and drawer
on tablet/mobile.
2026-07-17 09:16:27 +08:00
kate522
59db0c0492
Merge pull request 'fix(user-center): keep page-owned nav left of credits panel' ( #184 ) from worktree-fix-profile-credits-sidebar into main
...
Reviewed-on: CYL/wordpress-theme-aksrt#184
2026-07-17 07:30:57 +08:00
kate522
9829d94cb7
fix(user-center): keep page-owned nav left of credits panel
...
Drop bare .sidebar from the profile aside so site-layout float/hide no
longer stacks stats/assets under content; harden page-owned grid + drawer
selectors on uc-sidebar/page-owned only.
2026-07-17 07:30:27 +08:00
kate522
e810f05979
Merge pull request 'feat(identity): close free-task progress, level card, hot threshold' ( #183 ) from worktree-identity-close-p2 into main
...
Reviewed-on: CYL/wordpress-theme-aksrt#183
2026-07-17 02:06:38 +08:00
kate522
5949c7a503
feat(identity): close free-task progress, level card, hot threshold
...
Finish remaining 1:1 parity gaps: free-task done/progress DTO with
daily marks, user-center level/integral card UI, configurable forum
hot recommend threshold, and task progress bars.
2026-07-17 02:05:10 +08:00
kate522
a7489798fe
Merge pull request 'Worktree identity close p2' ( #182 ) from worktree-identity-close-p2 into main
...
Reviewed-on: CYL/wordpress-theme-aksrt#182
2026-07-17 01:54:19 +08:00
kate522
2df25265d7
chore: remove temporary patch script from identity close p2
2026-07-17 01:52:53 +08:00
kate522
487681a6c4
feat(identity): tip QR upload, metrics engine, comment moderate caps
...
Close identity 1:1 gaps after p1: user-center weixin/alipay tip QR
upload+save, AKSRT_User_Metrics counters for medal get_type and level
XP bridges, forum/revenue/signin hooks, comment moderate via user_caps,
and clearer free-task deep links/status CTAs.
2026-07-17 01:52:35 +08:00
kate522
4e3eb0414d
Merge pull request 'Worktree identity zibll p1' ( #181 ) from worktree-identity-zibll-p1 into main
...
Reviewed-on: CYL/wordpress-theme-aksrt#181
2026-07-17 01:25:01 +08:00
kate522
8d4e94a02c
feat(identity): author card, per-user tip, comment caps, task status
...
Author card uses configurable limit/orderby/style and self CTAs.
Tip is per-user weixin/alipay QR modal (no site-global image).
Comment action permissions honor user_caps matrix.
Free points tasks expose done_today/passive status + better comment deep link.
audit-admin-contracts errors=0.
2026-07-17 01:21:35 +08:00
kate522
b4d04ae346
feat(users): medal auto-grant + aksrt_get_user_name chrome
...
Add AKSRT_User_Badges::auto_evaluate on login for get_type metrics,
introduce aksrt_get_user_name (auth→wear medal→level→follow order),
wire single author bar/card, and document transfer/withdraw default-closed
semantics on capabilities page. audit errors=0.
2026-07-17 01:12:09 +08:00
kate522
1b0eed6ef7
feat(users): level integral XP schema + AKSRT_User_Level runtime
...
Rewrite /users/level to Zibll-like user_level_s/max/opt and
user_integral_opt. Runtime grants XP with day_max, resolves level,
hooks login/register/post/comment/like/favorite/follow. Profile
signals read integral-backed levels. audit errors=0.
2026-07-17 01:05:39 +08:00
kate522
e80d8ea45d
feat(users): rewrite medal catalog + verify apply SPA contract
...
Replace user_badge_dictionary textarea with structured user_medal_*
catalog (categories/items/get_type). Expand verify SPA/PHP to Zibll
apply fields. Reader derives badge.dictionary from medal catalog for
existing AKSRT_User_Badges wear/grant runtime. No dual-read of old
pipe dictionary. audit-admin-contracts: 0 errors.
2026-07-17 01:00:05 +08:00
kate522
cab132a536
Merge pull request 'Worktree zibll align p1p2' ( #180 ) from worktree-zibll-align-p1p2 into main
...
Reviewed-on: CYL/wordpress-theme-aksrt#180
2026-07-17 00:04:11 +08:00
kate522
0298e6bba8
fix(single): author card PM/reward and share dropdown fallback
...
Mirror bar PM/reward on author card and centralize #share-dropdown so
tabbar share works when the actions row is absent.
2026-07-16 23:40:50 +08:00
kate522
de32c9ad35
feat(user): wear badge modal and user-center entry
...
Expose 我的徽章 modal on profile header with REST wear actions and
update SPA badge help for icon_url + grant/wear flows.
2026-07-16 23:40:50 +08:00