feat: modernize error page (#2949)
* can't figure this out! * raise here so it gets picked up by exceptions * add few more info for error rendering * add a few more checks for browser not fail safe just one more layer * cleaner error display ... hopefully * add go to extension * keep buttons add go to extension * feat: identify extensions that are not installed * fix: status code * fix: full path * add account/logout button if 401 prevent getting stuck * fix: ext access * fix user button * fix: 404 page * fix: json 404 response * fix: dumb rendering * fix: `/api` request always json * fix: extension api path * test: check regtest * test: investgate * something made ws slower? * fix: change error code --------- Co-authored-by: Vlad Stan <stan.v.vlad@gmail.com> Co-authored-by: dni ⚡ <office@dnilabs.com> Co-authored-by: Arc <33088785+arcbtc@users.noreply.github.com>
This commit is contained in:
co-authored by
Vlad Stan
dni ⚡
Arc
parent
eeca7de10d
commit
4511891297
+6
-4
@@ -149,7 +149,7 @@ class InstalledExtensionsSettings(LNbitsSettings):
|
||||
lnbits_extensions_redirects: list[RedirectPath] = Field(default=[])
|
||||
|
||||
# list of all extension ids
|
||||
lnbits_all_extensions_ids: set[str] = Field(default=[])
|
||||
lnbits_installed_extensions_ids: set[str] = Field(default=[])
|
||||
|
||||
def find_extension_redirect(
|
||||
self, path: str, req_headers: list[tuple[bytes, bytes]]
|
||||
@@ -182,7 +182,7 @@ class InstalledExtensionsSettings(LNbitsSettings):
|
||||
if ext_redirects:
|
||||
self._activate_extension_redirects(ext_id, ext_redirects)
|
||||
|
||||
self.lnbits_all_extensions_ids.add(ext_id)
|
||||
self.lnbits_installed_extensions_ids.add(ext_id)
|
||||
|
||||
def deactivate_extension_paths(self, ext_id: str):
|
||||
self.lnbits_deactivated_extensions.add(ext_id)
|
||||
@@ -852,6 +852,8 @@ class TransientSettings(InstalledExtensionsSettings, ExchangeHistorySettings):
|
||||
# Remember the latest balance delta in order to compare with the current one
|
||||
latest_balance_delta_sats: int = Field(default=None)
|
||||
|
||||
lnbits_all_extensions_ids: set[str] = Field(default=[])
|
||||
|
||||
@classmethod
|
||||
def readonly_fields(cls):
|
||||
return [f for f in inspect.signature(cls).parameters if not f.startswith("_")]
|
||||
@@ -907,8 +909,8 @@ class Settings(EditableSettings, ReadOnlySettings, TransientSettings, BaseSettin
|
||||
def is_admin_extension(self, ext_id: str) -> bool:
|
||||
return ext_id in self.lnbits_admin_extensions
|
||||
|
||||
def is_extension_id(self, ext_id: str) -> bool:
|
||||
return ext_id in self.lnbits_all_extensions_ids
|
||||
def is_installed_extension_id(self, ext_id: str) -> bool:
|
||||
return ext_id in self.lnbits_installed_extensions_ids
|
||||
|
||||
|
||||
class SuperSettings(EditableSettings):
|
||||
|
||||
Reference in New Issue
Block a user