Compare commits

...

2 Commits

Author SHA1 Message Date
2e66666bdf ssb: Indicate which connections are one-shot / sync now connections.
All checks were successful
Build Tilde Friends / Build-All (push) Successful in 15m19s
2024-10-25 12:53:45 -04:00
4fe3c9a751 test: Verify that deleting apps actually does something. 2024-10-25 12:34:22 -04:00
6 changed files with 28 additions and 7 deletions

View File

@ -1,5 +1,5 @@
{ {
"type": "tildefriends-app", "type": "tildefriends-app",
"emoji": "🐌", "emoji": "🐌",
"previous": "&CsZ2FBYY9awXNPPHAhTlrOHuKlGU6RXZJ3UTV3UQRIE=.sha256" "previous": "&IH3DadMNF785idnMI/LuCpIJQxzvpg1PDp8BI7m1Nx0=.sha256"
} }

View File

@ -129,6 +129,7 @@ class TfTabConnectionsElement extends LitElement {
> >
Close Close
</button> </button>
${connection.flags.one_shot ? '🔃' : undefined}
<tf-user id=${connection.id} .users=${this.users}></tf-user> <tf-user id=${connection.id} .users=${this.users}></tf-user>
${connection.tunnel !== undefined ${connection.tunnel !== undefined
? '🚇' ? '🚇'

View File

@ -382,8 +382,8 @@ class TfNavigationElement extends LitElement {
<link type="text/css" rel="stylesheet" href="/static/w3.css" /> <link type="text/css" rel="stylesheet" href="/static/w3.css" />
<div class="w3-model w3-animate-top" style="position: absolute; left: 50%; transform: translate(-50%); z-index: 1"> <div class="w3-model w3-animate-top" style="position: absolute; left: 50%; transform: translate(-50%); z-index: 1">
<dijv class="w3-modal-content w3-card-4" style="display: block; padding: 1em"> <dijv class="w3-modal-content w3-card-4" style="display: block; padding: 1em">
<span @click=${self.clear_error} class="w3-button w3-display-topright">&times;</span> <span id="close_error" @click=${self.clear_error} class="w3-button w3-display-topright">&times;</span>
<div style="color: ${this.status.color ?? kErrorColor}"><b>ERROR:</b><p style="white-space: pre">${this.status.message}</p></div> <div style="color: ${this.status.color ?? kErrorColor}"><b>ERROR:</b><p id="error" style="white-space: pre">${this.status.message}</p></div>
</div> </div>
</div> </div>
` `

View File

@ -10,10 +10,10 @@
- make a release on gitea - make a release on gitea
- upload the artifacts - upload the artifacts
- nix - nix
- comment out the hash in default.nix - comment out the hash in default.nix
- update the version - update the version
- run `nix build` - run `nix build`
- update the hash - update the hash
- bump the versions in GNUmakefile for the next release - bump the versions in GNUmakefile for the next release
- make - make
- commit - commit

View File

@ -1115,6 +1115,10 @@ static JSValue _tf_ssb_connections(JSContext* context, JSValueConst this_val, in
JS_SetPropertyStr(context, object, "tunnel", JS_NewInt32(context, tunnel_index)); JS_SetPropertyStr(context, object, "tunnel", JS_NewInt32(context, tunnel_index));
} }
JS_SetPropertyStr(context, object, "requests", tf_ssb_connection_requests_to_object(connection)); JS_SetPropertyStr(context, object, "requests", tf_ssb_connection_requests_to_object(connection));
JSValue flags_object = JS_NewObject(context);
int flags = tf_ssb_connection_get_flags(connection);
JS_SetPropertyStr(context, flags_object, "one_shot", JS_NewBool(context, (flags & k_tf_ssb_connect_flag_one_shot) != 0));
JS_SetPropertyStr(context, object, "flags", flags_object);
JS_SetPropertyUint32(context, result, i, object); JS_SetPropertyUint32(context, result, i, object);
} }
} }

View File

@ -60,6 +60,13 @@ try:
wait.until(expected_conditions.presence_of_element_located((By.ID, 'document'))) wait.until(expected_conditions.presence_of_element_located((By.ID, 'document')))
driver.get('http://localhost:8888/~testuser/test/') driver.get('http://localhost:8888/~testuser/test/')
wait.until(expected_conditions.presence_of_element_located((By.ID, 'document'))) wait.until(expected_conditions.presence_of_element_located((By.ID, 'document')))
while True:
try:
wait.until(exists_in_shadow_root(driver.find_element(By.TAG_NAME, 'tf-navigation').shadow_root, By.ID, 'close_error')).click()
break
except:
pass
driver.find_element(By.TAG_NAME, 'tf-navigation').shadow_root.find_element(By.LINK_TEXT, 'edit').click() driver.find_element(By.TAG_NAME, 'tf-navigation').shadow_root.find_element(By.LINK_TEXT, 'edit').click()
editor = driver.find_element(By.ID, 'editor').find_element(By.CLASS_NAME, 'cm-content') editor = driver.find_element(By.ID, 'editor').find_element(By.CLASS_NAME, 'cm-content')
editor.click() editor.click()
@ -72,7 +79,16 @@ try:
driver.switch_to.default_content() driver.switch_to.default_content()
driver.find_element(By.ID, 'delete').click() driver.find_element(By.ID, 'delete').click()
wait.until(expected_conditions.alert_is_present()).accept()
wait.until(expected_conditions.alert_is_present()).dismiss() wait.until(expected_conditions.alert_is_present()).dismiss()
driver.get('http://localhost:8888/~testuser/test/')
wait.until(expected_conditions.presence_of_element_located((By.ID, 'document')))
while True:
try:
wait.until(exists_in_shadow_root(driver.find_element(By.TAG_NAME, 'tf-navigation').shadow_root, By.ID, 'close_error')).click()
break
except:
pass
driver.get('http://localhost:8888') driver.get('http://localhost:8888')