From dcd19d9cce466ffb8638524d394fe8048c832f1f Mon Sep 17 00:00:00 2001 From: Alessio Date: Sun, 25 Feb 2024 22:19:07 -0800 Subject: [PATCH] Update CHANGELOG.txt for v0.6.3 --- CHANGELOG.txt | 10 ++++++++++ doc/TODO.txt | 23 ++++++++++++----------- doc/release_process.md | 1 + pkg/persistence/versions.go | 18 ++++++++++++++++++ sample_data/seed_data.sql | 2 +- 5 files changed, 42 insertions(+), 12 deletions(-) diff --git a/CHANGELOG.txt b/CHANGELOG.txt index 41ca26c..e1dab2c 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -231,3 +231,13 @@ v0.6.2 - fix clobbering of interaction stats if a tweet is deleted (previously they'd all get set to 0) - fix double HTMX spinner on tweets with quoted tweet - fix focused tweets being clickable + +v0.6.3 +------ + +- Add Lists +- Add `--default-profile` flag which will use and create a profile in a default location (based on OS) +- UI improvements: + - make scrolling in DMs work way better + - hovering over a tweet now highlights it with a light background color +- Create a `Twitter.desktop` file in dpkg build diff --git a/doc/TODO.txt b/doc/TODO.txt index 68f2b27..60881fe 100644 --- a/doc/TODO.txt +++ b/doc/TODO.txt @@ -76,19 +76,12 @@ TODO: search-bottom-cursor - As first step, need helper function that returns the []Instruction element in a APIV2Response (not just the MainInstruction which is TimelineAddEntries) - since different requests have different paths to the Instructions, e.g., Data.User.Result.Timeline.Timeline.Instructions vs Data.Home.HomeTimelineUrt.Instructions, etc -TODO: lists -- List types: - - offline follows - - followed by twitter user - - user-created - -TODO: scrape-followed-users-list - TODO: newer-version-tombstone - Preserve tombstone after re-scraping TODO: failed-tweets - https://twitter.com/_HARVEY__DENT_/status/1755665502385377720 +- "Empty tweet": https://twitter.com/wispem_wantex/status/1581333495393107968 TODO: new-content-type - https://twitter.com/itsbackwereover/status/1757947530506043872 @@ -123,6 +116,8 @@ TODO: ui-deuglifying TODO: show-errors-in-UI - if an HTTP request fails, show an error in the UI somehow + - scrape failed due to rate limiting + - non-HTMX 500 errors now show a weird HTML page TODO: refactor-compound_queries_test-file - Move the tests for user feeds into the compound_queries_ssf_test file @@ -130,7 +125,6 @@ TODO: refactor-compound_queries_test-file TODO: features-from-qt-version - Add all features from the Qt app to the web UI - when previous tweet in thread is missing, put a "fetch tweet" button to get it - - Create a default profile on first launch TODO: dms - embedded image and video @@ -141,5 +135,12 @@ TODO: dms TODO: search-terms-highlighted - on Search page, highlight matches for the search keywords -TODO: htmx-spinner-user-feed -- should cover the user profile header? whole visible page? + +Windows Build +------------- + +TODO: windows-session-list +- Check that sessions load as @Offline_Twatter instead of @test\Offline_Twatter on Windows + +TODO: windows-automated-build +- build and upload to offline-twitter.org on release branches diff --git a/doc/release_process.md b/doc/release_process.md index 0e6c9ea..8317770 100644 --- a/doc/release_process.md +++ b/doc/release_process.md @@ -3,4 +3,5 @@ - update CHANGELOG.txt - if `persistence/schema.sql` has changed since last release: - add an entry to MIGRATIONS in `persistence/versions.go` + - update `sample_data/seed_data.sql`, including database_version - checkout a branch `release-x.y.z` with the version number x.y.z and push it diff --git a/pkg/persistence/versions.go b/pkg/persistence/versions.go index 6790c77..97feae2 100644 --- a/pkg/persistence/versions.go +++ b/pkg/persistence/versions.go @@ -226,6 +226,24 @@ var MIGRATIONS = []string{ voting_ends_at = voting_ends_at * 1000, last_scraped_at = last_scraped_at * 1000; update chat_rooms set created_at = created_at * 1000;`, + `create table lists(rowid integer primary key, + is_online boolean not null default 0, + online_list_id integer not null default 0, -- Will be 0 for lists that aren't Twitter Lists + name text not null, + check ((is_online = 0 and online_list_id = 0) or (is_online != 0 and online_list_id != 0)) + check (rowid != 0) + ); + create table list_users(rowid integer primary key, + list_id integer not null, + user_id integer not null, + unique(list_id, user_id) + foreign key(list_id) references lists(rowid) on delete cascade + foreign key(user_id) references users(id) + ); + create index if not exists index_list_users_list_id on list_users (list_id); + create index if not exists index_list_users_user_id on list_users (user_id); + insert into lists(rowid, name) values (1, "Offline Follows"); + insert into list_users(list_id, user_id) select 1, id from users where is_followed = 1;`, } var ENGINE_DATABASE_VERSION = len(MIGRATIONS) diff --git a/sample_data/seed_data.sql b/sample_data/seed_data.sql index a2fa6ce..c3ac357 100644 --- a/sample_data/seed_data.sql +++ b/sample_data/seed_data.sql @@ -453,6 +453,6 @@ insert into fake_user_sequence values(0x4000000000000000); create table database_version(rowid integer primary key, version_number integer not null unique ); -insert into database_version(version_number) values (27); +insert into database_version(version_number) values (28); COMMIT;