Compare commits
766 Commits
zoitechat-
...
zoitechat-
| Author | SHA1 | Date | |
|---|---|---|---|
| a459d0a086 | |||
|
|
e3fb5b27f5 | ||
|
|
60ade26bda | ||
|
|
6cbbcf06b0 | ||
|
|
58394d555e | ||
|
|
7e8a830fda | ||
|
|
19a19b4237 | ||
| fcaedd41ce | |||
|
|
e4e5689bc5 | ||
|
|
5080c3b1d2 | ||
|
|
3d450a3b33 | ||
|
|
faf55e0d06 | ||
| ee40f3842b | |||
|
|
cc9b1e249a | ||
| 3c2b0a8986 | |||
| 724211362b | |||
| e4b8c641b1 | |||
|
|
3f0b936694 | ||
| 3ef7768696 | |||
| e2cb540ee9 | |||
| bcd2b15ee4 | |||
| f66a68b3fd | |||
| e060d57bae | |||
| 0796b96908 | |||
| 184bfd2f69 | |||
| e3f624d2bb | |||
| e2db0ec3e5 | |||
| 7b0d574752 | |||
| 9e42c0dcc4 | |||
| a8f68e22dd | |||
| 5d5219566f | |||
| 5e4f408235 | |||
| 3d6b2485d1 | |||
| e8f4044f8c | |||
|
|
10f6b4913e | ||
| 7568c73062 | |||
| 6ce7de23a3 | |||
| dbc517de99 | |||
| e214c76bdf | |||
| 3ccd8c44b3 | |||
| 5df6f68cd9 | |||
| 45d4025ad7 | |||
| f6b78bd167 | |||
| 17f239e6fc | |||
| fcf00ebd8f | |||
| e347fdc899 | |||
| b419804ddb | |||
| bdfabcf800 | |||
| ebf695abdf | |||
| bc2b1bd509 | |||
| 8642d8bde4 | |||
| 01e890eb3f | |||
| 7af8f069e7 | |||
| b5db1685da | |||
| 335a8f4d6b | |||
| e316413f60 | |||
| e8ca0a1213 | |||
| 15d918f1fb | |||
| 329a641adf | |||
| 9bdf654cbc | |||
| 1a920ba955 | |||
| afc490aa18 | |||
| 0a5c95c6b4 | |||
| a078d00eef | |||
| 18632bc5fd | |||
| f90783c298 | |||
| 643ea9c7fb | |||
| 39aa63057e | |||
| 5d4eec3b71 | |||
| 6bd7a309b3 | |||
| dd452f82ff | |||
| cb0fd33089 | |||
| ee107621c4 | |||
|
|
54de067a13 | ||
| ae50735311 | |||
| 97cbe98b3d | |||
| eb112f9cd7 | |||
| 6025195234 | |||
| 7fd8e5455d | |||
|
|
e424d9325c | ||
| 78754ff194 | |||
|
|
242f4a6dec | ||
| 5460855ea4 | |||
|
|
605ca4da04 | ||
| ebb9aa48ae | |||
|
|
99b93d1b71 | ||
| ef87b569d7 | |||
| 3872c4fcdf | |||
| 09a4d3923a | |||
| 6df8a98fa0 | |||
| a6af143ba7 | |||
| 287afb4b1d | |||
| eb677e412c | |||
| 3853343918 | |||
| fe55334f5c | |||
| 7ff4cb9b8a | |||
| 7143aec20d | |||
| 65d399fa5b | |||
|
|
8ce3787429 | ||
|
|
c4c5964588 | ||
| 2d61db57ef | |||
| a9d8ffe3fe | |||
|
|
ab21af908c | ||
|
|
fffbe5228c | ||
|
|
87ec58f9d3 | ||
|
|
805baea90b | ||
|
|
91238d99ae | ||
|
|
d5561a21e3 | ||
|
|
f78ae92419 | ||
|
|
cbb233ad06 | ||
|
|
07571330ba | ||
|
|
0e48187238 | ||
|
|
e32574ed9b | ||
|
|
a41e8a0f5d | ||
| c20a6424e5 | |||
|
|
f5a4d8f84b | ||
| 6f97c060b3 | |||
|
|
2bfd96c9e0 | ||
|
|
c815a4629c | ||
|
|
41f140c971 | ||
|
|
89b0bc667b | ||
|
|
d8cbab3bfc | ||
|
|
5a5daf153e | ||
|
|
bf4782d3e1 | ||
|
|
4ba03065bc | ||
| 747a1dca97 | |||
| 16f2c6cc0d | |||
| b569d24cd1 | |||
| 7f4ffdb1e5 | |||
| 60c05710b1 | |||
| 3e59822753 | |||
| 47a9729737 | |||
| 3f31d9bd5a | |||
| 95538794e3 | |||
| 371b1caaa6 | |||
|
|
64909893e7 | ||
|
|
815f1c810e | ||
|
|
1f031d8966 | ||
|
|
2a4aa2f8ac | ||
|
|
d646607066 | ||
|
|
c37b45308e | ||
|
|
2cec6a6778 | ||
|
|
a4c635ee52 | ||
|
|
4fc859d9ef | ||
|
|
f945e3c292 | ||
|
|
37d8126128 | ||
|
|
86ab733de0 | ||
|
|
95d87732c4 | ||
|
|
8338e701b4 | ||
|
|
a384b8e295 | ||
|
|
019f591627 | ||
|
|
8cbfb29a49 | ||
|
|
12470fd954 | ||
|
|
fd9cd61991 | ||
|
|
4a40af7eda | ||
|
|
58eed1682c | ||
|
|
481e7f78bc | ||
|
|
34de343fa6 | ||
|
|
1c4fd1d02d | ||
|
|
4c3b8cbec7 | ||
|
|
727d08519a | ||
|
|
bb796bb364 | ||
|
|
b413762457 | ||
|
|
45ef0fcd26 | ||
|
|
eaef68f827 | ||
|
|
5c4b04615d | ||
|
|
b77690d046 | ||
|
|
49c97108e5 | ||
|
|
14e15fa79d | ||
|
|
fc3e36e255 | ||
|
|
3bbce082de | ||
|
|
de7807bc6a | ||
|
|
45b9de5ff6 | ||
|
|
63808bebde | ||
|
|
4927413bcb | ||
|
|
c3c814b28d | ||
|
|
e0d22f7f6a | ||
|
|
2a24686f29 | ||
|
|
be97bc30e3 | ||
|
|
c23d1d493f | ||
|
|
74934de4b8 | ||
|
|
6efe62e277 | ||
|
|
ae2757c515 | ||
|
|
c55b46e67f | ||
|
|
15eae4f606 | ||
|
|
a1b339eecf | ||
| ba892240cb | |||
| 173d10f336 | |||
|
|
14b08d1001 | ||
|
|
b52a2ca4cf | ||
| b512c215a4 | |||
| 3e2268b391 | |||
| 874ea99492 | |||
|
|
20b0aab470 | ||
|
|
4c3e9ffad4 | ||
|
|
a8db164ef7 | ||
|
|
f5feb7a0de | ||
|
|
fdd3664a6e | ||
|
|
9fdc5cdf28 | ||
|
|
e9cf931714 | ||
|
|
9b2cf3de43 | ||
|
|
7f9920554e | ||
|
|
0e3322d4a8 | ||
|
|
3a5fc95725 | ||
|
|
b7496a4732 | ||
|
|
6fd191f32d | ||
|
|
eba86758f2 | ||
|
|
7fa5e6db3c | ||
|
|
f678491eb3 | ||
|
|
b1f3bf85c4 | ||
|
|
0117092f83 | ||
|
|
8ea9bffba2 | ||
|
|
12d805fad4 | ||
|
|
2742b62ef1 | ||
|
|
0872d3b445 | ||
|
|
e654bfd127 | ||
|
|
6f493ed47e | ||
|
|
2028a21d14 | ||
|
|
08d0b25619 | ||
|
|
eba4edf7a7 | ||
|
|
f8e1536336 | ||
|
|
8b90555511 | ||
|
|
f32b8534a4 | ||
|
|
26453a8ad4 | ||
|
|
98f1e8af57 | ||
|
|
ce597da1a3 | ||
|
|
dba80a5a9e | ||
|
|
3c94112aeb | ||
|
|
855b892b1e | ||
|
|
22b74dc70b | ||
|
|
014ba9e868 | ||
|
|
11f3beae8b | ||
|
|
ac1065bfa6 | ||
|
|
84501d087c | ||
|
|
60f2b53866 | ||
|
|
c9e8d24e06 | ||
|
|
2436c3bad1 | ||
|
|
32358a876b | ||
|
|
a05c596e48 | ||
| b2d8336dd0 | |||
| cfdc275a88 | |||
| 2dd2d18ade | |||
| 3d9a92787b | |||
| 9acec081a4 | |||
| 6d101c4e10 | |||
|
|
09e9e7314b | ||
| a86dc5ae85 | |||
| bb70bcb4e3 | |||
| c86701ee3c | |||
| 01ec120536 | |||
| f734f230fd | |||
| 5c7697a765 | |||
| ca7340530d | |||
| 9aceea0134 | |||
|
|
7df778fc71 | ||
| e855b9f160 | |||
| 54428e9e40 | |||
|
|
a975ddc80a | ||
|
|
b128a7ca59 | ||
| 3dd54d5fea | |||
| 45ef2da0ac | |||
| 6491dc1bde | |||
| 1eee70ff9b | |||
|
|
e77aca2037 | ||
|
|
981cf94719 | ||
| 0550fb90c5 | |||
|
|
8cf9f8ba9d | ||
|
|
1eb61cfd24 | ||
| 75d54e25e9 | |||
| 930e91834f | |||
| 8ad1394f1a | |||
|
|
a53ac4479b | ||
| bd707e7514 | |||
|
|
eafc9ec997 | ||
|
|
9a8b3fc232 | ||
|
|
fda50f0ff3 | ||
|
|
65411b8ccb | ||
|
|
5c7991e873 | ||
| f42157fdd7 | |||
|
|
f80c3adfe0 | ||
|
|
1c8db65b20 | ||
|
|
1e21f2b148 | ||
|
|
629f0d6502 | ||
|
|
b69edb7936 | ||
| c49d8e4d44 | |||
| 045134fcff | |||
| 9e9a0be80d | |||
| 0dd25cb631 | |||
| eb46631a7d | |||
| 0074a8ba1e | |||
| e187252afd | |||
| 0349e44856 | |||
|
|
d8985e9f91 | ||
|
|
4a70ae125d | ||
|
|
0b785c8e59 | ||
| ae303db62b | |||
| 45300a233b | |||
| 65f417cf7d | |||
|
|
07322293f3 | ||
|
|
3efd975d2f | ||
|
|
c9ddfc086c | ||
|
|
fb952dd209 | ||
|
|
572e2173c3 | ||
| 752b10273b | |||
| 9aba312c8e | |||
| 983ae5337b | |||
|
|
0fd51e5c8a | ||
| f58785c2e0 | |||
| 3d030a96b7 | |||
| 2ecf1c18fb | |||
| eae5a209d3 | |||
| 78a00b5b88 | |||
|
|
1ac688ec19 | ||
| b9bc65e3c2 | |||
| 3d8d3958ea | |||
|
|
1567062636 | ||
| b09e6a5405 | |||
| 89a8f3eb0a | |||
|
|
b90a9a3357 | ||
|
|
fe4abe7d85 | ||
|
|
a650916105 | ||
|
|
4f294f4eae | ||
|
|
3ad525533d | ||
|
|
6979dce7e8 | ||
|
|
6f1f82a7fb | ||
|
|
3290f15439 | ||
|
|
0a737c4d72 | ||
| 8025884e3b | |||
| a8a7627161 | |||
| 18e4b74d0b | |||
| 614bbd1a0b | |||
|
|
c4d4dd1e5a | ||
| 303d5cc581 | |||
|
|
6055170b19 | ||
|
|
b30ee02353 | ||
|
|
8b22990eba | ||
|
|
f402699512 | ||
|
|
8606e505d1 | ||
|
|
eeee22c914 | ||
|
|
0f4420b8c7 | ||
| d2140e4cec | |||
| 872c5d6572 | |||
| 11b11c9166 | |||
| 995cba88ff | |||
|
|
92a35ea3e9 | ||
| c22d141237 | |||
| 415066345a | |||
|
|
81a669a199 | ||
| ffa7afd09c | |||
|
|
dab682f90d | ||
|
|
35740637df | ||
|
|
57fb1eb27b | ||
|
|
069c6a3f81 | ||
|
|
61da248c41 | ||
|
|
0f36b273f1 | ||
|
|
770922cdda | ||
|
|
343ad0ffd5 | ||
|
|
e134a99e12 | ||
|
|
f8139d094a | ||
|
|
1e8efcdc5a | ||
|
|
81abfe3175 | ||
|
|
cf2e44f3d5 | ||
|
|
049d3c19af | ||
|
|
ffe8a9f7a6 | ||
|
|
2da635c048 | ||
|
|
83ed374b99 | ||
|
|
9837ef901b | ||
|
|
01e48bc074 | ||
|
|
49c0299d68 | ||
|
|
4a8e17e80e | ||
|
|
8c8912c651 | ||
|
|
8be35d2a30 | ||
|
|
2a4612672a | ||
|
|
a98cb3606f | ||
|
|
20056cb9c4 | ||
|
|
1e36865bb3 | ||
|
|
306aef3ef9 | ||
|
|
f5ebe3efc8 | ||
|
|
2bbe9dccc6 | ||
|
|
2723d49b3a | ||
|
|
87b9e52719 | ||
|
|
bfe13386c5 | ||
|
|
766299a15c | ||
|
|
fe30e00bc1 | ||
|
|
0dcc35df8f | ||
|
|
7be145b94a | ||
|
|
e365266b4a | ||
|
|
e8f9ea0784 | ||
|
|
76fdce8576 | ||
|
|
72dfc10b1b | ||
|
|
c472a4ccd6 | ||
|
|
74c09bdebc | ||
| 56e1c402f6 | |||
| b1e7155c6d | |||
| 7dd47dbd2e | |||
| e5673e9a7b | |||
| 8abc95205a | |||
| d8a8e6ce73 | |||
| e44e801e3a | |||
| 5170e037b5 | |||
| b121fa7287 | |||
| 29ac0f9ee6 | |||
| 1fb1865aca | |||
| d314856f82 | |||
| 0a0dbd384c | |||
| 3ef9540a57 | |||
| 84647201b1 | |||
| f31ef7cfe2 | |||
| 9af54f5ed7 | |||
| 5788bd90e2 | |||
| 729b1eb8de | |||
| 9a92fa33a8 | |||
| 5c8f50a9f5 | |||
| 56845a64d9 | |||
| 36a369fac8 | |||
| a5d1dfe81f | |||
| 946a39c361 | |||
| 3710da43c9 | |||
| a9f8e1e897 | |||
| 9e46407e89 | |||
| e1b4e18153 | |||
| 01104844e8 | |||
| d1e1ef3a82 | |||
| 907211a733 | |||
| dec2aff37d | |||
| 4bd67e4933 | |||
| 328c85e6b3 | |||
| c7b5ce0346 | |||
| ca92d14db6 | |||
| e0bae25136 | |||
| 1b23b5b7a6 | |||
| 9bdbeffeb0 | |||
| 6c17f4bc16 | |||
| d0d6a573a7 | |||
| 8c9f193114 | |||
| 5bac77f6bb | |||
| e815b1d6ae | |||
| 1406eec197 | |||
| 5e73127f9a | |||
| 541ee90d27 | |||
| d330d6d537 | |||
| 5b28ae17cf | |||
| af2678a3a0 | |||
| 3a8a9332d6 | |||
| 2bce91de0b | |||
| 7b3a9dd30f | |||
| 1f7ed3f1cb | |||
| db3fd73d09 | |||
| 7d83394e35 | |||
| f880dacdd7 | |||
| b48376c370 | |||
| e0c1796035 | |||
| ffc9af18be | |||
| 7c2b94eee8 | |||
| d5a8479294 | |||
| 29f614b7b7 | |||
| 98d813a00b | |||
| a2b35c289c | |||
| 2d3e1f8122 | |||
| 537167cd61 | |||
| 004786655c | |||
| 1ee2433b28 | |||
| eb7a15dc9d | |||
| 5f8dcd286e | |||
| 4cfe5274b5 | |||
| f6613cbad1 | |||
| 3806b33aab | |||
| fa3c7c9059 | |||
| c0c0b2ec4c | |||
| d553862e52 | |||
| 7cbd905fae | |||
| 49e23b7df5 | |||
| bf529ba1ff | |||
| aa0b271aa9 | |||
| 1584764809 | |||
| 31130197eb | |||
| 723d8759ff | |||
| 667a56ca6c | |||
| c009c30211 | |||
|
|
b6094244ac | ||
|
|
2741c40580 | ||
|
|
c90f3c659a | ||
| e78251ee29 | |||
| b960f62d2a | |||
|
|
dc76c2ea37 | ||
| 6e5149fbe6 | |||
| 4008d94571 | |||
|
|
4ad5df0370 | ||
|
|
887d891541 | ||
| 041288cdad | |||
| c8ee118f00 | |||
| d4134c94b3 | |||
| 5ca3e835a7 | |||
| 6c85c796d3 | |||
| 992215ee91 | |||
|
|
1729cfcb3f | ||
|
|
4cf1b52982 | ||
| 1226224858 | |||
| bc1d2e5f7a | |||
| a0f0c48bc5 | |||
| 4d6c77704c | |||
|
|
f3855583dd | ||
| 2b98ebc544 | |||
|
|
8b5358fbcc | ||
|
|
4ed7032fd5 | ||
| d4d2483161 | |||
|
|
4e01192979 | ||
|
|
2127820ae0 | ||
| 361308962e | |||
| e0c8409971 | |||
| 6f31e33094 | |||
| bad5eab21c | |||
| c9ec0527dd | |||
| ac3ce1ceac | |||
| 6fffdba876 | |||
| 94789a9100 | |||
|
|
1475d02be0 | ||
|
|
a40f53a1f3 | ||
| 08d357dc98 | |||
| 0df299acf5 | |||
| 00eb2de4c8 | |||
| f65f350965 | |||
| 1d32aed8dc | |||
| ab3bdf219f | |||
| 5b1a58195e | |||
| 7f5d92addb | |||
| 7a37918ec7 | |||
| 31e198f772 | |||
| 366039eb2b | |||
| fd83f3636d | |||
| c2e8507402 | |||
| 3923bd915c | |||
| d1163a4ee8 | |||
| 5538e738a8 | |||
| b0a9f34dc4 | |||
| 65ca665e25 | |||
| 72b9560c32 | |||
| 7694d4dd18 | |||
| 853c16a9bc | |||
| 905cc2f22e | |||
| edbe5c405c | |||
| 07bd2d4c13 | |||
| d57f66ef75 | |||
| 19ecc6a284 | |||
| 2b6fc7dbe5 | |||
| 8d76d94131 | |||
| 246bcd06a2 | |||
| e4f1b20211 | |||
| ef5d8c482a | |||
| c346055b42 | |||
| 63fd0dc103 | |||
| 7f05fda41a | |||
| 9c691db910 | |||
| d7966a7234 | |||
| e70c50ab1a | |||
| 74c16fabe6 | |||
| 70d5113180 | |||
| 6b089d3fba | |||
| 03ab236b67 | |||
| 8ba068041d | |||
| fae83a34bc | |||
| b934b1b940 | |||
| 7f7fd71fe4 | |||
| d65cef176e | |||
| 5715245080 | |||
| 796c991dd8 | |||
| 7ac74220c4 | |||
| 1bb0451d75 | |||
| ea4ef5be90 | |||
| 131691156a | |||
| 864bf5e059 | |||
| 5596c8825b | |||
| a05c064466 | |||
| ae86a8db0f | |||
| dae5eadf1a | |||
| bc11f40a7a | |||
| 51fd0fca91 | |||
| 3c0a4e4995 | |||
| 9959cf1f24 | |||
| 61669f6b98 | |||
| d7d29a843f | |||
| dbb9168426 | |||
| cd52ebd7e8 | |||
| 99e20751a8 | |||
| 01108d7c2f | |||
| 7e5ca51486 | |||
| 5441ab1a58 | |||
| 0c34c94397 | |||
| a5f97fc018 | |||
| 91cdc28846 | |||
| 2470954006 | |||
|
|
0e661dec95 | ||
|
|
e503bec31a | ||
|
|
628bb2e157 | ||
|
|
afeae7380d | ||
|
|
3530a5c191 | ||
|
|
92b9577a19 | ||
|
|
56dc9b1b4a | ||
| 8c3986ffe0 | |||
|
|
c2b67e647d | ||
| 6137fdbd91 | |||
| 35ecc2c643 | |||
| cb8b8bd4cc | |||
| 7279e3592f | |||
| 8d275ddb31 | |||
| cf41615cb3 | |||
| c1f855c2ab | |||
| 4ac836fc66 | |||
| 5986e6a78b | |||
| 0601be026c | |||
| 24b0a3d75f | |||
| 2ac5234803 | |||
| 30e309853c | |||
| 944ce69906 | |||
| 4bf5316cfa | |||
| 136e63a6cd | |||
| 5ea424d0e8 | |||
|
|
d0e7e45a41 | ||
|
|
8df91eb382 | ||
|
|
40ed3bc0bc | ||
|
|
437e8fc3d1 | ||
|
|
4c86105183 | ||
|
|
87e9d93f5e | ||
|
|
b6fba447da | ||
|
|
95d31bad57 | ||
|
|
19fbceec93 | ||
|
|
4c13b96bd9 | ||
|
|
113c026ffa | ||
| e985506737 | |||
|
|
d858b12d8e | ||
|
|
e97937f82c | ||
|
|
960b51933d | ||
|
|
ccc6580652 | ||
| f473f3d4b9 | |||
| 2c349deee2 | |||
|
|
94e92b8edf | ||
| 85d0edbbed | |||
| b1fc133883 | |||
| f480366c87 | |||
|
|
51bd5376aa | ||
|
|
44880a41f9 | ||
|
|
1766ec558f | ||
|
|
58073542ff | ||
|
|
b7177b9fe6 | ||
|
|
c7dd1d6eef | ||
| 19d47c1d13 | |||
|
|
e5e22fc103 | ||
|
|
84f62080c4 | ||
|
|
2f30c86be8 | ||
| 46da9fe581 | |||
|
|
33efa85ac9 | ||
|
|
724f71b650 | ||
|
|
93cd47de5c | ||
|
|
e270199560 | ||
|
|
3fdd639028 | ||
|
|
90b227ed59 | ||
|
|
44f6fc357e | ||
|
|
20dca7dc2f | ||
|
|
81b2325aa1 | ||
|
|
fa1912bb5d | ||
|
|
7df9b08313 | ||
|
|
d54669982a | ||
| e79564b501 | |||
| 1be65ff216 | |||
| 0bcf4bee6e | |||
| 78c4b474db | |||
| af12c6557a | |||
|
|
24a5c3b50d | ||
| 708fb3de42 | |||
|
|
7ecc469385 | ||
|
|
34575bc603 | ||
|
|
7021031ea0 | ||
|
|
8cdc6cb966 | ||
|
|
cc359bd3e3 | ||
|
|
3225a28e12 | ||
|
|
758f879700 | ||
|
|
d8460692ac | ||
|
|
5e4bc8966c | ||
|
|
4373516256 | ||
|
|
4ebdaf7c1e | ||
|
|
3690011933 | ||
|
|
212b6d8a57 | ||
|
|
de4812cf93 | ||
|
|
37babfa29a | ||
|
|
9e6850eb4f | ||
|
|
f544a9d009 | ||
|
|
d455b44fef | ||
|
|
f33801e59b | ||
|
|
e70085a8c4 | ||
| bdee1481ed | |||
| 3ffa020c2c | |||
|
|
24ac7c8167 | ||
|
|
1b0487faa8 | ||
|
|
fed2525c7a | ||
|
|
0662c39c19 | ||
|
|
bda17c4233 | ||
|
|
9c406eb9e6 | ||
|
|
6911e41695 | ||
|
|
aa12e90bd2 | ||
|
|
fb1802d7d5 | ||
|
|
6b105133ec | ||
|
|
29d8326d1a | ||
|
|
d6c4d36b01 | ||
|
|
9307b66711 | ||
|
|
34dab17999 | ||
| dbc95b9121 | |||
|
|
2d8a61b704 | ||
|
|
a47058758e | ||
|
|
5e48b1094d | ||
| 8a4b19a8fd | |||
| e265ad4454 | |||
|
|
2ef2fcd563 | ||
|
|
bb820c1c25 | ||
|
|
3d86ae55e9 | ||
|
|
3f9bb8ffd4 | ||
|
|
cc1b07d5f0 | ||
|
|
facdf39012 | ||
|
|
78a3a7061f | ||
|
|
813313501b | ||
|
|
1a4b9b3918 | ||
|
|
8c8b20664a | ||
|
|
b22eeeb3e5 | ||
|
|
9cdc5ec7d7 | ||
|
|
22d241fa7c | ||
|
|
52441590a6 | ||
|
|
ea44a26ae7 | ||
|
|
13863270bf | ||
|
|
2e5454e872 | ||
|
|
d5f449180a | ||
|
|
effedb9946 | ||
|
|
7c4d81378b | ||
|
|
f21fb35bfe | ||
| c1cbe14871 | |||
|
|
6d276ab0c5 | ||
|
|
4787a2901c | ||
|
|
6913977100 | ||
|
|
e1a639ec7a | ||
|
|
60c37ee0eb | ||
|
|
92824d5338 | ||
|
|
0aff2e7227 | ||
|
|
789cc29279 | ||
|
|
d0136042ae | ||
|
|
afb83d763e | ||
|
|
2b615f32ca | ||
|
|
4d33f08150 | ||
|
|
d454cafbf5 | ||
|
|
72027837a0 | ||
|
|
6d3f6ce1ac | ||
|
|
9ebb998c64 | ||
|
|
77b1abb521 | ||
|
|
1d701fc2d9 | ||
|
|
2730971f0e | ||
|
|
78f75bf4bc | ||
|
|
288d0e5751 | ||
|
|
7c9d01f9a0 | ||
|
|
f3a27619db | ||
|
|
2b254e71ee | ||
|
|
b30e77a840 | ||
|
|
7c2ebabcd5 | ||
|
|
60e696cb1a | ||
|
|
590d0c50f1 | ||
|
|
777571e681 | ||
|
|
9c00988b4e | ||
| 3ebd679ac8 | |||
|
|
2d004b1f55 | ||
| a1ed2b1bed |
146
.github/workflows/appimage-build.yml
vendored
Normal file
@@ -0,0 +1,146 @@
|
||||
name: AppImage Build
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [master]
|
||||
pull_request:
|
||||
branches: [master]
|
||||
|
||||
jobs:
|
||||
appimage_build:
|
||||
runs-on: ubuntu-24.04
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
id-token: write
|
||||
attestations: write
|
||||
artifact-metadata: write
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: true
|
||||
|
||||
- name: Install build dependencies
|
||||
run: |
|
||||
set -eux
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y --no-install-recommends \
|
||||
build-essential pkg-config meson ninja-build cmake \
|
||||
gettext \
|
||||
libcanberra-dev libdbus-glib-1-dev libglib2.0-dev \
|
||||
libgtk-3-dev \
|
||||
libwayland-client0 libwayland-cursor0 libwayland-egl1 \
|
||||
libxkbcommon0 \
|
||||
libgtk-3-bin libglib2.0-bin shared-mime-info gsettings-desktop-schemas \
|
||||
libluajit-5.1-dev libpci-dev libperl-dev libssl-dev libayatana-appindicator3-dev \
|
||||
python3-dev python3-cffi mono-devel desktop-file-utils \
|
||||
patchelf file curl
|
||||
|
||||
- name: Configure
|
||||
run: |
|
||||
set -eux
|
||||
rm -rf build
|
||||
meson setup build \
|
||||
--prefix=/usr \
|
||||
-Dgtk3=true \
|
||||
-Dtext-frontend=true \
|
||||
-Dwith-perl=perl \
|
||||
-Dwith-python=python3 \
|
||||
-Dauto_features=enabled
|
||||
|
||||
- name: Build
|
||||
run: |
|
||||
set -eux
|
||||
ninja -C build
|
||||
|
||||
- name: Install to AppDir
|
||||
run: |
|
||||
set -eux
|
||||
rm -rf AppDir
|
||||
DESTDIR="${PWD}/AppDir" ninja -C build install
|
||||
|
||||
- name: Build AppImage
|
||||
env:
|
||||
APPIMAGE_EXTRACT_AND_RUN: 1
|
||||
DEPLOY_GTK_VERSION: 3
|
||||
LDAI_NO_APPSTREAM: 1
|
||||
run: |
|
||||
set -eux
|
||||
|
||||
curl -fL --retry 3 -o linuxdeploy-x86_64.AppImage \
|
||||
https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage
|
||||
chmod +x linuxdeploy-x86_64.AppImage
|
||||
|
||||
curl -fL --retry 3 -o linuxdeploy-plugin-gtk \
|
||||
https://raw.githubusercontent.com/linuxdeploy/linuxdeploy-plugin-gtk/master/linuxdeploy-plugin-gtk.sh
|
||||
chmod +x linuxdeploy-plugin-gtk
|
||||
export PATH="${PWD}:${PATH}"
|
||||
|
||||
install -Dm644 /etc/ssl/certs/ca-certificates.crt \
|
||||
AppDir/etc/ssl/certs/ca-certificates.crt
|
||||
|
||||
cat > AppRun <<'EOF'
|
||||
#!/bin/sh
|
||||
set -eu
|
||||
|
||||
APPDIR="${APPDIR:-$(dirname "$(readlink -f "$0")")}"
|
||||
|
||||
export PATH="$APPDIR/usr/bin:${PATH:-/usr/bin:/bin}"
|
||||
export LD_LIBRARY_PATH="$APPDIR/usr/lib:$APPDIR/usr/lib/x86_64-linux-gnu:${LD_LIBRARY_PATH:-}"
|
||||
export XDG_DATA_DIRS="$APPDIR/usr/share:${XDG_DATA_DIRS:-/usr/local/share:/usr/share}"
|
||||
|
||||
if [ -d "$APPDIR/usr/share/glib-2.0/schemas" ]; then
|
||||
export GSETTINGS_SCHEMA_DIR="$APPDIR/usr/share/glib-2.0/schemas${GSETTINGS_SCHEMA_DIR:+:$GSETTINGS_SCHEMA_DIR}"
|
||||
fi
|
||||
|
||||
if [ -d "$APPDIR/usr/lib/x86_64-linux-gnu/gio/modules" ]; then
|
||||
export GIO_EXTRA_MODULES="$APPDIR/usr/lib/x86_64-linux-gnu/gio/modules${GIO_EXTRA_MODULES:+:$GIO_EXTRA_MODULES}"
|
||||
elif [ -d "$APPDIR/usr/lib/gio/modules" ]; then
|
||||
export GIO_EXTRA_MODULES="$APPDIR/usr/lib/gio/modules${GIO_EXTRA_MODULES:+:$GIO_EXTRA_MODULES}"
|
||||
fi
|
||||
|
||||
# OpenSSL trust store override
|
||||
export SSL_CERT_FILE="${SSL_CERT_FILE:-$APPDIR/etc/ssl/certs/ca-certificates.crt}"
|
||||
export SSL_CERT_DIR="${SSL_CERT_DIR:-$APPDIR/etc/ssl/certs}"
|
||||
export CURL_CA_BUNDLE="${CURL_CA_BUNDLE:-$SSL_CERT_FILE}"
|
||||
|
||||
# Prefer Wayland if the session provides it, but keep X11 fallback.
|
||||
# Don't override if the user already set GDK_BACKEND explicitly.
|
||||
if [ -z "${GDK_BACKEND:-}" ]; then
|
||||
if [ -n "${WAYLAND_DISPLAY:-}" ] || [ "${XDG_SESSION_TYPE:-}" = "wayland" ]; then
|
||||
export GDK_BACKEND="wayland,x11"
|
||||
else
|
||||
export GDK_BACKEND="x11"
|
||||
fi
|
||||
fi
|
||||
|
||||
exec "$APPDIR/usr/bin/zoitechat" "$@"
|
||||
EOF
|
||||
chmod +x AppRun
|
||||
|
||||
|
||||
VERSION="$(git describe --tags --always)"
|
||||
|
||||
./linuxdeploy-x86_64.AppImage \
|
||||
--appdir AppDir \
|
||||
--desktop-file AppDir/usr/share/applications/net.zoite.Zoitechat.desktop \
|
||||
--icon-file AppDir/usr/share/icons/hicolor/48x48/apps/net.zoite.Zoitechat.png \
|
||||
--custom-apprun ./AppRun \
|
||||
--plugin gtk \
|
||||
--output appimage
|
||||
|
||||
appimage_path="$(ls -1 *.AppImage | grep -v linuxdeploy | head -n 1)"
|
||||
mv "$appimage_path" "Zoitechat-${VERSION}-x86_64.AppImage"
|
||||
|
||||
- name: Attest AppImage (Build Provenance)
|
||||
if: ${{ github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository }}
|
||||
uses: actions/attest-build-provenance@v3
|
||||
with:
|
||||
subject-path: Zoitechat-*-x86_64.AppImage
|
||||
|
||||
- name: Upload AppImage artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: zoitechat-appimage
|
||||
path: Zoitechat-*-x86_64.AppImage
|
||||
48
.github/workflows/debian-build.yml
vendored
Normal file
@@ -0,0 +1,48 @@
|
||||
name: Debian Build
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [master]
|
||||
pull_request:
|
||||
branches: [master]
|
||||
|
||||
jobs:
|
||||
debian_build:
|
||||
runs-on: ubuntu-24.04
|
||||
container:
|
||||
image: debian:bookworm
|
||||
|
||||
steps:
|
||||
- name: Install packaging tooling and build dependencies
|
||||
run: |
|
||||
set -eux
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
apt-get update
|
||||
apt-get install -y --no-install-recommends \
|
||||
git ca-certificates \
|
||||
build-essential dpkg-dev debhelper fakeroot \
|
||||
pkg-config meson ninja-build \
|
||||
gettext iso-codes \
|
||||
libcanberra-dev libdbus-glib-1-dev libglib2.0-dev libgtk-3-dev libayatana-appindicator3-dev \
|
||||
liblua5.3-dev libpci-dev libperl-dev libssl-dev \
|
||||
python3-dev python3-cffi desktop-file-utils
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: true
|
||||
|
||||
- name: Build Debian packages
|
||||
run: |
|
||||
set -eux
|
||||
dpkg-buildpackage -us -uc -b
|
||||
|
||||
- name: Collect Debian artifacts
|
||||
run: |
|
||||
set -eux
|
||||
mkdir -p artifacts
|
||||
cp -v ../*.deb ../*.changes ../*.buildinfo artifacts/
|
||||
|
||||
- name: Upload Debian artifacts
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: zoitechat-debian-packages
|
||||
path: artifacts/*
|
||||
54
.github/workflows/flatpak-build.yml
vendored
@@ -1,24 +1,48 @@
|
||||
name: Flatpak Build
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
branches: [master]
|
||||
pull_request:
|
||||
branches:
|
||||
- master
|
||||
branches: [master]
|
||||
|
||||
jobs:
|
||||
flatpak_build:
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: bilelmoussaoui/flatpak-github-actions:gnome-40
|
||||
options: --privileged
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
submodules: true
|
||||
|
||||
- uses: bilelmoussaoui/flatpak-github-actions/flatpak-builder@v3
|
||||
with:
|
||||
bundle: zoitechat.flatpak
|
||||
manifest-path: flatpak/io.github.Zoitechat.json
|
||||
permissions:
|
||||
contents: read
|
||||
id-token: write
|
||||
attestations: write
|
||||
artifact-metadata: write
|
||||
|
||||
container:
|
||||
image: ghcr.io/flathub-infra/flatpak-github-actions:gnome-49
|
||||
options: --privileged
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: true
|
||||
|
||||
- name: Build Flatpak
|
||||
id: flatpak_builder
|
||||
uses: flatpak/flatpak-github-actions/flatpak-builder@v6
|
||||
with:
|
||||
bundle: zoitechat.flatpak
|
||||
manifest-path: flatpak/net.zoite.Zoitechat.json
|
||||
cache: false
|
||||
restore-cache: false
|
||||
|
||||
- name: Upload Flatpak Bundle
|
||||
id: upload_flatpak
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: zoitechat.flatpak
|
||||
path: zoitechat.flatpak
|
||||
|
||||
- name: Attest Flatpak Bundle (Build Provenance)
|
||||
if: ${{ github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository }}
|
||||
uses: actions/attest-build-provenance@v3
|
||||
with:
|
||||
subject-path: zoitechat.flatpak
|
||||
|
||||
47
.github/workflows/msys-build.yml
vendored
@@ -1,47 +0,0 @@
|
||||
name: MSYS2 Build
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
pull_request:
|
||||
branches:
|
||||
- master
|
||||
|
||||
jobs:
|
||||
msys2_build:
|
||||
runs-on: windows-latest
|
||||
defaults:
|
||||
run:
|
||||
shell: msys2 {0}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- uses: msys2/setup-msys2@v2
|
||||
with:
|
||||
install: >-
|
||||
mingw-w64-x86_64-gcc
|
||||
mingw-w64-x86_64-pkg-config
|
||||
mingw-w64-x86_64-python3-cffi
|
||||
mingw-w64-x86_64-meson
|
||||
mingw-w64-x86_64-gtk2
|
||||
mingw-w64-x86_64-gtk-update-icon-cache
|
||||
mingw-w64-x86_64-luajit
|
||||
mingw-w64-x86_64-desktop-file-utils
|
||||
|
||||
- name: Configure
|
||||
run: >-
|
||||
meson build
|
||||
-Dtext-frontend=true
|
||||
-Ddbus=disabled
|
||||
-Dwith-upd=false
|
||||
-Dwith-perl=false
|
||||
|
||||
- name: Build
|
||||
run: ninja -C build
|
||||
|
||||
- name: Test
|
||||
run: ninja -C build test
|
||||
|
||||
- name: Install
|
||||
run: ninja -C build install
|
||||
118
.github/workflows/openbsd-build.yml
vendored
Normal file
@@ -0,0 +1,118 @@
|
||||
name: OpenBSD Build
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [master]
|
||||
pull_request:
|
||||
branches: [master]
|
||||
|
||||
jobs:
|
||||
openbsd_package:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: true
|
||||
|
||||
- name: Build OpenBSD package
|
||||
uses: vmactions/openbsd-vm@v1
|
||||
with:
|
||||
release: '7.5'
|
||||
usesh: true
|
||||
sync: rsync
|
||||
run: |
|
||||
set -eux
|
||||
|
||||
rdate -n pool.ntp.org
|
||||
export PKG_PATH="https://ftp.openbsd.org/pub/OpenBSD/7.5/packages/$(uname -m)/"
|
||||
|
||||
pkg_add -U \
|
||||
git \
|
||||
meson ninja pkgconf gmake \
|
||||
gettext-tools \
|
||||
glib2 gtk+3 dbus-glib libcanberra \
|
||||
luajit mono libgdiplus openssl
|
||||
|
||||
work="$(mktemp -d /tmp/zoitechat.XXXXXX)"
|
||||
trap 'rm -rf "$work"' EXIT
|
||||
|
||||
rsync -a --delete "$GITHUB_WORKSPACE"/ "$work/src/"
|
||||
cd "$work/src"
|
||||
|
||||
rm -rf build
|
||||
meson setup build \
|
||||
--prefix=/usr/local \
|
||||
-Dtext-frontend=true \
|
||||
-Dgtk3=true \
|
||||
-Dplugin=false \
|
||||
-Dauto_features=enabled
|
||||
|
||||
ninja -C build
|
||||
|
||||
staging="$work/staging"
|
||||
rm -rf "$staging"
|
||||
mkdir -p "$staging"
|
||||
|
||||
# Staged install
|
||||
DESTDIR="$staging" meson install -C build --no-rebuild
|
||||
|
||||
# If these exist, something ignored DESTDIR (install scripts are leaking)
|
||||
ls -l /usr/local/bin/zoitechat /usr/local/bin/thememan 2>/dev/null || true
|
||||
|
||||
sync
|
||||
sleep 1
|
||||
sync
|
||||
|
||||
# Freeze staged tree so pkg_create doesn't see moving targets
|
||||
snap="$work/staging-snap"
|
||||
rm -rf "$snap"
|
||||
mkdir -p "$snap"
|
||||
(cd "$staging" && pax -rw -pe . "$snap")
|
||||
|
||||
version="$(meson introspect --projectinfo build | sed -n 's/.*"version"[[:space:]]*:[[:space:]]*"\([^"]*\)".*/\1/p')"
|
||||
pkg_name="zoitechat-${version}"
|
||||
pkg_file="${pkg_name}.tgz"
|
||||
plist="$work/openbsd-plist"
|
||||
desc="$work/DESCR"
|
||||
|
||||
cat >"$desc" <<'EOF'
|
||||
ZoiteChat is an IRC client (HexChat-derived) with a GTK UI and optional tools.
|
||||
EOF
|
||||
|
||||
{
|
||||
echo "@cwd /usr/local"
|
||||
|
||||
# Files + symlinks
|
||||
find "$snap/usr/local" \( -type f -o -type l \) -print \
|
||||
| LC_ALL=C sort \
|
||||
| sed "s#^$snap/usr/local/##"
|
||||
|
||||
# Directories (reverse so children removed first)
|
||||
find "$snap/usr/local" -mindepth 1 -type d -print \
|
||||
| LC_ALL=C sort -r \
|
||||
| sed "s#^$snap/usr/local/##" \
|
||||
| sed 's#^#@dir #'
|
||||
} > "$plist"
|
||||
|
||||
# OpenBSD pkg_create: COMMENT is set via -D COMMENT=... (mandatory), no -c flag exists.
|
||||
# Create the .tgz in $work so we can copy it back out.
|
||||
cd "$work"
|
||||
pkg_create \
|
||||
-B "$snap" \
|
||||
-p /usr/local \
|
||||
-f "$plist" \
|
||||
-d "$desc" \
|
||||
-D "COMMENT=ZoiteChat IRC client" \
|
||||
-D "FULLPKGPATH=net/zoitechat" \
|
||||
"$pkg_file"
|
||||
|
||||
mkdir -p "$GITHUB_WORKSPACE/artifacts"
|
||||
cp "$work/$pkg_file" "$GITHUB_WORKSPACE/artifacts/"
|
||||
|
||||
- name: Upload OpenBSD package
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: openbsd-package
|
||||
path: artifacts/*.tgz
|
||||
88
.github/workflows/solus-eopkg-build.yml
vendored
Normal file
@@ -0,0 +1,88 @@
|
||||
name: Solus eopkg build
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
package_yml:
|
||||
description: "Path to Solus package.yml for ypkg build"
|
||||
required: false
|
||||
default: "packaging/solus/package.yml"
|
||||
solus_image:
|
||||
description: "Solus container image"
|
||||
required: false
|
||||
default: "docker.io/silkeh/solus:latest"
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
- master
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
packages: read
|
||||
|
||||
jobs:
|
||||
build-eopkg:
|
||||
runs-on: ubuntu-latest
|
||||
env:
|
||||
SOLUS_IMAGE: ${{ inputs.solus_image || 'docker.io/silkeh/solus:latest' }}
|
||||
PACKAGE_YML: ${{ inputs.package_yml || 'packaging/solus/package.yml' }}
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Log in to GHCR (for ghcr.io images)
|
||||
if: startsWith(env.SOLUS_IMAGE, 'ghcr.io/')
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
registry: ghcr.io
|
||||
username: ${{ github.actor }}
|
||||
password: ${{ github.token }}
|
||||
|
||||
- name: Build eopkg package in Solus container
|
||||
run: |
|
||||
if [ ! -f "$PACKAGE_YML" ]; then
|
||||
echo "Expected Solus packaging file at $PACKAGE_YML" >&2
|
||||
echo "Available package.yml files:" >&2
|
||||
find . -name "package.yml" -print >&2 || true
|
||||
echo "Add a package.yml (ypkg) file or update the workflow input PACKAGE_YML." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! docker pull "$SOLUS_IMAGE"; then
|
||||
echo "Failed to pull SOLUS_IMAGE=$SOLUS_IMAGE" >&2
|
||||
echo "Set workflow input 'solus_image' to a valid image that provides eopkg/ypkg." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
docker run --rm \
|
||||
-v "$PWD":/workspace \
|
||||
-w /workspace \
|
||||
-e PACKAGE_YML="$PACKAGE_YML" \
|
||||
"$SOLUS_IMAGE" \
|
||||
sh -lc '
|
||||
set -euo pipefail
|
||||
eopkg update-repo -y
|
||||
# Do not remove openssl-11 here: it can trigger a very large
|
||||
# dependency cascade (including python3/eopkg itself), which
|
||||
# breaks the build environment before package build starts.
|
||||
# Some Solus base images still contain openssl-11 files that
|
||||
# conflict with openssl 3.x when the package set is refreshed.
|
||||
# Allowing file-conflict resolution keeps the CI image usable
|
||||
# long enough to install ypkg and complete the package build.
|
||||
# The base image does not guarantee Meson toolchain packages,
|
||||
# while our package.yml setup phase calls meson directly.
|
||||
# Install the essential build tools up front to avoid
|
||||
# `/tmp/ypkg-setup*: meson: command not found` failures.
|
||||
eopkg install -y --ignore-file-conflicts \
|
||||
ypkg git meson ninja pkgconf gcc gettext
|
||||
ypkg build "$PACKAGE_YML"
|
||||
mkdir -p /workspace/artifacts
|
||||
find . -maxdepth 3 -name "*.eopkg" -type f -exec cp -v {} /workspace/artifacts/ \;
|
||||
'
|
||||
|
||||
- name: Upload eopkg artifacts
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: solus-eopkg
|
||||
path: artifacts/*.eopkg
|
||||
if-no-files-found: error
|
||||
32
.github/workflows/ubuntu-build.yml
vendored
@@ -1,32 +0,0 @@
|
||||
name: Ubuntu Build
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
pull_request:
|
||||
branches:
|
||||
- master
|
||||
|
||||
jobs:
|
||||
ubuntu_build:
|
||||
runs-on: ubuntu-20.04
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Install Dependencies
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y meson libcanberra-dev libdbus-glib-1-dev libglib2.0-dev libgtk2.0-dev libluajit-5.1-dev libpci-dev libperl-dev libssl-dev python3-dev python3-cffi mono-devel desktop-file-utils
|
||||
|
||||
- name: Configure
|
||||
run: meson build -Dtext=true -Dtheme-manager=true -Dauto_features=enabled
|
||||
|
||||
- name: Build
|
||||
run: ninja -C build
|
||||
|
||||
- name: Test
|
||||
run: ninja -C build test
|
||||
|
||||
- name: Install
|
||||
run: sudo ninja -C build install
|
||||
92
.github/workflows/windows-build.yml
vendored
@@ -1,4 +1,5 @@
|
||||
name: Windows Build
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
@@ -9,33 +10,40 @@ on:
|
||||
|
||||
jobs:
|
||||
windows_build:
|
||||
runs-on: windows-2019
|
||||
runs-on: windows-2022
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
id-token: write
|
||||
attestations: write
|
||||
artifact-metadata: write
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
platform: [x64, win32]
|
||||
arch: [x64, x86]
|
||||
exclude:
|
||||
- platform: x64
|
||||
arch: x86
|
||||
- platform: win32
|
||||
arch: x64
|
||||
platform: [x64]
|
||||
arch: [x64]
|
||||
fail-fast: false
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: '3.14.2'
|
||||
architecture: ${{ matrix.arch }}
|
||||
|
||||
- name: Install Dependencies
|
||||
run: |
|
||||
New-Item -Name "deps" -ItemType "Directory"
|
||||
New-Item -Name "deps" -ItemType "Directory" -Force | Out-Null
|
||||
|
||||
Invoke-WebRequest http://files.jrsoftware.org/is/5/innosetup-5.5.9-unicode.exe -OutFile deps\innosetup-unicode.exe
|
||||
Invoke-WebRequest https://files.jrsoftware.org/is/6/innosetup-6.7.0.exe -OutFile deps\innosetup-unicode.exe
|
||||
& deps\innosetup-unicode.exe /VERYSILENT | Out-Null
|
||||
|
||||
Invoke-WebRequest https://github.com/zoitechat/gvsbuild/releases/download/zoitechat-2.17.0/idpsetup-1.5.1.exe -OutFile deps\idpsetup.exe
|
||||
& deps\idpsetup.exe /VERYSILENT
|
||||
|
||||
Invoke-WebRequest https://github.com/zoitechat/gvsbuild/releases/download/zoitechat-2.17.0/gtk-${{ matrix.platform }}-2018-08-29-openssl1.1.7z -OutFile deps\gtk-${{ matrix.arch }}.7z
|
||||
& 7z.exe x deps\gtk-${{ matrix.arch }}.7z -oC:\gtk-build\gtk
|
||||
Invoke-WebRequest https://github.com/ZoiteChat/gvsbuild/releases/download/zoitechat-2.18.0-pre1/GTK3_Gvsbuild_zoitechat-2.18.0-pre1_${{ matrix.platform }}.7z -OutFile deps\gtk-${{ matrix.arch }}.7z
|
||||
& 7z.exe x deps\gtk-${{ matrix.arch }}.7z -oC:\gtk-build\gtk\x64\release
|
||||
|
||||
Invoke-WebRequest https://github.com/zoitechat/gvsbuild/releases/download/zoitechat-2.17.0/gendef-20111031.7z -OutFile deps\gendef.7z
|
||||
& 7z.exe x deps\gendef.7z -oC:\gtk-build
|
||||
@@ -46,30 +54,68 @@ jobs:
|
||||
Invoke-WebRequest https://github.com/zoitechat/gvsbuild/releases/download/zoitechat-2.17.0/perl-5.20.0-${{ matrix.arch }}.7z -OutFile deps\perl-${{ matrix.arch }}.7z
|
||||
& 7z.exe x deps\perl-${{ matrix.arch }}.7z -oC:\gtk-build\perl-5.20\${{ matrix.platform }}
|
||||
|
||||
New-Item -Path "c:\gtk-build" -Name "python-3.8" -ItemType "Directory"
|
||||
New-Item -Path "c:\gtk-build\python-3.8" -Name "${{ matrix.platform }}" -ItemType "SymbolicLink" -Value "C:/hostedtoolcache/windows/Python/3.8.10/${{ matrix.arch }}"
|
||||
# Resolve python root from setup-python
|
||||
$pyRoot = $env:pythonLocation
|
||||
if (-not $pyRoot) { $pyRoot = & python -c "import sys; print(sys.prefix)" }
|
||||
|
||||
C:/hostedtoolcache/windows/Python/3.8.10/${{ matrix.arch }}/python.exe -m pip install cffi
|
||||
shell: powershell
|
||||
# Create BOTH paths because the .vcxproj hard-codes python-3.14\...
|
||||
foreach ($pyDir in @("C:\gtk-build\python-3.14.2", "C:\gtk-build\python-3.14")) {
|
||||
New-Item -Path $pyDir -ItemType Directory -Force | Out-Null
|
||||
$target = Join-Path $pyDir "${{ matrix.platform }}"
|
||||
if (Test-Path $target) { Remove-Item $target -Recurse -Force }
|
||||
New-Item -Path $pyDir -Name "${{ matrix.platform }}" -ItemType Junction -Value $pyRoot | Out-Null
|
||||
}
|
||||
|
||||
python -m pip install --upgrade pip
|
||||
python -m pip install cffi
|
||||
|
||||
- name: Build
|
||||
run: |
|
||||
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\Tools\VsDevCmd.bat"
|
||||
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\Tools\VsDevCmd.bat"
|
||||
|
||||
set "PYTHON_DIR=C:\gtk-build\python-3.14.2\${{ matrix.platform }}"
|
||||
if not exist "%PYTHON_DIR%\libs\python314.lib" (
|
||||
echo Missing %PYTHON_DIR%\libs\python314.lib
|
||||
dir "%PYTHON_DIR%\libs"
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
set "LIB=%PYTHON_DIR%\libs;%LIB%"
|
||||
set "INCLUDE=%PYTHON_DIR%\include;%INCLUDE%"
|
||||
|
||||
msbuild win32\zoitechat.sln /m /verbosity:minimal /p:Configuration=Release /p:Platform=${{ matrix.platform }}
|
||||
shell: cmd
|
||||
|
||||
- name: Preparing Artifacts
|
||||
run: |
|
||||
move ..\zoitechat-build\${{ matrix.platform }}\ZoiteChat*.exe .\
|
||||
move ..\zoitechat-build\${{ matrix.platform }}\ZoiteChat-*.exe .\
|
||||
move ..\zoitechat-build .\
|
||||
shell: cmd
|
||||
|
||||
- uses: actions/upload-artifact@v2
|
||||
- name: Upload Installer
|
||||
id: upload_installer
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: Installer ${{ matrix.arch }}
|
||||
path: ZoiteChat*.exe
|
||||
path: ZoiteChat-*.exe
|
||||
|
||||
- uses: actions/upload-artifact@v2
|
||||
- name: Attest Installer (Artifact Attestation)
|
||||
if: ${{ github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository }}
|
||||
uses: actions/attest-build-provenance@v3
|
||||
with:
|
||||
name: Build Files ${{ matrix.arch }}
|
||||
subject-name: Installer ${{ matrix.arch }}
|
||||
subject-digest: sha256:${{ steps.upload_installer.outputs.artifact-digest }}
|
||||
|
||||
- name: Upload Build Files
|
||||
id: upload_buildfiles
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: Build Files ${{ matrix.arch }}
|
||||
path: zoitechat-build
|
||||
|
||||
- name: Attest Build Files (Artifact Attestation)
|
||||
if: ${{ github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository }}
|
||||
uses: actions/attest-build-provenance@v3
|
||||
with:
|
||||
subject-name: Build Files ${{ matrix.arch }}
|
||||
subject-digest: sha256:${{ steps.upload_buildfiles.outputs.artifact-digest }}
|
||||
|
||||
2
.mailmap
@@ -1,5 +1,5 @@
|
||||
Berke Viktor <github.bviktor@outlook.com> <berkeviktor@aol.com>
|
||||
Berke Viktor <github.bviktor@outlook.com> <bviktor@zoitechat.org>
|
||||
Berke Viktor <github.bviktor@outlook.com> <bviktor@hexchat.org>
|
||||
Berke Viktor <github.bviktor@outlook.com> <bviktor@outlook.com>
|
||||
Berke Viktor <github.bviktor@outlook.com> berkeviktor@aol.com
|
||||
Patrick Griffis <tingping@tingping.se> TingPing <tingping@fedoraproject.org>
|
||||
|
||||
1
.pc/.quilt_patches
Normal file
@@ -0,0 +1 @@
|
||||
debian/patches
|
||||
1
.pc/.quilt_series
Normal file
@@ -0,0 +1 @@
|
||||
series
|
||||
1
.pc/.version
Normal file
@@ -0,0 +1 @@
|
||||
2
|
||||
2
.pc/applied-patches
Normal file
@@ -0,0 +1,2 @@
|
||||
readmechanges.patch
|
||||
default-servers.patch
|
||||
45
Makefile
Normal file
@@ -0,0 +1,45 @@
|
||||
PREFIX ?= /usr/local
|
||||
BUILD_DIR ?= build
|
||||
MESON ?= meson
|
||||
NINJA ?= ninja
|
||||
C_STD ?= c17
|
||||
MESON_SETUP_ARGS ?=
|
||||
MESON_SETUP_ARGS += -Dc_std=$(C_STD)
|
||||
MESON_COMPILE_ARGS ?=
|
||||
MESON_INSTALL_ARGS ?=
|
||||
|
||||
CONFIG_STAMP := $(BUILD_DIR)/build.ninja
|
||||
|
||||
.PHONY: all configure build reconfigure install uninstall clean distclean
|
||||
|
||||
all: build
|
||||
|
||||
# Only run initial meson setup if we don't have a configured build dir yet.
|
||||
$(CONFIG_STAMP):
|
||||
@mkdir -p $(BUILD_DIR)
|
||||
@env NINJA=$(NINJA) $(MESON) setup $(BUILD_DIR) --prefix=$(PREFIX) $(MESON_SETUP_ARGS)
|
||||
|
||||
configure: $(CONFIG_STAMP)
|
||||
|
||||
build: configure
|
||||
@env NINJA=$(NINJA) $(MESON) compile -C $(BUILD_DIR) $(MESON_COMPILE_ARGS)
|
||||
|
||||
reconfigure:
|
||||
@mkdir -p $(BUILD_DIR)
|
||||
@env NINJA=$(NINJA) $(MESON) setup --reconfigure $(BUILD_DIR) --prefix=$(PREFIX) $(MESON_SETUP_ARGS)
|
||||
|
||||
install: build
|
||||
@env NINJA=$(NINJA) $(MESON) install -C $(BUILD_DIR) $(MESON_INSTALL_ARGS)
|
||||
|
||||
uninstall: configure
|
||||
@$(NINJA) -C $(BUILD_DIR) uninstall
|
||||
|
||||
clean:
|
||||
@if [ -f "$(CONFIG_STAMP)" ]; then \
|
||||
env NINJA=$(NINJA) $(MESON) compile -C $(BUILD_DIR) --clean; \
|
||||
else \
|
||||
echo "Nothing to clean (no $(CONFIG_STAMP))."; \
|
||||
fi
|
||||
|
||||
distclean:
|
||||
rm -rf $(BUILD_DIR)
|
||||
1122
changelog.rst
Normal file
BIN
data/icons/menu/dark/about.png
Normal file
|
After Width: | Height: | Size: 498 B |
5
data/icons/menu/dark/about.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true">
|
||||
<circle cx="8" cy="8" r="5.5" fill="none" stroke="#e5e7eb" stroke-width="1.3"/>
|
||||
<path d="M8 7v4" stroke="#e5e7eb" stroke-width="1.3" stroke-linecap="round"/>
|
||||
<circle cx="8" cy="4.8" r=".9" fill="#e5e7eb"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 316 B |
BIN
data/icons/menu/dark/add.png
Normal file
|
After Width: | Height: | Size: 462 B |
3
data/icons/menu/dark/add.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true">
|
||||
<circle cx="8" cy="8" r="4.8" fill="none" stroke="#e5e7eb" stroke-width="1.3"/><path d="M8 5.8v4.4M5.8 8h4.4" stroke="#e5e7eb" stroke-width="1.3" stroke-linecap="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 281 B |
BIN
data/icons/menu/dark/chanlist.png
Normal file
|
After Width: | Height: | Size: 409 B |
5
data/icons/menu/dark/chanlist.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true">
|
||||
<rect x="2.5" y="3" width="11" height="10" rx="1.2" fill="none" stroke="#e5e7eb" stroke-width="1.3"/>
|
||||
<path d="M4.5 5.5h7M4.5 8h7M4.5 10.5h5" stroke="#e5e7eb" stroke-width="1.3" stroke-linecap="round"/>
|
||||
<circle cx="3.5" cy="5.5" r=".2" fill="#e5e7eb"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 363 B |
BIN
data/icons/menu/dark/clear.png
Normal file
|
After Width: | Height: | Size: 362 B |
6
data/icons/menu/dark/clear.svg
Normal file
@@ -0,0 +1,6 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true">
|
||||
<path d="M3.2 5.2h9.6" stroke="#e5e7eb" stroke-width="1.3" stroke-linecap="round"/>
|
||||
<path d="M5 5.2v7.3c0 .6.4 1 1 1h4c.6 0 1-.4 1-1V5.2" fill="none" stroke="#e5e7eb" stroke-width="1.3"/>
|
||||
<path d="M6.5 3.5h3" stroke="#e5e7eb" stroke-width="1.3" stroke-linecap="round"/>
|
||||
<path d="M6.8 7v4M9.2 7v4" stroke="#e5e7eb" stroke-width="1.2" stroke-linecap="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 468 B |
BIN
data/icons/menu/dark/close.png
Normal file
|
After Width: | Height: | Size: 445 B |
4
data/icons/menu/dark/close.svg
Normal file
@@ -0,0 +1,4 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true">
|
||||
<rect x="2.5" y="2.5" width="11" height="11" rx="1.6" fill="none" stroke="#e5e7eb" stroke-width="1.3"/>
|
||||
<path d="M5.2 5.2l5.6 5.6M10.8 5.2 5.2 10.8" stroke="#e5e7eb" stroke-width="1.5" stroke-linecap="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 320 B |
BIN
data/icons/menu/dark/connect.png
Normal file
|
After Width: | Height: | Size: 399 B |
5
data/icons/menu/dark/connect.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true">
|
||||
<path d="M2.5 8a5.5 5.5 0 0 1 11 0" fill="none" stroke="#e5e7eb" stroke-width="1.3"/>
|
||||
<path d="M4.5 10.5h7" stroke="#e5e7eb" stroke-width="1.3" stroke-linecap="round"/>
|
||||
<circle cx="8" cy="8" r="1.1" fill="#e5e7eb"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 326 B |
BIN
data/icons/menu/dark/copy.png
Normal file
|
After Width: | Height: | Size: 330 B |
3
data/icons/menu/dark/copy.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true">
|
||||
<path d="M6 4.5h6.5v8H6z" fill="none" stroke="#e5e7eb" stroke-width="1.3"/><path d="M3.5 2.5H10v1.8" fill="none" stroke="#e5e7eb" stroke-width="1.3" stroke-linecap="round"/><path d="M3.5 2.5v8.8H5.3" fill="none" stroke="#e5e7eb" stroke-width="1.3" stroke-linecap="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 383 B |
BIN
data/icons/menu/dark/delete.png
Normal file
|
After Width: | Height: | Size: 305 B |
3
data/icons/menu/dark/delete.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true">
|
||||
<path d="M5.2 5.3h5.6v7.2H5.2z" fill="none" stroke="#e5e7eb" stroke-width="1.3"/><path d="M4 5.3h8" stroke="#e5e7eb" stroke-width="1.3" stroke-linecap="round"/><path d="M6.3 3.7h3.4" stroke="#e5e7eb" stroke-width="1.3" stroke-linecap="round"/><path d="M7.1 6.6v4.6M8.9 6.6v4.6" stroke="#e5e7eb" stroke-width="1.1" stroke-linecap="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 449 B |
BIN
data/icons/menu/dark/detach.png
Normal file
|
After Width: | Height: | Size: 343 B |
4
data/icons/menu/dark/detach.svg
Normal file
@@ -0,0 +1,4 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true">
|
||||
<rect x="2" y="4" width="8" height="8" rx="1.2" fill="none" stroke="#e5e7eb" stroke-width="1.3"/>
|
||||
<path d="M8 8h5M10.5 5.5 13 8l-2.5 2.5" fill="none" stroke="#e5e7eb" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 345 B |
BIN
data/icons/menu/dark/disconnect.png
Normal file
|
After Width: | Height: | Size: 415 B |
5
data/icons/menu/dark/disconnect.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true">
|
||||
<path d="M2.5 8a5.5 5.5 0 0 1 11 0" fill="none" stroke="#e5e7eb" stroke-width="1.3"/>
|
||||
<path d="M4.5 10.5h7" stroke="#e5e7eb" stroke-width="1.3" stroke-linecap="round"/>
|
||||
<path d="M5 5l6 6" stroke="#e5e7eb" stroke-width="1.4" stroke-linecap="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 359 B |
BIN
data/icons/menu/dark/emoji.png
Normal file
|
After Width: | Height: | Size: 536 B |
1
data/icons/menu/dark/emoji.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><circle cx="8" cy="8" r="5.6" fill="rgb(255,199,64)" stroke="rgb(240,240,240)" stroke-width="1"/><circle cx="6" cy="7" r="0.8" fill="rgb(240,240,240)"/><circle cx="10" cy="7" r="0.8" fill="rgb(240,240,240)"/><path d="M5.5 9.4c.6 1 1.4 1.6 2.5 1.6s1.9-.6 2.5-1.6" fill="none" stroke="rgb(240,240,240)" stroke-width="1" stroke-linecap="round"/></svg>
|
||||
|
After Width: | Height: | Size: 431 B |
BIN
data/icons/menu/dark/find.png
Normal file
|
After Width: | Height: | Size: 360 B |
5
data/icons/menu/dark/find.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true">
|
||||
<circle cx="7" cy="7" r="3.5" fill="none" stroke="#e5e7eb" stroke-width="1.4"/>
|
||||
<path d="M9.8 9.8 13 13" stroke="#e5e7eb" stroke-width="1.5" stroke-linecap="round"/>
|
||||
<path d="M7 5.4v3.2M5.4 7h3.2" stroke="#e5e7eb" stroke-width="1.2" stroke-linecap="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 368 B |
BIN
data/icons/menu/dark/help.png
Normal file
|
After Width: | Height: | Size: 579 B |
5
data/icons/menu/dark/help.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true">
|
||||
<circle cx="8" cy="8" r="5.5" fill="none" stroke="#e5e7eb" stroke-width="1.3"/>
|
||||
<path d="M6.4 6.2a1.8 1.8 0 1 1 2.8 1.5c-.7.5-1.2.9-1.2 1.8" fill="none" stroke="#e5e7eb" stroke-width="1.3" stroke-linecap="round"/>
|
||||
<circle cx="8" cy="11.8" r=".8" fill="#e5e7eb"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 373 B |
BIN
data/icons/menu/dark/join.png
Normal file
|
After Width: | Height: | Size: 360 B |
5
data/icons/menu/dark/join.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true">
|
||||
<path d="M2.5 8h6" stroke="#e5e7eb" stroke-width="1.3" stroke-linecap="round"/>
|
||||
<path d="M6 5l3 3-3 3" fill="none" stroke="#e5e7eb" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<rect x="10" y="3" width="3.5" height="10" rx="1" fill="none" stroke="#e5e7eb" stroke-width="1.3"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 410 B |
BIN
data/icons/menu/dark/load-plugin.png
Normal file
|
After Width: | Height: | Size: 377 B |
6
data/icons/menu/dark/load-plugin.svg
Normal file
@@ -0,0 +1,6 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true">
|
||||
<path d="M2.5 8h6" stroke="#e5e7eb" stroke-width="1.3" stroke-linecap="round"/>
|
||||
<path d="M6 5l2.8 3L6 11" fill="none" stroke="#e5e7eb" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<rect x="9" y="4" width="4.5" height="8" rx="1" fill="none" stroke="#e5e7eb" stroke-width="1.3"/>
|
||||
<path d="M11.25 6v1.8" stroke="#e5e7eb" stroke-width="1.3" stroke-linecap="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 495 B |
BIN
data/icons/menu/dark/network-list.png
Normal file
|
After Width: | Height: | Size: 409 B |
5
data/icons/menu/dark/network-list.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true">
|
||||
<rect x="2.5" y="3" width="11" height="10" rx="1.2" fill="none" stroke="#e5e7eb" stroke-width="1.3"/>
|
||||
<path d="M4.5 5.5h7M4.5 8h7M4.5 10.5h5" stroke="#e5e7eb" stroke-width="1.3" stroke-linecap="round"/>
|
||||
<circle cx="3.5" cy="5.5" r=".2" fill="#e5e7eb"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 363 B |
BIN
data/icons/menu/dark/new.png
Normal file
|
After Width: | Height: | Size: 401 B |
5
data/icons/menu/dark/new.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true">
|
||||
<path d="M3 2.5h6l4 4V13.5a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1z" fill="none" stroke="#e5e7eb" stroke-width="1.3"/>
|
||||
<path d="M9 2.5v4h4" fill="none" stroke="#e5e7eb" stroke-width="1.3"/>
|
||||
<path d="M8 8v4M6 10h4" stroke="#e5e7eb" stroke-width="1.3" stroke-linecap="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 375 B |
BIN
data/icons/menu/dark/next.png
Normal file
|
After Width: | Height: | Size: 245 B |
3
data/icons/menu/dark/next.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true">
|
||||
<path d="M5.5 3.5 10.5 8l-5 4.5" fill="none" stroke="#e5e7eb" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 240 B |
BIN
data/icons/menu/dark/preferences.png
Normal file
|
After Width: | Height: | Size: 405 B |
4
data/icons/menu/dark/preferences.svg
Normal file
@@ -0,0 +1,4 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true">
|
||||
<circle cx="8" cy="8" r="2.1" fill="none" stroke="#e5e7eb" stroke-width="1.3"/>
|
||||
<path d="M8 2.8v1.4M8 11.8v1.4M13.2 8h-1.4M4.2 8H2.8M11.7 4.3l-1 1M5.3 10.7l-1 1M11.7 11.7l-1-1M5.3 5.3l-1-1" stroke="#e5e7eb" stroke-width="1.2" stroke-linecap="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 361 B |
BIN
data/icons/menu/dark/previous.png
Normal file
|
After Width: | Height: | Size: 286 B |
3
data/icons/menu/dark/previous.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true">
|
||||
<path d="M10.5 3.5 5.5 8l5 4.5" fill="none" stroke="#e5e7eb" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 239 B |
BIN
data/icons/menu/dark/quit.png
Normal file
|
After Width: | Height: | Size: 432 B |
4
data/icons/menu/dark/quit.svg
Normal file
@@ -0,0 +1,4 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true">
|
||||
<path d="M8 2.5v5" stroke="#e5e7eb" stroke-width="1.5" stroke-linecap="round"/>
|
||||
<path d="M5 4.3a5 5 0 1 0 6 0" fill="none" stroke="#e5e7eb" stroke-width="1.4" stroke-linecap="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 294 B |
BIN
data/icons/menu/dark/refresh.png
Normal file
|
After Width: | Height: | Size: 457 B |
3
data/icons/menu/dark/refresh.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true">
|
||||
<path d="M12.8 7.4A4.8 4.8 0 1 0 8 12.8" fill="none" stroke="#e5e7eb" stroke-width="1.4" stroke-linecap="round"/><path d="M13 3.5v3.7H9.3" fill="none" stroke="#e5e7eb" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 346 B |
BIN
data/icons/menu/dark/remove.png
Normal file
|
After Width: | Height: | Size: 424 B |
3
data/icons/menu/dark/remove.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true">
|
||||
<circle cx="8" cy="8" r="4.8" fill="none" stroke="#e5e7eb" stroke-width="1.3"/><path d="M5.8 8h4.4" stroke="#e5e7eb" stroke-width="1.3" stroke-linecap="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 271 B |
BIN
data/icons/menu/dark/save-as.png
Normal file
|
After Width: | Height: | Size: 470 B |
6
data/icons/menu/dark/save-as.svg
Normal file
@@ -0,0 +1,6 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true">
|
||||
<path d="M3 2.5h8l2 2v9a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1z" fill="none" stroke="#e5e7eb" stroke-width="1.3"/>
|
||||
<rect x="5" y="3.5" width="4.5" height="2.5" fill="none" stroke="#e5e7eb" stroke-width="1.2"/>
|
||||
<rect x="5" y="9" width="3.4" height="3" fill="none" stroke="#e5e7eb" stroke-width="1.2"/>
|
||||
<path d="M9.8 8.9v3.6M8.1 10.7l1.7-1.8 1.8 1.8" fill="none" stroke="#e5e7eb" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 547 B |
BIN
data/icons/menu/dark/save.png
Normal file
|
After Width: | Height: | Size: 398 B |
5
data/icons/menu/dark/save.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true">
|
||||
<path d="M3 2.5h8l2 2v9a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1z" fill="none" stroke="#e5e7eb" stroke-width="1.3"/>
|
||||
<rect x="5" y="3.5" width="4.5" height="2.5" fill="none" stroke="#e5e7eb" stroke-width="1.2"/>
|
||||
<rect x="5" y="9" width="6" height="3" fill="none" stroke="#e5e7eb" stroke-width="1.2"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 400 B |
BIN
data/icons/menu/dark/search.png
Normal file
|
After Width: | Height: | Size: 337 B |
4
data/icons/menu/dark/search.svg
Normal file
@@ -0,0 +1,4 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true">
|
||||
<circle cx="7" cy="7" r="3.5" fill="none" stroke="#e5e7eb" stroke-width="1.4"/>
|
||||
<path d="M9.8 9.8 13 13" stroke="#e5e7eb" stroke-width="1.5" stroke-linecap="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 276 B |
BIN
data/icons/menu/dark/spell-check.png
Normal file
|
After Width: | Height: | Size: 327 B |
3
data/icons/menu/dark/spell-check.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true">
|
||||
<path d="M4 4.2h4M6 4.2v7.4M3.2 7.2h5.6" fill="none" stroke="#e5e7eb" stroke-width="1.2" stroke-linecap="round"/><path d="m8.9 9.3 1.5 1.5 2.8-3" fill="none" stroke="#e5e7eb" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 353 B |
BIN
data/icons/menu/dark/update.png
Normal file
|
After Width: | Height: | Size: 499 B |
1
data/icons/menu/dark/update.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><g fill="none" stroke="rgb(240,240,240)" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M13 5.8A5.5 5.5 0 1 0 5 13"/><path d="M13 2.2v3h-3"/><path d="M3 10.2A5.5 5.5 0 1 0 11 3"/><path d="M3 13.8v-3h3"/></g></svg>
|
||||
|
After Width: | Height: | Size: 324 B |
BIN
data/icons/menu/light/about.png
Normal file
|
After Width: | Height: | Size: 514 B |
5
data/icons/menu/light/about.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true">
|
||||
<circle cx="8" cy="8" r="5.5" fill="none" stroke="#1f2937" stroke-width="1.3"/>
|
||||
<path d="M8 7v4" stroke="#1f2937" stroke-width="1.3" stroke-linecap="round"/>
|
||||
<circle cx="8" cy="4.8" r=".9" fill="#1f2937"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 316 B |
BIN
data/icons/menu/light/add.png
Normal file
|
After Width: | Height: | Size: 486 B |
3
data/icons/menu/light/add.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true">
|
||||
<circle cx="8" cy="8" r="4.8" fill="none" stroke="#1f2937" stroke-width="1.3"/><path d="M8 5.8v4.4M5.8 8h4.4" stroke="#1f2937" stroke-width="1.3" stroke-linecap="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 281 B |
BIN
data/icons/menu/light/chanlist.png
Normal file
|
After Width: | Height: | Size: 407 B |
5
data/icons/menu/light/chanlist.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true">
|
||||
<rect x="2.5" y="3" width="11" height="10" rx="1.2" fill="none" stroke="#1f2937" stroke-width="1.3"/>
|
||||
<path d="M4.5 5.5h7M4.5 8h7M4.5 10.5h5" stroke="#1f2937" stroke-width="1.3" stroke-linecap="round"/>
|
||||
<circle cx="3.5" cy="5.5" r=".2" fill="#1f2937"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 363 B |
BIN
data/icons/menu/light/clear.png
Normal file
|
After Width: | Height: | Size: 364 B |
6
data/icons/menu/light/clear.svg
Normal file
@@ -0,0 +1,6 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true">
|
||||
<path d="M3.2 5.2h9.6" stroke="#1f2937" stroke-width="1.3" stroke-linecap="round"/>
|
||||
<path d="M5 5.2v7.3c0 .6.4 1 1 1h4c.6 0 1-.4 1-1V5.2" fill="none" stroke="#1f2937" stroke-width="1.3"/>
|
||||
<path d="M6.5 3.5h3" stroke="#1f2937" stroke-width="1.3" stroke-linecap="round"/>
|
||||
<path d="M6.8 7v4M9.2 7v4" stroke="#1f2937" stroke-width="1.2" stroke-linecap="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 468 B |
BIN
data/icons/menu/light/close.png
Normal file
|
After Width: | Height: | Size: 458 B |
4
data/icons/menu/light/close.svg
Normal file
@@ -0,0 +1,4 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true">
|
||||
<rect x="2.5" y="2.5" width="11" height="11" rx="1.6" fill="none" stroke="#1f2937" stroke-width="1.3"/>
|
||||
<path d="M5.2 5.2l5.6 5.6M10.8 5.2 5.2 10.8" stroke="#1f2937" stroke-width="1.5" stroke-linecap="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 320 B |
BIN
data/icons/menu/light/connect.png
Normal file
|
After Width: | Height: | Size: 425 B |
5
data/icons/menu/light/connect.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true">
|
||||
<path d="M2.5 8a5.5 5.5 0 0 1 11 0" fill="none" stroke="#1f2937" stroke-width="1.3"/>
|
||||
<path d="M4.5 10.5h7" stroke="#1f2937" stroke-width="1.3" stroke-linecap="round"/>
|
||||
<circle cx="8" cy="8" r="1.1" fill="#1f2937"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 326 B |
BIN
data/icons/menu/light/copy.png
Normal file
|
After Width: | Height: | Size: 344 B |
3
data/icons/menu/light/copy.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true">
|
||||
<path d="M6 4.5h6.5v8H6z" fill="none" stroke="#1f2937" stroke-width="1.3"/><path d="M3.5 2.5H10v1.8" fill="none" stroke="#1f2937" stroke-width="1.3" stroke-linecap="round"/><path d="M3.5 2.5v8.8H5.3" fill="none" stroke="#1f2937" stroke-width="1.3" stroke-linecap="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 383 B |
BIN
data/icons/menu/light/delete.png
Normal file
|
After Width: | Height: | Size: 306 B |
3
data/icons/menu/light/delete.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true">
|
||||
<path d="M5.2 5.3h5.6v7.2H5.2z" fill="none" stroke="#1f2937" stroke-width="1.3"/><path d="M4 5.3h8" stroke="#1f2937" stroke-width="1.3" stroke-linecap="round"/><path d="M6.3 3.7h3.4" stroke="#1f2937" stroke-width="1.3" stroke-linecap="round"/><path d="M7.1 6.6v4.6M8.9 6.6v4.6" stroke="#1f2937" stroke-width="1.1" stroke-linecap="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 449 B |
BIN
data/icons/menu/light/detach.png
Normal file
|
After Width: | Height: | Size: 356 B |
4
data/icons/menu/light/detach.svg
Normal file
@@ -0,0 +1,4 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true">
|
||||
<rect x="2" y="4" width="8" height="8" rx="1.2" fill="none" stroke="#1f2937" stroke-width="1.3"/>
|
||||
<path d="M8 8h5M10.5 5.5 13 8l-2.5 2.5" fill="none" stroke="#1f2937" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 345 B |
BIN
data/icons/menu/light/disconnect.png
Normal file
|
After Width: | Height: | Size: 448 B |
5
data/icons/menu/light/disconnect.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true">
|
||||
<path d="M2.5 8a5.5 5.5 0 0 1 11 0" fill="none" stroke="#1f2937" stroke-width="1.3"/>
|
||||
<path d="M4.5 10.5h7" stroke="#1f2937" stroke-width="1.3" stroke-linecap="round"/>
|
||||
<path d="M5 5l6 6" stroke="#1f2937" stroke-width="1.4" stroke-linecap="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 359 B |
BIN
data/icons/menu/light/emoji.png
Normal file
|
After Width: | Height: | Size: 589 B |
1
data/icons/menu/light/emoji.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><circle cx="8" cy="8" r="5.6" fill="rgb(255,211,67)" stroke="rgb(56,56,56)" stroke-width="1"/><circle cx="6" cy="7" r="0.8" fill="rgb(56,56,56)"/><circle cx="10" cy="7" r="0.8" fill="rgb(56,56,56)"/><path d="M5.5 9.4c.6 1 1.4 1.6 2.5 1.6s1.9-.6 2.5-1.6" fill="none" stroke="rgb(56,56,56)" stroke-width="1" stroke-linecap="round"/></svg>
|
||||
|
After Width: | Height: | Size: 419 B |
BIN
data/icons/menu/light/find.png
Normal file
|
After Width: | Height: | Size: 401 B |
5
data/icons/menu/light/find.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true">
|
||||
<circle cx="7" cy="7" r="3.5" fill="none" stroke="#1f2937" stroke-width="1.4"/>
|
||||
<path d="M9.8 9.8 13 13" stroke="#1f2937" stroke-width="1.5" stroke-linecap="round"/>
|
||||
<path d="M7 5.4v3.2M5.4 7h3.2" stroke="#1f2937" stroke-width="1.2" stroke-linecap="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 368 B |
BIN
data/icons/menu/light/help.png
Normal file
|
After Width: | Height: | Size: 587 B |
5
data/icons/menu/light/help.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true">
|
||||
<circle cx="8" cy="8" r="5.5" fill="none" stroke="#1f2937" stroke-width="1.3"/>
|
||||
<path d="M6.4 6.2a1.8 1.8 0 1 1 2.8 1.5c-.7.5-1.2.9-1.2 1.8" fill="none" stroke="#1f2937" stroke-width="1.3" stroke-linecap="round"/>
|
||||
<circle cx="8" cy="11.8" r=".8" fill="#1f2937"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 373 B |
BIN
data/icons/menu/light/join.png
Normal file
|
After Width: | Height: | Size: 369 B |
5
data/icons/menu/light/join.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true">
|
||||
<path d="M2.5 8h6" stroke="#1f2937" stroke-width="1.3" stroke-linecap="round"/>
|
||||
<path d="M6 5l3 3-3 3" fill="none" stroke="#1f2937" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<rect x="10" y="3" width="3.5" height="10" rx="1" fill="none" stroke="#1f2937" stroke-width="1.3"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 410 B |
BIN
data/icons/menu/light/load-plugin.png
Normal file
|
After Width: | Height: | Size: 388 B |