Compare commits

..

3 Commits

Author SHA1 Message Date
e979c176e3 test: Exercise nominally creating and deleting an app.
All checks were successful
Build Tilde Friends / Build-All (push) Successful in 16m15s
2024-10-23 18:48:42 -04:00
a0d9c3dc29 js: Move the global 404 response to C. 2024-10-23 18:27:36 -04:00
efcb68351c docs: Reminding myself how to make a release. 2024-10-23 18:06:56 -04:00
5 changed files with 61 additions and 7 deletions

View File

@ -1177,13 +1177,6 @@ loadSettings()
return blobHandler(request, response, match[1], match[2]);
} else if ((match = /^(.*)(\/(?:save|delete)?)$/.exec(request.uri))) {
return blobHandler(request, response, match[1], match[2]);
} else {
let data = 'File not found.';
response.writeHead(404, {
'Content-Type': 'text/plain; charset=utf-8',
'Content-Length': data.length.toString(),
});
return response.end(data);
}
});
let port = httpd.start(tildefriends.http_port);

19
docs/release.md Normal file
View File

@ -0,0 +1,19 @@
# Release Checklist
- make sure ci is passing
- run the tests
- format + prettier
- update metadata/en-US/changelogs
- git tag
- push
- make dist
- make a release on gitea
- upload the artifacts
- nix
- comment out the hash in default.nix
- update the version
- run `nix build`
- update the hash
- bump the versions in GNUmakefile for the next release
- make
- commit

View File

@ -0,0 +1,18 @@
* Command-line publishing of SSB messages.
* Minor SSB replication improvements.
* Disallow rich text paste on more browsers.
* The identity app lets you change the server account.
* Fix SSB profile icons stretching.
* Fixed the iPhone app missing data.
* Added a button to initiate sync.
* Fixed the AppImage.
* Android version compatibility fixes.
* Updates:
* CodeMirror
* CommonMark 0.31.2
* Lit 3.2.1
* OpenSSL 3.4.0
* c-ares 1.34.2
* libbacktrace
* libuv 1.49.2
* sqlite 3.47.0

View File

@ -107,6 +107,7 @@ static const char* _http_connection_get_header(const tf_http_connection_t* conne
static void _http_connection_destroy(tf_http_connection_t* connection, const char* reason);
static void _http_timer_reset(tf_http_connection_t* connection);
static void _http_tls_update(tf_http_connection_t* connection);
static void _http_builtin_404_handler(tf_http_request_t* request);
tf_http_t* tf_http_create(uv_loop_t* loop)
{
@ -196,6 +197,10 @@ static void _http_connection_on_close(uv_handle_t* handle)
static void _http_request_destroy(tf_http_request_t* request)
{
tf_http_close_callback* on_close = request->on_close;
if (request->connection && !request->connection->is_response_sent)
{
_http_builtin_404_handler(request);
}
if (on_close)
{
tf_trace_t* trace = request->http->trace;

View File

@ -57,6 +57,25 @@ try:
driver.find_element(By.TAG_NAME, 'tf-auth').shadow_root.find_element(By.ID, 'confirm').send_keys('test_password')
driver.find_element(By.TAG_NAME, 'tf-auth').shadow_root.find_element(By.ID, 'loginButton').click()
wait.until(expected_conditions.presence_of_element_located((By.ID, 'document')))
driver.get('http://localhost:8888/~testuser/test/')
wait.until(expected_conditions.presence_of_element_located((By.ID, 'document')))
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.click()
editor.send_keys('app.setDocument("<div id=\'test-div\'>Hello, world!</div>")');
driver.find_element(By.ID, 'save').click()
wait.until(expected_conditions.presence_of_element_located((By.ID, 'document')))
driver.switch_to.frame(driver.find_element(By.ID, 'document'))
wait.until(expected_conditions.presence_of_element_located((By.ID, 'test-div')))
driver.switch_to.default_content()
driver.find_element(By.ID, 'delete').click()
wait.until(expected_conditions.alert_is_present()).dismiss()
driver.get('http://localhost:8888')
wait.until(expected_conditions.presence_of_element_located((By.ID, 'document')))
driver.switch_to.frame(driver.find_element(By.ID, 'document'))
wait.until(expected_conditions.presence_of_element_located((By.LINK_TEXT, 'identity')))