Sample Issue Feedback
10 realistic feedback samples for the Vietnamese Aiken repo, using 3 issue templates: Bug Report, Feature Request, Lesson Feedback.
1. [Bug]: Part 4 FT lesson uses hardcoded admin key instead of parameterized config
- Template: Bug Report
- Area: Smart Contract Examples (Aiken)
- Description: In Part 4 lesson (
docs/04-minting-tokens-nfts/02_mint_tokens_nfts.md, line 69-99), the Simple FT validator uses a hardcodedconst admin_pkh: ByteArray = #"abc123..."directly in the code. However, the actual example inexamples/validators/simple_ft.akcorrectly uses a parameterized approach withpub type FTConfig { admin_pkh: ByteArray }andvalidator simple_ft(config: FTConfig). The lesson teaches an insecure and inflexible pattern — hardcoding keys means redeploying the entire contract to change the admin, and using a placeholder value like#"abc123..."could confuse learners into thinking that's a real key format. - Steps to Reproduce:
- Open
docs/04-minting-tokens-nfts/02_mint_tokens_nfts.md - See "Ví dụ: Simple FT" code block (line 69) — uses
const admin_pkh - Compare with
examples/validators/simple_ft.ak— usesFTConfigparameter
- Open
- Expected Behavior: The lesson code should match the example code and use the parameterized
FTConfigpattern to teach best practices for key management in validators. - Environment: N/A — documentation content issue
2. [Lesson Feedback]: Missing Windows installation instructions
- Template: Lesson Feedback
- Part: Part 1: The Aiken Foundation
- Lesson Number: 01
- Feedback Type: Missing content
- Feedback: The Installation lesson only covers macOS/Linux setup using
aikup. It lacks detailed instructions for Windows (WSL2 setup, Rust toolchain on Windows). Many Vietnamese students use Windows, so this section is essential. - Additional Context: Reference WSL2 guide at https://aiken-lang.org/installation-instructions
3. [Feature]: Add interactive code playground for Aiken
- Template: Feature Request
- Area: Documentation Site
- Description: Embed an interactive code playground within the docs so learners can run Aiken code directly without local installation. Could use iframe or a WebAssembly-based editor.
- Motivation: Lowers the barrier for newcomers. Many people want to try Aiken before installing it. Docs like Rust (play.rust-lang.org) and Solidity (Remix) provide playgrounds that significantly increase engagement.
- Alternatives Considered: Add external link to an Aiken playground, or provide a Gitpod/Codespace configuration.
4. [Lesson Feedback]: Source code comments are in Portuguese instead of Vietnamese or English
- Template: Lesson Feedback
- Part: Part 1: The Aiken Foundation
- Lesson Number: 01
- Feedback Type: Incorrect information
- Feedback: The source code files
src/theme/Root.jsandsrc/clientModules/sidebarToggle.jscontain comments and console logs written in Portuguese (e.g., "Verificar se já foi injetado", "Elemento encontrado, criando botão", "Escutar eventos de popstate"). This is a Vietnamese Aiken documentation project — all code comments should be in Vietnamese or English for consistency. There are 28 Portuguese strings across these two files. - Additional Context: Likely leftover from the original Uberhub Mentorias project (Firebase project is named "mentorias-uberhub"). Should be translated to Vietnamese or English.
5. [Bug]: Landing page community avatars return 404 errors
- Template: Bug Report
- Area: Landing Page
- Description: The Community stats section displays an avatar stack fetched from
picsum.photos. Some images return 404 or load slowly, resulting in broken/empty avatar images on the landing page. - Steps to Reproduce:
- Open the homepage at
/ - Scroll down to the Community section
- Observe the avatar stack — some images appear broken
- Open the homepage at
- Expected Behavior: All avatars should display correctly, or show a fallback placeholder when images fail to load.
- Environment: macOS 15, Safari 18, Vietnamese network (picsum.photos may be blocked/slow)
6. [Feature]: Add lesson on Multi-signature Validators
- Template: Feature Request
- Area: New Lesson / Content
- Description: Add Part 6 or an advanced lesson on multi-signature validators — requiring multiple signatures to execute a transaction. This is a common pattern in DeFi and treasury management on Cardano.
- Motivation: After learning escrow (Part 5), learners need to continue with more complex patterns. Multi-sig is essential knowledge for building DAOs and managing community funds.
- Alternatives Considered: Could be added as an extension to Part 5 instead of creating a new Part.
7. [Lesson Feedback]: eUTxO model explanation lacks visual diagrams
- Template: Lesson Feedback
- Part: Part 2: Cardano Architecture
- Lesson Number: 02
- Feedback Type: Unclear explanation
- Feedback: The UTxO vs Account model (Ethereum) comparison is not visual enough. Should add a diagram illustrating the UTxO flow: Input → Validator → Output. Currently it is text-only, making it hard to understand for blockchain beginners.
- Additional Context: Could use Mermaid diagrams (already enabled in docusaurus.config.js) to create visual flows directly in the lesson.
8. [Bug]: Duplicate sidebar toggle logic between Root.js and sidebarToggle.js
- Template: Bug Report
- Area: Documentation Site (Docusaurus)
- Description: The sidebar toggle injection logic is duplicated across two files:
src/theme/Root.jsandsrc/clientModules/sidebarToggle.js. Both files read fromlocalStorage.getItem('sidebar-collapsed'), both use MutationObserver to watch DOM changes, and both attempt to inject/manage the sidebar toggle button. This causes race conditions where the toggle button may be injected twice or the state may conflict between the two implementations. - Steps to Reproduce:
- Open browser DevTools console on any docs page
- Observe duplicate
[SidebarToggle]and[Tracking]console logs - Both Root.js and sidebarToggle.js compete to manage sidebar state
- Expected Behavior: Sidebar toggle logic should exist in only one place to avoid race conditions and reduce bundle size.
- Environment: Any browser, any OS
9. [Feature]: Add dark mode toggle for landing page
- Template: Feature Request
- Area: Landing Page / UI
- Description: The landing page currently has a fixed dark theme (retro pixel-art). Add a toggle to switch to light mode, synchronized with the Docusaurus theme toggle when navigating into docs.
- Motivation: Some users prefer light mode, especially when reading documentation during the day. Currently, transitioning from the landing page (dark) to docs (potentially light) creates an inconsistent UX.
- Alternatives Considered: Keep dark-only for the landing page but add a smooth transition when switching to the docs theme.
10. [Lesson Feedback]: i18n directory is empty — no Vietnamese locale translations for Docusaurus UI
- Template: Lesson Feedback
- Part: Part 1: The Aiken Foundation
- Lesson Number: 01
- Feedback Type: Missing content
- Feedback: The
docusaurus.config.jssets the default locale to Vietnamese (vi), but thei18n/directory is completely empty. This means all Docusaurus UI elements (sidebar labels, pagination buttons like "Next"/"Previous", search placeholder, "Edit this page", etc.) remain in English instead of Vietnamese. The tutorial content is Vietnamese but the surrounding UI is not, creating a mixed-language experience. - Additional Context: Run
npm run write-translations -- --locale vito generate the translation files, then translate the JSON entries. See https://docusaurus.io/docs/i18n/tutorial for the official guide.