Compare commits
107 Commits
Author | SHA1 | Date | |
---|---|---|---|
d4433a20ed | |||
80489d1877 | |||
713bde2d23 | |||
ffd6023ae2 | |||
003a156c50 | |||
402383f516 | |||
c0d19e4335 | |||
853bed70e7 | |||
21564cc70e | |||
f9ac50392e | |||
fa11b3ee87 | |||
7eabb0c30e | |||
1da705a1b0 | |||
5988eead04 | |||
2fd5f48334 | |||
d2b9f9843f | |||
65e4e3380c | |||
8e58139fcb | |||
![]() |
50caef2f39 | ||
4b64de882d | |||
dfaf56a330 | |||
02f6adad02 | |||
![]() |
a6285b0d8a | ||
6267a4a072 | |||
ac5d0aa2bf | |||
c20f77ce0f | |||
59ef99f200 | |||
56797b92eb | |||
e391ea9ad6 | |||
a02a043808 | |||
bd34df424b | |||
efa801b393 | |||
f65cf4a17d | |||
7e8ceb2b2a | |||
6ab9dd8ff8 | |||
![]() |
91881439a4 | ||
![]() |
2972c86641 | ||
e5f391edfd | |||
4390763985 | |||
0e713ab417 | |||
![]() |
a8b1160711 | ||
187d8e750d | |||
0578e6fafc | |||
3571e5fad8 | |||
7ed560e45d | |||
![]() |
1f353ae258 | ||
![]() |
f22cfb56c0 | ||
![]() |
f85caccbac | ||
![]() |
09370be81a | ||
![]() |
c7664e6b96 | ||
![]() |
3aa619dd92 | ||
![]() |
dfc0b1088d | ||
147f10fe66 | |||
4f0fe5cac7 | |||
![]() |
4ae8efba21 | ||
![]() |
35c4e76e0b | ||
![]() |
3eee204bbf | ||
![]() |
59d93da428 | ||
829438a3a5 | |||
6c3195b029 | |||
5b5d4656aa | |||
![]() |
3afa1e7e38 | ||
ece04e1c36 | |||
52e38e7e66 | |||
59d83cb185 | |||
4015107de0 | |||
150f42bc58 | |||
3d6f835d4f | |||
922bc1d7cf | |||
a61d3090e1 | |||
215839d833 | |||
d7264e91f7 | |||
![]() |
93d3bb20d2 | ||
181b91edb4 | |||
ca6bda7950 | |||
14cda04e06 | |||
47d93ffe0e | |||
3c84dd7702 | |||
dcc3baaf02 | |||
362930c5d5 | |||
![]() |
c6bd18ef9c | ||
9f57d6688b | |||
13d6041711 | |||
d1521c9704 | |||
20888a4e60 | |||
e4300d9282 | |||
12e4a064d6 | |||
2190896442 | |||
d1e67df750 | |||
e15a6424bb | |||
64d1c420a2 | |||
bf8c4bd51e | |||
467ae7e108 | |||
a3203ef08c | |||
8e386ebf50 | |||
b8e271e0b9 | |||
![]() |
a144a065f4 | ||
5317400b47 | |||
69b726b130 | |||
![]() |
4136889709 | ||
612eccddf2 | |||
f9281c9075 | |||
![]() |
8c721af1f3 | ||
![]() |
4fd82f1ef9 | ||
![]() |
838c8b6eeb | ||
![]() |
255bc3749c | ||
![]() |
d466c297f0 |
30
.github/workflows/go.yml
vendored
30
.github/workflows/go.yml
vendored
@@ -1,30 +0,0 @@
|
||||
# This workflow will build a golang project
|
||||
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-go
|
||||
|
||||
name: Go
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ "master" ]
|
||||
pull_request:
|
||||
branches: [ "master" ]
|
||||
|
||||
jobs:
|
||||
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Set up Go
|
||||
uses: actions/setup-go@v4
|
||||
with:
|
||||
go-version: '1.24'
|
||||
- name: Install X11 dependencies
|
||||
run: sudo apt-get update && sudo apt-get install -y libx11-dev libxcursor-dev libxrandr-dev libxinerama-dev libxi-dev libgl1-mesa-dev libglu1-mesa-dev libxxf86vm-dev
|
||||
|
||||
- name: Build
|
||||
run: go build -v ./...
|
||||
|
||||
- name: Test
|
||||
run: go test -v ./...
|
4
.gitignore
vendored
4
.gitignore
vendored
@@ -24,11 +24,9 @@ profile.cov
|
||||
go.work
|
||||
go.work.sum
|
||||
|
||||
go.sum
|
||||
|
||||
# env file
|
||||
.env
|
||||
pi.json
|
||||
pi.xml
|
||||
pi
|
||||
# Editor/IDE
|
||||
# .idea/
|
||||
|
181
README.md
181
README.md
@@ -1,12 +1,17 @@
|
||||
# π
|
||||
[](https://github.com/sunglocto/pi/actions/workflows/go.yml)
|
||||
<center>
|
||||
<img width="100" height="100" src="https://forge.sunglocto.net/sunglocto/pi-im/raw/branch/master/pi.png">
|
||||
</center>
|
||||
<img alt="Pi screenshot" src="https://github.com/user-attachments/assets/9e2d9209-6ad5-4f22-94d0-4cc18c835372" />
|
||||
|
||||
|
||||
Experimental and extremely weird XMPP client made with Go. No solicitors.
|
||||
## the XMPP client from hell
|
||||
> it's 10% code. 20% ai
|
||||
|
||||
pi is currently pre-pre-pre-pre alpha software which you should not use right now.
|
||||
Experimental and extremely weird XMPP client written in Go. No solicitors.
|
||||
|
||||
pi uses [Fyne](https://fyne.io) for the frontend and uses the [Oasis SDK](https://github.com/jjj333-p/oasis-sdk) for XMPP functionality.
|
||||
pi is currently pre-pre-pre-pre alpha software which you should not use as your primary XMPP client.
|
||||
|
||||
pi uses [Fyne](https://fyne.io) for the frontend and uses the [Oasis SDK](https://github.com/jjj333-p/oasis-sdk) by [Joseph Winkie](https://pain.agency) for XMPP functionality.
|
||||
|
||||
pi is an extremely opinionated client. It aims to have as little extra windows as possible, instead using alt-menus to perform many of the actions you'd see in a typical client.
|
||||
|
||||
@@ -14,25 +19,36 @@ pi is an extremely opinionated client. It aims to have as little extra windows a
|
||||
## διαμόρφωση
|
||||
(configuration)
|
||||
|
||||
In order to use pi, you currently have to create a `pi.json` file in the working directory of the executable. Here is how one looks like:
|
||||
When you launch pi, you will be greeted with a create account screen. You will then be able to enter your XMPP account details and then relaunch the application to log in.
|
||||
|
||||
```json
|
||||
{
|
||||
"Host":"example.com:5222",
|
||||
"User":"user@example.com",
|
||||
"Password":"123456",
|
||||
"DisplayName":"user",
|
||||
"NoTLS":false,
|
||||
"StartTLS":true,
|
||||
"Mucs":["room@muc.example.com"]
|
||||
}
|
||||
If you want to add MUCs or DMs, you must configure the program by editing the pi.xml file. Here is an example configuration:
|
||||
|
||||
```xml
|
||||
<piConfig>
|
||||
<Login>
|
||||
<Host>example.com:5222</Host>
|
||||
<User>user@example.com</User>
|
||||
<Password>123456789</Password>
|
||||
<DisplayName>sunglocto</DisplayName>
|
||||
<TLSoff>false</TLSoff>
|
||||
<StartTLS>true</StartTLS>
|
||||
<MucsToJoin>room1@muc.example.com</MucsToJoin>
|
||||
<MucsToJoin>room2@muc.example.com</MucsToJoin>
|
||||
</Login>
|
||||
<Notifications>true</Notifications>
|
||||
<DMs>person1@example.com</DMs>
|
||||
</piConfig>
|
||||
```
|
||||
|
||||
Edit this file as necessary.
|
||||
The file is usually located at, on GNU/Linux systems:
|
||||
```
|
||||
~/.config/fyne/pi-im/Documents/pi.xml
|
||||
```
|
||||
This will be changed eventually, likely before a 3b release.
|
||||
|
||||
Currently joining and saving DM tabs is not supported, nor is getting avatars, reactions, encryption of media embed.
|
||||
Currently joining and saving DM tabs is not supported, nor is getting avatars, reactions or encryption.
|
||||
|
||||
As of writing, pi supports basic message sending and receiving, replies and file upload.
|
||||
As of writing, pi supports basic message sending and receiving, replies, file upload and corrections.
|
||||
|
||||
|
||||
## να χτίσω
|
||||
@@ -40,21 +56,128 @@ As of writing, pi supports basic message sending and receiving, replies and file
|
||||
|
||||
To build pi, you will need the latest version of Go, at least 1.21. You can grab it [here](https://go.dev).
|
||||
|
||||
The build instructions are very simple. Simply clone the repo, fetch the repositories and build the program:
|
||||
You must have a C compiler on your system also present. This will be the case for virtually all PC operating systems except Windows.
|
||||
|
||||
Here is a summary of the commands you would need to use to build and run the program:
|
||||
The build instructions are very simple. Simply clone the repo, fetch the repositories and build the program.
|
||||
|
||||
Here is a summary of the commands you would need to use:
|
||||
```bash
|
||||
git clone https://github.com/sunglocto/pi
|
||||
cd pi
|
||||
git clone https://forge.sunglocto.net/sunglocto/pi-im
|
||||
cd pi-im
|
||||
go mod tidy
|
||||
go build .
|
||||
vim pi.json
|
||||
./pi
|
||||
./pi-im
|
||||
|
||||
```
|
||||
> Uh, Windows???
|
||||
|
||||
Windows requires more steps to setup, specifically you need an MSYS2 environment. As per [the Fyne documentation](https://docs.fyne.io/started/)
|
||||
|
||||
|
||||
The MSYS2 platform is the recommended approach for working on Windows. Proceed as follows:
|
||||
|
||||
Install MSYS2 from msys2.org
|
||||
Once installed do not use the MSYS terminal that opens
|
||||
Open “MSYS2 MinGW 64-bit” from the start menu
|
||||
|
||||
Execute the following commands (if asked for install options be sure to choose “all”):
|
||||
|
||||
$ pacman -Syu
|
||||
$ pacman -S git mingw-w64-x86_64-toolchain mingw-w64-x86_64-go
|
||||
|
||||
You will need to add ~/Go/bin to your $PATH, for MSYS2 you can paste the following command into your terminal:
|
||||
|
||||
$ echo "export PATH=\$PATH:~/Go/bin" >> ~/.bashrc
|
||||
|
||||
For the compiler to work on other terminals you will need to set up the windows %PATH% variable to find these tools. Go to the “Edit the system environment variables” control panel, tap “Advanced” and add “C:\msys64\mingw64\bin” to the Path list.
|
||||
|
||||
|
||||
<img alt="image" src="https://github.com/user-attachments/assets/5a6c188f-e890-4398-856c-e88f5804e9d2" />
|
||||
|
||||
pi has been tested on FreeBSD and NetBSD with no issues. Please read their respective Wiki entries.
|
||||
|
||||
Static executable snapshots are also provided for GNU/Linux systems on every new version.
|
||||
|
||||
## Wayland
|
||||
On BSD and Linux systems, you may want to build an executable for Wayland only, meaning it will not run through XWayland. This will increase performance and also allow drag-on-drop functionality. Most Wayland setups can run X11 apps, but no X11 setup can run Wayland apps. Because of this, all executables are shipped for use with X11. This may change in the future, but if you want to build for Wayland, it's as simple as the commands above, but just adding a `wayland` tag to the build command.
|
||||
|
||||
A Wayland-only executable will also substantially decrease the level of screen tearing and lag.
|
||||
|
||||
```bash
|
||||
git clone https://forge.sunglocto.net/sunglocto/pi-im
|
||||
cd pi-im
|
||||
go mod tidy
|
||||
go build -tags wayland .
|
||||
./pi-im
|
||||
```
|
||||
|
||||
Static executable snapshots are also provided for GNU/Linux systems.
|
||||
## εγκατάσταση
|
||||
(installation)
|
||||
|
||||
## χρήση
|
||||
(usage)
|
||||
pi currently has no consolidated way of installing it. There is an [Arch User Repository package available](https://aur.archlinux.org/pi-im), which is maintained by [snit](https://isekai.rocks/~snit).
|
||||
|
||||
TODO
|
||||
## υποστήριξη
|
||||
(support)
|
||||
|
||||
You can file an issue and explain the problem you are having.
|
||||
|
||||
If you would like a more instant method of communication, join the [pi XMPP room.](xmpp:pi@room.sunglocto.net?join)
|
||||
|
||||
|
||||
## αρμονία
|
||||
(compatibility)
|
||||
|
||||
pi has guaranteed support for the following operating systems:
|
||||
- Windows 10 and up
|
||||
- Most modern GNU/Linux installations
|
||||
- FreeBSD
|
||||
- NetBSD
|
||||
- MacOS
|
||||
|
||||
pi has experimental support for the following operating system:
|
||||
- Android [1]
|
||||
|
||||
pi most likely does **not** have support for the following operating systems:
|
||||
- 32-bit systems
|
||||
- iOS
|
||||
- ARM systems
|
||||
|
||||
|
||||
If you use pi on a specific operating system and it does not work, file an issue and describe the problem you have having.
|
||||
|
||||
## μαρτυρίες
|
||||
(testimonials)
|
||||
From fellow insane and schizophrenic XMPP users:
|
||||
|
||||
> anyways this is your "just IM" client things ig.
|
||||
|
||||
> this looks like shit
|
||||
|
||||
> fyne is the best UI toolkit (sarcastic)
|
||||
|
||||
> i am going to explode you
|
||||
|
||||
> pi devstream when
|
||||
|
||||
<img width="361" height="66" alt="image" src="https://github.com/user-attachments/assets/5a926f6b-1005-4795-a6ef-4e0538bb4d5a" />
|
||||
<img width="316" height="73" alt="image" src="https://github.com/user-attachments/assets/52309c60-8110-43eb-9c45-56c9cfd82cc4" />
|
||||
|
||||
|
||||
## επιπλέον
|
||||
(extra)
|
||||
|
||||
pi version numbers are the digits of Pi followed by a letter indicating the phase of development the program is in.
|
||||
|
||||
For example, the version string:
|
||||
|
||||
`3.14a`
|
||||
|
||||
Is the third version produced in the alpha phase.
|
||||
|
||||
The digits of Pi will reset back to `3` when moving to a new phase.
|
||||
|
||||
If the number gets too long, it will reset to one digit of 2π. Once that gets too long, it will be digits of 3π and etc.
|
||||
|
||||
Named after [Psi](https://github.com/psi-im/psi).
|
||||
|
||||
[1] Android is not a supported platform, however it's possible to compile and run pi for it. If you want to become suicidal, you can go for it, but pi is a primarily PC-oriented client. There are multiple mobile clients that already exist which will give you a substantially better experience.
|
||||
|
14
go.mod
14
go.mod
@@ -1,19 +1,18 @@
|
||||
module pi
|
||||
module pi-im
|
||||
|
||||
go 1.24.5
|
||||
go 1.24.6
|
||||
|
||||
require (
|
||||
fyne.io/fyne/v2 v2.6.2
|
||||
fyne.io/x/fyne v0.0.0-20250418202416-58a230ad1acb
|
||||
github.com/mbaklor/fyne-catppuccin v0.0.2
|
||||
fyne.io/fyne/v2 v2.6.3
|
||||
fyne.io/x/fyne v0.0.0-20250827163406-39fd826f385e
|
||||
github.com/rrivera/identicon v0.0.0-20240116195454-d5ba35832c0d
|
||||
mellium.im/xmpp v0.22.0
|
||||
pain.agency/oasis-sdk v0.0.0-20250803100711-2ed1355344d4
|
||||
pain.agency/oasis-sdk v0.0.0-20250831105702-85385dca3a95
|
||||
)
|
||||
|
||||
require (
|
||||
fyne.io/systray v1.11.0 // indirect
|
||||
github.com/BurntSushi/toml v1.4.0 // indirect
|
||||
github.com/catppuccin/go v0.3.0 // indirect
|
||||
github.com/davecgh/go-spew v1.1.1 // indirect
|
||||
github.com/fredbi/uri v1.1.0 // indirect
|
||||
github.com/fsnotify/fsnotify v1.9.0 // indirect
|
||||
@@ -26,7 +25,6 @@ require (
|
||||
github.com/go-text/render v0.2.0 // indirect
|
||||
github.com/go-text/typesetting v0.2.1 // indirect
|
||||
github.com/godbus/dbus/v5 v5.1.0 // indirect
|
||||
github.com/google/uuid v1.6.0 // indirect
|
||||
github.com/hack-pad/go-indexeddb v0.3.2 // indirect
|
||||
github.com/hack-pad/safejs v0.1.0 // indirect
|
||||
github.com/jeandeaual/go-locale v0.0.0-20250612000132-0ef82f21eade // indirect
|
||||
|
20
go.sum
20
go.sum
@@ -1,13 +1,11 @@
|
||||
fyne.io/fyne/v2 v2.6.2 h1:RPgwmXWn+EuP/TKwO7w5p73ILVC26qHD9j3CZUZNwgM=
|
||||
fyne.io/fyne/v2 v2.6.2/go.mod h1:9IJ8uWgzfcMossFoUkLiOrUIEtaDvF4nML114WiCtXU=
|
||||
fyne.io/fyne/v2 v2.6.3 h1:cvtM2KHeRuH+WhtHiA63z5wJVBkQ9+Ay0UMl9PxFHyA=
|
||||
fyne.io/fyne/v2 v2.6.3/go.mod h1:NGSurpRElVoI1G3h+ab2df3O5KLGh1CGbsMMcX0bPIs=
|
||||
fyne.io/systray v1.11.0 h1:D9HISlxSkx+jHSniMBR6fCFOUjk1x/OOOJLa9lJYAKg=
|
||||
fyne.io/systray v1.11.0/go.mod h1:RVwqP9nYMo7h5zViCBHri2FgjXF7H2cub7MAq4NSoLs=
|
||||
fyne.io/x/fyne v0.0.0-20250418202416-58a230ad1acb h1:2BazNmb/kwgqRdvE9L+NgW8sfoWGn3iy1Ox8R4+CSmc=
|
||||
fyne.io/x/fyne v0.0.0-20250418202416-58a230ad1acb/go.mod h1:u3LF1EkElytjOT8OHxft16trctGndF9qpsoH6YIDOUU=
|
||||
fyne.io/x/fyne v0.0.0-20250827163406-39fd826f385e h1:oJM+HGkpSuq1J+JqUq/jo7KPrKj2K2/VIZlyus04w3Y=
|
||||
fyne.io/x/fyne v0.0.0-20250827163406-39fd826f385e/go.mod h1:u3LF1EkElytjOT8OHxft16trctGndF9qpsoH6YIDOUU=
|
||||
github.com/BurntSushi/toml v1.4.0 h1:kuoIxZQy2WRRk1pttg9asf+WVv6tWQuBNVmK8+nqPr0=
|
||||
github.com/BurntSushi/toml v1.4.0/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2lLoLwho=
|
||||
github.com/catppuccin/go v0.3.0 h1:d+0/YicIq+hSTo5oPuRi5kOpqkVA5tAsU6dNhvRu+aY=
|
||||
github.com/catppuccin/go v0.3.0/go.mod h1:8IHJuMGaUUjQM82qBrGNBv7LFq6JI3NnQCF6MOlZjpc=
|
||||
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
||||
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/felixge/fgprof v0.9.3 h1:VvyZxILNuCiUCSXtPtYmmtGvb65nqXh2QFWc0Wpf2/g=
|
||||
@@ -38,8 +36,6 @@ github.com/godbus/dbus/v5 v5.1.0 h1:4KLkAxT3aOY8Li4FRJe/KvhoNFFxo0m6fNuFUO8QJUk=
|
||||
github.com/godbus/dbus/v5 v5.1.0/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
|
||||
github.com/google/pprof v0.0.0-20211214055906-6f57359322fd h1:1FjCyPC+syAzJ5/2S8fqdZK1R22vvA0J7JZKcuOIQ7Y=
|
||||
github.com/google/pprof v0.0.0-20211214055906-6f57359322fd/go.mod h1:KgnwoLYCZ8IQu3XUZ8Nc/bM9CCZFOyjUNOSygVozoDg=
|
||||
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
|
||||
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
||||
github.com/hack-pad/go-indexeddb v0.3.2 h1:DTqeJJYc1usa45Q5r52t01KhvlSN02+Oq+tQbSBI91A=
|
||||
github.com/hack-pad/go-indexeddb v0.3.2/go.mod h1:QvfTevpDVlkfomY498LhstjwbPW6QC4VC/lxYb0Kom0=
|
||||
github.com/hack-pad/safejs v0.1.0 h1:qPS6vjreAqh2amUqj4WNG1zIw7qlRQJ9K10eDKMCnE8=
|
||||
@@ -50,8 +46,6 @@ github.com/jsummers/gobmp v0.0.0-20230614200233-a9de23ed2e25 h1:YLvr1eE6cdCqjOe9
|
||||
github.com/jsummers/gobmp v0.0.0-20230614200233-a9de23ed2e25/go.mod h1:kLgvv7o6UM+0QSf0QjAse3wReFDsb9qbZJdfexWlrQw=
|
||||
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
|
||||
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
|
||||
github.com/mbaklor/fyne-catppuccin v0.0.2 h1:yMNnYkmFwjKJkFQvCd1uNKZDs07ZC85wTkedTIGcViE=
|
||||
github.com/mbaklor/fyne-catppuccin v0.0.2/go.mod h1:ZBIy4dV1yMj+7oEaZYkXm5OfYESmXuPWwNcuUmD1Njo=
|
||||
github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646 h1:zYyBkD/k9seD2A7fsi6Oo2LfFZAehjjQMERAvZLEDnQ=
|
||||
github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646/go.mod h1:jpp1/29i3P1S/RLdc7JQKbRpFeM1dOBd8T9ki5s+AY8=
|
||||
github.com/nicksnyder/go-i18n/v2 v2.5.1 h1:IxtPxYsR9Gp60cGXjfuR/llTqV8aYMsC472zD0D1vHk=
|
||||
@@ -62,6 +56,8 @@ github.com/pkg/profile v1.7.0 h1:hnbDkaNWPCLMO9wGLdBFTIZvzDrDfBM2072E1S9gJkA=
|
||||
github.com/pkg/profile v1.7.0/go.mod h1:8Uer0jas47ZQMJ7VD+OHknK4YDY07LPUC6dEvqDjvNo=
|
||||
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
||||
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||
github.com/rrivera/identicon v0.0.0-20240116195454-d5ba35832c0d h1:l3+2LWCbVxn5itfvXAfH9n4YL9jh8l1g5zcncbIc1cs=
|
||||
github.com/rrivera/identicon v0.0.0-20240116195454-d5ba35832c0d/go.mod h1:TbpErkob6SY7cyozRVSGoB3OlO2qOAgVN8O3KAJ4fMI=
|
||||
github.com/rymdport/portal v0.4.1 h1:2dnZhjf5uEaeDjeF/yBIeeRo6pNI2QAKm7kq1w/kbnA=
|
||||
github.com/rymdport/portal v0.4.1/go.mod h1:kFF4jslnJ8pD5uCi17brj/ODlfIidOxlgUDTO5ncnC4=
|
||||
github.com/srwiley/oksvg v0.0.0-20221011165216-be6e8873101c h1:km8GpoQut05eY3GiYWEedbTT0qnSxrCjsVbb7yKY1KE=
|
||||
@@ -101,5 +97,5 @@ mellium.im/xmlstream v0.15.4 h1:gLKxcWl4rLMUpKgtzrTBvr4OexPeO/edYus+uK3F6ZI=
|
||||
mellium.im/xmlstream v0.15.4/go.mod h1:yXaCW2++fmVO4L9piKVkyLDqnCmictVYF7FDQW8prb4=
|
||||
mellium.im/xmpp v0.22.0 h1:UthQVSwEAr7SNrmyc90c2ykGpVHxjn/3yw8Ey4+Im8s=
|
||||
mellium.im/xmpp v0.22.0/go.mod h1:WSjq12nhREFD88Vy/0WD6Q8inE8t6a8w7QjzwivWitw=
|
||||
pain.agency/oasis-sdk v0.0.0-20250803100711-2ed1355344d4 h1:xnVzsKcBlIrGVBijWXDPy69AYjaWp1/pssURj2KZInk=
|
||||
pain.agency/oasis-sdk v0.0.0-20250803100711-2ed1355344d4/go.mod h1:H5t2HizGTrQbu+e2Q6YJcRzMOlP1kC52p+0a+N/efiQ=
|
||||
pain.agency/oasis-sdk v0.0.0-20250831105702-85385dca3a95 h1:BcB7/hnMnQIU+pERvQRGFMt9i0/o8XCnHbK1kYG3/K4=
|
||||
pain.agency/oasis-sdk v0.0.0-20250831105702-85385dca3a95/go.mod h1:eyvDgfpHo+9bdB/AkMEMZ3ETeoSONTULVx9X4w9kGAU=
|
||||
|
12
piloadinggif.go
Normal file
12
piloadinggif.go
Normal file
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user