Minimize potential forum-breaking issues
- Dominant language
- No language data
- Stars
- 0
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
## Feature Request
**Is your feature request related to a problem? Please describe.**
If there is a backend/boot/JS error, we should still allow admins to access the admin page.
This could be done with a simple No-JS admin page accessible via a URL such as `example.forum/admin?safe=true`.
**Describe the solution you'd like**
### Solution 1
If this `safe=true` is present, we should **not** load any extensions while displaying this page. We can then show the user a page that allows them to make changes to the active extensions (enabling/disabling).
### Solution 2
Alternative with using just Blade and DB password as authorization to enable and disable extensions without any booting of Flarum.
**Justify why this feature belongs in Flarum's core, rather than in a third-party extension**
This is a core part of Flarum that would improve accessibility to more users.
---
**Agreed Upon Tasks**
* [x] A safe mode (configurable through `config.php`) that loads Flarum without booting any extensions (https://github.com/flarum/core/pull/3073).
* [x] A no-js login page for admin, as currently that shows a "not authenticated" error page.
* [x] A blade admin page that shows a table of extensions and a bunch of switches, so extensions can be disabled if their JS is broken. (#3059)
* [x] Better JS error messages so that if JS is broken (https://github.com/flarum/framework/pull/3349):
* We show which file (and preferably, which extension) things went wrong in.
* We show more info about the error.
* [x] Safe post rendering failures. (https://github.com/flarum/core/pull/3061)
* [ ] Safe `Less` compilation failures.
* [ ] Clearer locale file errors
Contributor guide
Research direction
Review the two unchecked tasks: safe Less compilation failures and clearer locale file errors. Then inspect the completed work and referenced pull requests (#3073, #3059, #3349, and #3061) to understand the existing safe-mode and admin behavior; done means both remaining failure cases are handled without preventing administrative recovery.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- backend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100