Commit Graph

463 Commits

Author SHA1 Message Date
Evangelos Paterakis cf63e05122
feat: custom user agent
should fix: #51
2023-01-11 17:54:35 +02:00
Evangelos Paterakis 18120ddcf7
feat(aboutwindow)[troubleshooting]: libsoup info 2023-01-11 17:54:04 +02:00
Evangelos Paterakis 630fd270da
fix: disable ecb again
segfaults often and is difficult to debug (e.g when an instance returns 404). This needs a proper fix before re-enabling.
2023-01-11 17:53:01 +02:00
Evangelos Paterakis 97db0a296c
feat(aboutwindow): debug info 2023-01-11 05:34:24 +02:00
Bleak Grey ac01692652
feat(NewAccount): refactor, redesign (#50)
* NewAccount: make the dialog a little bit flatter

* NewAccount: redesign layout

* Network: pass error message to error callback

* fix: CRITICAL log on request when there's no access token

* fix: hide titlebar only when no-title exists

to avoid it being applied when we actually do want a flat headerbar with title

* fix: bind auth_page.description and use_auto_auth

there's a small delay between the auth code entry becoming visible and the description updating

* fix: hide title on the other steps too

* Change URL entry title

* Add OSK hint

Co-authored-by: Evangelos Paterakis <evan@geopjr.dev>
2023-01-10 18:52:40 +02:00
Evangelos Paterakis 2df67299a0
feat(status): reactions (non-action)
it should support pleroma, akkoma, catstodon, nyastodon and glitch-soc (when they merge it)
2023-01-09 03:02:05 +02:00
Evangelos Paterakis 47f53a2775
fix: CRITICAL log on check_notifications 2023-01-09 02:56:27 +02:00
Bleak Grey e81370f6f6 DateTime: prevent double spaces in humanized strings 2023-01-08 15:26:37 +04:00
Bleak Grey 9687ebb9eb Minor visual tweaks 2023-01-08 14:24:40 +04:00
Evangelos Paterakis 900ceb6fd3
feat: follow requests on locked accounts 2023-01-05 05:58:58 +02:00
Evangelos Paterakis d2f2621612
feat: move status kind to InstanceAccount from Mastodon.Account
feat: enable KIND_FOLLOW_REQUEST

KINDs are not really Mastodon exclusive
2023-01-05 05:58:58 +02:00
Evangelos Paterakis 26ce911394
fix: keyboard navigation on attachments
seems to prevent button activation
2023-01-05 05:58:58 +02:00
Evangelos Paterakis 0c2876861f
feat(status)[a11y]: large font and line height options
fix: #40
2022-12-29 22:04:45 +02:00
Evangelos Paterakis 85064950c6
feat(a11y): keyboard navigation 2022-12-29 21:05:03 +02:00
Evangelos Paterakis bdf28721c3
fix: custom emojis re-write
it should now be a *lot* faster and simplier since it moved to regex from parsing the string manually. The custom emoji logic moved into its own widget allowing Views like Profile to use it (instead of RichLabelContainer which is a button).
2022-12-23 22:29:22 +02:00
Evangelos Paterakis be1603aa18
fix(sidebar): reactive account info 2022-12-23 03:13:06 +02:00
Evangelos Paterakis 8b7b0a3489
feat(profile): relationship badge 2022-12-23 03:12:42 +02:00
GeopJr 05390ab856
feat: lists re-write (#36) 2022-12-23 01:35:16 +02:00
Evangelos Paterakis b489c4ca4c
chore: remove unused widgets & dialogs 2022-12-23 01:16:48 +02:00
Evangelos Paterakis f2111faee0
fix: relationship should be reactive 2022-12-23 01:16:22 +02:00
Evangelos Paterakis ee123a73d4
fix(profile): show list entry only if following 2022-12-23 01:16:00 +02:00
Diego Iván 9c4569c61e
feat: color scheme preference (#37)
* Add enumerations for ColorScheme

* PreferencesDialog: The dialog now sets the corresponding scheme to settings and Adwaita

* Set color scheme depending on user's preference when starting the app
2022-12-23 00:39:55 +02:00
Diego Iván 0e8ae56ba9
fix(settings): delay-apply mode (#38) 2022-12-23 00:27:00 +02:00
Evangelos Paterakis 2aac04822d
feat(lists): apply changes 2022-12-22 23:20:33 +02:00
Evangelos Paterakis fe8016c0e5
feat(lists)[edit]: members page 2022-12-22 22:13:31 +02:00
Evangelos Paterakis 7369adf624
feat(profile): add or remove from lists 2022-12-22 21:40:04 +02:00
Evangelos Paterakis 2e20b5835b
feat: lists re-write 2022-12-22 01:03:45 +02:00
Evangelos Paterakis 58c2d9b84b
fix: disable notification withdrawing for now
segfaults
2022-12-21 13:56:29 +02:00
Evangelos Paterakis d89d6a97fc
feat: edited indicator 2022-12-15 21:32:03 +02:00
Evangelos Paterakis aae418ab4c
feat: indicator tooltips 2022-12-15 21:31:35 +02:00
Evangelos Paterakis 2461d49fff
fix(indicators): use .dim-label instead of opacity
'The level of transparency differs between regular and high contrast styles. As such, it’s highly recommended to be used instead of changing opacity manually.'
2022-12-15 21:29:37 +02:00
Evangelos Paterakis 06cb65bac1
feat(poll): .winner multiple entries
mostly for multiple choice polls and polls with entries with equal amount of votes
2022-12-15 21:22:08 +02:00
Behzad bb8219bcca
feat: background mode (#29) 2022-12-13 19:28:17 +02:00
Evangelos Paterakis 7654dc3656
fix(profile): wrap stat labels
fix: #30
2022-12-13 00:58:52 +02:00
Evangelos Paterakis aa96602543
fix: no more warnings 2022-12-11 02:23:29 +02:00
Evangelos Paterakis 37b5c7376e
fix: mobile poll row border radius 2022-12-06 06:17:31 +02:00
Juan Campos 8f30b48b88
feat: polls (#25)
* poll support

* feat: let spoiler button handle poll's spoiler status

* fix: change the design to match both mastodon and hig

* feat: voted indicator

* feat: treat voted as expired

Co-authored-by: Evangelos Paterakis <evan@geopjr.dev>
2022-12-06 04:54:18 +02:00
Evangelos Paterakis f187f49e60
feat(profile): use avatar as cover if missing 2022-12-05 04:00:43 +02:00
Behzad f16a28a71e
fix: Copy profile handle (#22)
* fix: Copy a string to the clipboard

* fix: remove the 'Share' section

* fix: null check Gdk.Display.get_default

I doubt it will ever be null in our case but since it's nullable it doesn't hurt to check it

* fix: copy full handle instead of the relative one

Co-authored-by: Evangelos Paterakis <evan@geopjr.dev>
2022-12-03 19:50:50 +02:00
Evangelos Paterakis 85245cc826
fix: revealed default sensitive label
'Show More' doesn't make much sense, instead set it to 'Sensitive'
2022-12-03 01:25:29 +02:00
Evangelos Paterakis 3711405216
fix: +1 => 1+
to match Mastodon
2022-12-03 01:24:28 +02:00
Evangelos Paterakis 60cbc0ab3e
fix: make non-navigatable sidebar items unselectable 2022-12-03 01:23:55 +02:00
Evangelos Paterakis 09839dd5e9
fix: warning about null translator_credits 2022-12-03 01:22:35 +02:00
Evangelos Paterakis c73927b08d
fix: rethink navigation again
Instead of back = home, nested views are now allowed except for sidebar.
So Conversation => Profile => Profile is allowed and will follow navigation but
Home => Favourites => Local will go back to Home
2022-12-03 01:22:01 +02:00
Evangelos Paterakis 28c2c053e3
feat: post visibility indicators 2022-12-02 18:15:24 +02:00
Evangelos Paterakis 6f688443f8
feat: spoiler tags
including settings option to toggle 'always reveal' and a label when reveal (like Mastodon)
2022-12-02 18:10:51 +02:00
Evangelos Paterakis 84518fd42b
fix: profile stats buttons' border radius should match the container
no border radius except for the first button that has on bottom left and the last button that has on bottom right
2022-12-02 17:00:45 +02:00
Evangelos Paterakis 727e04f4ac
feat: mark profile stats row as not activatable 2022-12-02 16:59:04 +02:00
Behzad 6ab7f1b9d8
feat: reply count (#21)
* Add reply count

* fix: use horizontal margin if there's a reply

* feat: handle case when replies_count is 0

Co-authored-by: Evangelos Paterakis <evan@geopjr.dev>
2022-11-30 16:52:14 +02:00
Evangelos Paterakis f3e22f9b3c
feat(compose): bind publish button sensitivity to editor state 2022-11-30 00:17:27 +02:00
Evangelos Paterakis 649362d439
feat(compose): use mnemonics 2022-11-30 00:16:05 +02:00
Evangelos Paterakis a178f4bcd9
feat: profile stats (posts, followers, following) 2022-11-29 03:02:54 +02:00
Evangelos Paterakis a8582da5db
fix: allow nested profile pages 2022-11-29 03:02:54 +02:00
Evangelos Paterakis aaabd3517a
fix: text direction on RTL window
fix: #19
2022-11-27 18:05:56 +02:00
Evangelos Paterakis 6999d46539
feat: post stats on conversation view 2022-11-27 03:32:16 +02:00
Evangelos Paterakis f68be503d6
fix: set xalign to 1 if RTL [temp]
this is a temporary solution until we switch to webview
2022-11-27 03:28:47 +02:00
Evangelos Paterakis 4fdc0a6630
feat: toot dialog placeholder text 2022-11-21 17:29:07 +02:00
Evangelos Paterakis 34c5fa24c1
feat: more tooltips 2022-11-21 17:28:47 +02:00
Evangelos Paterakis fb372dedc6
fix: profile fields wrapping
long strings would change the minimum window width
2022-11-21 17:25:36 +02:00
Evangelos Paterakis 31d33343b0
feat: toggle status action icon state
fix: toggle classes before doing REST requests for the sake of the feedback being instant
2022-11-21 03:54:50 +02:00
Evangelos Paterakis c2a1f7858f
feat: add tooltips to status action items 2022-11-21 03:53:35 +02:00
Evangelos Paterakis 228c2c952b
fix: pack icons in gresource
tooth no longer depends on system icons
fixes #9
2022-11-21 03:52:40 +02:00
Evangelos Paterakis 0b71d45ed0
feat: withdraw notifications of session 2022-11-21 01:29:23 +02:00
Evangelos Paterakis 83a6944605
feat: colored status icons
colors are inspired by mastodon's webui

chore: app.css -> style.css
2022-11-21 01:28:49 +02:00
Evangelos Paterakis bfcae89d3b
feat: (unicode) emoji picker 2022-11-20 16:02:05 +02:00
Evangelos Paterakis 206eefcef6
fix: get last_received_id on init
so we can actually mark them as read
2022-11-20 16:01:32 +02:00
Evangelos Paterakis 2b1171f025
fix: notification reading
read up to either last received or last read
2022-11-20 00:38:44 +02:00
Evangelos Paterakis 90b33035ea
fix: notification badge
wait for last_read_id to become available
2022-11-20 00:38:20 +02:00
Evangelos Paterakis 4d12f8d14d
fix: disable markup on RichContainer
instead use a param if needed
2022-11-20 00:37:17 +02:00
Evangelos Paterakis 63c12b027d
feat: hide actions ono non-actionable posts
X followed you shouldnt have actions as they are not really posts...
2022-11-20 00:36:01 +02:00
Evangelos Paterakis cac5110846
fix!: [temp] don't ecb libsoup queue message error
it segfaults and ignoring it is a temp solution so I can continue working on the app
2022-11-20 00:34:09 +02:00
Evangelos Paterakis 0beed5a0fc
fix: notification image should be of actual issuer 2022-11-18 04:00:21 +02:00
Evangelos Paterakis 3d86d43d08
feat: notification badges 2022-11-18 03:59:47 +02:00
Evangelos Paterakis 4b41ac1c3f
feat: open profile on name click 2022-11-17 22:35:01 +02:00
Evangelos Paterakis a207be3597
fix: emojis of status in timeline 2022-11-17 22:31:13 +02:00
Evangelos Paterakis 46f591c232
feat: partial emoji support 2022-11-17 20:32:26 +02:00
Evangelos Paterakis 1f22cb52d9
fix: segfault caused by toasts 2022-11-17 01:36:09 +02:00
Evangelos Paterakis 67c6095e98
feat: show feedback on login workflow errors 2022-11-17 01:18:24 +02:00
Evangelos Paterakis 7e2599ff6b
feat: rethink login workflow
it used to spawn xdg mime to set tooth://, which is not possible in sandbox or other environments. It now tries the auto-login first and lets the manual workflow be available through a button

fix: hide instead of destroying the main window
2022-11-17 01:17:42 +02:00
Evangelos Paterakis 83acceeeb8
fix: remove *all* list children
the previous loop would skip the last item
2022-11-17 01:13:22 +02:00
Evangelos Paterakis 67944b3b19
feat: Gtk.MessageDialog -> Adw.MessageDialog & enable them 2022-11-16 23:23:00 +02:00
Evangelos Paterakis 031040c629
feat: destroy main winow on account deletion and if there's no other accounts available 2022-11-16 23:21:43 +02:00
Evangelos Paterakis dde88311c2
fix: secret schema uses full handle 2022-11-16 23:20:44 +02:00
Evangelos Paterakis ee19df79fe
feat: respect OP visibility when replying
If you are replying to a DM, your reply should also be direct, same goes for the other visibilities.

chore: remove unused css
2022-11-16 15:05:02 +02:00
Sebastian Spaeth d3eb293490 Account: Simplify display name
Make the internal representation of display name always a real string,
no need for nulls here, this simplifies life a little.
2022-11-16 13:42:13 +02:00
Sebastian Spaeth 831b792af2 Application.vala: No need for gtk.init
Don't do GTK.init. it is being done implicitly by GTK application.startup.
Make sure we chain that up though.

Ref https://docs.gtk.org/gtk4/func.init.html:

    If you are using GtkApplication, you don’t have to call gtk_init() or
    gtk_init_check(); the GApplication::startup handler does it for you.

Fixes: https://github.com/spaetz/tootle/issues/4
2022-11-16 13:19:31 +02:00
Sebastian Spaeth 09ed73292b Gtk.Application -> Adw.Application
We live in Adwaita world, not GTK.
2022-11-16 13:18:34 +02:00
Sebastian Spaeth 4b4afef594 Fix preview_url 2022-11-16 13:15:36 +02:00
Max Harmathy 3d6c835c09 Use reason_phrase instead of get_phrase 2022-11-16 11:47:51 +02:00
Evangelos Paterakis 305e93a9f2
feat: redesign navigation
as suggested in https://github.com/bleakgrey/tootle/issues/328

main headerbar: Home, Notifications, DMs
sidebar: Home, Local, Federated, Favs, Bookmarks, Lists

search was moved to a button on the main headerbar
2022-11-16 11:43:21 +02:00
Evangelos Paterakis 3bd79d0dc1
fix: leaflet navigation when main is not in 'Home' 2022-11-15 23:59:24 +02:00
Evangelos Paterakis 5ba32dfa83
fix: rethink stack logic
instead of appending views indefinitely (including doubles like DMs -> Search -> DMs), remove the previous view and then append (this also ensures that the previous view is always Home)

feat: add Home to the sidebar
fix: selected sidebar row
2022-11-15 17:46:34 +02:00
Evangelos Paterakis 96671a9217
fix: dont open view if already open 2022-11-15 00:38:44 +02:00
Evangelos Paterakis f4becd13df
feat: remove instance from handle on flap account info
as suggested in https://github.com/bleakgrey/tootle/issues/326
2022-11-14 12:50:22 +02:00
Evangelos Paterakis 428a7f2940
fix: don't spawn xdg-open, instead use Gtk.show_uri 2022-11-14 12:48:20 +02:00
Evangelos Paterakis 06f50c0973
fix: move artists and developers credits to about_activated 2022-11-14 12:47:51 +02:00
Evangelos Paterakis 8aa4544f3a
feat: adw aboutwindow 2022-11-13 23:03:12 +02:00
Evangelos Paterakis 5ffed3ec5f
chore: rebrand 2022-11-13 22:57:43 +02:00
Evangelos Paterakis c421949ecf
feat: change fav button icon to filled star 2022-11-13 21:07:10 +02:00
Evangelos Paterakis 5750f1fb03
fix: segfault 2022-11-13 20:02:34 +02:00