kbve
@kbve/source
Sign in / Sign up
Open main menu
Distributed computation caching and task execution are currently disabled for this organization.
@kbve/source
GitHub
Overview
Runs
Analytics
Loading workspace stats
Loading workspace insights...
Statistics interval
7 days
30 days
Latest CI Pipeline Executions
Status
Fix filter
Filter
Fuzzy
Filter range
Sort by
Sort by
Start time
Sort ascending
Sort descending
Succeeded
dev
64275fa6 feat(net): lightyear multiplayer networking + avian3d migration (#7921) * refactor(isometric): migrate from bevy_rapier3d to avian3d physics engine Replace bevy_rapier3d with avian3d 0.5 across all 9 game files. Convert collider constructors to full-extent API, swap KinematicCharacterController for ShapeCaster-based ground detection, migrate raycasting to SpatialQuery, and update system scheduling to PhysicsSystems. Prepares for lightyear server-authoritative multiplayer integration. * feat(net): add lightyear multiplayer networking with shared protocol crate Phase 2: Create bevy_kbve_net shared protocol crate with replicated components (PlayerId, PlayerColor, Position, Rotation, LinearVelocity), PlayerInput enum, GameChannel, and ProtocolPlugin. Wire up lightyear ClientPlugins in isometric game client with configurable server address via GAME_SERVER_ADDR env var. Phase 3: Replace raw rapier3d game server in axum-kbve with headless Bevy app running avian3d + lightyear ServerPlugins. Server runs in dedicated thread with WebSocket transport on configurable GAME_WS_ADDR (default :5000), separate from Axum HTTP on :4321. Includes workaround for lightyear 0.26.4 bug where PeerMetadata resource is not initialized by ServerPlugins. * build(axum-kbve): update Dockerfile and workspace for bevy_kbve_net Add bevy_kbve_net to Docker workspace Cargo.toml and all Dockerfile build stages (planner, foundation, builder). Expose port 5000 for lightyear WebSocket. Rebuild isometric WASM with avian3d + lightyear. * feat(net): add JWT auth flow for game server connections Client reads Supabase JWT from shared IndexedDB, passes it through WASM bridge to lightyear, sends AuthMessage after WebSocket connect. Server validates JWT using existing auth::validate_token, spawns player entity only after successful authentication. Includes Go Online button with auth-aware UI states. * fix(gameserver): add TransformPlugin for headless Bevy app MinimalPlugins doesn't include TransformPlugin, causing a panic on StaticTransformOptimizations resource. Required by avian3d physics. * fix(isometric): fix JWT lookup key and allow guest connections Supabase v2 stores session under `supabase.auth.token` key, not `sb-*-auth-token`. Added fallback cursor scan for any auth token key. Button now always clickable — guests connect with empty JWT (server accepts as anonymous when SUPABASE_JWT_SECRET is unset).
5 days ago
by Al @h0lybyte
A
Succeeded
dev
bb7b2b96 feat(osrs): add 50 item overrides - elegant sets, HAM robes, vestments, amulets (#7924) Elegant clothing (28): all men's shirts/legs and women's blouses/skirts in red, blue, green, black, purple, white, gold, pink variants. H.A.M. robes (6): hood, shirt, robe, cloak, gloves, boots. Shade robes (2): robe top (+5 Prayer) and robe (+4 Prayer). Zamorak vestments (2): robe top and legs (easy clue, 20 Prayer). God vestment accessories (4): Saradomin/Zamorak stoles, Sara crozier, Guthix mitre. Trimmed amulets (4): glory (t4), magic (t), defence (t), power (t). Misc treasure trail gear (4): spiked manacles, fremennik kilt, rune/adamant canes.
5 days ago
by Al @h0lybyte
A
Succeeded
dev
a0c592e4 feat(osrs): add 20 overrides — gilded/trimmed d'hide, apprentice wand, hunter's crossbow (#7922) Gilded d'hide set (body/chaps/vambraces/coif), trimmed d'hide bodies (black t, blue g/t, green g/t, red g/t), trimmed d'hide chaps (black t, blue g/t, green g/t, red g/t), plus apprentice wand and hunter's crossbow.
5 days ago
by Al @h0lybyte
A
Succeeded
dev
6a018e6f feat(osrs): add 20 overrides — complete god d'hide sets, studded armour, MTA wands (#7920) God d'hide chaps (5), coifs (5), and bracers (5) for all gods, completing the full blessed d'hide equipment sets. Plus studded body/chaps, hardleather body, and beginner/teacher wands.
6 days ago
by Al @h0lybyte
A
Succeeded
dev
42adf208 feat(discordsh): auth modules, server-side Zod, nanostores grid (#7917) * feat(discordsh): auth script modules, server-side Zod, nanostores grid (#7712) - Extract auth callback/logout inline scripts to lib/auth/*.ts modules for proper Vite bundling and testability - Add server-side Zod validation to discordsh edge function using the same SubmitServerRequestSchema rules as client-side (validate.ts) - Replace edge function manual validation with Zod safeParse + structured error messages - Refactor ReactServerGrid from useState to nanostores ($servers, $category, $sort, $page, $loading) for fine-grained reactivity — only subscribing slices re-render on state changes - Add serverStore.ts with actions (loadServers, setCategory, setSort, loadMore, applyVote) and stale-load guard - Add 8 new Playwright e2e tests: auth script module extraction, inline style removal verification, CSS class usage for form/navbar/expand button * feat(discordsh): server-side pagination with edge function + SQL migration (#7712) Add list.servers public edge endpoint with proxy_list_servers SQL function for server-side pagination, sorting, and category filtering. Client falls back to static JSON when edge is unreachable. * feat(discordsh): replace Load More button with infinite scroll (#7712) Use IntersectionObserver with 200px rootMargin to auto-load next page when the sentinel element nears the viewport. Keeps CSS grid layout intact while eliminating manual pagination clicks. * perf(discordsh): static extraction for server cards via React.memo (#7712) Split ReactServerCard into a memoized static shell + isolated CardVoteButton component. Vote state changes only re-render the button subtree, not the entire card. React.memo on the outer card skips re-renders for cards whose server reference is unchanged (applyVote preserves refs for non-voted cards).
6 days ago
by Al @h0lybyte
A
Succeeded
dev
472913aa deploy(isometric): update production build with bevy_cam and inventory integration (#7919)
6 days ago
by Al @h0lybyte
A
Succeeded
dev
c8a89870 fix(jedi): slice Bytes before comparing in wrap_raw doctest (#7918) Co-authored-by: Al @h0lybyte <5599058+h0lybyte@users.noreply.github.com>
6 days ago
by github-act...
g
Succeeded
dev
d21054c0 refactor(discordsh): inline styles to CSS + React Hook Form + Zod from proto (#7915) * refactor(discordsh): convert ReactServerCard and ReactServerGrid inline styles to Tailwind + CSS - ReactServerCard: 12 inline style objects → Tailwind classes + sc-* semantic CSS - ReactServerGrid: 13 inline style objects → Tailwind classes + sg-* semantic CSS - Removed slVar() helper from both components (no longer needed) - Starlight CSS variable theming preserved via semantic classes in global.css - Filter pill active/inactive state uses conditional CSS classes Ref #7712 item 11 * refactor(discordsh): convert remaining components to Tailwind/CSS, add React Hook Form + Zod validation - ReactSubmitForm: refactored from manual useState to React Hook Form with zodResolver using proto-generated SubmitServerRequestSchema - ReactNavBar: replaced all inline styles and onMouseEnter/Leave handlers with semantic CSS classes (nb-*) - ExpandButton: extracted base styles to CSS class (eb-base), kept only react-spring animated values as inline styles - Generated Zod schema from discordsh.proto via @kbve/devops codegen with validation rules (regex, min/max, url) in discordsh-zod-config.json - Added sf-*, eb-*, nb-* CSS classes to global.css @layer my-overrides
6 days ago
by Al @h0lybyte
A
Succeeded
dev
6f72575f feat(isometric): integrate bevy_inventory plugin with isometric game (#7911) Replace custom inventory implementation with bevy_inventory crate, implementing ItemKind trait with proper max_stack values and re-exporting plugin types. Update Tauri/WASM commands to use snapshot JSON API.
6 days ago
by Al @h0lybyte
A
Succeeded
dev
ec9f2fc1 fix(isometric): use npx tsc in build script for CI compatibility (#7910) Bare `tsc` command not found on macOS CI runner. Using `npx tsc` ensures the local typescript devDependency is resolved correctly.
6 days ago
by Al @h0lybyte
A
Previous page
Previous
Next
Next page