Admin panel: Various rate limit tab issues #3474

Open
opened 2026-02-13 13:09:41 +00:00 by phnt · 1 comment
Owner

Environment info

  • Browser, version, OS, platform: Brave 1.86.146 (Chromium 144.0.7559.110)
  • Instance URL: N/A
  • Frontend version (see settings -> about): 2881b31ff2
  • Backend version (see settings -> about): 1c685ea41a
  • Browser extensions (ublock, rikaichamp etc): Private window
  • Known instance/user customizations (i.e. pleromafe mods/forks, instance styles etc): N/A

Bug description & reproduction steps

In the admin rate limits settings:

  • Clicking on "Separate rate limits for authenticated/unauthenticated users" checkbox does not update the view until the the checkbox is unticked and ticked again
  • Unticking "Separate rate limits for authenticated/unauthenticated users" in the Search settings causes the Amount for Authenticated users to revert back to 10 instead of 30 while still remaining visible
  • Rate limit setting is missing heading EN translation, currently "admin_dash.rate_limit.account_confirmation_resend"
  • Setting any rate limit and saving settings causes the Admin panel to crash with the following errors:

When saving a rate limit:

Uncaught (in promise) TypeError: Cannot read properties of undefined (reading '0')
    at Proxy.isSeparate (rate_setting.js:22:45)
isSeparate	@	rate_setting.js:22
Promise.then		
(anonymous)	@	adminSettings.js:138
setInstanceAdminSettings	@	adminSettings.js:96
(anonymous)	@	adminSettings.js:228
Promise.then		
pushAdminDraft	@	adminSettings.js:227
pushAdminDraft	@	settings_modal.js:175
_createElementVNode.onClick._cache.<computed>._cache.<computed>	@	settings_modal.vue:152

When switching to a different tab (uploads):

Uncaught (in promise) TypeError: Cannot convert undefined or null to object
    at Object.entries (<anonymous>)
    at setSettings (sw-pleroma.js:13204:45)
    at async sw-pleroma.js:13325:5
setSettings @ sw-pleroma.js:13204
await in setSettings
(anonymous) @ sw-pleroma.js:13325

When switching back to rate limit tab:

Uncaught (in promise) TypeError: Cannot read properties of undefined (reading '0')
    at Proxy.isSeparate (rate_setting.js:22:45)
    at Proxy._sfc_render (rate_setting.vue:47:18)
isSeparate	@	rate_setting.js:22
_sfc_render	@	rate_setting.vue:47
Promise.then		
setTab	@	vertical_tab_switcher.jsx:85
(anonymous)	@	vertical_tab_switcher.jsx:78

When switching back to uploads tab:

sw-pleroma.js:13204 Uncaught (in promise) TypeError: Cannot convert undefined or null to object
    at Object.entries (<anonymous>)
    at setSettings (sw-pleroma.js:13204:45)
    at async sw-pleroma.js:13325:5
setSettings	@	sw-pleroma.js:13204
await in setSettings		
(anonymous)	@	sw-pleroma.js:13325

Uncaught (in promise) TypeError: Cannot destructure property 'type' of 'vnode' as it is null.
    at unmount (chunk-LG6AQRJS.js?v=44310f6d:8010:7)
    at unmountComponent (chunk-LG6AQRJS.js?v=44310f6d:8147:7)
    at unmount (chunk-LG6AQRJS.js?v=44310f6d:8042:7)
    at unmountChildren (chunk-LG6AQRJS.js?v=44310f6d:8161:7)
    at unmount (chunk-LG6AQRJS.js?v=44310f6d:8066:9)
    at unmountComponent (chunk-LG6AQRJS.js?v=44310f6d:8147:7)
    at unmount (chunk-LG6AQRJS.js?v=44310f6d:8042:7)
    at unmountChildren (chunk-LG6AQRJS.js?v=44310f6d:8161:7)
    at unmount (chunk-LG6AQRJS.js?v=44310f6d:8074:9)
    at patchKeyedChildren (chunk-LG6AQRJS.js?v=44310f6d:7891:11)
Promise.then		
setTab	@	vertical_tab_switcher.jsx:85
(anonymous)	@	vertical_tab_switcher.jsx:78
  • Upon reloading FE attempting to go back to the rate limit setting crashes the admin settings to the point that all tabs after rate limits become unusable

Also "Allow relay" is listed twice in the "Federation" tab.

Bug seriousness

  • How annoying it is: Mildly
  • How often does it happen: Every time
  • How many people does it affect: 2.10 users not being able to use AdminFE due to 2FA
  • Is there a workaround for it: Clearing the ConfigDB settings with mix pleroma.config delete pleroma rate_limits.
# Environment info <!-- Everything is optional and where applicable but the more information the better. --> * Browser, version, OS, platform: Brave 1.86.146 (Chromium 144.0.7559.110) * Instance URL: N/A * Frontend version (see settings -> about): 2881b31ff2 * Backend version (see settings -> about): 1c685ea41a * Browser extensions (ublock, rikaichamp etc): Private window * Known instance/user customizations (i.e. pleromafe mods/forks, instance styles etc): N/A # Bug description & reproduction steps In the admin rate limits settings: * Clicking on "Separate rate limits for authenticated/unauthenticated users" checkbox does not update the view until the the checkbox is unticked and ticked again * Unticking "Separate rate limits for authenticated/unauthenticated users" in the Search settings causes the Amount for Authenticated users to revert back to 10 instead of 30 while still remaining visible * Rate limit setting is missing heading EN translation, currently "admin_dash.rate_limit.account_confirmation_resend" * Setting any rate limit and saving settings causes the Admin panel to crash with the following errors: When saving a rate limit: ``` Uncaught (in promise) TypeError: Cannot read properties of undefined (reading '0') at Proxy.isSeparate (rate_setting.js:22:45) isSeparate @ rate_setting.js:22 Promise.then (anonymous) @ adminSettings.js:138 setInstanceAdminSettings @ adminSettings.js:96 (anonymous) @ adminSettings.js:228 Promise.then pushAdminDraft @ adminSettings.js:227 pushAdminDraft @ settings_modal.js:175 _createElementVNode.onClick._cache.<computed>._cache.<computed> @ settings_modal.vue:152 ``` When switching to a different tab (uploads): ``` Uncaught (in promise) TypeError: Cannot convert undefined or null to object at Object.entries (<anonymous>) at setSettings (sw-pleroma.js:13204:45) at async sw-pleroma.js:13325:5 setSettings @ sw-pleroma.js:13204 await in setSettings (anonymous) @ sw-pleroma.js:13325 ``` When switching back to rate limit tab: ``` Uncaught (in promise) TypeError: Cannot read properties of undefined (reading '0') at Proxy.isSeparate (rate_setting.js:22:45) at Proxy._sfc_render (rate_setting.vue:47:18) isSeparate @ rate_setting.js:22 _sfc_render @ rate_setting.vue:47 Promise.then setTab @ vertical_tab_switcher.jsx:85 (anonymous) @ vertical_tab_switcher.jsx:78 ``` When switching back to uploads tab: ``` sw-pleroma.js:13204 Uncaught (in promise) TypeError: Cannot convert undefined or null to object at Object.entries (<anonymous>) at setSettings (sw-pleroma.js:13204:45) at async sw-pleroma.js:13325:5 setSettings @ sw-pleroma.js:13204 await in setSettings (anonymous) @ sw-pleroma.js:13325 Uncaught (in promise) TypeError: Cannot destructure property 'type' of 'vnode' as it is null. at unmount (chunk-LG6AQRJS.js?v=44310f6d:8010:7) at unmountComponent (chunk-LG6AQRJS.js?v=44310f6d:8147:7) at unmount (chunk-LG6AQRJS.js?v=44310f6d:8042:7) at unmountChildren (chunk-LG6AQRJS.js?v=44310f6d:8161:7) at unmount (chunk-LG6AQRJS.js?v=44310f6d:8066:9) at unmountComponent (chunk-LG6AQRJS.js?v=44310f6d:8147:7) at unmount (chunk-LG6AQRJS.js?v=44310f6d:8042:7) at unmountChildren (chunk-LG6AQRJS.js?v=44310f6d:8161:7) at unmount (chunk-LG6AQRJS.js?v=44310f6d:8074:9) at patchKeyedChildren (chunk-LG6AQRJS.js?v=44310f6d:7891:11) Promise.then setTab @ vertical_tab_switcher.jsx:85 (anonymous) @ vertical_tab_switcher.jsx:78 ``` * Upon reloading FE attempting to go back to the rate limit setting crashes the admin settings to the point that all tabs after rate limits become unusable Also "Allow relay" is listed twice in the "Federation" tab. <!-- Type out here how to reproduce the bug, what goes wrong and what should go right --> <!-- Screenshots and videos help a lot ;) any observations might also help --> <!-- Also mention if there any errors in browser's console if relevant --> # Bug seriousness <!-- Everything is optional and free-form --> * How annoying it is: Mildly * How often does it happen: Every time * How many people does it affect: 2.10 users not being able to use AdminFE due to 2FA * Is there a workaround for it: Clearing the ConfigDB settings with `mix pleroma.config delete pleroma rate_limits`.
Owner

yeah rates tab is kinda bad, mostly due to format backend uses and therefore needing custom component to handle that

yeah rates tab is kinda bad, mostly due to format backend uses and therefore needing custom component to handle that
Sign in to join this conversation.
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
pleroma/pleroma-fe#3474
No description provided.