swampapp / swamp Goto Github PK
View Code? Open in Web Editor NEWNavigate your backed up data without drowning.
License: BSD 2-Clause "Simplified" License
Navigate your backed up data without drowning.
License: BSD 2-Clause "Simplified" License
Something similar to what https://github.com/rkoesters/xkcd-gtk is using:
Add a global ?
shortcut to open it perhaps.
This looks really interesting in combination with my Restic setup. However, the project didn't have any commits since about January 2023... is it still active / planned to go forward?
Some edge cases not currently handled by swamp when downloading or streaming files from the restic repo:
There's currently no way to figure out which repository is being indexed having a look at the indexer pane.
Only the preferred repository (the one selected or configured as preferred) is indexed in the background periodically.
Swamp should iterate over the list of configured repositories and index them in the background periodically, so the user has a better chance of finding the index up to date when switching repositories.
Swamp supports dark and light themes, but it doesn't react to theme changes while it's running, meaning you need to restart the app to take advantage of it.
I need to research the standard way to do it (assuming there's one), and see if Gotk3 bindings have support for it.
Tentatively for 1.0, depending on the work required, though I suspect theme changes don't happen very often and it'd be fine to ship 1.0 without it.
The indexer pane will show:
Find a way to automate Gtk UI testing/QA.
Apply for the GNOME circle.
Swamp should reach beta++/rc quality before applying
Use an OSI-approved license
Not have a contributor license agreement (CLA)
Use the GNOME platform, including GTK
Integrate with the GNOME desktop, including having an, app icon and a description and screenshots that appear in the Software app.
Have a well-designed UI which generally follows GNOME conventions (partially done, need to follow HIG closer)
https://github.com/go-flutter-desktop/go-flutter
Would you be open to PR's for a cross platform GUI that runs on all desktops and mobiles ?
The GitHub action can probably be tweaked to do this, since building and installing the package is a superset of the current CI test, which simply runs make.
GoReleaser provides an action.
The settings UI will be simple initially, with controls to:
Experiment with different implementations to emit/handle component events across the app (i.e. "file downloaded", "indexing finished", "something bad happened", etc). The topic needs further research but there are some options already being used or available.
Typical observer pattern.
No external dependencies approach to register/store/notify interested listeners. It may need to be implemented from scratch with thread safety in mind, maybe adding it to component.Component
so other components can benefit from it. Pseudo code:
// register listeners
func OnSomethingHappened(callback func()) {}
//notify something happened
notify(eventType, payoad)
Similar to what Gtk uses.
diamondburned has some apps worth reviewing.
Using something like:
I get "Returns: "swamp CLI doesn't currently support indexing repositories. Run the swamp app first..""
Looks like its failing here in that it cant find the repo that was added in Step 1 ?
https://github.com/swampapp/swamp/blob/master/cmd/swp/main.go#L215
reproduction:
# Step 1: add a restic repo
swp add-repo --preferred ./swamp/_data/restic-repo
Repository Name: test
✔ Local/Rest
✔ Repository URI: ./swamp/_data/restic-repo
Repository Password: *
Testing repository access...✅
Added!
Now you should open swamp, select the repository and manually index it.
# Step 2: search therestic repo
swp search --repo ./swamp/_data/restic-repo
🛑 swamp CLI doesn't currently support indexing repositories.
Run the swamp app first..
A hand made parser/lexer will take care of parsing transforming Swamp queries into Bluge/Bleve queries, instead of the current queries proof of concept code.
Swamp is tightly coupled to zerolog.
Create a logger internal package with the right interfaces to provide a singleton with sane defaults and decouple it.
If the index format changes, having it versioned will make it easy to figure out when we need re-indexing or a data migration.
This belongs to https://github.com/rubiojr/rindex also.
It should be possible to query the swampd daemon for the indexing status/progress.
swampd will expose read-only indexing metrics via HTTP, using a UNIX socket probably.
Files with the same bhash will not be listed by default, with a checkbox to disable the behavior.
Document the process of adding and indexing the first repository, including a GUI walkthrough:
Titel says it all. Starting Swamp gives the following error:
swamp: /lib/x86_64-linux-gnu/libc.so.6: version 'GLIBC_2.32' not found (required by swamp)
What Ubuntu version do you use?
Files can be exported from the search pane. Add the same functionality to the downloads pane.
The user should be able to cancel in-progress downloads.
Several items related to application log.
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.