[GH-ISSUE #119] Development status of this project #83

Closed
opened 2026-02-25 23:33:24 +03:00 by kerem · 12 comments
Owner

Originally created by @helmut72 on GitHub (Nov 5, 2018).
Original GitHub issue: https://github.com/go-shiori/shiori/issues/119

No changes since July.

Originally created by @helmut72 on GitHub (Nov 5, 2018). Original GitHub issue: https://github.com/go-shiori/shiori/issues/119 No changes since July.
kerem closed this issue 2026-02-25 23:33:24 +03:00
Author
Owner

@RadhiFadlillah commented on GitHub (Nov 17, 2018):

Hi @helmut72.

Unfortunately, I've been busy with my work, so I haven't got the time to update this project. I also doubt I would update it anytime soon.

If anyone interested to maintain this project, feels free to mention me in this issue, and I will add you as collaborator.

<!-- gh-comment-id:439622895 --> @RadhiFadlillah commented on GitHub (Nov 17, 2018): Hi @helmut72. Unfortunately, I've been busy with my work, so I haven't got the time to update this project. I also doubt I would update it anytime soon. If anyone interested to maintain this project, feels free to mention me in this issue, and I will add you as collaborator.
Author
Owner

@techknowlogick commented on GitHub (Feb 26, 2019):

I just want to say I really appreciate all the work you've done. As I've noticed things have slowed down in this repo, I had some changes that I wanted to make for myself and so I have made a lot of changes in a fork.

To sum up some of the changes:

  • Switched to using XORM to be able to handle multiple DB types (so MySQL, PostgreSQL, MSSQL, and more!)
  • Using go mod, to handle go dependencies (no more git submodules)
  • Using npm to handle JS/CSS/Font dependencies (now the files don't need to be stored in the repo, only package.json)
  • Using parcel as a build tool to pack all the frontend dependencies together
  • With parcel & npm I have Vue set to use production mode
  • Building binaries for many additional platforms (including macOS, and arm)
  • provide compressed version of binaries
  • provide sha256 hashes of releases
  • Setup a GitHub bot to ensure that dependencies stay up to date
  • Added makefile to make some repeated commands that I use for development easier to remember
  • Some security enhancements
  • Switch from vfsgen to packr2 for embedding assets into binary
  • Merged in some of the open PRs against this repo into the fork to use their enhancement
  • Switch from travis-ci to Drone (I am unsure about the future of Travis due to their recent acquisition and firing of many of their staff)
  • and a lot more enhancements

Sadly due to some of my changes I can't make PRs against this repo with them.

<!-- gh-comment-id:467264198 --> @techknowlogick commented on GitHub (Feb 26, 2019): I just want to say I really appreciate all the work you've done. As I've noticed things have slowed down in this repo, I had some changes that I wanted to make for myself and so I have made a lot of changes in a fork. To sum up some of the changes: * Switched to using XORM to be able to handle multiple DB types (so MySQL, PostgreSQL, MSSQL, and more!) * Using go mod, to handle go dependencies (no more git submodules) * Using npm to handle JS/CSS/Font dependencies (now the files don't need to be stored in the repo, only package.json) * Using parcel as a build tool to pack all the frontend dependencies together * With parcel & npm I have Vue set to use production mode * Building binaries for many additional platforms (including macOS, and arm) * provide compressed version of binaries * provide sha256 hashes of releases * Setup a GitHub bot to ensure that dependencies stay up to date * Added makefile to make some repeated commands that I use for development easier to remember * Some security enhancements * Switch from vfsgen to packr2 for embedding assets into binary * Merged in some of the open PRs against this repo into the fork to use their enhancement * Switch from travis-ci to Drone (I am unsure about the future of Travis due to their recent acquisition and firing of many of their staff) * and a lot more enhancements Sadly due to some of my changes I can't make PRs against this repo with them.
Author
Owner

@RadhiFadlillah commented on GitHub (Feb 26, 2019):

Hi guys, sorry for late responses.

I've been busy for the last few months and haven't got the time to work on this project. At my job, I was tasked to build a GUI desktop application, so I've been busy working on QML binding for Go. This is why even though I haven't working on shiori, I still active on GitHub.

Fortunately my job and that binding is quite stable to use now, so I could work in this project again. And thanks to my job, I've learned several new tricks which hopefully could be useful for shiori.

In fact, since the last week I've been working on go-readability, which is used by shiori to parse an article from URL. It's totally rewritten following Readability.js by Mozilla.

Unfortunately, since it's written from scratch, the API is not compatible with previous version. The good news, since it's written line by line following Readability.js, all websites that parse-able by Readability.js is also parse-able by go-readability. It means, if Firefox can generate reader mode for an URL, go-readability (and in turn, the future shiori) will be able to do it as well.

Right now, go-readability is already catched up to Readability.js, so for now I will add some unit test for go-readability, then I will start working on shiori again.


@techknowlogick thanks for forking this project 😃. It's understandable that you can't create the PR, especially since you've added so many improvements. If you don't mind, once I'm working on shiori again, I will cherry-picks some of your improvements, especially those that related to front-end since I'm quite lacking on that part.

<!-- gh-comment-id:467273449 --> @RadhiFadlillah commented on GitHub (Feb 26, 2019): Hi guys, sorry for late responses. I've been busy for the last few months and haven't got the time to work on this project. At my job, I was tasked to build a GUI desktop application, so I've been busy working on [QML binding](https://github.com/RadhiFadlillah/qamel) for Go. This is why even though I haven't working on `shiori`, I still active on GitHub. Fortunately my job and that binding is quite stable to use now, so I could work in this project again. And thanks to my job, I've learned several new tricks which hopefully could be useful for `shiori`. In fact, since the last week I've been working on [`go-readability`](https://github.com/go-shiori/go-readability), which is used by `shiori` to parse an article from URL. It's totally rewritten following [Readability.js](https://github.com/mozilla/readability) by Mozilla. Unfortunately, since it's written from scratch, the API is not compatible with previous version. The good news, since it's written line by line following Readability.js, all websites that parse-able by Readability.js is also parse-able by `go-readability`. It means, if Firefox can generate reader mode for an URL, `go-readability` (and in turn, the future `shiori`) will be able to do it as well. Right now, `go-readability` is already catched up to Readability.js, so for now I will add some unit test for `go-readability`, then I will start working on `shiori` again. --- @techknowlogick thanks for forking this project :smiley:. It's understandable that you can't create the PR, especially since you've added *so many* improvements. If you don't mind, once I'm working on `shiori` again, I will cherry-picks some of your improvements, especially those that related to front-end since I'm quite lacking on that part.
Author
Owner

@techknowlogick commented on GitHub (Feb 28, 2019):

That is very exciting @RadhiFadlillah. Please cherry pick anything you can. If you have any questions about what I've done please don't hesitate to ask. I'd love to contribute back to this project, and so I'd be able to assist with maintenance tasks such as PR reviews, etc..

<!-- gh-comment-id:468416294 --> @techknowlogick commented on GitHub (Feb 28, 2019): That is very exciting @RadhiFadlillah. Please cherry pick anything you can. If you have any questions about what I've done please don't hesitate to ask. I'd love to contribute back to this project, and so I'd be able to assist with maintenance tasks such as PR reviews, etc..
Author
Owner

@sascha-andres commented on GitHub (Jul 26, 2019):

@RadhiFadlillah some news on your ability to put in some work into shiori again?

<!-- gh-comment-id:515312477 --> @sascha-andres commented on GitHub (Jul 26, 2019): @RadhiFadlillah some news on your ability to put in some work into shiori again?
Author
Owner

@RadhiFadlillah commented on GitHub (Aug 3, 2019):

Sorry for late update.

I've done some work in the ramadhan branch (since I start working on it again since I've got vacation in Ramadhan season), but in July I go back to my job so development kind of halted a bit. However, I'm still working on this project.

Admittedly, the progress is really slow, especially since my job is more focused on GUI app (which give birth to qamel). Fortunately, I think most of the stuff that needed for new release already committed in ramadhan branch, so there are just several more stuff that must be done before it merged into master branch.

What's new in ramadhan branch :

  • Uses Go module since it's became standard in Go.
  • Restructure project's layout following the recommendation.
  • Major update with go-readability. Now it closely follows code in Readability.js, which means it now as accurate as Firefox reader mode.
  • If the article doesn't have any hero image, now it will uses the favicon.
  • Better(?) log in cli. For example, while batch updating, now we know which bookmark that fail to update.
  • Removal of account cmd. Before, on fresh install, to access web interface we need to manually register account. This is quite annoying, especially if we are using Docker. Now, on fresh install, we can just login using default password and account.
  • Now insert or update bookmark won't be stopped if the URL can't be reached. This is useful if the website is offline or can only accessed privately.
  • Now shiori also archive the website. Before, shiori only saves the output of go-readability, which usually not really good. Now, shiori when requested will archive the bookmarked page with its entire resource.
  • Minor improvements in cli, which I forgot the detail.

In front-end side, there are several changes :

  • Now Vue.js doesn't uses development mode in production.
  • Now we uses several ES6 features like JS module and arrow function. The module one is especially nice, which let me emulate .vue file without using JS bundler.
  • For REST API, now we uses fetch which doesn't require external libraries like axios.js before.
  • Uses history state so back and forward button works properly.
  • Several CSS change. Variable and grid is really nice. No, seriously, grid is really awesome.
  • In Firefox for Android, previously the address bar is not gone while scrolling. It's fixed now.
  • Several UI change especially in mobile, which hopefully make the UX better.

What I want to do now is :

  • Show archival result via web interface.
  • Create web extension for easier bookmarking.
  • Add MySQL supports. This one is quite low in my priority though.

While there are not that many stuff that needed to be done, the progress will be a bit slow since job is quite busy.

<!-- gh-comment-id:517925661 --> @RadhiFadlillah commented on GitHub (Aug 3, 2019): Sorry for late update. I've done some work in the `ramadhan` branch (since I start working on it again since I've got vacation in Ramadhan season), but in July I go back to my job so development kind of halted a bit. However, I'm still working on this project. Admittedly, the progress is really slow, especially since my job is more focused on GUI app (which give birth to [`qamel`](https://github.com/RadhiFadlillah/qamel)). Fortunately, I think most of the stuff that needed for new release already committed in `ramadhan` branch, so there are just several more stuff that must be done before it merged into master branch. What's new in `ramadhan` branch : - Uses Go module since it's became standard in Go. - Restructure project's layout following the recommendation. - Major update with `go-readability`. Now it closely follows code in `Readability.js`, which means it now as accurate as Firefox reader mode. - If the article doesn't have any hero image, now it will uses the favicon. - Better(?) log in cli. For example, while batch updating, now we know which bookmark that fail to update. - Removal of `account` cmd. Before, on fresh install, to access web interface we need to manually register account. This is quite annoying, especially if we are using Docker. Now, on fresh install, we can just login using default password and account. - Now insert or update bookmark won't be stopped if the URL can't be reached. This is useful if the website is offline or can only accessed privately. - Now `shiori` also archive the website. Before, `shiori` only saves the output of `go-readability`, which usually not really good. Now, `shiori` when requested will archive the bookmarked page with its entire resource. - Minor improvements in cli, which I forgot the detail. In front-end side, there are several changes : - Now Vue.js doesn't uses development mode in production. - Now we uses several ES6 features like JS module and arrow function. The module one is especially nice, which let me emulate `.vue` file without using JS bundler. - For REST API, now we uses `fetch` which doesn't require external libraries like `axios.js` before. - Uses history state so back and forward button works properly. - Several CSS change. Variable and grid is really nice. No, seriously, grid is really awesome. - In Firefox for Android, previously the address bar is not gone while scrolling. It's fixed now. - Several UI change especially in mobile, which hopefully make the UX better. What I want to do now is : - Show archival result via web interface. - Create web extension for easier bookmarking. - Add MySQL supports. This one is quite low in my priority though. While there are not that many stuff that needed to be done, the progress will be a bit slow since job is quite busy.
Author
Owner

@jtagcat commented on GitHub (Sep 1, 2019):

I'd give somebody write access, to help you, for example @techknowlogick would be a fit.

<!-- gh-comment-id:526900973 --> @jtagcat commented on GitHub (Sep 1, 2019): I'd give somebody write access, to help you, for example @techknowlogick would be a fit.
Author
Owner

@Johennes commented on GitHub (Sep 14, 2019):

In case anyone else was searching for the "default" account on the ramadhan branch:

	if len(accounts) == 0 && request.Username == "shiori" && request.Password == "gopher" {
		genSession(model.Account{
			Username: "shiori",
			Owner:    true,
		}, time.Hour)
		return
	}
<!-- gh-comment-id:531504921 --> @Johennes commented on GitHub (Sep 14, 2019): In case anyone else was searching for the "default" account on the `ramadhan` branch: ``` if len(accounts) == 0 && request.Username == "shiori" && request.Password == "gopher" { genSession(model.Account{ Username: "shiori", Owner: true, }, time.Hour) return } ```
Author
Owner

@insidesmart commented on GitHub (Sep 17, 2019):

Thanks for merging the ramadhan branch to master with new features. Awesome work @RadhiFadlillah .

<!-- gh-comment-id:532235271 --> @insidesmart commented on GitHub (Sep 17, 2019): Thanks for merging the ramadhan branch to master with new features. Awesome work @RadhiFadlillah .
Author
Owner

@RadhiFadlillah commented on GitHub (Sep 18, 2019):

@insidesmart thanks for the kind words :)

@Johennes yep I forgot to put it in documentation, will do it ASAP

<!-- gh-comment-id:532473589 --> @RadhiFadlillah commented on GitHub (Sep 18, 2019): @insidesmart thanks for the kind words :) @Johennes yep I forgot to put it in documentation, will do it ASAP
Author
Owner

@ekianjo commented on GitHub (Apr 20, 2020):

@RadhiFadlillah I hope you are doing fine - can you comment on when you plan to do a next release?

<!-- gh-comment-id:616311898 --> @ekianjo commented on GitHub (Apr 20, 2020): @RadhiFadlillah I hope you are doing fine - can you comment on when you plan to do a next release?
Author
Owner

@RadhiFadlillah commented on GitHub (Apr 24, 2020):

@ekianjo sorry for late reply.

First of all, I can assure you that I'm still working on Shiori. I've made several improvements to go-readability mostly to fix issues where lazy-loaded image doesn't detected. I also create a new package for archiving web page called obelisk which is way better than the current warc package that used by Shiori right now.

Unfortunately, I'm not sure when I could put a new release. There are still several issues that I want to fix or implement before creating a new release, some of them are :

  • Add supports for inserting annotations or notes to archived article.
  • Sanitize the error message.
  • Improve the web extensions.
  • Since I'm planning to change the archival method, I have to make sure the database is compatible or at least can be upgraded easily.
<!-- gh-comment-id:618911932 --> @RadhiFadlillah commented on GitHub (Apr 24, 2020): @ekianjo sorry for late reply. First of all, I can assure you that I'm still working on Shiori. I've made several improvements to [`go-readability`](https://github.com/go-shiori/go-readability) mostly to fix issues where lazy-loaded image doesn't detected. I also create a new package for archiving web page called [`obelisk`](https://github.com/go-shiori/obelisk) which is way better than the current [`warc`](https://github.com/go-shiori/warc) package that used by Shiori right now. Unfortunately, I'm not sure when I could put a new release. There are still several issues that I want to fix or implement before creating a new release, some of them are : - Add supports for inserting annotations or notes to archived article. - Sanitize the error message. - Improve the web extensions. - Since I'm planning to change the archival method, I have to make sure the database is compatible or at least can be upgraded easily.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/shiori#83
No description provided.