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
with:
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
VERSION_CODE := 27
VERSION_NUMBER := 0.0.23-wip
VERSION_NUMBER := 0.0.23
VERSION_NAME := Me upon my pony on my boat.
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
LINUXDEPLOY_URL := https://github.com/linuxdeploy/linuxdeploy/releases/download/1-alpha-20240109-1/linuxdeploy-x86_64.AppImage
LINUXDEPLOY_MD5 := 659d69326199524552bfbbe46cb0adae out/linuxdeploy
PROJECT = tildefriends
BUILD_DIR ?= out
@@ -101,6 +103,9 @@ BUILD_TYPES += \
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
endif
ifeq ($(UNAME_S),Linux)
all: appimage
endif
WINDOWS_TARGETS := \
out/windebug/tildefriends.exe \
@@ -503,7 +508,10 @@ $(UV_OBJS): CFLAGS += \
-Wno-unused-result \
-Wno-unused-variable
$(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)
$(UV_OBJS): CFLAGS += \
-D_GNU_SOURCE
@@ -1067,17 +1075,21 @@ $(IOS_DEPS):
$(filter $(BUILD_DIR)/ios%,$(APP_OBJS)): | $(IOS_DEPS)
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/share/applications
@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/
@cat out/release/tildefriends out/data.zip > 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
clean:
@@ -1109,7 +1121,7 @@ tarball:
tildefriends-$(VERSION_NUMBER)
.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/
@echo "[cp] 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"
@cp out/TildeFriends-release.fdroid.apk dist/TildeFriends-$(VERSION_NUMBER).fdroid.apk
@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
dist-test: dist

View File

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

View File

@@ -73,10 +73,13 @@ class TfMessageElement extends LitElement {
}
}
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(
(vote) => html`
<span
class="w3-bar-item w3-padding-small"
title="${this.users[vote.author]?.name ?? vote.author} ${new Date(
vote.timestamp
)}"
@@ -85,6 +88,7 @@ class TfMessageElement extends LitElement {
</span>
`
)}
</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"
package="com.unprompted.tildefriends"
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.INTERNET"/>
<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)
{
identity_info_work_t* request = user_data;
char id[k_id_base64_len] = "";
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)))
{
_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 "
" FROM messages "
" 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 ",
-1, &statement, NULL);
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;
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."