Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

State of Affairs #258

Open
newhinton opened this issue May 4, 2024 · 11 comments
Open

State of Affairs #258

newhinton opened this issue May 4, 2024 · 11 comments

Comments

@newhinton
Copy link
Owner

Hello everyone!

I am posting so that you get an overview about where i am, and where i want to go with this project.

At the moment, Round Sync is a continuation of the original rclone explorer. After that it became rcx, and not it is Round Sync.

This heritage means that there is quite a bit of older code which is not considered "best practise" by today's standards. This comes with quite a few problems, but mainly some parts are really hard to maintain.

In fact, i am mostly working around those issues, which usually means that i have to either spend a lot of time, or not fix/implement something.

This lead me to the following realization:

The current state of the app is unmaintainable

Even smaller fixes require quite a lot of work, or a rewrite of those components.

Conclusion

Any further development except security fixes and equally severe bugs like data-loss is postponed indefinitively.

This will allow me to evaluate the way into the future. This app is integral part of how i use my phone, and therefore there will be a next version.

However, i cannot say when, or in what form that will happen.

The way forward

There are two ways i currently see viable:

  1. Rewrite what needs to be rewritten
  2. Do a full rewrite of the app from scratch

Obviously both of those options are a huge undertaking, both with pro's and con's.
I have not yet finalized my decision either way, and it will be a while until i do so.

After i make a decision, i will also have to develop it. This will require loads of free time, that i currently don't have. Any support is appreciated, especially if someone wants to chime in and maintain this app!

Please let me know below what you think and your idea's for the future!

@newhinton newhinton pinned this issue May 4, 2024
@fluoriteByte
Copy link

Good luck with your efforts! I just found this app, and it looks good!

@0xNaimulHasanTaky
Copy link

Rewrite what needs to be rewritten

@bionade24
Copy link

Would you still review & merge small PRs that fix bugs in the current codebase?

@newhinton
Copy link
Owner Author

@bionade24

Sure! Though it would be limited to bugfixes.
There are also still PR's unmerged that will not be affected by my decision either way, i'm going to merge those at some point.

@jonaslomp jonaslomp mentioned this issue May 9, 2024
3 tasks
@aloni636
Copy link

@newhinton, can you elaborate on the code which needs to be overhauled? What are the main components that have to be rewritten?

@bionade24
Copy link

@newhinton, can you elaborate on the code which needs to be overhauled? What are the main components that have to be rewritten?

+1

Maybe you could use GH's projects tab for an overview? Doesn't have to be complete or anything, with incremental steps it'll have the best chance to succeed.

@newhinton
Copy link
Owner Author

@aloni636

can you elaborate on the code which needs to be overhauled? What are the main components that have to be rewritten?

Basically "everything". Some of the core classes (rclone, the "file manager") are over 2000 lines of code written in java, and a lot of ajacent code uses outdated and deprecated classes and dependencies. If i change those, i have to change so much code that depends on that, so that it basically amounts to a full rewrite. Some newer code i can reuse, but even that might need reworking since there are better ways of doing those things.

However, this allows me to extract some of the code into it's own libraries, making those things reusable.

Maybe you could use GH's projects tab for an overview? Doesn't have to be complete or anything, with incremental steps it'll have the best chance to succeed.

Maybe, i will see when i start working on that. But i guess keeping an "i am working on x" log is useful for you, so i'll try to do it regularly when i start. However, if i don't, you are welcome to ask for what i am doing, just don't expect progress or promises.

@Mondei1
Copy link

Mondei1 commented May 25, 2024

I'm not familiar with the codebase, but from what I know, a full rewrite might be the best in the long run. Like you said, it's a huge undertaking, but it might be worth it even though it would mean no stable release in the near future. I can very well imagine how heavy such a project (considering the amount of legacy) can be.

I wish you the best on hopefully continuing this awesome project one day. While I'm a total noob on mobile development you can hit me up once you start and need help ❤️

@hades
Copy link

hades commented Jun 12, 2024

I can help with maintaining/rewriting, feel free to reach out to me.

@aluo-x
Copy link

aluo-x commented Jun 16, 2024

Round-sync has been very helpful. Ultimately I found another project that supports random read/write:
RSAF

So currently this allows for mounting and streaming video from mounted drives. @DarremMolko

@DarremMolko
Copy link

Round-sync has been very helpful. Ultimately I found another project that supports random read/write: RSAF

So currently this allows for mounting and streaming video from mounted drives. @DarremMolko

Yes, I have been using RSAF for a while too, it's amazing, a dream come true.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

9 participants