Skip to content

Commit 6c0654a

Browse files
committed
Faster buffer switching
1 parent cee6252 commit 6c0654a

File tree

13 files changed

+14831
-9943
lines changed

13 files changed

+14831
-9943
lines changed

.github/workflows/push.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,12 @@ jobs:
1414
uses: actions/setup-node@v3
1515
with:
1616
node-version: '18.x'
17-
cache: 'yarn'
17+
18+
- name: Enable Corepack
19+
run: corepack enable
1820

1921
- name: Install dependencies
20-
run: yarn --frozen-lockfile --non-interactive --prefer-offline
22+
run: yarn --immutable
2123

2224
- name: Test
2325
run: yarn test

build/configs/base.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ module.exports = (env, argv, config) => {
4242
publicPath: 'auto',
4343
filename: outputFileName,
4444
chunkFilename: outputFileName,
45+
crossOriginLoading: 'anonymous',
4546
},
4647

4748
resolve: {
@@ -87,6 +88,7 @@ module.exports = (env, argv, config) => {
8788
NODE_ENV: env.NODE_ENV,
8889
},
8990
minify: false,
91+
inject: false,
9092
}),
9193
new CopyPlugin({
9294
patterns: [

package.json

Lines changed: 34 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -14,105 +14,106 @@
1414
"gendocs": "rm -rf srcdocs/ && jsdoc -c jsdoc.json"
1515
},
1616
"dependencies": {
17-
"@babel/runtime-corejs3": "^7.24.8",
18-
"@fortawesome/fontawesome-svg-core": "^6.6.0",
19-
"@fortawesome/free-regular-svg-icons": "^6.6.0",
20-
"@fortawesome/free-solid-svg-icons": "^6.6.0",
17+
"@babel/runtime-corejs3": "^7.26.0",
18+
"@fortawesome/fontawesome-svg-core": "^6.7.1",
19+
"@fortawesome/free-regular-svg-icons": "^6.7.1",
20+
"@fortawesome/free-solid-svg-icons": "^6.7.1",
2121
"@fortawesome/vue-fontawesome": "^3.0.8",
2222
"buffer": "^6.0.3",
2323
"compare-versions": "^6.1.1",
2424
"css-vars-ponyfill": "^2.4.9",
2525
"event-emitter": "^0.3.5",
2626
"eventemitter3": "^5.0.1",
2727
"htmlparser2": "^9.1.0",
28-
"i18next": "^23.12.2",
29-
"i18next-http-backend": "^v2.5.2",
28+
"i18next": "^23.16.8",
29+
"i18next-http-backend": "^v2.7.1",
3030
"i18next-vue": "^4.0.0",
3131
"ip-regex": "^5.0.0",
32-
"irc-framework": "^4.13.1",
32+
"irc-framework": "^4.14.0",
3333
"json5": "^2.2.3",
3434
"lodash": "^4.17.21",
3535
"murmurhash3js": "^3.0.1",
3636
"sockjs-client": "^1.6.1",
3737
"stream-browserify": "^3.0.0",
3838
"strftime": "^0.10.3",
3939
"tinycon": "^0.6.8",
40-
"vue": "^3.4.34",
40+
"vue": "^3.5.13",
4141
"vue-virtual-scroller": "^2.0.0-beta.8",
4242
"whatwg-fetch": "^3.6.20",
4343
"xhr": "^2.6.0"
4444
},
4545
"devDependencies": {
46-
"@babel/core": "^7.24.9",
47-
"@babel/eslint-parser": "^7.24.8",
48-
"@babel/plugin-transform-runtime": "^7.24.7",
49-
"@babel/preset-env": "^7.24.8",
46+
"@babel/core": "^7.26.0",
47+
"@babel/eslint-parser": "^7.25.9",
48+
"@babel/plugin-transform-runtime": "^7.25.9",
49+
"@babel/preset-env": "^7.26.0",
5050
"@kiwiirc/eslint-plugin": "file:./build/plugins/eslint-rules/",
5151
"@soda/friendly-errors-webpack-plugin": "^1.8.1",
52-
"@stylistic/stylelint-plugin": "^2.1.2",
53-
"@vue/compiler-sfc": "^3.4.34",
52+
"@stylistic/stylelint-plugin": "^2.1.3",
53+
"@vue/compiler-sfc": "^3.5.13",
5454
"@vue/eslint-config-airbnb": "^7.0.1",
5555
"@vue/vue3-jest": "^29.2.6",
56-
"autoprefixer": "^10.4.19",
56+
"autoprefixer": "^10.4.20",
5757
"babel-jest": "^29.7.0",
58-
"babel-loader": "^9.1.3",
58+
"babel-loader": "^9.2.1",
5959
"case-sensitive-paths-webpack-plugin": "^2.4.0",
6060
"chalk": "^4.1.2",
6161
"compression-webpack-plugin": "^11.1.0",
6262
"copy-webpack-plugin": "^12.0.2",
6363
"css-loader": "^7.1.2",
6464
"css-minimizer-webpack-plugin": "^7.0.0",
6565
"dotenv": "^16.4.5",
66-
"dotenv-expand": "^11.0.6",
67-
"eslint": "^8.57.0",
66+
"dotenv-expand": "^11.0.7",
67+
"eslint": "^8.57.1",
6868
"eslint-config-standard": "^17.1.0",
6969
"eslint-formatter-friendly": "^7.0.0",
7070
"eslint-import-resolver-alias": "^1.1.2",
71-
"eslint-plugin-import": "^2.29.1",
71+
"eslint-plugin-import": "^2.31.0",
7272
"eslint-plugin-jsdoc": "^46.10.1",
7373
"eslint-plugin-n": "^16.6.2",
7474
"eslint-plugin-promise": "^6.6.0",
75-
"eslint-plugin-vue": "^9.27.0",
75+
"eslint-plugin-vue": "^9.31.0",
7676
"eslint-plugin-vuejs-accessibility": "^2.4.1",
7777
"eslint-webpack-plugin": "^4.2.0",
78-
"html-loader": "^5.0.0",
79-
"html-webpack-plugin": "^5.6.0",
78+
"html-loader": "^5.1.0",
79+
"html-webpack-plugin": "^5.6.3",
8080
"i18next-conv": "^12.1.1",
8181
"jest": "^29.7.0",
8282
"jest-environment-jsdom": "^29.7.0",
83-
"jsdoc": "^4.0.3",
83+
"jsdoc": "^4.0.4",
8484
"less": "^4.2.0",
8585
"less-loader": "^12.2.0",
86-
"mini-css-extract-plugin": "^2.9.0",
86+
"mini-css-extract-plugin": "^2.9.2",
8787
"npm-run-all": "^4.1.5",
8888
"ora": "^5.4.1",
8989
"portfinder": "^1.0.32",
90-
"postcss": "^8.4.40",
90+
"postcss": "^8.4.49",
9191
"postcss-html": "^1.7.0",
9292
"postcss-loader": "^8.1.1",
9393
"prettier": "^3.3.3",
9494
"prettier-eslint": "^16.3.0",
9595
"prettier-plugin-jsdoc": "^0.4.2",
96-
"rimraf": "^5.0.9",
97-
"sass": "^1.77.8",
96+
"rimraf": "^5.0.10",
97+
"sass": "^1.81.0",
9898
"sass-loader": "^14.2.1",
9999
"style-loader": "^4.0.0",
100-
"stylelint": "^16.7.0",
101-
"stylelint-config-recess-order": "^5.0.1",
100+
"stylelint": "^16.10.0",
101+
"stylelint-config-recess-order": "^5.1.1",
102102
"stylelint-config-recommended": "^14.0.1",
103+
"stylelint-config-recommended-scss": "^14.1.0",
103104
"stylelint-config-recommended-vue": "^1.5.0",
104105
"stylelint-config-standard": "^36.0.1",
105106
"stylelint-config-standard-scss": "^13.1.0",
106-
"stylelint-config-recommended-scss": "^14.1.0",
107107
"stylelint-order": "^6.0.4",
108108
"stylelint-webpack-plugin": "5.0.1",
109109
"vue-eslint-parser": "^8.3.0",
110110
"vue-loader": "^17.4.2",
111111
"vue-style-loader": "^4.1.3",
112-
"webpack": "^5.93.0",
112+
"webpack": "^5.96.1",
113113
"webpack-bundle-analyzer": "^4.10.2",
114114
"webpack-cli": "^5.1.4",
115-
"webpack-dev-server": "^5.0.4",
115+
"webpack-dev-server": "^5.1.0",
116116
"webpack-merge": "^6.0.1"
117-
}
117+
},
118+
"packageManager": "[email protected]"
118119
}

src/components/Container.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@
4040
<server-view :network="network" />
4141
</template>
4242
<template v-else>
43-
<message-list :buffer="buffer" />
43+
<message-list :buffer="buffer" :key="buffer.id" />
4444
<sidebar
4545
v-if="!buffer.isSpecial()"
4646
:network="network"

src/components/ContainerHeader.vue

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -415,6 +415,31 @@ export default {
415415
opacity: 1;
416416
}
417417
418+
.kiwi-header-option-nicklist {
419+
position: relative;
420+
421+
svg {
422+
height: 22px;
423+
}
424+
}
425+
426+
.kiwi-header-option-nicklist .kiwi-stack {
427+
position: absolute;
428+
bottom: 4px;
429+
padding: 2px 3px 1px 3px;
430+
background-color: white;
431+
transition: background-color 0.3s;
432+
433+
> * {
434+
top: 1px;
435+
}
436+
}
437+
438+
.kiwi-header-option-nicklist.kiwi-header-option--active .kiwi-stack,
439+
.kiwi-header-option-nicklist.kiwi-header-option a:hover .kiwi-stack {
440+
background-color: var(--brand-primary);
441+
}
442+
418443
/* The not joined button */
419444
.kiwi-header-notjoined {
420445
border-radius: 0;

0 commit comments

Comments
 (0)