2 Commits

Author SHA1 Message Date
ed4f1d6f2c android: Be smarter about the file watcher.
All checks were successful
Build Tilde Friends / Build-All (push) Successful in 32m12s
2025-08-13 17:51:04 -04:00
73f4a3407f ssb: Allow showing raw messages for contact messages. 2025-08-13 12:14:31 -04:00
4 changed files with 48 additions and 57 deletions

View File

@@ -1140,6 +1140,11 @@ releaseapkgo: out/TildeFriends-arm-release.apk ## Build, install, and run a rele
@adb shell am start com.unprompted.tildefriends/.TildeFriendsActivity @adb shell am start com.unprompted.tildefriends/.TildeFriendsActivity
.PHONY: releaseapkgo .PHONY: releaseapkgo
x86releaseapkgo: out/TildeFriends-x86-release.apk ## Build, install, and run an x86 release Android APK.
@adb install -r $<
@adb shell am start com.unprompted.tildefriends/.TildeFriendsActivity
.PHONY: x86releaseapkgo
apklog: ## Display Android log output. apklog: ## Display Android log output.
@adb logcat *:S tildefriends @adb logcat *:S tildefriends
.PHONY: apklog .PHONY: apklog

View File

@@ -1,5 +1,5 @@
{ {
"type": "tildefriends-app", "type": "tildefriends-app",
"emoji": "🦀", "emoji": "🦀",
"previous": "&3iV21tLQemlgG/Ui/WfYQyiprW/OBbFa8C3EKzPDt90=.sha256" "previous": "&TTGzyovmfKozjELCGPBFLLEXQcpfaArOMmqzemvz9J8=.sha256"
} }

View File

@@ -789,10 +789,16 @@ class TfMessageElement extends LitElement {
</div> </div>
`); `);
} else if (content.type == 'contact') { } else if (content.type == 'contact') {
switch (this.format) {
case 'message':
default:
return this.render_frame(html` return this.render_frame(html`
<div class="w3-bar"> <div class="w3-bar">
<div class="w3-bar-item"> <div class="w3-bar-item">
<tf-user id=${this.message.author} .users=${this.users}></tf-user> <tf-user
id=${this.message.author}
.users=${this.users}
></tf-user>
is is
${content.blocking === true ${content.blocking === true
? 'blocking' ? 'blocking'
@@ -808,41 +814,20 @@ class TfMessageElement extends LitElement {
.users=${this.users} .users=${this.users}
></tf-user> ></tf-user>
</div> </div>
<div class="w3-bar-item w3-right"> ${this.render_menu()} ${this.render_votes()}
<button class="w3-button w3-theme-d1" @click=${this.toggle_menu}> ${this.render_actions()}
%
</button>
<div
class="w3-dropdown-content w3-bar-block w3-card-4 w3-theme-l1"
style="right: 48px"
>
<a
target="_top"
class="w3-button w3-bar-item"
href=${'#' + encodeURIComponent(this.message?.id)}
>View Message</a
>
<button
class="w3-button w3-bar-item w3-border-bottom"
@click=${this.copy_id}
>
Copy ID
</button>
${this.drafts[this.message?.id] === undefined
? html`
<button
class="w3-button w3-bar-item"
@click=${this.show_reply}
>
↩️ Reply
</button>
`
: undefined}
</div>
</div> </div>
`);
break;
case 'raw':
return this.render_frame(html`
${this.render_header()}
<div class="w3-container">${this.render_raw()}</div>
${this.render_votes()} ${this.render_actions()} ${this.render_votes()} ${this.render_actions()}
</div> </div>
`); `);
break;
}
} else if (content.type == 'post') { } else if (content.type == 'post') {
let self = this; let self = this;
let body; let body;

View File

@@ -81,14 +81,14 @@ public class TildeFriendsActivity extends Activity {
TildeFriendsActivity activity = this; TildeFriendsActivity activity = this;
Log.w("tildefriends", "Watching for changes in: " + getFilesDir().toString());
observer = make_file_observer(getFilesDir().toString(), port_file_path);
observer.startWatching();
set_status("Starting server..."); set_status("Starting server...");
server_thread = new Thread(new Runnable() { server_thread = new Thread(new Runnable() {
@Override @Override
public void run() { public void run() {
Log.w("tildefriends", "Watching for changes in: " + getFilesDir().toString());
observer = make_file_observer(getFilesDir().toString(), port_file_path);
observer.startWatching();
Log.w("tildefriends", "Calling tf_server_main."); Log.w("tildefriends", "Calling tf_server_main.");
int result = tf_server_main( int result = tf_server_main(
getFilesDir().toString(), getFilesDir().toString(),
@@ -445,6 +445,7 @@ public class TildeFriendsActivity extends Activity {
hide_status(); hide_status();
web_view.loadUrl(base_url + "login/auto"); web_view.loadUrl(base_url + "login/auto");
}); });
observer.stopWatching();
observer = null; observer = null;
} else { } else {
runOnUiThread(() -> { runOnUiThread(() -> {