Feat/production deployment workflow#873
Merged
Anuoluwapo25 merged 29 commits intoApr 28, 2026
Merged
Conversation
- Add soroban_sdk import to fungible-allowlist to fix missing panic_handler on wasm32 - Regenerate package-lock.json to fix npm ci lock file mismatch - Fix floating promise lint errors in DaoPropose, Dashboard, and server/index.ts - Fix invalid class field syntax in scholarshipTreasury (React hook in class body) - Fix ReactMarkdown className prop removed in v10 (wrap with div) - Run prettier across src/ to fix formatting check failures Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Fix merge conflict in upload.routes.ts (missing JSDoc opening comment). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add contractevent to soroban_sdk imports in course_milestone - Remove unresolved learn_token_client re-export from course_milestone - Add AlreadyEnrolled/NotEnrolled/DuplicateSubmission variants to Error enum - Fix export type syntax in src/types/contracts.ts for isolatedModules - Replace mockContractImports with mockContracts in src/test/setup.ts - Add missing DonorStats type import in src/hooks/useDonor.ts - Fix LRNHistoryChart tooltip formatter to accept ValueType | undefined - Fix Dashboard.tsx progressMap -> getCourseProgress Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Drop non-existent ValueType import; use inferred type in formatter - Clone env before consuming it in upgrade_timelock_vault::is_upgrade_ready Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Contracts: - scholar_nft: replace broken merge-artifact lib.rs with clean upstream version - scholar_nft: rewrite test.rs to match actual API (remove non-existent types) - fungible-allowlist: fix #[contract] placement, drop unused Env import - course_milestone: remove unused constants/params, add ContractPaused error, use correct error variants, add get_milestone_status helper - upgrade_timelock_vault: fix duplicate create_env, BytesN::random, env.register, correct should_panic error strings, fix borrow-after-move - cargo fmt across all contracts Frontend: - LRNHistoryChart: remove non-existent ValueType recharts import - Admin.tsx: fix floating promise errors (void fetchStats/fetchMilestones) - Prettier fixes Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
… unit tests - Add verify_milestone() function for admin milestone verification with LRN token minting - Add reject_milestone() function for admin milestone rejection - Add get_milestone_status() function to query milestone states - Create learn_token_client module for LRN token integration - Add comprehensive unit tests covering all functions: - enroll() happy path, duplicate enroll, unknown course scenarios - verify_milestone() happy path, non-admin caller, already verified cases - reject_milestone() happy path, wrong state, non-admin scenarios - get_milestone_status() all state transitions - LRN minting integration tests - Pause functionality tests for all operations - Update error handling with new error variants (NotEnrolled, DuplicateSubmission, InvalidState, ContractPaused) - Fix existing functions to use correct error variants - Update initialize function to store learn token contract address Closes bakeronchain#230
- Trigger on pull_request targeting main - Run typecheck, lint, vitest, and build steps - Upload dist artifact on success
…scarded errors from courseImilestore,scholar_nft,fungible_allowlist to allow cargo to build successfully
- Document LRN as soulbound reputation score with supply model - Document GOV as transferable voting token with mint/burn model - Add flywheel diagram showing LRN → GOV → donor → proposal cycle - Honest accounting of V1 centralization and V2 roadmap - Flag GOV burn mechanic as open design question Closes bakeronchain#139
- Poll comments every 15s (configurable via VITE_COMMENT_POLL_MS) - Add "Last updated" timestamp for user feedback - Silent refresh prevents UI flickering during background polls - Clean up interval on unmount to prevent memory leaks - Add localized string for last updated timestamp
Poll comments every 15s (configurable via VITE_COMMENT_POLL_MS) - Add "Last updated" timestamp for user feedback - Silent refresh prevents UI flickering during background polls - Clean up interval on unmount to prevent memory leaks - Add localized string for last updated timestamp closes: bakeronchain#435
- Add server/src/db/migrations/ with 005_governance_and_comments.sql (comments, comment_votes, proposals, scholar_balances) - Fix dollar-quote syntax bug in 003_course_content_schema.sql ($ -> \$\$) - Rewrite scripts/migrate.ts: supports 'up' and 'down' (rollback) commands, typed with PoolClient, tabs formatting to match project style - Strip all CREATE TABLE / DDL from db/index.ts; initDb() now only verifies connection and confirms schema_migrations table exists, exits with clear error if migrations haven't been run - Add migrate and migrate:rollback scripts to server/package.json - Add .github/workflows/server-ci.yml: spins up Postgres 16, runs migrations, then runs jest tests on every push/PR touching server/
- Regenerate package-lock.json to fix missing @noble/hashes@2.0.1 (npm ci failure) - Fix xdr.ScVal.scvU64 call — wrap tokenId with new xdr.Uint64() (TS2345) - Add NftRow type to getScholarCredentials to fix implicit any on row (TS7006) - Add non-null assertion on JWT_SECRET in admin.middleware (TS2769) - Add JWT_SECRET fallback to course-admin.middleware when JWT_PUBLIC_KEY absent - Set process.env.JWT_SECRET in courses-api.test so requireCourseAdmin can verify tokens - Fix upload.test and comments.test — switch from removed uploadRouter/commentsRouter exports to createUploadRouter/createCommentsRouter with inline test JwtService Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
@hally-Ayo Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits. You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀 |
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.
closes #696
closes #764
closes #767
closes #701