mirror of
https://github.com/FrankerFaceZ/FrankerFaceZ.git
synced 2025-08-07 06:40:54 +00:00
4.20.69
Nice. * Changed: Warn users that they have `Show Mod Icons` disabled within [Chat > Actions](~chat.actions). * Changed: Blocked Badges, Highlight Badges, and Blocked Types within [Chat > Filtering](~chat.filtering) no longer have a default item. This will hopefully minimize user confusion. * Changed: Blocked Badges also has a new description telling users that it isn't for hiding badges, with a link to the correct place to change badge visibility. * Changed: Remove the New Link Tokenization experiment, making it enabled for all users. * Changed: When navigating within the FFZ Control Center in a pop-out window, update the URL so that it can be shared to link to a specific settings page. * Changed: Disable the websocket connection for users in the API Links experiment to reduce load on the socket cluster. * Fixed: Bug with the FFZ Control Center failing to load if experiments haven't been populated correctly. * Fixed: Badge Visibility not being populated when opening the FFZ Control Center on a page without chat. * API Added: `<markdown />` now supports a link syntax for navigating to a new section of the FFZ Control Center. * API Fixed: Better tokenization for settings paths. Brackets can now be used safely in embedded JSON. * API Fixed: `deep_equals` and `shallow_object_equals` returning false when objects were otherwise equal but had keys in a different order.
This commit is contained in:
parent
f5135ad291
commit
77d6cf56d2
27 changed files with 365 additions and 96 deletions
|
@ -6,6 +6,7 @@
|
|||
|
||||
import Module from 'utilities/module';
|
||||
import {deep_equals, has, debounce, deep_copy} from 'utilities/object';
|
||||
import {parse as new_parse} from 'utilities/path-parser';
|
||||
|
||||
import SettingsProfile from './profile';
|
||||
import SettingsContext from './context';
|
||||
|
@ -913,9 +914,14 @@ export default class SettingsManager extends Module {
|
|||
}
|
||||
|
||||
|
||||
const PATH_SPLITTER = /(?:^|\s*([~>]+))\s*([^~>@]+)\s*(?:@([^~>]+))?/g;
|
||||
|
||||
export function parse_path(path) {
|
||||
return new_parse(path);
|
||||
}
|
||||
|
||||
|
||||
/*const PATH_SPLITTER = /(?:^|\s*([~>]+))\s*([^~>@]+)\s*(?:@([^~>]+))?/g;
|
||||
|
||||
export function old_parse_path(path) {
|
||||
const tokens = [];
|
||||
let match;
|
||||
|
||||
|
@ -928,14 +934,20 @@ export function parse_path(path) {
|
|||
|
||||
opts = { key, title, page, tab };
|
||||
|
||||
if ( options )
|
||||
Object.assign(opts, JSON.parse(options));
|
||||
if ( options ) {
|
||||
try {
|
||||
Object.assign(opts, JSON.parse(options));
|
||||
} catch(err) {
|
||||
console.warn('Matched segment:', options);
|
||||
throw err;
|
||||
}
|
||||
}
|
||||
|
||||
tokens.push(opts);
|
||||
}
|
||||
|
||||
return tokens;
|
||||
}
|
||||
}*/
|
||||
|
||||
|
||||
export function format_path_tokens(tokens) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue