Skip to content

Commit 9237db2

Browse files
authored
feat: 0.9.0 (#1272)
2 parents e647cca + 2aed51d commit 9237db2

File tree

11 files changed

+96
-33
lines changed

11 files changed

+96
-33
lines changed

build-aux/dev.geopjr.Tuba.Clapper.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@
7070
{
7171
"type": "git",
7272
"url": "https://gitlab.gnome.org/GNOME/libspelling.git",
73-
"tag": "0.4.0"
73+
"tag": "0.4.5"
7474
}
7575
]
7676
},

build-aux/dev.geopjr.Tuba.Devel.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
{
3636
"type": "git",
3737
"url": "https://gitlab.gnome.org/GNOME/libspelling.git",
38-
"tag": "0.4.0"
38+
"tag": "0.4.5"
3939
}
4040
]
4141
},

data/dev.geopjr.Tuba.gschema.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@
125125
<default>''</default>
126126
</key>
127127
<key name="contributors" type="as">
128-
<default>['1021928818','2964685538','2486375860','3456423266','1352322503','445941323','3177176442','2386917030','987913018','1837154139','4173902237','4223975552','3163563143','3320460562','4233664772','136476033','4041964504','3998595277','580879396','4086778421']</default>
128+
<default>['1021928818','2964685538','2486375860','3456423266','1352322503','445941323','3177176442','2813905310','2386917030','987913018','1837154139','4173902237','4223975552','3163563143','3320460562','4233664772','136476033','4041964504','3998595277','580879396']</default>
129129
</key>
130130
<key name="status-aria-verbosity" type="i">
131131
<default>3</default>

data/dev.geopjr.Tuba.metainfo.xml.in

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,58 @@
6262
<control>touch</control>
6363
</recommends>
6464
<releases>
65+
<release version="0.9.0" date="2024-12-15">
66+
<description translate="no">
67+
<ul>
68+
<li>Visual refinements to match the state of the art of GNOME apps</li>
69+
<li>Added accent color support</li>
70+
<li>Added bold search query matches</li>
71+
<li>Added Audio Visualizer</li>
72+
<li>Added Focus Picker</li>
73+
<li>Added Verified Authors</li>
74+
<li>Added FediWrapped</li>
75+
<li>Added Scheduled Posts</li>
76+
<li>Added Draft Posts</li>
77+
<li>Added poll animations</li>
78+
<li>Added poll show results and refresh buttons</li>
79+
<li>Added full emoji reaction support when possible</li>
80+
<li>Added emoji reaction stats</li>
81+
<li>Added viewing attachment at focus position</li>
82+
<li>Added mute expiration and notification hiding</li>
83+
<li>Added link discussion timelines</li>
84+
<li>Added attachment preview on the alt text dialogs</li>
85+
<li>Added Mastodon-like compose urls</li>
86+
<li>Added the ability to mute your own posts</li>
87+
<li>Added author auto-fill in the Advanced Search dialog</li>
88+
<li>Added a separate bar for hashtags placed at the end of a post</li>
89+
<li>Added opt-in anonymous preference popularity analytics</li>
90+
<li>Added tuba supporter badge and decorations</li>
91+
<li>Improved the profile posts, replies, media filter UX</li>
92+
<li>Added moved accounts notice</li>
93+
<li>Added syncing spellchecking and post language</li>
94+
<li>Added avatar and header alt text viewing and editing on supported backends</li>
95+
<li>Added account suggestions for new fediverse accounts</li>
96+
<li>Added the ability to place lists on the sidebar</li>
97+
<li>Added viewing which ones of the people you follow also follow an account</li>
98+
<li>Added Bubble timeline on supported backends</li>
99+
<li>Added dedicated quote button on supported backends</li>
100+
<li>Added warning when copying a link to a non-publicly available post</li>
101+
<li>Added moderator warning notifications</li>
102+
<li>Removed window controls from the Media Viewer to avoid accidentally closing the whole app</li>
103+
<li>GL is no longer the preferred renderer</li>
104+
<li>Fixed alt text publishing on Akkoma</li>
105+
<li>Fixed crashes related to the profile editor</li>
106+
<li>Fixed the floating button area being unclickable and unscrollable</li>
107+
<li>Fixed headerbar having a large minimum width</li>
108+
<li>Fixed outdated profile info on cached users</li>
109+
<li>Fixed list creation and editing on Akkoma</li>
110+
<li>Fixed filter creation and editing on GoToSocial</li>
111+
<li>Fixed jarring Media Viewer scale animation states</li>
112+
<li>Other minor features, style changes, bug fixes, memory leak fixes and optimizations</li>
113+
<li>Updated translations</li>
114+
</ul>
115+
</description>
116+
</release>
65117
<release version="0.8.4" date="2024-09-10">
66118
<description translate="no">
67119
<ul>

data/ui/dialogs/schedule.ui

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,7 @@
117117
<property name="numeric">true</property>
118118
<property name="wrap">true</property>
119119
<property name="adjustment">hour_adjustment</property>
120+
<signal name="value-changed" handler="validate" swapped="no" />
120121
</object>
121122
</child>
122123
<child>
@@ -137,6 +138,7 @@
137138
<property name="numeric">true</property>
138139
<property name="wrap">true</property>
139140
<property name="adjustment">minutes_adjustment</property>
141+
<signal name="value-changed" handler="validate" swapped="no" />
140142
</object>
141143
</child>
142144
<child>
@@ -157,6 +159,7 @@
157159
<property name="numeric">true</property>
158160
<property name="wrap">true</property>
159161
<property name="adjustment">seconds_adjustment</property>
162+
<signal name="value-changed" handler="validate" swapped="no" />
160163
</object>
161164
</child>
162165
</object>

meson.build

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
project(
22
'dev.geopjr.Tuba',
33
['c', 'vala'],
4-
version: '0.8.4',
4+
version: '0.9.0',
55
meson_version: '>= 0.56.0',
66
default_options: [
77
'warning_level=2',

src/Application.vala

Lines changed: 31 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -335,6 +335,9 @@ namespace Tuba {
335335
if (settings.proxy != "")
336336
on_proxy_change ();
337337
settings.notify ["proxy"].connect (on_proxy_notify);
338+
339+
if (settings.analytics) app.update_analytics.begin ();
340+
app.update_contributors.begin ();
338341
}
339342

340343
private void on_proxy_change (bool recover = false) {
@@ -382,9 +385,6 @@ namespace Tuba {
382385
}
383386

384387
protected override void shutdown () {
385-
if (settings.analytics) app.update_analytics ();
386-
app.update_contributors ();
387-
388388
#if !DEV_MODE
389389
settings.apply_all ();
390390
#endif
@@ -757,7 +757,7 @@ namespace Tuba {
757757
return generator.to_data (null);
758758
}
759759

760-
public void update_contributors () {
760+
public async void update_contributors () {
761761
if (!settings.update_contributors) {
762762
// if updating contributors from the API is not enabled
763763
// but it has been enabled at some point in the past,
@@ -788,24 +788,27 @@ namespace Tuba {
788788
}
789789

790790
if (!can_update) return;
791-
new Request.GET ("https://api.tuba.geopjr.dev/v1/supporters")
792-
.then ((in_stream) => {
793-
var parser = Network.get_parser_from_inputstream (in_stream);
791+
var msg = new Request.GET ("https://api.tuba.geopjr.dev/v1/supporters");
792+
793+
try {
794+
yield msg.await ();
795+
var parser = Network.get_parser_from_inputstream (msg.response_body);
794796

795-
string[] new_contributors = {};
796-
Network.parse_array (parser, node => {
797-
if (node != null) {
798-
new_contributors += node.get_string ();
799-
}
800-
});
797+
string[] new_contributors = {};
798+
Network.parse_array (parser, node => {
799+
if (node != null) {
800+
new_contributors += node.get_string ();
801+
}
802+
});
801803

802-
settings.contributors = new_contributors;
803-
settings.last_contributors_update = now_utc.format_iso8601 ();
804-
})
805-
.exec ();
804+
settings.contributors = new_contributors;
805+
settings.last_contributors_update = now_utc.format_iso8601 ();
806+
} catch (Error e) {
807+
warning (@"Couldn't update contributors: $(e.code) $(e.message)");
808+
}
806809
}
807810

808-
public void update_analytics () {
811+
public async void update_analytics () {
809812
if (!settings.analytics) return;
810813

811814
bool can_update = false;
@@ -823,12 +826,16 @@ namespace Tuba {
823826
}
824827

825828
if (!can_update) return;
826-
new Request.POST ("https://api.tuba.geopjr.dev/v1/analytics")
827-
.body ("application/json", new Bytes.take (generate_analytics_object ().data))
828-
.then ((in_stream) => {
829-
settings.last_analytics_update = now_utc.format_iso8601 ();
830-
})
831-
.exec ();
829+
var msg = new Request.POST ("https://api.tuba.geopjr.dev/v1/analytics")
830+
.body ("application/json", new Bytes.take (generate_analytics_object ().data));
831+
832+
try {
833+
yield msg.await ();
834+
settings.last_analytics_update = now_utc.format_iso8601 ();
835+
} catch (Error e) {
836+
warning (@"Couldn't update analytics: $(e.code) $(e.message)");
837+
}
838+
832839
}
833840
}
834841

src/Dialogs/Preferences.vala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -390,8 +390,8 @@ public class Tuba.Dialogs.Preferences : Adw.PreferencesDialog {
390390
settings.proxy = "";
391391
}
392392

393-
if (settings.analytics) app.update_analytics ();
394-
app.update_contributors ();
393+
if (settings.analytics) app.update_analytics.begin ();
394+
app.update_contributors.begin ();
395395
}
396396

397397
protected class AnalyticsDialog : Adw.Dialog {

src/Views/Search.vala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -186,8 +186,8 @@ public class Tuba.Views.Search : Views.TabbedBase {
186186

187187
try {
188188
search_query_regex = new Regex (
189-
// "this is a test." => /(\bthis\b|\bis\b|\ba\b|\btest\.\b)/
190-
@"(\\b$(GLib.Regex.escape_string (this.query).replace (" ", "\\b|\\b"))\\b)",
189+
// "this is a test." => /(:?\bthis\b:?|:?\bis\b:?|:?\ba\b:?|:?\btest\.\b:?)/
190+
@"(:?\\b$(GLib.Regex.escape_string (this.query).replace (" ", "\\b:?|:?\\b"))\\b:?)",
191191
GLib.RegexCompileFlags.CASELESS | GLib.RegexCompileFlags.OPTIMIZE
192192
);
193193
} catch (RegexError e) {

src/Widgets/PreviewCardExplore.vala

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@ public class Tuba.Widgets.PreviewCardExplore : Gtk.ListBoxRow {
9393

9494
if (accounts.active.instance_info.tuba_mastodon_version >= 1) {
9595
Gtk.Button discussions_button = new Gtk.Button () {
96+
margin_top = 6,
9697
child = used_times_label,
9798
// translators: tooltip text on 'explore' tab button to
9899
// see posts where the selected article is

0 commit comments

Comments
 (0)