flarum / flarum/issue-archive

Minimize potential forum-breaking issues

Open
#85 13 comments 2 reactions 0 assignees View on GitHub
needs-discussion type/feature
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.