Compare commits
	
		
			3 Commits
		
	
	
		
			1f40e8dcd9
			...
			9614d03bef
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 9614d03bef | |||
| 32a335c676 | |||
| 06e27fc1e0 | 
@@ -1,18 +0,0 @@
 | 
			
		||||
* 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
 | 
			
		||||
							
								
								
									
										19
									
								
								metadata/en-US/changelogs/29.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								metadata/en-US/changelogs/29.txt
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,19 @@
 | 
			
		||||
* Command-line publishing.
 | 
			
		||||
* SSB replication improvements.
 | 
			
		||||
* Disallow rich text paste more.
 | 
			
		||||
* identity app lets you change the server account.
 | 
			
		||||
* SSB profile icons stretching.
 | 
			
		||||
* Fixed iPhone app missing data.
 | 
			
		||||
* Added an initiate sync button.
 | 
			
		||||
* Fixed the AppImage.
 | 
			
		||||
* Flatpak WIP.
 | 
			
		||||
* Android 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
 | 
			
		||||
							
								
								
									
										32
									
								
								src/ssb.c
									
									
									
									
									
								
							
							
						
						
									
										32
									
								
								src/ssb.c
									
									
									
									
									
								
							@@ -2450,6 +2450,20 @@ static void _tf_ssb_on_handle_close(uv_handle_t* handle)
 | 
			
		||||
 | 
			
		||||
static void _tf_ssb_on_timer_close(uv_handle_t* handle)
 | 
			
		||||
{
 | 
			
		||||
	tf_ssb_timer_t* timer = handle->data;
 | 
			
		||||
	for (int i = 0; i < timer->ssb->timers_count; i++)
 | 
			
		||||
	{
 | 
			
		||||
		if (timer->ssb->timers[i] == timer)
 | 
			
		||||
		{
 | 
			
		||||
			timer->ssb->timers[i] = timer->ssb->timers[--timer->ssb->timers_count];
 | 
			
		||||
			break;
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	if (timer->ssb->shutting_down && !timer->ssb->timers_count)
 | 
			
		||||
	{
 | 
			
		||||
		tf_free(timer->ssb->timers);
 | 
			
		||||
		timer->ssb->timers = NULL;
 | 
			
		||||
	}
 | 
			
		||||
	tf_free(handle->data);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -2503,14 +2517,11 @@ void tf_ssb_destroy(tf_ssb_t* ssb)
 | 
			
		||||
	{
 | 
			
		||||
		uv_close((uv_handle_t*)&ssb->timers[i]->timer, _tf_ssb_on_timer_close);
 | 
			
		||||
	}
 | 
			
		||||
	ssb->timers_count = 0;
 | 
			
		||||
	tf_free(ssb->timers);
 | 
			
		||||
	ssb->timers = NULL;
 | 
			
		||||
 | 
			
		||||
	tf_printf("Waiting for closes.\n");
 | 
			
		||||
 | 
			
		||||
	while (ssb->broadcast_listener.data || ssb->broadcast_sender.data || ssb->broadcast_timer.data || ssb->broadcast_cleanup_timer.data || ssb->trace_timer.data ||
 | 
			
		||||
		ssb->server.data || ssb->ref_count || ssb->request_activity_timer.data)
 | 
			
		||||
		ssb->server.data || ssb->ref_count || ssb->request_activity_timer.data || ssb->timers_count)
 | 
			
		||||
	{
 | 
			
		||||
		uv_run(ssb->loop, UV_RUN_ONCE);
 | 
			
		||||
	}
 | 
			
		||||
@@ -4197,19 +4208,16 @@ static void _tf_ssb_scheduled_timer(uv_timer_t* handle)
 | 
			
		||||
{
 | 
			
		||||
	tf_ssb_timer_t* timer = handle->data;
 | 
			
		||||
	timer->callback(timer->ssb, timer->user_data);
 | 
			
		||||
	for (int i = 0; i < timer->ssb->timers_count; i++)
 | 
			
		||||
	{
 | 
			
		||||
		if (timer->ssb->timers[i] == timer)
 | 
			
		||||
		{
 | 
			
		||||
			timer->ssb->timers[i] = timer->ssb->timers[--timer->ssb->timers_count];
 | 
			
		||||
			break;
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	uv_close((uv_handle_t*)handle, _tf_ssb_on_timer_close);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void tf_ssb_schedule_work(tf_ssb_t* ssb, int delay_ms, void (*callback)(tf_ssb_t* ssb, void* user_data), void* user_data)
 | 
			
		||||
{
 | 
			
		||||
	if (ssb->shutting_down)
 | 
			
		||||
	{
 | 
			
		||||
		return;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	ssb->timers = tf_resize_vec(ssb->timers, sizeof(uv_timer_t*) * (ssb->timers_count + 1));
 | 
			
		||||
	tf_ssb_timer_t* timer = tf_malloc(sizeof(tf_ssb_timer_t));
 | 
			
		||||
	*timer = (tf_ssb_timer_t)
 | 
			
		||||
 
 | 
			
		||||
@@ -205,7 +205,13 @@ try:
 | 
			
		||||
 | 
			
		||||
	wait.until(expected_conditions.presence_of_element_located((By.ID, 'content')))
 | 
			
		||||
	driver.switch_to.frame(wait.until(expected_conditions.presence_of_element_located((By.ID, 'document'))))
 | 
			
		||||
	wait.until(expected_conditions.presence_of_element_located((By.TAG_NAME, 'tf-app'))).shadow_root
 | 
			
		||||
	# NoSuchShadowRootException
 | 
			
		||||
	while True:
 | 
			
		||||
		try:
 | 
			
		||||
			tf_app = wait.until(expected_conditions.presence_of_element_located((By.TAG_NAME, 'tf-app'))).shadow_root
 | 
			
		||||
			break
 | 
			
		||||
		except:
 | 
			
		||||
			pass
 | 
			
		||||
	driver.switch_to.default_content()
 | 
			
		||||
 | 
			
		||||
	driver.find_element(By.TAG_NAME, 'tf-navigation').shadow_root.find_element(By.ID, 'logout').click()
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user