Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1695 commits
Select commit Hold shift + click to select a range
3051907
require that version
MathMan05 Apr 19, 2026
e6cf415
add audio worklet type?
MathMan05 Apr 19, 2026
b3ddc89
rid of useless import
MathMan05 Apr 19, 2026
f08f781
update package.json
MathMan05 Apr 19, 2026
094b177
fix desc
MathMan05 Apr 19, 2026
ab94a9d
update icons again
MathMan05 Apr 19, 2026
bd48a6e
lower
MathMan05 Apr 19, 2026
3dfadf3
correct the z-index
MathMan05 Apr 19, 2026
2a9561b
Localisation updates from https://translatewiki.net.
translatewiki Apr 20, 2026
5f57df8
some margin
MathMan05 Apr 22, 2026
6dff414
Merge branch 'main' of https://github.com/MathMan05/Fermi
MathMan05 Apr 22, 2026
43dd6f4
Localisation updates from https://translatewiki.net.
translatewiki Apr 23, 2026
edc7969
Localisation updates from https://translatewiki.net.
translatewiki Apr 27, 2026
f6eae0a
Localisation updates from https://translatewiki.net.
translatewiki Apr 30, 2026
4a18501
Localisation updates from https://translatewiki.net.
translatewiki May 4, 2026
bec52b2
why
MathMan05 May 6, 2026
1ae3ad7
Merge branch 'main' of https://github.com/MathMan05/Fermi
MathMan05 May 6, 2026
c9dc0ba
home page updates
MathMan05 May 10, 2026
93bae2a
varrious minor fixes
MathMan05 May 10, 2026
99a5430
improve friending on profile
MathMan05 May 10, 2026
81d4cbb
stupid code path
MathMan05 May 10, 2026
56acf22
fix reaction bug
MathMan05 May 10, 2026
9ec9804
add webkit prefix
MathMan05 May 10, 2026
9feb816
underscores not spaces
MathMan05 May 10, 2026
e532276
stack those menus!
MathMan05 May 10, 2026
d2b5814
view profile
MathMan05 May 10, 2026
09a8090
normal message jumps from links
MathMan05 May 10, 2026
eedffa0
hopefully reduce double channel bug further
MathMan05 May 10, 2026
c6b444c
improve editing profiles
MathMan05 May 10, 2026
f70be82
fix other spacebar references
MathMan05 May 10, 2026
9985f32
Localisation updates from https://translatewiki.net.
translatewiki May 11, 2026
92ad212
prevent markdown crash
MathMan05 May 11, 2026
51875ba
add date input S option
MathMan05 May 11, 2026
7020c9a
Merge branch 'main' of https://github.com/MathMan05/Fermi
MathMan05 May 11, 2026
e6982e4
better time MD
MathMan05 May 11, 2026
7bfb662
hopefully prevent double registers
MathMan05 May 11, 2026
006c2a5
Localisation updates from https://translatewiki.net.
translatewiki May 14, 2026
c87ff44
improve spoilered markdown/quote/link
ygg2 May 15, 2026
489256e
unspoil bg and remove old var from light theme
ygg2 May 15, 2026
b8d5378
Localisation updates from https://translatewiki.net.
translatewiki May 18, 2026
5bffd1e
fix reaction bug
MathMan05 May 20, 2026
557783d
make self reactions more clear on dark-accent theme
MathMan05 May 20, 2026
ff13770
delete it more
MathMan05 May 20, 2026
99e5530
more deleting
MathMan05 May 20, 2026
dc56d77
make discovery page-able
MathMan05 May 20, 2026
0858b00
Merge branch 'main' of https://github.com/MathMan05/Fermi
MathMan05 May 20, 2026
b2c7595
fix DM search
MathMan05 May 20, 2026
ea00aa6
search filtering
MathMan05 May 20, 2026
4933345
that's not async
MathMan05 May 20, 2026
56e9ef7
hypoprofile no friend
MathMan05 May 20, 2026
0e0af2a
Localisation updates from https://translatewiki.net.
translatewiki May 21, 2026
67e5561
add poll support
MathMan05 May 21, 2026
5935cce
check perm
MathMan05 May 21, 2026
eeff93d
user notes
MathMan05 May 22, 2026
12ee608
ban by id
MathMan05 May 22, 2026
1a83e30
Merge branch 'main' of https://github.com/MathMan05/Fermi
MathMan05 May 22, 2026
4e4650f
fix ban render bug
MathMan05 May 22, 2026
cad8717
Merge remote-tracking branch 'upstream/main'
ygg2 May 22, 2026
fc01559
fix code blocks a special case of quotes
ygg2 May 22, 2026
a8631ad
better login/register flow
MathMan05 May 22, 2026
c381c8d
forgot translations
MathMan05 May 22, 2026
bf60f4f
skip disabled instances
MathMan05 May 22, 2026
27e4f99
more upadtes
MathMan05 May 22, 2026
8489c2c
don't let that happen
MathMan05 May 22, 2026
13bee87
Localisation updates from https://translatewiki.net.
translatewiki May 25, 2026
bcf2cf0
Localisation updates from https://translatewiki.net.
translatewiki May 28, 2026
98c0785
what are these settings?
MathMan05 May 31, 2026
979a78b
Localisation updates from https://translatewiki.net.
translatewiki Jun 1, 2026
35de894
Localisation updates from https://translatewiki.net.
translatewiki Jun 8, 2026
b39a07a
Localisation updates from https://translatewiki.net.
translatewiki Jun 11, 2026
14ba809
Merge pull request #340 from ygg2/main
MathMan05 Jun 20, 2026
2fdc089
init type updates
MathMan05 Jun 20, 2026
2fd93f5
fix bad bug
MathMan05 Jun 20, 2026
d67c216
Merge branch 'main' of https://github.com/MathMan05/Fermi
MathMan05 Jun 20, 2026
315b799
diable polls
MathMan05 Jun 20, 2026
6f56ce8
Merge branch 'main' into polls
MathMan05 Jun 20, 2026
2dedeac
Merge pull request #341 from MathMan05/polls
MathMan05 Jun 20, 2026
e59836a
fix bug with event in Fermi
MathMan05 Jun 21, 2026
36117de
oops missed this
MathMan05 Jun 21, 2026
d7475e8
Localisation updates from https://translatewiki.net.
translatewiki Jun 22, 2026
fe34c2b
add Harmony codeberg link
MathMan05 Jun 24, 2026
9906222
Merge branch 'main' of https://github.com/MathMan05/Fermi
MathMan05 Jun 24, 2026
49b9ae2
filter out undefined more
MathMan05 Jun 24, 2026
5e6bf88
uh, that's dead code lol
MathMan05 Jun 24, 2026
4e757cf
made sub menu buttons more obvious
MathMan05 Jun 24, 2026
b3d0040
more sub buttons
MathMan05 Jun 24, 2026
ee22312
fermi tokens
MathMan05 Jun 24, 2026
109225d
oops
MathMan05 Jun 24, 2026
3757339
shorter invite links
MathMan05 Jun 24, 2026
043e21f
Localisation updates from https://translatewiki.net.
translatewiki Jun 25, 2026
254a043
correct types
MathMan05 Jun 25, 2026
0a68c79
Merge branch 'main' of https://github.com/MathMan05/Fermi
MathMan05 Jun 25, 2026
178fa2f
fix border bug
MathMan05 Jun 25, 2026
54147a8
slight correct text
MathMan05 Jun 25, 2026
42ba22b
cleaning stuff up
MathMan05 Jun 27, 2026
39df34f
as const
MathMan05 Jun 27, 2026
89a34b6
clean up map
MathMan05 Jun 27, 2026
9bdead0
unused
MathMan05 Jun 27, 2026
1f8d5a3
new polyfill
MathMan05 Jun 27, 2026
98bada1
no more guilds
MathMan05 Jun 27, 2026
a2759d0
rename guildids to guilds
MathMan05 Jun 27, 2026
218e712
finish
MathMan05 Jun 27, 2026
e0d6c1a
clear guild map
MathMan05 Jun 27, 2026
4e0ac6e
rename channels map
MathMan05 Jun 27, 2026
3802b89
clear channels too
MathMan05 Jun 27, 2026
87b8abb
no more server_urls
MathMan05 Jun 27, 2026
0219ebf
clear map
MathMan05 Jun 27, 2026
d73146e
don't load categories
MathMan05 Jun 27, 2026
3d755ac
the type was wrong
MathMan05 Jun 27, 2026
3973e9d
that's kinda private
MathMan05 Jun 27, 2026
9b8f3dc
nothing else needs to know
MathMan05 Jun 27, 2026
307d70d
few corrections
MathMan05 Jun 27, 2026
c5e96ee
varrious changes
MathMan05 Jun 27, 2026
fce1ced
small fix
MathMan05 Jun 27, 2026
efb03d4
guildRail
MathMan05 Jun 27, 2026
14fa4bc
roles correction
MathMan05 Jun 27, 2026
078728e
members
MathMan05 Jun 27, 2026
c96fe06
sticker map
MathMan05 Jun 27, 2026
579e4ab
better error
MathMan05 Jun 27, 2026
7567c21
Localisation updates from https://translatewiki.net.
translatewiki Jun 29, 2026
e66767b
make an unsafe sync and fix up joining guilds
MathMan05 Jul 1, 2026
d83426e
Merge branch 'main' of https://github.com/MathMan05/Fermi
MathMan05 Jul 1, 2026
b806e0e
Localisation updates from https://translatewiki.net.
translatewiki Jul 2, 2026
8b68f5e
group DM fix
MathMan05 Jul 3, 2026
7f370f7
Merge branch 'main' of https://github.com/MathMan05/Fermi
MathMan05 Jul 3, 2026
7b3a3a9
donation page
MathMan05 Jul 4, 2026
891ad70
left
MathMan05 Jul 4, 2026
a0f21a4
rid of more spacebar
MathMan05 Jul 4, 2026
e7071a0
add warning for spacebar users
MathMan05 Jul 5, 2026
47591c5
Perf improvements
MathMan05 Jul 5, 2026
8930830
store message div weakly
MathMan05 Jul 5, 2026
a795bd6
fix group context menu
MathMan05 Jul 5, 2026
e4bde62
Localisation updates from https://translatewiki.net.
translatewiki Jul 6, 2026
f01b4b6
donate on sitemap
MathMan05 Jul 6, 2026
ee491b2
Merge branch 'main' of https://github.com/MathMan05/Fermi
MathMan05 Jul 6, 2026
99966c8
minor voice fixes
MathMan05 Jul 11, 2026
bf67eb2
redo roles
MathMan05 Jul 11, 2026
e86d889
Merge pull request #346 from MathMan05/depSpacebar
MathMan05 Jul 12, 2026
24a676d
small VC fixes
MathMan05 Jul 12, 2026
8f1ef0c
update CI
MathMan05 Jul 12, 2026
51d53ed
v4?
MathMan05 Jul 12, 2026
97492a5
npx run
MathMan05 Jul 12, 2026
d0245fe
tsc conf changes
MathMan05 Jul 12, 2026
8f3cb24
update everything to codeberg
MathMan05 Jul 12, 2026
5144ef7
star history unneeded for coderberg
MathMan05 Jul 12, 2026
e8f5942
update project URL again
MathMan05 Jul 12, 2026
8769dfe
change mention role logic slightly
MathMan05 Jul 12, 2026
0321c1f
fix reaction bug
MathMan05 Jul 12, 2026
f75caf6
fix dumb error
MathMan05 Jul 12, 2026
b90ee6f
| unknown to ?
MathMan05 Jul 12, 2026
61170f3
switch to XML based RSS feed reader
MathMan05 Jul 12, 2026
3ea23b2
handle 500 errors
MathMan05 Jul 12, 2026
90a24e9
fix removing emoji slightly
MathMan05 Jul 12, 2026
41f8826
remove some logs
MathMan05 Jul 12, 2026
97e528a
more fonts for firefox
MathMan05 Jul 12, 2026
e5c5a45
fix up some types
MathMan05 Jul 12, 2026
942580d
nonce to higher up
MathMan05 Jul 12, 2026
c81d3a7
other stuff to higher up
MathMan05 Jul 12, 2026
70072a7
mention everyone next to everything else
MathMan05 Jul 12, 2026
9d2efc6
fix and simplify permission checking
MathMan05 Jul 12, 2026
1c42caf
member map fixes
MathMan05 Jul 13, 2026
a72eed2
member as getter
MathMan05 Jul 13, 2026
6a5ae58
clean up guild logic some
MathMan05 Jul 13, 2026
0333c7b
fix migration of settings
MathMan05 Jul 13, 2026
8e06b27
just save it always
MathMan05 Jul 13, 2026
58faf46
nullish
MathMan05 Jul 13, 2026
ecfb96b
pfps in user search
MathMan05 Jul 13, 2026
9959b45
don't show people who can't see the channel
MathMan05 Jul 13, 2026
984ad31
slight refactor
MathMan05 Jul 13, 2026
c43fdf3
don't store the guild id dirrectly
MathMan05 Jul 13, 2026
5134e56
make logic less sloppy
MathMan05 Jul 13, 2026
d492736
shoot, forgot to hit save
MathMan05 Jul 13, 2026
9fe96f1
fix up replying to welcomes
MathMan05 Jul 13, 2026
b009a09
shoot, fix DMS
MathMan05 Jul 13, 2026
559f212
rename
MathMan05 Jul 13, 2026
a6b3b41
oop
MathMan05 Jul 13, 2026
5519c2d
N
MathMan05 Jul 13, 2026
5382e68
small changes
MathMan05 Jul 14, 2026
11aeb22
readonlyinth
MathMan05 Jul 14, 2026
0b018eb
more readonly
MathMan05 Jul 14, 2026
f33a104
everything is private
MathMan05 Jul 14, 2026
b66b740
set more stuff to readonly
MathMan05 Jul 14, 2026
2913a81
don't use member list for member json updates
MathMan05 Jul 14, 2026
471f48f
fix unreads bug
MathMan05 Jul 14, 2026
75666dc
give auth
MathMan05 Jul 14, 2026
123ba8d
fetch users id
MathMan05 Jul 14, 2026
c0e59b6
fix invites
MathMan05 Jul 14, 2026
898ebba
safe link should only trust http and https
MathMan05 Jul 14, 2026
6d6d079
actually it shouldn't process at all if it's bad
MathMan05 Jul 14, 2026
9996f67
bump nodejs version
MathMan05 Jul 14, 2026
f2d04f5
oops
MathMan05 Jul 14, 2026
194229a
fix perms for server update
MathMan05 Jul 15, 2026
fe5805b
don't store order if it's not needed
MathMan05 Jul 15, 2026
63a7e52
oop
MathMan05 Jul 15, 2026
d242033
add a TODO
Jul 15, 2026
2452973
use safelink for badges
Jul 16, 2026
033d931
check for http/https for video embeds
Jul 16, 2026
f9748f5
make goback redirs safe
Jul 16, 2026
4419bc4
use toString() instead
Jul 16, 2026
6271b38
Merge pull request 'make goback redirs safe' (#360) from bunnisa/Ferm…
Jul 16, 2026
a7715b8
settings update
Jul 17, 2026
1591837
better emoji reconition
Jul 17, 2026
128b6f9
perf updates and perm selection updates
Jul 18, 2026
1af7590
screw up fix
Jul 18, 2026
b140caf
oops
Jul 18, 2026
98ffac0
hopefully fix video attachment size
Jul 18, 2026
ebce3f6
forgot to remove true
Jul 18, 2026
0368cf8
fix nsfw pannel bug
Jul 18, 2026
1d7c3cb
fix some bugs
Jul 18, 2026
5b0e965
black folder support
Jul 18, 2026
cb9c979
update Harmony icon
Jul 18, 2026
7aa1c13
fix firefox bug and make a setting out of it
Jul 18, 2026
6b166a6
Gif providors update
Jul 19, 2026
bc44ddb
fix edit bug
Jul 19, 2026
8191c6b
syntax highlighting
Jul 20, 2026
354fc1d
not global
Jul 20, 2026
7c10956
json support
Jul 20, 2026
9f25db8
wrong keyword
Jul 20, 2026
f9e3e13
fix function names
Jul 20, 2026
5eb5209
fix C settings and add go
Jul 20, 2026
c14f8aa
fix spacing issues
Jul 20, 2026
3e3df08
fix typo
Jul 20, 2026
94755ca
Localisation updates from https://translatewiki.net.
translatewiki Jul 20, 2026
c45cc4e
better highlighting
Jul 20, 2026
6e29611
fix stuttery mention search
Jul 20, 2026
daeb3e6
remove ultra-excesive logging
Jul 20, 2026
e67adcf
Merge branch 'main' of ssh://codeberg.org/MelodyChat/Fermi
Jul 20, 2026
42e46dc
remove prev log
Jul 20, 2026
732abe6
message edit change
Jul 20, 2026
56a5152
image disp for banners/avatars
Jul 20, 2026
d1b1e48
send files by themselves on mobile
Jul 20, 2026
ebe109f
Add C# as language, fix typo
Jul 21, 2026
b41459a
Allow for first line shebang
Jul 21, 2026
7e36dbc
fermi VC updates
Jul 22, 2026
4439f96
close all voices on main WS close
Jul 22, 2026
0d667d1
Merge pull request 'Add C# Syntax Highlighting' (#363) from TheBrambl…
Jul 22, 2026
a2b47aa
move python over to c-like and new multiline string
Jul 22, 2026
89038d4
shoot, missed a debug log
Jul 22, 2026
7954263
missed a \
Jul 22, 2026
610843b
missed another log
Jul 22, 2026
32b9f95
move to dataset
Jul 22, 2026
e93e96e
Localisation updates from https://translatewiki.net.
translatewiki Jul 23, 2026
1099df4
fix webhook detection
Jul 23, 2026
c10fec1
merge main
Jul 23, 2026
df601b3
Merge branch 'main' of ssh://codeberg.org/MelodyChat/Fermi
Jul 23, 2026
07045ba
fix member code
Jul 23, 2026
69f0c8d
client side fix for webhook bug
Jul 23, 2026
93e1d81
turn off most of the SW
Jul 23, 2026
6c5fff8
fix tsc check
Jul 23, 2026
4b6b35d
Domain verification
Jul 25, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
414 changes: 414 additions & 0 deletions .dependency-cruiser.cjs

Large diffs are not rendered by default.

38 changes: 38 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
---
name: Bug report
about: Create a report to help us improve.
title: ''
labels: ''
assignees: ''

---

**Describe the bug**
A clear and concise description of what the bug is.

**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error

**Expected behavior**
A clear and concise description of what you expected to happen.

**Screenshots**
If applicable, add screenshots to help explain your problem.

**Desktop (please complete the following information):**
- OS: [e.g. iOS]
- Browser: [e.g. Chrome, Safari]
- Browser Version: [e.g. 22]

**Smartphone (please complete the following information):**
- Device: [e.g. iPhone6]
- OS: [e.g. iOS8.1, Android 16]
- Browser: [e.g. stock browser, safari]
- Browser Version: [e.g. 22]

**Additional context**
Add any other context about the problem here.
20 changes: 20 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
name: Feature request
about: Suggest an idea for this project.
title: ''
labels: ''
assignees: ''

---

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Example: I'm always frustrated when [...]

**Describe the solution you'd like**
A clear and concise description of what you want to happen.

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

**Additional context**
Add any other context or screenshots about the feature request here.
5 changes: 5 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Description
A description of the pull request.

# Related issues
Any related issues, delete if there are none.
18 changes: 18 additions & 0 deletions .github/workflows/docker-image.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
name: Docker Image CI

on:
push:
branches: [ "not right now" ]
pull_request:
branches: [ "not right now" ]

jobs:

build:

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- name: Build the Docker image
run: docker build . --file Dockerfile --tag my-image-name:$(date +%s)
20 changes: 20 additions & 0 deletions .github/workflows/tsc-check.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
name: TSC check CI

on:
push:
pull_request:

jobs:
tsc:
name: tsc
runs-on: codeberg-tiny
steps:
- uses: actions/checkout@v4
- name: install node v22
uses: actions/setup-node@v1
with:
node-version: 22
- name: npm i
run: npm i
- name: npm run tsc
run: npm run tsc --noEmit
6 changes: 5 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -135,4 +135,8 @@ CC
uptime.json
.directory
.dist/
bun.lockb
bun.lockb
src/webpage/translations/langs.js

build.js
dependency-graph.svg
13 changes: 13 additions & 0 deletions .swcrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"$schema": "https://swc.rs/schema.json",
"jsc": {
"parser": {
"syntax": "typescript",
"tsx": false
},

"target": "es2024"
},
"sourceMaps": true,
"minify": true
}
5 changes: 5 additions & 0 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Code of conduct
It's nothing complicated, I want to foster a nice community, if there's any issues feel free to contact me in any way you see fit, though please don't create problems for me. I'm just one person and I want to work on this project, not community management. I will likely start with a warning or two if any issues arise, though this is up to my (mathium05) sole discretion.
Generally follow https://redir.fermi.chat/coc and you should be fine. Do not try to pull technicalities, this is a FOSS project, not a court of law.

Happy coding!
1 change: 1 addition & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
This ain't exactly rocket science, please just describe what you've done, and follow all normal steps, it may take a few days for me to get back to you, life happens. Just try to keep the pull requests fairly small, so adding one thing or fixing one thing, but you may fix multiple bugs in one patch if they're either related or small enough. These are all soft rules and I am going to be more lenient.
30 changes: 19 additions & 11 deletions CompressingImages.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,31 +2,39 @@ This is for in the future when I want to compress more images or anyone else for
# Lossless

### https://squoosh.app/
good at reducing the pallet, a first step for images that have a limited number of colors, bad at actually compressing things though, for all formats except webp.
Good at reducing the pallet, a first step for images that have a limited number of colors, bad at actually compressing things though, for all formats except WEBP and PNG.

## PNGs:
good ratios, though not as good as other options, though better compatibility
Good ratios, though not as good as other options, though better compatibility.
### oxipng
*(you can also use through squoosh with the same results)*
Seems to be the best of all of the options, not sure if it's all you would need, but it did shrink pngs further than the other two tools afterwards.
```bash
oxipng -o max --strip all --alpha <filename here>
```
`all` may be replaced with `safe` if you want to be a bit safer.

### pngcrush
Good, but should be ran before optipng, but isn't as good as it, use in tandom
Good, but should be ran before optipng, but isn't as good as it, use in tandom.
### optipng
The best tool to really shrink pngs to be as small as they can be.
The second best tool to really shrink pngs to be as small as they can be.

## WEBP
it's better than png, though I have a feeling more could be done to compress these
It's better than png, though I have a feeling more could be done to compress these
### cwebp
so far this seems to be the best way to compress webp images with a command that kinda looks like this one
So far this seems to be the best way to compress WEBP images with a command that kinda looks like this one:
```bash
cwebp -lossless -z 9 in.webp -o out.webp
```
while for all other formats squoosh is not recommended, for webp it'll be identical due to cwebp using the same libary as squoosh.
While for all other formats squoosh is not recommended, for WEBP it'll be identical due to cWEBP using the same libary as squoosh.

## AVIF
As far as I can tell, this format just sucks at its job, at least for lossless images

## JPEGXL
Really good at compression size, though it's not supported anywhere outside of safari as of now.
Really good at compression size, though it's not supported anywhere outside of Safari as of now.
### cjxl
this command should do the trick for compressing
This command should do the trick for compressing:
```bash
cjxl input.png output.jxl -q 100 -e 10
```
Expand All @@ -35,6 +43,6 @@ cjxl input.png output.jxl -q 100 -e 10

## SVGs:
### https://svgomg.net/
great tool, if anyone knows how to squish them further, let me know, some manual work may go a long way to help shrink svgs, though I'm not doing that right now lol.
Great tool! If anyone knows how to squish them further, let me know! Some manual work may go a long way to help shrink SVGs, though I'm not doing that right now lol.

I may look into other formats soon as well, though these are the main two I'm currently using
I may look into other formats soon as well, though these are the main two I'm currently using.
18 changes: 18 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
FROM node:26-bullseye AS builder

WORKDIR /devel
RUN apt-get update ; apt-get upgrade -y ; apt-get install -y build-essential
COPY . .
RUN npm i ; npm run build

FROM node:26-alpine

EXPOSE 8080
WORKDIR /exec
RUN apk add --update nodejs npm
COPY --from=builder /devel/ .
RUN adduser -D jankclient

USER jankclient

CMD ["npm", "start"]
48 changes: 24 additions & 24 deletions InstanceInfo.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
# How to add your instance to Jank Client
inside of webpage you'll see a file called `instances.json` in that file you'll need to add your instance and its information in the following format if you want your instance to be a part of the drop down.
# How to add your instance to Fermi Client
Inside of `webpage` you'll see a file called `instances.json` in that file you'll need to add your instance and its information in the following format if you want your instance to be a part of the dropdown.
```
{
"name":<name>,
"description"?:<short description>,
"description"?:<A short description>,
"descriptionLong"?:<A description for the instance that can be longer>,
"image"?:<URL to image repersenting your instance>,
"image"?:<URL to image representing your instance>,
"url"?:<The URL that can be used to get your wellknown>,
"language":<what language your server is in>,
"country":<what country your server is in>,
"display":<true or false depending on wether it should display>,
"language":<What language your server is in>,
"country":<What country your server is in>,
"display":<True or false depending on wether it should display>,
"urls"?:{
"wellknown":<wellknown URL>,
"api":<API URL>,
Expand All @@ -19,26 +19,26 @@ inside of webpage you'll see a file called `instances.json` in that file you'll
},
"contactInfo"?:{
"discord"?:<Discord @>,
"github"?:<github profile URL>,
"email"?:<email address>,
"spacebar":?:<spacebar username>,
"matrix"?:<matrix account>,
"mastodon"?:<mastodon account>
"github"?:<Github profile URL>,
"email"?:<Email address>,
"harmony":?:<Harmony username>,
"matrix"?:<Matrix account>,
"mastodon"?:<Mastodon account>
}
}
```
anything with a `?` in-front of its `:` are optional, though you must either include `"URL"` or `"URLs"`, but you may include both, though the client will most likely ignore `"URLs"` in favor of `"URL"`, though it may use `"URLs"` as a fallback if `"URL"` does not resolve, do not rely on this behavior.
wellknown should be a url that can resolve the wellknown, but it should only be the base URL and not the full wellknown url.
Anything with a `?` in-front of its `:` are optional, though you must either include `"URL"` or `"URLs"`, but you may include both, though the client will most likely ignore `"URLs"` in favor of `"URL"`, though it may use `"URLs"` as a fallback if `"URL"` does not resolve, do not rely on this behavior.
`wellknown` should be a url that can resolve, but it should only be the base URL and not the full wellknown URL.
Some of these values may not be used right now, though they will likely be used in the future, so feel free to fill out what you like, though the more you fill out the more information we can give the users about your instance in the future.
language should be [ISO 639-1](https://en.wikipedia.org/wiki/ISO_639-1_codes).
Country should be [ISO 8166-2 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).
You can also add yourself to [this](https://github.com/spacebarchat/spacebarchat/tree/master/instances) list, and you should, though there are some disadvantages to only being in that list
`language` should be [ISO 639-1](https://en.wikipedia.org/wiki/ISO_639-1_codes).
`country` should be [ISO 8166-2 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).

# Questions
## Do I have to do this to let Jank Client connect to my server?
No, you may choose to not do this, this just makes it easier for people using Jank Client to find and use your instance as it's in the dropdown menu for instances, though the user may enter any instance they please.
## If my instance isn't spacebar is that allowed to be entered?
If it's spacebar compatable, yes it may be entered, though if there are too many incompatablities, it may not be included, or may need a warning of sorts.
## I'm hosting my own instance of spacebar and would like to change the defualt instance on my instance of Jank Client to my own instance.
## Do I have to do this to let Fermi Client connect to my server?
No, you may choose to not do this, this just makes it easier for people using Fermi Client to find and use your instance as it's in the dropdown menu for instances, though the user may enter any instance they please.
## If my instance isn't Harmony is that allowed to be entered?
If it's Harmony compatible then yes, it may be entered. Though if there are **too many incompatibilities** however, it may not be included, or may need a warning of sorts.
## I'm hosting my own instance of Harmony and would like to change the default instance on my instance of Fermi Client to my own instance.
Just change the first entry in the list to your own, and it should connect without issue.
## Why would I put my instance in this list over the official spacebar list?
While putting your instance in the other list will get it to show up on jank client, this list does have more settings, and will show up earlier in the results, though either list will work to get in the dropdown menu
## Why would I put my instance in this list over the official Harmony list?
While putting your instance in the other list will get it to show up on Fermi client, this list does have more settings, and will show up earlier in the results, though either list will work to get in the dropdown menu.
31 changes: 18 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,23 +1,28 @@
# Jank Client
Jank Client is a [Spacebar](https://spacebar.chat) Client written in TS, HTML, and CSS.
# Fermi
Fermi is a [Harmony](https://redir.fermi.chat/server) Client written in TS, HTML, and CSS.

To run it, clone the repo and do `npm install`, then
`node index.js`
or do the equivalent with bun
![](src/webpage/home/SS1.webp)

To build it, clone the repo and run `npm install`, then `npm run build`
To run it, use `npm start`
or do the equivalent with bun.

Both [Bun](https://bun.sh) and [Node.js](https://nodejs.org) are supported, and should function as expected.

To access Jank Client after starting, simply go to http://localhost:8080/login and either register a new account, or log in with your email and password.
To access Fermi after starting, simply go to http://localhost:8080/login and either register a new account, or log in with your email and password.

If there are any issues please report them either here, or to me dirrectly on spacebar
If there are any issues please report them either here, or to me dirrectly on Harmony
## Adding instances to the dropdown
Please see [this](https://github.com/MathMan05/JankClient/blob/main/InstanceInfo.md) for how to add an instance to the dropdown picker
Please see [this](https://codeberg.org/MelodyChat/Fermi/src/branch/main/InstanceInfo.md) for how to add an instance to the dropdown picker.
## How to statically host Fermi
[Click here](./howToStaticallyHost.md)
## RoadMap
You can view the current roadmap on https://github.com/users/MathMan05/projects/1.

You can view the current roadmap on https://codeberg.org/MelodyChat/Fermi/projects/59942.
## AI Code
AI code due to not being GPLv3 compatable is not allowed in this repo. I thought this didn't need to be said, but it does.
And to be clear, *any* use of AI is not allowed in Fermi.
## Link
The official SpaceBar server for Jank Client https://jankclient.greysilly7.xyz/invite/USgYJo?instance=https%3A%2F%2Fspacebar.chat
The official Harmony server for Fermi: https://redir.fermi.chat/invite

old invite for the official client https://dev.app.spacebar.chat/invite/USgYJo
The current hosted instance of Fermi: https://fermi.chat/

The current hosted instance of JankClient https://sb-jankclient.vanillaminigames.net
14 changes: 14 additions & 0 deletions SECURITY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Security Policy

## Supported Versions

Currently, I only support the most up to date version of Fermi client, there are no stable releases, but this is planned for in the future

| Version | Supported |
| ------- | ------------------ |
| main | :white_check_mark: |


## Reporting a Vulnerability

If there's an issue please disclose it responsibly to me, or here on Github privately.
Loading