reactiveui / camelotia Goto Github PK
View Code? Open in Web Editor NEWCross-platform sample .NET GUI for cloud file management.
Home Page: https://www.reactiveui.net/
License: MIT License
Cross-platform sample .NET GUI for cloud file management.
Home Page: https://www.reactiveui.net/
License: MIT License
Storing tokens locally will definitely improve the UX.
Implementation Details
We could use Akavache to implement this feature. Akavache is an asynchronous, persistent key-value store that works on all platforms, including Windows, Android, iOS, Linux, OSX (without any need to take care of creating database files, choosing secure paths to store tokens, etc. really a great library)
Task List
Camelotia.Services
projectIStringCache
interface with Write
and Read
methodsAkavacheStringCache
class that implements IStringCache
Current output of Local file system that is displayed on the interface is confusing. The initial view of the file system should be of the Drives, then when drilling down through the drives the drive content should then be displayed. If there is only one drive then the root contents of that drive should be shown. This would allow removable devices to be displayed if present as well.
The current implementation starts with:
_refresh = ReactiveCommand.CreateFromTask( () => provider.Get(CurrentPath), outputScheduler: mainThread);
CurrentPath is null at start and when Get is called on the local provider it passes in "\" So the view output consists entirely of the drive that the app is run from. This excludes other drives.
I suggest that if the initial path is null, we convert that to get the drives and display those. Then when drilling down it can be from any drive. We can also look at allowing a CD/DVD drive if it is available and not exclude it entirely like I did to get rid of the exception. When I implemented that there was no way to view the drive anyway so excluding it to avoid the exception seemed like a valid solution.
This suggestion is entirely contained in the local system provider as I am not sure if the other providers would have a concept of multiple drives, and if they did the implementation would be different anyway.
Let me know if you would like this and I will provide and implementation to it that you can review.
Greg
Github providers doesn't support two-factory authentication.
Tested on 897fb96 master with Avalonia host.
It's not convenient to download the package
Adding Yandex Disk file system provider will make the application useful for people who store their files on Yandex Disk. They should be able to easily upload, download, rename and delete files hosted on Yandex servers.
Implementation Details
File browser could be implemented using Refit library to generate REST API clients for Yandex Disk API. A default .NET HTTPListener could be used to receive access code from Yandex OAuth API.
Task List
Avalonia client
Google - The OAuth client was deleted.
Yandex - First OAuth not found,
next - Failed to listen on prefix 'http://127.0.0.1:3000/' because it conflicts with an exiting registration on the machine
http=>https
This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.
These updates are currently rate-limited. Click on a checkbox below to force their creation now.
Avalonia.Desktop
, Avalonia.Diagnostics
, Avalonia.ReactiveUI
)These updates await pending status checks. To force their creation now, click the checkbox below.
These updates have all been created already. Click a checkbox below to force a retry/rebase of any.
xunit
, xunit.runner.visualstudio
).github/workflows/ci-build.yml
.github/workflows/lock.yml
dessant/lock-threads v3
build/build.csproj
Nuke.Common 8.0.0
src/Camelotia.Presentation.Avalonia/Camelotia.Presentation.Avalonia.csproj
ReactiveMarbles.ObservableEvents.SourceGenerator 1.3.1
XamlNameReferenceGenerator 1.6.1
Citrus.Avalonia 2.1.1
Avalonia.ReactiveUI 11.0.11
Avalonia.Desktop 11.0.11
Avalonia.Diagnostics 11.0.11
src/Camelotia.Presentation.Uwp/Camelotia.Presentation.Uwp.csproj
ReactiveMarbles.ObservableEvents.SourceGenerator 1.3.1
ReactiveUI.Uwp 18.4.1
ReactiveUI 18.4.44
Microsoft.NETCore.UniversalWindowsPlatform 6.2.14
src/Camelotia.Presentation.Wpf/Camelotia.Presentation.Wpf.csproj
ReactiveMarbles.ObservableEvents.SourceGenerator 1.3.1
ReactiveUI.WPF 18.4.44
MaterialDesignThemes.MahApps 3.1.0
MaterialDesignThemes 5.1.0
MaterialDesignColors 3.1.0
MahApps.Metro 2.4.10
src/Camelotia.Presentation.Xamarin.Android/Camelotia.Presentation.Xamarin.Droid.csproj
Xamarin.Android.Support.v7.AppCompat 28.0.0.3
Xamarin.Android.Support.Compat 28.0.0.3
System.Threading.Tasks.Extensions 4.5.4
Xamarin.Plugin.FilePicker 2.1.41
ReactiveUI.XamForms 18.4.44
src/Camelotia.Presentation.Xamarin/Camelotia.Presentation.Xamarin.csproj
ReactiveMarbles.ObservableEvents.SourceGenerator 1.3.1
Xam.Plugin.Iconize.FontAwesome 3.5.0.129
Xamarin.Forms 5.0.0.2662
ReactiveUI.XamForms 18.4.44
src/Camelotia.Presentation/Camelotia.Presentation.csproj
ReactiveUI.Validation 3.1.7
ReactiveUI.Fody 18.4.44
src/Camelotia.Services/Camelotia.Services.csproj
VkNet 1.78.0
System.Reactive 5.0.0
ssh.net 2020.0.2
Octokit 3.0.1
Google.Apis.Drive.v3 1.68.0.3428
FluentFTP 50.1.0
akavache 10.0.1
src/Camelotia.Tests/Camelotia.Tests.csproj
xunit.runner.visualstudio 2.8.1
xunit 2.8.1
NSubstitute 5.1.0
Microsoft.NET.Test.Sdk 17.10.0
FluentAssertions 6.12.0
coverlet.msbuild 6.0.2
src/Directory.build.props
Roslynator.Analyzers 4.12.4
stylecop.analyzers 1.2.0-beta.556
Can not complie successfully, neither cmd nor visualstudio
Follow the instruction of readme
git clone https://github.com/worldbeater/Camelotia
cd ./Camelotia && powershell -ExecutionPolicy Unrestricted ./build.ps1 --interactive
Error: There is no file named with 'build.ps1' in Camelotia folder.
https://github.com/reactiveui/Camelotia
Complie successfully
No response
Visual Studio 2022
windows 11
No response
No response
No response
No response
Stacktrace:
at System.IO.DriveInfo.get_AvailableFreeSpace()
at Camelotia.Services.Providers.LocalFileSystemProvider.<>c.b__29_0(DriveInfo x) in C:\Users\maxka\Source\Repos\Camelotia\Camelotia.Services\Providers\LocalFileSystemProvider.cs:line 116
at System.Linq.Enumerable.WhereSelectArrayIterator2.MoveNext() at System.Linq.Enumerable.Sum(IEnumerable
1 source)
at Camelotia.Services.Providers.LocalFileSystemProvider.GetSizeOnAllDisks() in C:\Users\maxka\Source\Repos\Camelotia\Camelotia.Services\Providers\LocalFileSystemProvider.cs:line 115
at Camelotia.Services.Providers.LocalFileSystemProvider.get_Size() in C:\Users\maxka\Source\Repos\Camelotia\Camelotia.Services\Providers\LocalFileSystemProvider.cs:line 14
at Camelotia.Presentation.ViewModels.ProviderViewModel.get_Size() in C:\Users\maxka\Source\Repos\Camelotia\Camelotia.Presentation\ViewModels\ProviderViewModel.cs:line 281
Tried to build UWP app.
Build failed, due to
XDG0008 The name "DirectAuthView" does not exist in the namespace "using:Camelotia.Presentation.Uwp.Views". Camelotia.Presentation.Uwp D:\Downloads\Camelotia-main (2)\Camelotia-main\src\Camelotia.Presentation.Uwp\Views\AuthView.xam
The 'missing' files do exist, and they all render properly in Visual Studio 22.
The Avalonia and WPF example work without any issue.
Downloaded the example
Tried to build
https://github.com/reactiveui/ReactiveUI
App should build, and display
Visual Studio 2022
Windows 11
No response
No response
No response
No response
Hi @worldbeater I make contributions to open source projects in my spare time by designing logos. For this project I have a functional and minimalist idea in my mind. I'd like to show it to you if you let me. What do you think?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.