Commit graph

528 commits

Author SHA1 Message Date
882b6c4d0a
Minor tweaks 2023-03-01 07:51:36 +01:00
Daniel Schwarz
8ee414c83a Make _notif_timeline_generator more robust
Notifications without statuses shouldn't crash
2023-02-24 22:51:27 -05:00
Daniel Schwarz
744dc090b4 Basic support for viewing Status and Mention notifs as a timeline
Now the Goto Menu has a < Notifications > button. This will load
your Status and Mention notifications as a standard timeline
for viewing.
2023-02-24 22:19:24 -05:00
48770a3120
Merge pull request #317 from danschwarz/action_fix
Account overlay - don't allow mute/block/unfollow own account
2023-02-22 08:41:54 +01:00
Daniel Schwarz
3a72d5f261 Account overlay - don't allow mute/block/unfollow own account 2023-02-21 20:43:09 -05:00
6c5eb528ee
Add command for updating user account
fixes #314
2023-02-21 18:10:14 +01:00
635dcd38cf
Backport argparse BooleanOptionalAction 2023-02-21 18:08:30 +01:00
00baabf7aa
Store temp file when using editor to post
In case of failed posting the status is not lost and the user can
recover it and continue posting.

fixes #311
2023-02-20 19:54:47 +01:00
Daniel Schwarz
85df15f533
Implement actions for Account
Actions: un/follow, un/mute, un/block are invoked synchronously
and the Account overlay window is updated to reflect the changes.
2023-02-20 09:11:36 +01:00
Daniel Schwarz
876ad1f53d
Added framework for action buttons with "Confirm/Cancel" behavior
Buttons with confirm/cancel behavior are in place and working
TBD: implement actions when user gives confirmation.
2023-02-20 09:11:36 +01:00
Daniel Schwarz
a1490461bd
Add relationship support to Account overlay
Display relationship details such as followed_by, blocked_by,
and add buttons to un/follow, un/mute, un/block.
Buttons are nonfunctional for now
2023-02-20 09:11:34 +01:00
Daniel Schwarz
95473fcd6e
Add get_relationship method to api 2023-02-20 09:08:53 +01:00
a633f757b5
Merge pull request #312 from danschwarz/poll3
UI to vote in polls
2023-02-20 09:06:51 +01:00
4b87f7876c
Add changelog, bump version 2023-02-20 08:43:27 +01:00
Daniel Schwarz
c944863f3f Changed bookmark symbol from unicode glyph to 'b'
The glyph previously used '🠷' is interpreted with different
widths on different terminal emulators (i.e. xterm gets it wrong)
This results in visual glitches in the status detail area and
especially in the scrollbar when visible.  Changing it to a
standard ASCII 'b' fixes all these issues.
2023-02-17 09:34:57 +01:00
Daniel Schwarz
80e711a3a1 Fixed type error in vote method signature 2023-02-15 21:50:50 -05:00
Daniel Schwarz
68cadd4053 Boosted polls weren't working; this change fixes that. 2023-02-15 10:15:16 -05:00
Daniel Schwarz
a937650894 Update status detail after leaving overlay
This is currently used for poll voting; after voting in a
poll overlay, the status detail will update with the user's
vote and the new vote count when they dismiss the overlay.

As part of this change, the refresh_status_detail method now
maintains the scroll position after refresh, rather than
scrolling back to the top automatically
2023-02-14 23:16:26 -05:00
Daniel Schwarz
63bc11316b Removed unnecessary check that poll exists 2023-02-14 22:40:35 -05:00
Daniel Schwarz
b2a0bc5634 fixed method signature for vote (added list type of int) 2023-02-14 22:40:06 -05:00
Daniel Schwarz
ce34a2f05e Added api error message reporting, removed unnecessary parenthesis 2023-02-14 22:21:04 -05:00
Daniel Schwarz
41a8c33409 Removed unneeded parenthesis 2023-02-14 22:21:04 -05:00
Daniel Schwarz
ef2c35eaee Removed unneeded pareenthesis 2023-02-14 22:21:04 -05:00
Daniel Schwarz
3b67c85dfc Added styled radio buttons and checkboxes 2023-02-14 22:21:04 -05:00
3a9e4956a2
Don't break if edited_at does not exist
Introduced in mastodon 4.

fixes #309
2023-02-12 09:41:26 +01:00
Daniel Schwarz
d399eec6f5 Implement [P]oll command to view/vote on poll
Note that this change also switches some key meanings:
E -> X for View E[x]ception
P -> E for Sav[e] Timeline
to accomodate P for [P]oll
2023-02-10 21:48:42 -05:00
Daniel Schwarz
c2faa7e2b6 Add signal and code to invoke poll overlay UI
Note that this change also switches some key meanings:
E -> X for View E[x]ception
P -> E for Sav[e] Timeline
to accomodate P for [P]oll
2023-02-10 21:46:27 -05:00
Daniel Schwarz
44c8460a53 Poll view/vote functionality in an overlay 2023-02-10 21:45:15 -05:00
Daniel Schwarz
b50fb9d9fd Added vote method to api 2023-02-10 21:44:37 -05:00
ed1aea9cba
Cleanup logging, remove color 2023-02-04 09:01:56 +01:00
f52fe00d26
Pass params as dict 2023-02-04 09:01:48 +01:00
1c59facd2b
Show account of original toot instead of reblog 2023-02-03 15:03:06 +01:00
9e2b5acf49
Extract link helper 2023-02-03 15:03:05 +01:00
6a54f3dd0e
Pass account as argument 2023-02-03 15:03:05 +01:00
0e535a3fd0
Make tags a bit less verbose 2023-02-03 15:03:05 +01:00
83318ca43b
Add changelog, bump version 2023-02-03 15:03:05 +01:00
Daniel Schwarz
de7abd0b68 Strip trailing ":" off field names for consistency
Some servers add them, some don't. This makes the names
consistent before adding one trailing :
2023-02-03 15:02:47 +01:00
Daniel Schwarz
5943ebda3a Show if an account is a "bot", "locked", or "suspended" 2023-02-03 15:02:47 +01:00
Daniel Schwarz
a5d61c04a7 Account overlay is now at feature parity with toot whois command 2023-02-03 15:02:47 +01:00
Daniel Schwarz
e10fff983f Support for "account" message - load details and display overlay 2023-02-03 15:02:47 +01:00
Daniel Schwarz
7be30302dc Timeline ui support + signal for [A]ccount feature
[A] displays overlay with account details and actions
2023-02-03 15:02:47 +01:00
Daniel Schwarz
5ae6db8689 Added 'whois' API method to retrieve account by ID
More reliable and faster than retrieving by account name
tbd: is "whois" the right name for this method?
2023-02-03 15:02:47 +01:00
Daniel Schwarz
4336871e9f Move save button to top 2023-02-03 04:09:35 +01:00
9f3a54c054 Add status id to default filename 2023-02-03 04:09:35 +01:00
37b4f00f6e Use get_edit_text to avoid trimming
This method returns only the text entered, without the caption.
2023-02-03 04:09:35 +01:00
5606d95c93 Put edit box and button in list box with source
This makes it much easier to focus them, just scroll down.
2023-02-03 04:09:35 +01:00
cc1809db31 Remove splitlines, not needed
Works just as well if provided as a single Text object.
2023-02-03 04:09:35 +01:00
1b2da81d15 Inline button construction, avoid lambda 2023-02-03 04:09:35 +01:00
c7f9f06f72 Use context for writing to file 2023-02-03 04:09:35 +01:00
61990822e5 Use full words instead of abbreviations 2023-02-03 04:09:35 +01:00
Daniel Schwarz
b9a68a6132 Adds a "save" option to the so[u]rce dialog. 2023-02-03 04:09:35 +01:00
40076ab0c4
Print verified flag 2023-01-30 17:09:41 +01:00
baa5a37125
Add custom fields to status output 2023-01-30 17:04:21 +01:00
Daniel Schwarz
459937f196 --verbose and --no-color options now work with --debug logging 2023-01-29 09:32:25 +01:00
f3b90c947e
Add option to display relative datetimes 2023-01-29 09:23:57 +01:00
Daniel Schwarz
deebdf7141
Show relative datetimes in status list
Status detail pane now shows the full created_at timestamp.
2023-01-29 09:11:03 +01:00
7cada43e2f
Deduplicate code for wrapping the status details 2023-01-19 11:20:31 +01:00
b0319c43f0
Pass timeline as first argument to status
Instead of passing various attributes of timeline.
2023-01-19 11:20:31 +01:00
Norman Walsh
b8f49ef212 Support --help as the only command-line argument 2023-01-19 09:40:32 +01:00
K
4f9391f015
Fix version detection
Version check failed when the server sent something other than a number
as a version as happened on development version of the gotosocial
server.
2023-01-19 09:32:45 +01:00
Dan Schwarz
91c1b792be Status detail scrollbar feature
Uses scroll.py from https://github.com/rndusr/stig
2023-01-19 09:02:35 +01:00
Daniel Schwarz
c5b3724015
Don't focus newly posted toot
This breaks the reading flow.

fixes #188
2023-01-19 08:44:16 +01:00
08dd02d989
Bump version 2023-01-03 12:05:26 +01:00
82383cd163
Fix clear screen
It was passed more arguments than expected.
2023-01-03 11:58:49 +01:00
9e800996f1
Bump version 2023-01-02 14:45:01 +01:00
ff1374a95c
Improve formatting, remove logging 2023-01-02 14:25:39 +01:00
Daniel Schwarz
88c444c411
Highlight followed tags 2023-01-02 14:25:30 +01:00
15d377e889
Expand tests 2023-01-02 11:53:50 +01:00
a83c3520ae
Use fstrings instead of format 2023-01-02 11:53:50 +01:00
1e18f1f6d9
Make flake8 happy 2023-01-01 11:13:21 +01:00
Giuseppe Bilotta
253eea12a6 Command to browse bookmarks from the CLI 2023-01-01 11:02:00 +01:00
Daniel Schwarz
13fffd9fc1 Screen refresh after web browser invocation and exit 2023-01-01 09:04:02 +01:00
Dan Schwarz
6633b758bc Make the status detail key commands more visible
Some terminal color schemes completely eliminate the difference
between cyan and cyan-bold colors (all the base16 themes, for instance).
This change makes the key letters stand out clearly in bold white.
2023-01-01 08:59:44 +01:00
4ef866dcbe
Don't print usage on unknown command
Usage has grown pretty long and it obscures the error message.
2022-12-31 11:50:22 +01:00
2d8791e629
Remove coding directives, no longer needed 2022-12-31 09:31:32 +01:00
7be74f9240
Print if no tags are followed 2022-12-31 09:31:32 +01:00
6f9ef69277
Rename tag commands to start with tags_ 2022-12-31 09:31:32 +01:00
ce560eacc7
Make commands code a bit nicer 2022-12-31 09:31:32 +01:00
Daniel Schwarz
67b52757a4
Command line support for following hashtags (Mastodon 4+) 2022-12-31 09:02:38 +01:00
a3fa7e1e3a
Improve visibility help string 2022-12-28 09:48:44 +01:00
aa75cacbff
Rename TOOT_VISIBILITY to TOOT_POST_VISIBILITY
This makes it more in line with what's planned for environemnt
variables in the future.
2022-12-28 09:21:22 +01:00
e07be634f6
Extract code for getting default visibility 2022-12-28 09:19:25 +01:00
Lim Ding Wen
08a28bfb26
TOOT_VISIBILITY controls boost visibility
TOOT_VISIBILITY controls default boost visibility from CLI, and the boost visibility from TUI (no option to change in TUI yet)
2022-12-28 09:12:05 +01:00
Lim Ding Wen
8582c8ed62
TOOT_VISIBILITY controls default visibility 2022-12-28 09:12:05 +01:00
Lim Ding Wen
f91bfa0c62
TUI no longer mentions self when replying
This brings it more in-line with Mastodon v4's web UI.
2022-12-28 09:06:14 +01:00
Lim Ding Wen
69718f41f6
Reply to original account instead of boosting account
Affects the "replying to" TUI label, and the mention auto-generated.
This brings it more in-line with Mastodon web behaviour.
2022-12-28 09:03:11 +01:00
fa6b90a115
Tweak visibility display 2022-12-28 07:48:53 +01:00
Lim Ding Wen
064cab1988
Show visibility in TUI 2022-12-28 07:40:19 +01:00
8ffe8d281f
Fix style issues 2022-12-27 12:31:55 +01:00
f534d295c0
Make line more readable 2022-12-27 12:15:21 +01:00
69b9ab3164
Truncate long log lines unless --verbose given 2022-12-27 12:15:21 +01:00
adf3f713a6
Change bookmark key binding to avoid conflict
K is used to scroll up vim-style.
2022-12-27 12:15:21 +01:00
Daniel Schwarz
fed5574939
Add bookmark timeline and bookmarking to tui 2022-12-27 12:15:20 +01:00
ded7a0c50d
Fix flake8 errors 2022-12-27 10:56:36 +01:00
Daniel Schwarz
8595e39f4c
Hide polls and media for sensitive toots 2022-12-27 10:53:58 +01:00
Lim Ding Wen
5c98d4ac80 Show error if trying to boost unboostables in TUI 2022-12-27 09:53:11 +01:00
29ff629464
Add toot env command 2022-12-18 19:44:43 +01:00
c74d2ad916
Bump version, generate changelog 2022-12-12 13:31:15 +01:00
b4bbb41a20
Bump version, update changelog 2022-12-12 13:24:08 +01:00
02d358907c
Embrace f-strings 2022-12-12 12:47:45 +01:00
e2d89c2d85
Fix matching fully qualified account names
fixes #254
2022-12-12 12:47:45 +01:00
ef697c3bee
Show only registration date on whois
Time is not that relevant and causes noise
2022-12-12 12:47:45 +01:00
0ab0db048c
Show full language name 2022-12-11 23:26:15 +01:00
92d6c399b1
Move utils to own module 2022-12-11 23:15:07 +01:00
47be3a762a
Fix language specification
Old API docs claimed to require ISO 639-2 format, testing determines
that that ISO 639-1 is required instead.
2022-12-11 23:15:07 +01:00
c3bf0f3bb0
Enable toggling translation 2022-12-11 22:51:32 +01:00
Daniel Schwarz
be5948bac8
Added translate status feature (requires server side support) 2022-12-11 20:25:02 +01:00
f9fef1927c
Bump version, update changelog 2022-12-07 15:09:09 +01:00
3e828c05d9
Send datetimes with timezone when scheduling
This fixes this feature on Pleroma
2022-12-07 15:03:39 +01:00
d6f5728486
Don't send null parameters when posting
fixes #250
2022-12-07 15:03:39 +01:00
4f0c367995
Add post --scheduled-in option for easier scheduling 2022-12-03 15:38:19 +01:00
59b98a7f33
Improve colorize 2022-12-02 08:50:34 +01:00
0e13914fce
Add duration parsing 2022-12-01 10:20:50 +01:00
6ae2ed623a
Add test for scheduled statuses 2022-12-01 08:35:55 +01:00
d76a2ee967
Bump version, update changelog 2022-11-30 13:51:00 +01:00
de2547cfa1
Refactor post function to make it more readable 2022-11-30 12:44:20 +01:00
4ccc547830
Don't default to media URLs if no text is given 2022-11-30 08:56:10 +01:00
7b4063fddc
Remove use of deprecated status.text_url 2022-11-30 08:55:46 +01:00
e396768d15
Bump version, add changelog 2022-11-29 11:54:45 +01:00
a0353f9bbe
Remove unused imports 2022-11-29 11:07:02 +01:00
942dd36cd6
Fix tests 2022-11-29 10:08:21 +01:00
Peter Fidelman
1d26ecd489
Add zoom command to open status in scrollable popup window 2022-11-29 09:40:48 +01:00
916b4cc4bf
Extract code for printing a poll 2022-11-29 09:20:00 +01:00
Daniel Schwarz
f15310cc75
Display polls in command line status output
Also display your own votes in toot tui poll displays.
2022-11-29 09:03:19 +01:00
7b194880a0
Remove duplicate search api fn 2022-11-27 09:56:58 +01:00
ebc17e0764
Make toot instance work with localhost
Asserting the domain exists does not bring much value.
2022-11-27 09:56:04 +01:00
d308475afe
Fix key detection 2022-11-27 09:26:09 +01:00
654bc06166
Fix formatting 2022-11-24 11:21:01 +01:00
d03a329b1a
Improve print_instance 2022-11-24 11:21:01 +01:00
db6d8c6d73
Catch request errors 2022-11-24 11:21:00 +01:00
5c10479d65
Add api endpoint for fetching a single status 2022-11-24 11:21:00 +01:00
44be9fd8bb
Add api endpoint for registring an account 2022-11-24 11:20:59 +01:00
b15cb85a23
Standardize http request method parameters
This allows setting either json or data. Until now we were always using
data and this is not enough for some endpoints.
2022-11-24 11:20:59 +01:00
Nick LaForge
8c3baa704e Fix typo 2022-11-23 15:39:26 +01:00
Daniel Schwarz
9abaebdc21
Updated patch
Corrected code here
2022-11-22 07:16:27 +01:00
5aa779ef06
Bump version 2022-11-21 09:45:51 +01:00
ceedc0e448
Fix timezone to UTC when running tests
fixes #227
2022-11-21 09:06:58 +01:00
0b671be0c6
Use exisiting functon to parse datetime 2022-11-21 08:35:23 +01:00
Peter Fidelman
0d20a4878b IMPROVED VERSION: Show media attachments in the "L" list of links 2022-11-21 08:35:11 +01:00
12d682591b
Fix command descriptions 2022-11-18 08:28:15 +01:00
Giuseppe Bilotta
e171578878 Implement following/followers list retrieval 2022-11-18 08:23:12 +01:00
44a30b44d8
Add toot (un)bookmarking
fixes #204
2022-11-17 06:32:12 +01:00
ec16ba0bbf
Bump version, add changelog 2022-11-12 09:21:00 +01:00
e318581dd1
Don't break if poll doesn't have an expiry date 2022-11-12 07:55:25 +01:00
24cfa48dea
Change how toot is entered in editor
This approach allows posting lines which start with a #.
2022-11-12 07:29:08 +01:00
Lars Kellogg-Stedman
5c2f9dcf7c Add a suffix to temporary files when composing toot in an editor
This enable suffix-based configuration in your editor when editing toots.

Closes #219
2022-11-11 15:08:25 +01:00
K
89585b6761
Use v2 endpoint for account search 2022-11-09 16:46:24 +01:00
Josh Soref
67bea207cd
Spelling fixes (#215)
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2022-11-09 14:24:48 +01:00
Andy Loven
3315a87463 Local time in toot timeline 2022-11-08 07:11:26 +01:00
Evan Smith
8b274eeaa1 Normalise usernames when searching 2022-11-08 07:10:49 +01:00