Giter VIP home page Giter VIP logo

marcus-crane / october Goto Github PK

View Code? Open in Web Editor NEW
158.0 4.0 10.0 53.85 MB

A simple GUI for retrieving Kobo highlights and syncing them with Readwise

Home Page: https://october.utf9k.net

License: MIT License

HTML 0.25% JavaScript 31.01% CSS 0.18% Go 49.92% TypeScript 7.24% Python 0.77% NSIS 10.38% Shell 0.24%
wails gui react react-router-dom tailwindcss tailwind wails-app kobo kobo-ereader macos

october's Introduction

October logo

October

A desktop application that can send your Kobo highlights to Readwise in a couple of clicks

What is October?

A small Wails application for syncing your highlights with Readwise across Windows, macOS and Linux.

Kobo eReaders are somewhat notorious for not being user friendly to extract highlights off of. Personally I only send mine to Readwise anyway so this tool does just that in as little as two clicks.

You can learn more by browsing the official documentation website or grab the latest release to start using it.

october's People

Contributors

marcus-crane 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

october's Issues

Provide the ability to select what books to upload

The initial release of October was scoped quite small (on purpose) to be able to get something released.

Ideally users should be able to pick and choose what highlights they want to upload to Readwise (or export to their computer generally) so this is a broad issue to track this idea.

Kobo Desktop

Hello,

Tool looks promising but I was wondering, is there any support on Kobo's Desktop Reader app for Mac?

Looking forward!

Add cover upload toggle

We should make cover uploading an explicit opt in process because there are a couple steps required on the Calibre side of things to get it working. We want the user to actively engage rather than turn it on and have them find out their covers are... blue

Fallback to epub filename if title isn't present in epub metadata

re: #10, at present October will skip an entry if it doesn't have a title.

For sideloaded titles that haven't been polished up (metadata wise) using something like Calibre, we should try to send through highlights to Readwise regardless. The bare minimum we need (for grouping purposes) is a highlight and a title.

We can defer to the epub name such as Author - Title.epub, perhaps with the extension lopped off and send that. Users can then edit it in Readwise but we need to make sure that we don't overwrite the title.

Perhaps we store the ID and get the book title before firing off highlights so that a duplicate entry isn't made.

Don't look for cover images if using a local database

October may appear to take ages to sync with local DBs if you have a few books in Readwise, despite it only uploading a handful of highlights.

That's because it'll be looking for cover images, even if there isn't a device attached that would hold images so it should really just skip that step when using a local database

[CVE-2021-42836] 同学,您这个项目引入了104个开源组件,存在1个漏洞,辛苦升级一下

检测到 marcus-crane/october 一共引入了104个开源组件,存在1个漏洞

漏洞标题:GJSON 安全漏洞
缺陷组件:github.com/tidwall/[email protected]
漏洞编号:CVE-2021-42836
漏洞描述:Tidwall Gjson是Tidwall个人开发者的一个基于Go语言的用于与json格式数据进行交互的代码库。
GJSON 存在安全漏洞,该漏洞源于1.9.3之前的GJSON允许ReDoS(正则表达式拒绝服务)攻击。
影响范围:(∞, 1.9.3)
最小修复版本:1.9.3
缺陷组件引入路径:main@->github.com/tidwall/[email protected]

另外还有几个漏洞,详细报告:https://mofeisec.com/jr?p=abb9f0

Selection screen persists last Kobo upon ejection

For whatever reason, upon ejecting a Kobo, it is possible to see it in the screen. Presumably, the selection list isn't re-rendering as expected. Some of the hooks I've got probably aren't quite right.

Logging doesn't work on Windows

It seems that zerolog may have some issue running on Windows. Interestingly, it does create the proper log file but doesn't save any output.

At a guess, this may be due to the use of streaming to allow output to both the terminal and log files.

Error uploading highlights

After installing version 1.0.2, forllowing the resolution of the issue #40 , I was able to fully access my Kobo and configure october with the readwise token.

When I tried to upload the highlights I received the following error:

There was a problem sending your highlights: Received a non-200 status code from Readwise: code 400

Although I tried it, I was scared to import so many hightlights without having the control about which books to select from. That would be a great feature.

Windows 10.

Copy Kobo database to tmp directory

In order to not mess with the users Kobo, we should copy their KoboReader.sqlite file to a temp directory so that nothing corrupts if say; they pull their Kobo out of the USB port.

Add a CLI tool

Even though October is a GUI tool, it'd be neat to expose a CLI entrypoint on the side for users who don't want to spin up a GUI or automate uploading. No idea if that's possible though.

Review pre-commit hooks

As it stands, I have some pre-commit hooks with simple-git-hooks but they're not a very good developer experience so I should improve them.

Ideally, the following things are accounted for before staging:

  • Linting
  • Prettifying

and tests can be handled as a pre-commit stage. I'd like to have passing tests in master at all times ideally.

Generate a NSIS Installer for Windows

For WIndows, using a standalone exe is weird and not really how to distribute things "professionally"

Instead, we need to create an installer and generate a start menu entry to make October as handy to end users as possible.

This is a task for down the line however since at the moment, I don't even think Windows builds work

Question: Possible to execute on ereader device

Hi,

It seems that there are many devices which are wifi enabled. Would it be possible to sync notes directly to Readwise from the device rather than having to use a USB to extract the highlights and database files?

I currently use a tool called kobli which accomplishes a very similar feat, but instead of syncing to Readwise it syncs to it's own cloud area.

I would hope that it might be possible to draw upon that technology and adapt October to be used on device to improve the workflow and "liveness" of the information rather than requiring a manual step.

Double, weirdly titled books in list

When pushing highlights to readwise, I get double books, once with their title and the highlights and once with a string of characters for a title and the same highlights. (like : 7420a5e5-a596-41cc-9a4a-2fd2f0860dc4)

I can delete them in readwise but they show up again when I do another sync with October. Both bought books and documents I put on the reader directly are affected.

Binary was compiled with 'CGO_ENABLED=0' error

Hi,
after installing October on my windows 10 machine, I am able to start it and it can see my Kobo. Meanwhile, when I click on it, I receive an error saying :

Binary was compiled with 'CGO_ENABLED=0', go-sqlite3 requires cgo to work. This is a stub.

What am I missing?

Extra title fallback by checking epub meta tags

For cases where an epub doesn't have a title, I should see how expensive it is to extract information from the metatags inside the epub archive itself.

It may be that if epubs don't have DB metadata present, that this path is used heavily so the cost needs to be assessed

Create a nice DMG installer

CleanShot 2022-03-15 at 08 53 07@2x

A basic one can be added to the pipeline without too much friction using create-dmg

create-dmg --volname "October" --window-pos 200 120 --window-size 800 400 --icon-size 100 --icon "October.app" 200 190 --hide-extension "October.app" --app-drop-link 600 185 "October.dmg" .

The only catch is that the app would need to be codesigned first and Gon used in notarisation only mode against the dmg. Thankfully I've done this one time before so I have a working example.

Page numbers of the highlights

Hello,

I dont know if it is possible, but i love to see some kind of option whereby the location of the highlight (page number) is exported into readwise. So all the highlight will be in the right order.

Kind regards

Notarise macOS app

By default, the app is quarantined due to being from an "unverified" developer. To fix this, I need to sign the app with a developer certificate. Luckily I haven't an account.

Getting 400 response

Thanks for this project, it seems perfect for my needs! Unfortunately I'm getting a 400 response when I attempt to sync. Tested both the universal and amd MacOS releases.

image

The problem of duplicate book highlighting

I would like October to distinguish between the highlighting of books purchased from the bookstore and the highlighting of books uploaded to the kobo e-reader by myself. I only want to upload the highlighting of the books I have deposited in the e-reader through October, while the books purchased from the kobo bookstore are synced to readwise through the official kobo sync plugin of readwise

Possible to load an empty database

If a user selects the "Load a database" option and then cancels out of the file picker dialog, they'll still get loaded in as if they had selected a valid database

Import error: parsing time

Hai!,

When trying to import I got the error: "There was a problem sending your highlights: parsing time "" as "2006-01-02T15:04:05.000": cannot parse "" as "2006".

Any idea what this might be about?

gr.

Generate a Brew cask Formula

If users could cask install new updates instead of downloading them from Github, this would streamline the distribution process.

Location of synced highlights

Hi, thanks for October. The issue I have is that my highlights imported to readwise are completely out of order, there is no location data. Fine if there is no clickable link but just having them in order would be good. When I go onto my Kobo reader and have a look at the highlights and sort by location then they appear in order but their import order to Readwise seems to be random. Is there any way to add location data or order to the highlights?

System Details
  • Version: v1.3.1
  • Platform: darwin
  • Architecture: arm64

Split out releases to be built on their respective OSes

At the moment, everything is built on a macOS machine and then cross compiled for Windows (and eventually Linux)

It makes more sense to have three release pipelines so we can avoid having to import a bunch of dependencies needed to cross compile.

Properly surface version information both inside and outside of the application

I couldn't find a way to tell inside the app, which version of October I have currently on my windows system. The only way I found is to go to the Windows Settings \ Apps and features menu. However, it says it is installed "20/11/2022", and version is "1.0.0", while I made sure I have installed 1.1.2.

I would add the following features:

  • show the version information in the app somewhere
  • show a link to the latest releases - download page in the app
  • make sure the windows version information is reported correctly in the Apps & Features page
  • optionally: check if there is a new version, either triggered manually or automatically
  • this could be hidden under a small "?" icon

Look into using Goreleaser

It might be possible to invoke wails build with any custom flags as part of Goreleaser instead of letting to default to go build.

This would also be able to handle the signing and distribution process (ie; codesigning + Homebrew packaging)

Send Kobo covers to Readwise

I notice there is an undocumented endpoint (at least, not part of the public API) that you can post a base64 encoded image to and it'll reflect as the newly selected cover for a book.

I can just call that locally using the ID of the created/updated book. The downside here though is that if someone overrides the cover, I don't want to them re-override it with a worse cover.

Run October on a Windows install

  • Confirm that it actually works
  • Determine extra Windows packaging that would improve the application
  • Confirm where logs + config is stored for documentation
  • Confirm how/if webview is downloaded on Windows

Implement more efficient way of submitting highlights

At the moment, everything is just fired off to Readwise.

This is fine but as your Kobo highlights grow, the upload process will naturally become slower.

I was thinking that you could easily tell if a book hasn't changed (and finished books don't) by simply saving hashes for books and seeing if they've changed. We kind of need to retain what content has actually been submitted (not just number of bookmarks) since highlight positions and text annotations can change after the fact.

If they have changed then we ideally just figure out what items are new so perhaps we just hash each bookmark.

It all falls down if someone either is doing a first upload with a squillion highlights (these should be chunked to avoid rate limiting) and/or they use a new computer with a previous upload DB.

It's really cheap to make database calls but expensive (relatively speaking) to fire JSON across the web.

Add support for Kobo Sage

Hi there,

It looks like October doesn't support Sage yet. Are there any plans on adding support? If not, are there any pointers on how I can send a PR for it?

FYI, this is the error that I get when I try to select Sage -

Screen Shot 2022-09-07 at 8 05 32 AM

Would really appreciate the help here!

Code 503 while syncing highlights with readwise

Hello,

I have an issue with syncing my highlights with readwise from a Kobo Aura Edition 2 v1.

I get this error message:
"There was a problem sending your highlights: received a non-200 status code from Readwise: code 503"

I can see in the logs that the highlights have been parsed:
"highlight_count":12036,"level":"info","msg":"Successfully parsed highlights"

Can you please help me?

Regards


System Details
  • Version: v1.3.0
  • Platform: darwin
  • Architecture: amd64

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.