7e7f1f89f3
Support custom global-ua Update core Optimize some details
1.5 KiB
1.5 KiB
name, description
| name | description |
|---|---|
| core-platform | Use when changing FlClash core integration, platform managers, Go core communication, desktop/mobile platform behavior, or Windows helper flow. |
Core And Platform
When To Use
Use this for changes touching lib/core/, lib/manager/, core/, services/helper/, build hooks, system proxy, tray, VPN, TUN, or platform-specific desktop/mobile behavior.
Workflow
- Identify which boundary owns the behavior:
- Android lib mode:
lib/core/lib.dart. - Desktop process/socket mode:
lib/core/service.dart. - Shared facade:
lib/core/controller.dartandlib/core/interface.dart. - Platform lifecycle:
lib/manager/.
- Android lib mode:
- Route feature code through
CoreControllerandCoreHandlerInterface; avoid direct calls to platform implementations outside their boundary. - Keep desktop and mobile paths explicit.
- For action-layer behavior, inspect
lib/providers/action.dartand relevant generated providers. - Add or update shared Dart tests for logic that can be isolated.
- Manually verify native behavior when automated coverage is not practical.
Reference Files
Read .agents/architecture.md for the current core modes, manager stack, build hooks, local plugins, and Windows helper notes.
Pitfalls
- Debug Windows helper auth differs from release token verification.
plugins/setup/is a build harness, not a Dart API plugin.- Build hooks can trigger Go or Rust compilation indirectly through Flutter platform builds.