Giter Site home page Giter Site logo

fibelatti / pinboard-kotlin Goto Github PK

View Code? Open in Web Editor NEW
116.0 6.0 10.0 5.5 MB

Unofficial Android client for Pinboard

Home Page: https://play.google.com/store/apps/details?id=com.fibelatti.pinboard

License: Apache License 2.0

Kotlin 100.00%
android kotlin coroutines coroutines-android dagger2 clean-architecture jetpack androidx mvvm junit5 room fts github-actions compose jetpack-compose hilt ksp

pinboard-kotlin's Introduction

Pinkt

Language License Android CI

Pinkt is an unofficial Pinboard Android client. Pinboard is a fast, no-nonsense bookmarking site for people who value privacy and speed.

Get it on Google Play Get it on IzzyOnDroid

About the project

Pinkt is a playground to study modern Android development.

Here you will find a codebase that encourages the usage of state using Kotlin Coroutines + Kotlin Flows as foundation for a pragmatic unidirectional dataflow implementation. These are some of the topics you can expect to see:

  • Material Design, including Material 3
  • Android Jetpack, including WorkManager and Room (with FTS)
  • Kotlin, Coroutines and Flows
  • DI using Hilt
  • CI with GitHub Actions

License

Copyright 2019 Filipe Belatti

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

pinboard-kotlin's People

Contributors

dependabot[bot] avatar fibelatti avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

pinboard-kotlin's Issues

Incomplete results

This is pinkt 1.14.3 installed from Google Play on a Pixel 4a, Android 11.

My pinkt results were highly incomplete; comparing with pinboard on a web browser I saw my second link, and then maybe my 10th link, etc. Pulling to refresh did not fix it. I added a new link, and then did a PTR and then everything displayed correctly.

Quick share

Currently the share to pinboard will open a screen allowing you to add tags and update the information of the bookmark.

It would be useful to also have a "quick share" option, that would allow you to add a bookmark skipping all manual input or extra steps

e.g.

regular share

  • share link select share to pinboard
  • enter tags / other details
  • save
  • be brought back to the page you wanted to bookmark

quick share

  • share a link and select quick share to pinboard

  • bookmark autosaves

  • be brought back to the page you wanted to bookmark with no other interaction

Wayback Machine Links Transformed into Original URL

Android Version 10
App Version 1.8.2

When I try and save a link (via the share menu) to an archived page at the Internet Archive Wayback Machine, it gets transformed into a link to the original URL of the archived page.

For example:
‘<https://web.archive.org/web/20111117040806/http://www.pauljoycegerman.co.uk/pronounce/index.html >’
gets turned into:
http://www.pauljoycegerman.co.uk/pronounce/index.html’.

It works as expected if I add a new link in the app and paste in the URL.

Dark theme contrast issues

When in the dark mode theme, the bottom bar in the main screen is somewhat hard to see with a number of the options being black on dark blue, compared to the add new bookmark button which is pale blue(?) on dark blue.

These black buttons seem to be carried over from the light theme.

light
light

dark
dark

Broken "search by term"?

Hi Filipe,

I noticed this search feature seems to have stopped working (fairly recently?)
"Search by term: find bookmarks that contain the term in its URL, Title or Description"

Could perhaps be a side-effect of this change in August? (or might be unrelated):
ec7283b

App still works great for saving bookmarks and looking up by tag.

Best regards,

Stuart.

Option to show more tags (or all tags)

Thanks for making this app, it's great! The limitation that it shows max 3 tags per bookmark is a bit annoying though. I wish there was a setting, either (i) to change the value to some other value than 3, or (ii) to always show all tags, no matter how many.

Feature request: change date formats

Hi Filipe, thanks for this fantastic app. It's been the best Pinboard app I've tried on Android, as a brand new Android user.

I have one feature request if you find the time - could you add a toggle to flip the month and day in the date format?

Links get shared to Pinboard before I've edited them

Hi,
Is there any way to have it not save to Pinboard before I've edited it and added the tags?

I'm auto-sharing on from Pinboard to other sites (Twitter, Facebook Page, etc) and I absolutely don't want it picking up an unedited version of the description.

Saving Duplicate Link Destroys User Data

Android Version 10
App Version 1.70

I would have expected saving a link to be a safe operation and that any existing metadata would be preserved.

However, my expectations have been thwarted, as when I save a duplicate link, any existing tags or description are heartlessly deleted.

Truncated description

When I view this bookmark in Pinkt, the description is truncated.

image

This would lead to data loss if the user edits something in the beginning of the description and saves without noticing the truncation.

Sharing intent interstitial: prompt for tags, description

Great to see an alternative for Pindroid! Thanks for putting in the work into this product, especially given the potentially uncertain future of Pinboard (no developments in a long while, author seemingly moved on to other projects).

I tag and summarize my bookmarks (the last ones are blank because I saved them with Pinkt), and when saving, I would like to see the same behavior as the Pinboard bookmarklet: be prompted to tag and describe the bookmark.

Returning to app from browser reopens last bookmark

Opening bookmarks in the external browser then returning to the app causes the browser to reopen with the selected bookmark.

What I expect to happen: The app remains on the list of bookmarks

What actually happens: The last selected bookmark is reopened in the external browser

Steps to reproduce:

  1. Set Viewing bookmarks to Use external browser
  2. Select any bookmark
  3. Return to Pinkt by using back button OR back gesture OR quitting browser

App no longer syncs with my pinboard account

Maybe a week ago I noticed that Pinkt would no longer pull in any bookmarks I made through the web UI, it showed only bookmarks I pinned via the app. I tried clearing the cache, clearing the data & the cache, and finally uninstalling & re-installing, but it still won't retrieve any bookmarks from my account. It will permit me to add bookmarks, and those show up both in the app and in the web UI.

Toggle read later in quick actions

Setting a site as read or to read is probably my most common action. Could this be quick action or be done by swiping bookmarks? Thanks.

Use selected text as description

As known from the desktop browser add-ons Pinboard Plus (Chrome) and Pinboard Pin (Firefox).

Precisely, they automatically enclose the description in blockquote tags when it's populated from the window's current selection.

Example:

image

image

Of course Pinkt is already great as it is and it's not super much extra work to manually blockquote, but it still would be a welcome addition.

It seems that increasingly Pinboarders are making use of this functionality, which makes the resulting bookmark more reader-friendly and easier to distinct what the bookmarker wrote / summarised and what has been "quoted" directly from the website.

Not being a programmer myself, I'm afraid I can't prepare a Pull-request. Also I don't know whether Android's permissions even allow such a functionality.

Support for Linkding

While Pinboard is lovely and it's good to support a longstanding privacy-centric app, there's also a close OSS competitor of Pinboard: Linkding.

I'm wondering can Pinkt be used with Linkding - given there are two versions of Pinboard APIs (and Linkding uses v2). If not, what would be the effort required to get it working?

Add support for blocking screenshots from being taken

I am aware that this is not a perfect privacy solution and there are ways around it but it would be useful to have PinKT block the ability to take screenshots.

While the risks / concerns of someone remotely taking a screenshot of PinKT on most peoples devices phone are low there are still users who may be more high risk, it is a possibility that some malware is setup to take screenshots of the recorded data and could result in issues in restrictive countries

Additionally with screenshots blocked, switching apps would result in you seeing PinKT is your list of open apps but not seeing the contents.

My suggestion would be to add a toggle allowing users to opt-in to this feature in the preferences screen.

Some apps that do that have this option if examples/comparison is needed

  • KeepassDX (always blocked)
  • Signal (allows toggling screenshot capture on or off)
  • ProtonMail (allows toggling screenshot capture on or off)
  • Aegis (allows toggling screenshot capture on or off)
  • MediLog (allows toggling screenshot capture on or off)
  • RedReader (allows toggling screenshot capture on or off)
  • Quacker & Fritter (allows toggling screenshot capture on or off)

A question about initialization

If the project is too large, there are more pages, will it cause the project to start stuck? Because there are more things to initialize, there will be a lot of things to initialize.

When sharing via browser select either Create (if URL does not exist) or Edit (if URL exists)

Thank you very much for Pinkt - I'm a big fan!

Idea 1

Currently when you Share a new site via your browser, it always Creates a new pinboard record. This is contrary to the UX used by pinboard's desktop browser scripts and means you end up with duplicate sites. Much smarter would be to first check if the URL has already been saved to decide if you should Create a new bookmark or Edit the existing one.

Idea 2

When I first installed Pinkt I though that I had to add new bookmarks from the browser (via Share ...) and then go to the app to edit them. So I thought the app UX was a bit weird and limited (I would have given it a low rating). It wasn't until much later that I discovered you can turn on an option to show the Pintk bookmark editor immediately when sharing. IMHO, this should be the default when you install the app as that's by far the most convenient, efficient and "expected" way to work. Fix the issue in Idea 1 and it's now perfect and best UX for a first time user.

How to donate?

Pinkt on Android, Pinboard Pin on Firefox and Pinboard Plus on Chromium became daily companions in the information management workflow of many power users.

While many of us aren't programmers, thus can't prepare pull-requests for bug-fixing and additional functionality, we'd still like to show gratitude for your tremendous long-standing efforts and also encourage further development. Have you got a profile on a recurrent donations platform such as Liberapay, a PayPal account, IBAN or other means to receive financial support?

Sorting appears broken

Lately I have noticed that sorting of bookmarks appears broken. Assuming that sorting is alphabetical, bookmarks don't appear in the expected order. I think this change has only been introduced recently.

incorrect bookmark count

The app shows a different bookmark count when you refresh the list. Please find the gif video of the issue attached.

screen-20220908-063908

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.