15 Commits

Author SHA1 Message Date
7512edad59 build: I forgot to build the .xz as part of dist.
All checks were successful
Build Tilde Friends / Build-All (push) Successful in 18m13s
2024-09-25 20:02:45 -04:00
944c895bcd Generated 0.0.23 files. Oops.
Some checks failed
Build Tilde Friends / Build-All (push) Has been cancelled
2024-09-25 19:55:12 -04:00
e7d87ee8e2 I think that worked. Let's build 0.0.23.
Some checks failed
Build Tilde Friends / Build-All (push) Has been cancelled
2024-09-25 19:49:52 -04:00
cfdbd10635 ci: Oh, we can not require fuse?
All checks were successful
Build Tilde Friends / Build-All (push) Successful in 1m47s
2024-09-25 19:45:05 -04:00
d3a2d8733f ci: Maybe we don't need to manually load it?
All checks were successful
Build Tilde Friends / Build-All (push) Successful in 1m41s
2024-09-25 19:37:17 -04:00
a7e623d817 ci: apt install fuse3?
Some checks failed
Build Tilde Friends / Build-All (push) Failing after 52s
2024-09-25 19:35:47 -04:00
3f0c37cea4 ci: modprobe harder.
Some checks failed
Build Tilde Friends / Build-All (push) Failing after 46s
2024-09-25 19:33:30 -04:00
2c96a6d22a ci: modprobe fuse? Disable things to get this going faster until it works.
Some checks failed
Build Tilde Friends / Build-All (push) Failing after 2m28s
2024-09-25 19:30:33 -04:00
57b4214a72 AppImages require FUSE to run.
All checks were successful
Build Tilde Friends / Build-All (push) Successful in 18m21s
2024-09-25 19:10:13 -04:00
433b3d39d9 ci: Build the appimage, for real.nofoolin.
All checks were successful
Build Tilde Friends / Build-All (push) Successful in 17m9s
2024-09-25 18:50:06 -04:00
26441ed45c Let's try to artifact the appimage.
All checks were successful
Build Tilde Friends / Build-All (push) Successful in 18m35s
2024-09-25 12:49:32 -04:00
92cd38c2a0 Change notes.
Some checks failed
Build Tilde Friends / Build-All (push) Has been cancelled
2024-09-25 12:33:06 -04:00
3b5a06794f libuv 1.49.0.
All checks were successful
Build Tilde Friends / Build-All (push) Successful in 17m39s
2024-09-25 12:11:17 -04:00
d104409272 Prevent votes from overflowing.
All checks were successful
Build Tilde Friends / Build-All (push) Successful in 17m23s
2024-09-23 12:43:48 -04:00
e5f58c2898 Produce user info for the server identity for admin users.
All checks were successful
Build Tilde Friends / Build-All (push) Successful in 16m52s
2024-09-19 12:22:38 -04:00
9 changed files with 60 additions and 27 deletions

View File

@@ -33,3 +33,6 @@ jobs:
- uses: actions/upload-artifact@v3 - uses: actions/upload-artifact@v3
with: with:
path: out/winrelease/tildefriends.exe path: out/winrelease/tildefriends.exe
- uses: actions/upload-artifact@v3
with:
path: out/tildefriends-x86_64.AppImage

View File

@@ -4,11 +4,13 @@ MAKEFLAGS += --warn-undefined-variables
MAKEFLAGS += --no-builtin-rules MAKEFLAGS += --no-builtin-rules
VERSION_CODE := 27 VERSION_CODE := 27
VERSION_NUMBER := 0.0.23-wip VERSION_NUMBER := 0.0.23
VERSION_NAME := Me upon my pony on my boat. VERSION_NAME := Me upon my pony on my boat.
SQLITE_URL := https://www.sqlite.org/2024/sqlite-amalgamation-3460100.zip SQLITE_URL := https://www.sqlite.org/2024/sqlite-amalgamation-3460100.zip
BUNDLETOOL_URL := https://github.com/google/bundletool/releases/download/1.17.0/bundletool-all-1.17.0.jar BUNDLETOOL_URL := https://github.com/google/bundletool/releases/download/1.17.0/bundletool-all-1.17.0.jar
LINUXDEPLOY_URL := https://github.com/linuxdeploy/linuxdeploy/releases/download/1-alpha-20240109-1/linuxdeploy-x86_64.AppImage
LINUXDEPLOY_MD5 := 659d69326199524552bfbbe46cb0adae out/linuxdeploy
PROJECT = tildefriends PROJECT = tildefriends
BUILD_DIR ?= out BUILD_DIR ?= out
@@ -101,6 +103,9 @@ BUILD_TYPES += \
androidrelease-x86_64 androidrelease-x86_64
all: out/TildeFriends-arm-debug.apk out/TildeFriends-arm-release.apk out/TildeFriends-x86-debug.apk out/TildeFriends-x86-release.apk out/TildeFriends-release.fdroid.apk all: out/TildeFriends-arm-debug.apk out/TildeFriends-arm-release.apk out/TildeFriends-x86-debug.apk out/TildeFriends-x86-release.apk out/TildeFriends-release.fdroid.apk
endif endif
ifeq ($(UNAME_S),Linux)
all: appimage
endif
WINDOWS_TARGETS := \ WINDOWS_TARGETS := \
out/windebug/tildefriends.exe \ out/windebug/tildefriends.exe \
@@ -503,7 +508,10 @@ $(UV_OBJS): CFLAGS += \
-Wno-unused-result \ -Wno-unused-result \
-Wno-unused-variable -Wno-unused-variable
$(UV_OBJS): CFLAGS += -fno-lto $(UV_OBJS): CFLAGS += -fno-lto
$(filter out/win%,$(UV_OBJS)): CFLAGS += -Wno-cast-function-type $(filter out/win%,$(UV_OBJS)): \
CFLAGS += \
-Wno-cast-function-type \
-Wno-missing-braces
ifeq ($(UNAME_S),Linux) ifeq ($(UNAME_S),Linux)
$(UV_OBJS): CFLAGS += \ $(UV_OBJS): CFLAGS += \
-D_GNU_SOURCE -D_GNU_SOURCE
@@ -1067,17 +1075,21 @@ $(IOS_DEPS):
$(filter $(BUILD_DIR)/ios%,$(APP_OBJS)): | $(IOS_DEPS) $(filter $(BUILD_DIR)/ios%,$(APP_OBJS)): | $(IOS_DEPS)
endif endif
out/Tilde_Friends-x86_64.AppImage: out/release/tildefriends out/data.zip out/tildefriends-x86_64.AppImage: out/release/tildefriends out/data.zip
@echo "[appimage] $$@"
@mkdir -p out/AppDir/usr/bin @mkdir -p out/AppDir/usr/bin
@mkdir -p out/AppDir/usr/share/applications @mkdir -p out/AppDir/usr/share/applications
@mkdir -p out/AppDir/usr/share/icons/hicolor/scalable/apps @mkdir -p out/AppDir/usr/share/icons/hicolor/scalable/apps
@echo "[Desktop Entry]\nName=Tilde Friends\nExec=tildefriends\nIcon=tildefriends\nType=Application\nCategories=Network" > out/AppDir/usr/share/applications/tildefriends.desktop @echo $(LINUXDEPLOY_MD5) > out/linuxdeploy.md5
@test -x out/linuxdeploy || curl -q -L -o out/linuxdeploy $(LINUXDEPLOY_URL) && md5sum -c out/linuxdeploy.md5 && chmod +x out/linuxdeploy
@echo "[Desktop Entry]\nName=tildefriends\nExec=tildefriends\nIcon=tildefriends\nType=Application\nCategories=Network" > out/AppDir/usr/share/applications/tildefriends.desktop
@cp src/ios/tildefriends.svg out/AppDir/usr/share/icons/hicolor/scalable/apps/ @cp src/ios/tildefriends.svg out/AppDir/usr/share/icons/hicolor/scalable/apps/
@cat out/release/tildefriends out/data.zip > out/AppDir/usr/bin/tildefriends @cat out/release/tildefriends out/data.zip > out/AppDir/usr/bin/tildefriends
@chmod +x out/AppDir/usr/bin/tildefriends @chmod +x out/AppDir/usr/bin/tildefriends
@unset SOURCE_DATE_EPOCH; cd out; linuxdeploy-x86_64.AppImage --appdir AppDir --output appimage; cd .. @cd out; ./linuxdeploy --appimage-extract; cd ..
@unset SOURCE_DATE_EPOCH; cd out; squashfs-root/usr/bin/linuxdeploy --appdir AppDir --output appimage; cd ..
appimage: out/Tilde_Friends-x86_64.AppImage appimage: out/tildefriends-x86_64.AppImage
.PHONY: appimage .PHONY: appimage
clean: clean:
@@ -1109,7 +1121,7 @@ tarball:
tildefriends-$(VERSION_NUMBER) tildefriends-$(VERSION_NUMBER)
.PHONY: tarball .PHONY: tarball
dist: release-apk iosrelease-ipa aab $(if $(HAVE_WIN), out/winrelease/tildefriends.standalone.exe) out/TildeFriends-release.fdroid.apk appimage dist: release-apk iosrelease-ipa aab $(if $(HAVE_WIN), out/winrelease/tildefriends.standalone.exe) out/TildeFriends-release.fdroid.apk appimage tarball
@mkdir -p dist/ @mkdir -p dist/
@echo "[cp] tildefriends-$(VERSION_NUMBER).tar.xz" @echo "[cp] tildefriends-$(VERSION_NUMBER).tar.xz"
@cp out/tildefriends-$(VERSION_NUMBER).tar.xz dist/tildefriends-$(VERSION_NUMBER).tar.xz @cp out/tildefriends-$(VERSION_NUMBER).tar.xz dist/tildefriends-$(VERSION_NUMBER).tar.xz
@@ -1126,7 +1138,7 @@ dist: release-apk iosrelease-ipa aab $(if $(HAVE_WIN), out/winrelease/tildefrien
@echo "[cp] TildeFriends-$(VERSION_NUMBER).fdroid.apk" @echo "[cp] TildeFriends-$(VERSION_NUMBER).fdroid.apk"
@cp out/TildeFriends-release.fdroid.apk dist/TildeFriends-$(VERSION_NUMBER).fdroid.apk @cp out/TildeFriends-release.fdroid.apk dist/TildeFriends-$(VERSION_NUMBER).fdroid.apk
@echo "[cp] TildeFriends-x86_64-$(VERSION_NUMBER).AppImage" @echo "[cp] TildeFriends-x86_64-$(VERSION_NUMBER).AppImage"
@cp out/Tilde_Friends-x86_64.AppImage dist/TildeFriends-x86_64-$(VERSION_NUMBER).AppImage @cp out/tildefriends-x86_64.AppImage dist/TildeFriends-x86_64-$(VERSION_NUMBER).AppImage
.PHONY: dist .PHONY: dist
dist-test: dist dist-test: dist

View File

@@ -1,5 +1,5 @@
{ {
"type": "tildefriends-app", "type": "tildefriends-app",
"emoji": "🐌", "emoji": "🐌",
"previous": "&6oHPQCA26v+4nBXv+YUdCT43j2DpXDspxhHSSRydkiw=.sha256" "previous": "&7L314QLuVl8kNbFIWuXXeLqIVefUe5S66WvEmOMQb2U=.sha256"
} }

View File

@@ -73,10 +73,13 @@ class TfMessageElement extends LitElement {
} }
} }
if (this.message?.votes?.length) { if (this.message?.votes?.length) {
return html`<div class="w3-button" @click=${this.show_reactions}> return html`
<div class="w3-container">
<div class="w3-button w3-bar w3-padding-small" @click=${this.show_reactions}>
${(this.message.votes || []).map( ${(this.message.votes || []).map(
(vote) => html` (vote) => html`
<span <span
class="w3-bar-item w3-padding-small"
title="${this.users[vote.author]?.name ?? vote.author} ${new Date( title="${this.users[vote.author]?.name ?? vote.author} ${new Date(
vote.timestamp vote.timestamp
)}" )}"
@@ -85,6 +88,7 @@ class TfMessageElement extends LitElement {
</span> </span>
` `
)} )}
</div>
</div>`; </div>`;
} }
} }

2
deps/libuv vendored

Submodule deps/libuv updated: e9f29cb984...d2e56a5e8d

View File

@@ -0,0 +1,11 @@
* Fix WebView localStorage on some Android versions.
* Fix viewing apps by blob URL.
* Let admin users use the server identity.
* Time out SHS connections that don't handshake.
* Add an SQL index on message type.
* Build an AppImage.
* Improve vote layout.
* Updated CodeMirror to latest.
* Updated OpenSSL to 3.3.2.
* Updated libuv to 1.49.0.
* Updated c-ares to 1.33.1.

View File

@@ -2,7 +2,7 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.unprompted.tildefriends" package="com.unprompted.tildefriends"
android:versionCode="27" android:versionCode="27"
android:versionName="0.0.23-wip"> android:versionName="0.0.23">
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.INTERNET"/>
<application <application

View File

@@ -637,9 +637,9 @@ static void _tf_ssb_getIdentityInfo_visit(const char* identity, void* data)
static void _tf_ssb_getIdentityInfo_work(tf_ssb_t* ssb, void* user_data) static void _tf_ssb_getIdentityInfo_work(tf_ssb_t* ssb, void* user_data)
{ {
identity_info_work_t* request = user_data; identity_info_work_t* request = user_data;
char id[k_id_base64_len] = "";
if (tf_ssb_db_user_has_permission(ssb, request->name, "administration")) if (tf_ssb_db_user_has_permission(ssb, request->name, "administration"))
{ {
char id[k_id_base64_len] = "";
if (tf_ssb_whoami(ssb, id, sizeof(id))) if (tf_ssb_whoami(ssb, id, sizeof(id)))
{ {
_tf_ssb_getIdentityInfo_visit(*id == '@' ? id + 1 : id, request); _tf_ssb_getIdentityInfo_visit(*id == '@' ? id + 1 : id, request);
@@ -657,12 +657,15 @@ static void _tf_ssb_getIdentityInfo_work(tf_ssb_t* ssb, void* user_data)
" messages.content ->> 'name' AS name " " messages.content ->> 'name' AS name "
" FROM messages " " FROM messages "
" JOIN identities ON messages.author = ('@' || identities.public_key) " " JOIN identities ON messages.author = ('@' || identities.public_key) "
" WHERE identities.user = ? AND json_extract(messages.content, '$.type') = 'about' AND content ->> 'about' = messages.author AND name IS NOT NULL) " " WHERE "
" (identities.user = ? OR identities.public_key = ?) AND "
" json_extract(messages.content, '$.type') = 'about' AND "
" content ->> 'about' = messages.author AND name IS NOT NULL) "
"WHERE author_rank = 1 ", "WHERE author_rank = 1 ",
-1, &statement, NULL); -1, &statement, NULL);
if (request->result == SQLITE_OK) if (request->result == SQLITE_OK)
{ {
if (sqlite3_bind_text(statement, 1, request->name, -1, NULL) == SQLITE_OK) if (sqlite3_bind_text(statement, 1, request->name, -1, NULL) == SQLITE_OK && sqlite3_bind_text(statement, 2, *id == '@' ? id + 1 : id, -1, NULL) == SQLITE_OK)
{ {
int r = SQLITE_OK; int r = SQLITE_OK;
while ((r = sqlite3_step(statement)) == SQLITE_ROW) while ((r = sqlite3_step(statement)) == SQLITE_ROW)

View File

@@ -1,2 +1,2 @@
#define VERSION_NUMBER "0.0.23-wip" #define VERSION_NUMBER "0.0.23"
#define VERSION_NAME "Me upon my pony on my boat." #define VERSION_NAME "Me upon my pony on my boat."