This commit adds integration to external image viewers and video players
to allow users to view image and video attachments.
Enbas creates a cache directory where the media is downloaded to before
opening the external program for viewing.
Users can view one or more media attachments from a single status.
Changes:
- Move InvalidListRepliesPolicyError, InvalidTimelineCategory,
InvalidStatusVisibility and InvalidStatusContentTypeError type to the
model package.
- Clean up some code in regards to the parsing of the Enum types.
- Clean up the error messages sent back to the user.
- Use colons instead of semicolons when unwrapping error messages.
- Print errors to Standard Error (os.Stderr)
Allow users to specify their preferred configuration directory by using
the top level flag (a.k.a 'global flag') --config-dir. This also
introduces the design of baking top level flags into the executor.
This commit refactors the login flow to a GTS server thanks to an update
in the official GTS documentation.
golang.org/x/oauth2 is no longer needed.
Documentation reference:
- https://docs.gotosocial.org/en/latest/api/authentication/
Add Enbas code. So far Enbas can:
- Allow the user to register the application and log into GTS on their
behalf. The scope is limited to read for now.
- Show instance details.
- Show local and remote accounts.