Standard Grant: Tiri Vault

Thanks for the requested updates to your latest proposal. The committee felt your identified risks were reasonable and after review has approved this grant!

We’ll reach out to the provided email address to get you onboarded for this new work. Since you’ve previously received funding from us it should be a fairly quick process. Congrats and speak soon!

1 Like

Wow, thanks for the support! Looking forward to deliver!

October Progress Report

What progress was made on your grant this month?

We have developed a base Tiri desktop application and implemented in it Tiri browser extension features - now you can log in with your existing SIA wallet or make a new wallet. When logged into the application you can see a “sync” menu where you can choose a directory on your local disk that will be synced with your private SIA storage.

Summarize any problems that you ran into this month and how you’ll be solving them.

The main task for now is to refactor the interaction with sia-worker for file handling. This is necessary because the Tiri browser includes a web-extension worker, but now it’s becoming a regular one. We have already implemented this in the authorization code, and now file handling is in process.

Links to repos worked on this month:
Tiri desktop
The current version of the executable file (for Windows) is here

What will you be working on next?

Our plan for next two weeks is to finish with files uploading from the chosen local folger to the SIA storage (including encryption).

Sorry, the link to the exe file is not working and I can’t correct my post. So, if you don’t want to build it yourself, here’s the correct link.

Hello @dsrdrk11a

Thank you for your progress report!

Regards,
Kino on behalf of the Sia Foundation and Grants Committee

November Progress Report

What progress was made on your grant this month?

  • We have adopted all file handling functionality available in the Tiri browser extension, and added a “File” menu section for browsing the SIA storage.
  • In the “Sync” menu section we have implemented scanning of the chosen directory for folders and files structure, and building up a “tree model” populated with files checksums and modification times for comparison with similar data in the SIA storage for synchronisation.
  • We’ve added API points on the Tiri backend to store and retrieve “tree model” data.

Currently, the “Sync” menu section performs replication of the local structure to the SIA storage.

Summarize any problems that you ran into this month and how you’ll be solving them.

We have encountered several challenges that, unfortunately, took longer to resolve than we had planned, so we are slightly behind schedule.
There were several issues causing the upload to fail: it happened at the “weak point” of the project - streaming uploads, which are very sensitive to conditions. Preliminary research suggested that this should work in Electron.js as it uses the Chromium engine, but it didn’t. The issue turned out not to be with fetch, but a step earlier: the worker responsible for encryption wasn’t providing correct data for fetch. We had to further rework the interaction with the sia-worker to function smoothly with Electron’s production mode.

We plan to fix the timeline in Dec-Jan, where additional time has been allocated for holidays and potential risks.

Links to repos worked on this month:
Tiri desktop
Tiri gateway
The current version of the executable file (for Windows) is here: TiriVD-Setup-v.0.2.1.exe

What will you be working on next?

Our plan for the next month is to proceed to the 2nd milestone and start implementing WebSocket Server and SIA Storage Change Tracking.

Hello,

Thank you for your progress report!

Regards,
Kino on behalf of the Sia Foundation and Grants Committee

December Progress Report

What progress was made on your grant this month?

  • We have created a WebSocket server to receive information about changes in folders/files in the SIA storage;
  • We have implemented changes tracking in the SIA storage. Changes in the SIA storage are synchronized with the local app using the WebSocket server. Received data is decrypted with the user’s key and saved to the local disk to the chosen folder.

Currently the “Sync” section in the app shows the synchronisation process and the “Files” section shows all current files in the local folder. This “Files” menu section is only used for testing purposes and more likely to be removed on the 3rd Milestone.

Summarize any problems that you ran into this month and how you’ll be solving them.

We have encountered several issues with our web-socket server, as spdy-server (needed for HTTP/2 and “duplex:half”) had conflicts with NestJS WebSocketGateway, so first of all we had to run two http-servers - the second one for WebSockets on a separate port. But finally we have found the right solution and implemented a single server.
Also, to speed up the process and return to the timeline specified in the application, we have implemented the 2nd Milestone functionality without a multiuser feature, so currently synchronisation works in both ways, but only for the first wallet logged into the desktop application. If a test user will switch to another wallet, he will encounter errors. These bugs will be fixed in January.

Links to repos worked on this month:
Tiri desktop
Tiri gateway
The current version of the executable file (for Windows) is here: TiriVD-Setup-v.0.2.2.exe

What will you be working on next?

Our plan for the next month is to fix multiuser issues and then proceed to Milestone 3 - UI development.

Hello,

Thank you for your progress report!

Regards,
Kino on behalf of the Sia Foundation and Grants Committee

January Progress Report

What progress was made on your grant this month?

  • We have fixed multiuser functionality, so now different users can sync different folder on one device; A lot of work was made on bug fixing and features improvement like working in “tray mode”, fixing storage limit processing or font styles for non-latin names in a synced folder.
  • We have developed a Tiri styled UI for the app and started to implement it.

Summarize any problems that you ran into this month and how you’ll be solving them.

We didn’t encounter any difficulties in January. Only national NY and Xmas holidays, that have slightly slowed the process :grinning:

Links to repos worked on this month:
Tiri desktop

The current version of the executable file (for Windows) is here: TiriVD-Setup-v.0.2.3.exe

What will you be working on next?

Our plan for the next month is to finish with the UI and fix all minor/UX issues that we have already encountered (e.g. deleting full local data upon uninstall), as well as to run user tests in the test net to find problems with workflows or bugs.

Hey @dsrdrk11a, please submit your progress report for February. Thanks!

Yes, sorry for being late. Looks like there are some issues with v.2.0.0 renterd, as we can not sync it in zen testnet for a few days - hosts are not completing scans. And the app currently gives a sync error, so I couldn’t test the last changes. It will be ok as soon our renterd will get contracts.

February Progress Report

What progress was made on your grant this month?

  • First of all, we have set a Tiri styled UI.
  • Improved app install/uninstall/upgrade processes. Upgrade process now correctly handles the already running instance of the app and all user data is deleted for security reasons upon uninstall.
  • A lot of work was done on handling user’s subscriptions. They have become more stable and fail-proof (several bugs were discovered and fixed).

Summarize any problems that you ran into this month and how you’ll be solving them.

  • Improving install/uninstall/upgrade processes required research on best practices with the NSIS installer (which is used by the electron-builder toolkit).
  • Invoicing with a third-party solution (Lago) seems to be quite complicated if we are talking about non standard pricing. So, it took some time to fix a few bugs in the previous version and we should think of changing this part of the solution to a self-developed in future.

Links to repos worked on this month:
Tiri desktop
Tiri gateway

The current version of the executable file (for Windows) is here: TiriVD-Setup-v.0.2.4.exe

What will you be working on next?

Our plan for the next month is to proceed with tuning of synchronisation algorithms, add a simple wallet functionality to the desktop app and deploy to the main net.

Thanks @dsrdrk11a, under “Repos worked on this month” your listed repos have not been updated in 4 and 10 months respectively. Please provide updated repos or push your code to those public locations.

Oh, sorry, wrong branches. I can’t correct the comment already, so here’re these repos:
Links to repos worked on this month:
Tiri desktop
Tiri gateway

Thanks! One of our devs informed me I should branches and I see them now.

March Progress Report

What progress was made on your grant this month?

  • First of all, we have redeveloped the Tiri Relay according to the renterd V.2.0 release. The synchronization is working both ways.
  • Added a simple wallet feature to the Tiri desktop app to manage SC asset.
  • Fixed several sync issues (e.g. correct order of checking for subscription and synchronization).

Summarize any problems that you ran into this month and how you’ll be solving them.

  • The V.2.0 release was a tough one, to be honest. A lack of documentation and migration how-tos made us to manually test and find what has to be redeveloped.
  • Network problems after the V2 hardfork have also slowed down our progress, since there was no way to test the result periodically. For this reason, the wallet section in the Tiri App may still have functionality bugs, which we will fix asap.

Links to repos worked on this month:
Tiri desktop
Tiri gateway - now we call it Tiri Relay

The current version of the executable file (for Windows) is here: TiriVD-Setup-v.0.2.5.exe

What will you be working on next?

As we have managed the V2 transition in March, all undone tasks are moving to April:

  • fix bugs within the wallet functionality (after the Zen testnet will become fully operational due the hard fork);
  • fix all known and undone bugs with synchronization (e.g. sync order in case of low space, sync of a new folder with existing uploaded files from another folder, sync restart, etc.).
  • the mainnet deployment will be left for after the hard fork period.
  • also we look for an opportunity to add passwords and notes storage in a form of a smart contract in a separate network (like we did in our PoC Rubeus Keeper) and use our Tiri Relay as an abstraction layer. Later we plan to use the same schema for sharing encrypted documents stored in the SIA network and for subscription payments with TIRI tokens from anther network (like atomic swaps).

Hello,

Thank you for your progress report!

Regards,
Kino on behalf of the Sia Foundation and Grants Committee

Hello @dsrdrk11a,

This is a reminder that your April progress report is now late.

Progress reports are expected to be posted by the end of the 2nd day of the next month, in this instance your April progress report was due on May 2nd.

Please be sure to follow the Progress Report Template and submit your progress report so we may continue funding your grant.

Regards,
Kino on behalf of the Sia Foundation and Grants Committee

Hello. My apologizes, national holidays weeks)

April Progress Report

What progress was made on your grant this month?

  • we have fixed all known and undone bugs with synchronization (e.g. sync order in case of low space, sync of a new folder with existing uploaded files from another folder, sync restart, etc.) and successfully tested multi device and multi folders synchronization - files changed on one device are successfully updated on another in real time and changing synchronization folder also correctly updates all files even if there’s a mess - some new files, some old unupdated and etc.
  • while testing multi device access we have found and corrected a bug with files encryption - now only the local seed is used as an encryption key both for files and the FileTree.
  • Here’s also the Tiri Vault project Light Paper

Summarize any problems that you ran into this month and how you’ll be solving them.

  • We still experience problens with fullt functional testing as the Zen test net is not operational yet. Testing the wallet functionality and paid tariffs is still not possible.

Links to repos worked on this month:
Tiri desktop branch 1
Tiri desktop branch 2
Tiri desktop branch 3
Tiri gateway branch 1
Tiri gateway branch 2

The current version of the executable file (for Windows) is here: TiriVD-Setup-v.0.2.6.exe

What will you be working on next?

  • fully test the wallet functionality and switching between tariffs after the Zen testnet will become fully operational;
  • the mainnet deployment after the hard fork period.
  • also we look for an opportunity to add passwords and notes storage in a form of a smart contract in a separate network (like we did in our PoC Rubeus Keeper) and use our Tiri Relay as an abstraction layer. Later we plan to use the same schema for sharing encrypted documents stored in the SIA network and for subscription payments with TIRI tokens from anther network (like atomic swaps).

@dsrdrk11a Just a quick note that we’re sending to all current grantees.

When submitting progress reports, especially ones that contain work towards your milestones, development work must be easy to access and review. Please directly link to work done, and if that report says “support added for feature x”, please link either to a branch or to a commit range showing the diff for that feature.

Moving forward, we will be assuming that progress that is not linked to directly was not made.