dralkh_spaceforge/controllers
dralkh e80dfda20d release: v1.0.5
JS/TS:
- Replace builtin-modules with node:module (esbuild.config.mjs)
- Replace fs-extra with native fs (install.js), remove from deps
- Fix createEl deprecation: use createDiv/createSpan
- Remove unnecessary type assertions, fix unsafe casts
- Bind event handlers with arrow functions

CSS:
- Remove all !important declarations (~30 instances) — replace with
  chained selectors (.class.class) for equal specificity
- Merge all duplicate selectors across 7 CSS files (~50+ instances)
- Convert 3-digit hex to 6-digit format (_variables.css)
- Fix duplicate CSS properties (overflow-y in mcq.css)
- Delete leftover display:none suppression rule in calendar.css

Meta:
- Bump version to 1.0.5
- Update minAppVersion to 1.8.7
- Add versions.json entry for 1.0.5
2026-05-20 11:02:54 +03:00
..
interfaces.ts fix async method lint errors in review controllers and UI. 2026-01-01 11:36:00 +03:00
README.md spaceforge 2025-07-31 07:03:20 +03:00
review-batch-controller.ts feat: Refine notices and error handling, introduce UI constants. 2026-01-01 12:14:46 +03:00
review-controller-core.ts release: v1.0.5 2026-05-20 11:02:54 +03:00
review-controller-mcq.ts feat: Refine notices and error handling, introduce UI constants. 2026-01-01 12:14:46 +03:00
review-controller.ts feat: Refine notices and error handling, introduce UI constants. 2026-01-01 12:14:46 +03:00
review-navigation-controller.ts feat: Enhance MCQ generation with difficulty settings, refactor UI components, update calendar event logic, and configure ESLint for improved code quality. 2025-12-08 16:58:14 +03:00
review-session-controller.ts feat: Enhance MCQ generation with difficulty settings, refactor UI components, update calendar event logic, and configure ESLint for improved code quality. 2025-12-08 16:58:14 +03:00

Controllers Directory

This directory contains controller files that handle the business logic of the Spaceforge spaced repetition system.

Files

  • interfaces.ts - Contains interfaces for all controllers
  • review-controller.ts - Main controller that coordinates between specialized controllers
  • review-controller-core.ts - Handles core review functionality
  • review-navigation-controller.ts - Manages navigation between notes
  • review-session-controller.ts - Handles session management and link analysis
  • review-batch-controller.ts - Manages batch review operations
  • review-controller-mcq.ts - Manages the Multiple Choice Question (MCQ) functionality

Architecture

The controllers follow a modular architecture:

  1. The ReviewController acts as a facade that delegates to specialized controllers
  2. Each specialized controller has a specific responsibility
  3. Controllers communicate through the main plugin instance
  4. UI components in the ui/ directory interact with controllers through well-defined interfaces

This modular approach makes the codebase more maintainable and easier to extend.