pstream is dead; long live pstream taciturnaxolotl.github.io/pstream-ng/
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Use deep merge on store to ensure settings are defaulted correctly

+47 -30
+2
package.json
··· 49 49 "immer": "^10.0.3", 50 50 "jwt-decode": "^4.0.0", 51 51 "lodash.isequal": "^4.5.0", 52 + "lodash.merge": "^4.6.2", 52 53 "million": "^2.6.4", 53 54 "nanoid": "^5.0.4", 54 55 "node-forge": "^1.3.1", ··· 79 80 "@types/dompurify": "^3.0.5", 80 81 "@types/fscreen": "^1.0.4", 81 82 "@types/lodash.isequal": "^4.5.8", 83 + "@types/lodash.merge": "^4.6.9", 82 84 "@types/lodash.throttle": "^4.1.9", 83 85 "@types/node": "^20.10.5", 84 86 "@types/pako": "^2.0.3",
+41 -30
pnpm-lock.yaml
··· 81 81 lodash.isequal: 82 82 specifier: ^4.5.0 83 83 version: 4.5.0 84 + lodash.merge: 85 + specifier: ^4.6.2 86 + version: 4.6.2 84 87 million: 85 88 specifier: ^2.6.4 86 89 version: 2.6.4 ··· 167 170 '@types/lodash.isequal': 168 171 specifier: ^4.5.8 169 172 version: 4.5.8 173 + '@types/lodash.merge': 174 + specifier: ^4.6.9 175 + version: 4.6.9 170 176 '@types/lodash.throttle': 171 177 specifier: ^4.1.9 172 178 version: 4.1.9 ··· 268 274 version: 0.5.9(prettier@3.1.1) 269 275 rollup-plugin-visualizer: 270 276 specifier: ^5.11.0 271 - version: 5.11.0(@rollup/wasm-node@4.12.0) 277 + version: 5.11.0(@rollup/wasm-node@4.12.1) 272 278 tailwind-scrollbar: 273 279 specifier: ^3.0.5 274 280 version: 3.0.5(tailwindcss@3.4.0) ··· 2062 2068 engines: {node: '>=14.0.0'} 2063 2069 dev: false 2064 2070 2065 - /@rollup/plugin-babel@5.3.1(@babel/core@7.23.6)(@rollup/wasm-node@4.12.0): 2071 + /@rollup/plugin-babel@5.3.1(@babel/core@7.23.6)(@rollup/wasm-node@4.12.1): 2066 2072 resolution: {integrity: sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==} 2067 2073 engines: {node: '>= 10.0.0'} 2068 2074 peerDependencies: ··· 2075 2081 dependencies: 2076 2082 '@babel/core': 7.23.6 2077 2083 '@babel/helper-module-imports': 7.22.15 2078 - '@rollup/pluginutils': 3.1.0(@rollup/wasm-node@4.12.0) 2079 - rollup: /@rollup/wasm-node@4.12.0 2084 + '@rollup/pluginutils': 3.1.0(@rollup/wasm-node@4.12.1) 2085 + rollup: /@rollup/wasm-node@4.12.1 2080 2086 dev: true 2081 2087 2082 - /@rollup/plugin-node-resolve@11.2.1(@rollup/wasm-node@4.12.0): 2088 + /@rollup/plugin-node-resolve@11.2.1(@rollup/wasm-node@4.12.1): 2083 2089 resolution: {integrity: sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==} 2084 2090 engines: {node: '>= 10.0.0'} 2085 2091 peerDependencies: 2086 2092 rollup: npm:@rollup/wasm-node 2087 2093 dependencies: 2088 - '@rollup/pluginutils': 3.1.0(@rollup/wasm-node@4.12.0) 2094 + '@rollup/pluginutils': 3.1.0(@rollup/wasm-node@4.12.1) 2089 2095 '@types/resolve': 1.17.1 2090 2096 builtin-modules: 3.3.0 2091 2097 deepmerge: 4.3.1 2092 2098 is-module: 1.0.0 2093 2099 resolve: 1.22.4 2094 - rollup: /@rollup/wasm-node@4.12.0 2100 + rollup: /@rollup/wasm-node@4.12.1 2095 2101 dev: true 2096 2102 2097 - /@rollup/plugin-replace@2.4.2(@rollup/wasm-node@4.12.0): 2103 + /@rollup/plugin-replace@2.4.2(@rollup/wasm-node@4.12.1): 2098 2104 resolution: {integrity: sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==} 2099 2105 peerDependencies: 2100 2106 rollup: npm:@rollup/wasm-node 2101 2107 dependencies: 2102 - '@rollup/pluginutils': 3.1.0(@rollup/wasm-node@4.12.0) 2108 + '@rollup/pluginutils': 3.1.0(@rollup/wasm-node@4.12.1) 2103 2109 magic-string: 0.25.9 2104 - rollup: /@rollup/wasm-node@4.12.0 2110 + rollup: /@rollup/wasm-node@4.12.1 2105 2111 dev: true 2106 2112 2107 - /@rollup/pluginutils@3.1.0(@rollup/wasm-node@4.12.0): 2113 + /@rollup/pluginutils@3.1.0(@rollup/wasm-node@4.12.1): 2108 2114 resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==} 2109 2115 engines: {node: '>= 8.0.0'} 2110 2116 peerDependencies: ··· 2113 2119 '@types/estree': 0.0.39 2114 2120 estree-walker: 1.0.1 2115 2121 picomatch: 2.3.1 2116 - rollup: /@rollup/wasm-node@4.12.0 2122 + rollup: /@rollup/wasm-node@4.12.1 2117 2123 dev: true 2118 2124 2119 - /@rollup/wasm-node@4.12.0: 2120 - resolution: {integrity: sha512-sqy3+YvV/uWX6bPZOR5PlEdH6xyMPXoelllRQ/uZ13tzy9f4pXZTbajnoWN8IHHXwTNKPiLzsePLiDEVmkxMNw==} 2125 + /@rollup/wasm-node@4.12.1: 2126 + resolution: {integrity: sha512-5j3BVQEccCzCb8fkl++IbDgAsnlsKBPz049C4C//j5s3pFKxKGlybl63QApdJKl1fNLr7HIwQEJcBImQtA3ZHg==} 2121 2127 engines: {node: '>=18.0.0', npm: '>=8.0.0'} 2122 2128 hasBin: true 2123 2129 dependencies: ··· 2262 2268 /@types/lodash.isequal@4.5.8: 2263 2269 resolution: {integrity: sha512-uput6pg4E/tj2LGxCZo9+y27JNyB2OZuuI/T5F+ylVDYuqICLG2/ktjxx0v6GvVntAf8TvEzeQLcV0ffRirXuA==} 2264 2270 dependencies: 2265 - '@types/lodash': 4.14.197 2271 + '@types/lodash': 4.14.202 2272 + dev: true 2273 + 2274 + /@types/lodash.merge@4.6.9: 2275 + resolution: {integrity: sha512-23sHDPmzd59kUgWyKGiOMO2Qb9YtqRO/x4IhkgNUiPQ1+5MUVqi6bCZeq9nBJ17msjIMbEIO5u+XW4Kz6aGUhQ==} 2276 + dependencies: 2277 + '@types/lodash': 4.14.202 2266 2278 dev: true 2267 2279 2268 2280 /@types/lodash.throttle@4.1.9: 2269 2281 resolution: {integrity: sha512-PCPVfpfueguWZQB7pJQK890F2scYKoDUL3iM522AptHWn7d5NQmeS/LTEHIcLr5PaTzl3dK2Z0xSUHHTHwaL5g==} 2270 2282 dependencies: 2271 - '@types/lodash': 4.14.197 2283 + '@types/lodash': 4.14.202 2272 2284 dev: true 2273 2285 2274 - /@types/lodash@4.14.197: 2275 - resolution: {integrity: sha512-BMVOiWs0uNxHVlHBgzTIqJYmj+PgCo4euloGF+5m4okL3rEYzM2EEv78mw8zWSMM57dM7kVIgJ2QDvwHSoCI5g==} 2286 + /@types/lodash@4.14.202: 2287 + resolution: {integrity: sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ==} 2276 2288 dev: true 2277 2289 2278 2290 /@types/node-forge@1.3.10: ··· 5004 5016 5005 5017 /lodash.merge@4.6.2: 5006 5018 resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} 5007 - dev: true 5008 5019 5009 5020 /lodash.mergewith@4.6.2: 5010 5021 resolution: {integrity: sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==} ··· 5101 5112 '@babel/plugin-syntax-typescript': 7.23.3(@babel/core@7.23.6) 5102 5113 '@babel/types': 7.23.6 5103 5114 kleur: 4.1.5 5104 - rollup: /@rollup/wasm-node@4.12.0 5115 + rollup: /@rollup/wasm-node@4.12.1 5105 5116 unplugin: 1.5.1 5106 5117 transitivePeerDependencies: 5107 5118 - supports-color ··· 6029 6040 glob: 7.2.3 6030 6041 dev: true 6031 6042 6032 - /rollup-plugin-terser@7.0.2(@rollup/wasm-node@4.12.0): 6043 + /rollup-plugin-terser@7.0.2(@rollup/wasm-node@4.12.1): 6033 6044 resolution: {integrity: sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==} 6034 6045 deprecated: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser 6035 6046 peerDependencies: ··· 6037 6048 dependencies: 6038 6049 '@babel/code-frame': 7.23.5 6039 6050 jest-worker: 26.6.2 6040 - rollup: /@rollup/wasm-node@4.12.0 6051 + rollup: /@rollup/wasm-node@4.12.1 6041 6052 serialize-javascript: 4.0.0 6042 6053 terser: 5.19.3 6043 6054 dev: true 6044 6055 6045 - /rollup-plugin-visualizer@5.11.0(@rollup/wasm-node@4.12.0): 6056 + /rollup-plugin-visualizer@5.11.0(@rollup/wasm-node@4.12.1): 6046 6057 resolution: {integrity: sha512-exM0Ms2SN3AgTzMeW7y46neZQcyLY7eKwWAop1ZoRTCZwyrIRdMMJ6JjToAJbML77X/9N8ZEpmXG4Z/Clb9k8g==} 6047 6058 engines: {node: '>=14'} 6048 6059 hasBin: true ··· 6054 6065 dependencies: 6055 6066 open: 8.4.2 6056 6067 picomatch: 2.3.1 6057 - rollup: /@rollup/wasm-node@4.12.0 6068 + rollup: /@rollup/wasm-node@4.12.1 6058 6069 source-map: 0.7.4 6059 6070 yargs: 17.7.2 6060 6071 dev: true ··· 7040 7051 '@types/node': 20.10.5 7041 7052 esbuild: 0.19.10 7042 7053 postcss: 8.4.32 7043 - rollup: /@rollup/wasm-node@4.12.0 7054 + rollup: /@rollup/wasm-node@4.12.1 7044 7055 optionalDependencies: 7045 7056 fsevents: 2.3.3 7046 7057 dev: true ··· 7302 7313 '@babel/core': 7.23.6 7303 7314 '@babel/preset-env': 7.23.6(@babel/core@7.23.6) 7304 7315 '@babel/runtime': 7.23.6 7305 - '@rollup/plugin-babel': 5.3.1(@babel/core@7.23.6)(@rollup/wasm-node@4.12.0) 7306 - '@rollup/plugin-node-resolve': 11.2.1(@rollup/wasm-node@4.12.0) 7307 - '@rollup/plugin-replace': 2.4.2(@rollup/wasm-node@4.12.0) 7316 + '@rollup/plugin-babel': 5.3.1(@babel/core@7.23.6)(@rollup/wasm-node@4.12.1) 7317 + '@rollup/plugin-node-resolve': 11.2.1(@rollup/wasm-node@4.12.1) 7318 + '@rollup/plugin-replace': 2.4.2(@rollup/wasm-node@4.12.1) 7308 7319 '@surma/rollup-plugin-off-main-thread': 2.2.3 7309 7320 ajv: 8.12.0 7310 7321 common-tags: 1.8.2 ··· 7313 7324 glob: 7.2.3 7314 7325 lodash: 4.17.21 7315 7326 pretty-bytes: 5.6.0 7316 - rollup: /@rollup/wasm-node@4.12.0 7317 - rollup-plugin-terser: 7.0.2(@rollup/wasm-node@4.12.0) 7327 + rollup: /@rollup/wasm-node@4.12.1 7328 + rollup-plugin-terser: 7.0.2(@rollup/wasm-node@4.12.1) 7318 7329 source-map: 0.8.0-beta.0 7319 7330 stringify-object: 3.3.0 7320 7331 strip-comments: 2.0.1
+2
src/stores/quality/index.ts
··· 1 + import merge from "lodash.merge"; 1 2 import { create } from "zustand"; 2 3 import { persist } from "zustand/middleware"; 3 4 import { immer } from "zustand/middleware/immer"; ··· 33 34 })), 34 35 { 35 36 name: "__MW::quality", 37 + merge: (persisted, current) => merge({}, current, persisted), 36 38 }, 37 39 ), 38 40 );
+2
src/stores/subtitles/index.ts
··· 1 + import merge from "lodash.merge"; 1 2 import { create } from "zustand"; 2 3 import { persist } from "zustand/middleware"; 3 4 import { immer } from "zustand/middleware/immer"; ··· 113 114 })), 114 115 { 115 116 name: "__MW::subtitles", 117 + merge: (persisted, current) => merge({}, current, persisted), 116 118 }, 117 119 ), 118 120 );