GithubHelp home page GithubHelp logo

dat-ecosystem-archive / dat-desktop Goto Github PK

View Code? Open in Web Editor NEW
646.0 36.0 69.0 5.39 MB

Peer to peer data syncronization [ DEPRECATED - More info on active projects and modules at https://dat-ecosystem.org/ ]

Home Page: https://dat.foundation

License: MIT License

JavaScript 93.51% HTML 4.73% CSS 1.76%
dat electron ui

dat-desktop's Introduction

deprecated

More info on active projects and modules at dat-ecosystem.org


Dat Desktop

Peer to peer data versioning & syncronization.

"Build Status" "Standard

screenshot

Table of Content

Contributing

To run Dat Desktop in development mode:

node --version          # v12.4.0
npm install             # install dependencies
npm start               # start the application

To create binary packages run:

npm install             # install dependencies
npm run dist :os        # compile the app into an binary package

FAQ

How to speed up downloading Electron

If you’re not in Europe or the US, you might want to use a different mirror for electron. You can set the ELECTRON_MIRROR variable to point to a different provider:

# Europe / US
$ npm install

# Asia / Oceania
$ ELECTRON_MIRROR="https://npm.taobao.org/mirrors/electron/" npm install

Licenses

MIT License

Font Attribution & License

SourceSansPro-Regular.ttf: Copyright 2010, 2012 Adobe Systems Incorporated (http://www.adobe.com/), with Reserved Font Name 'Source'. All Rights Reserved. Source is a trademark of Adobe Systems Incorporated in the United States and/or other countries. SIL Open Font License, 1.1

SourceCodePro-Regular.ttf: Copyright 2010, 2012 Adobe Systems Incorporated. All Rights Reserved. SIL Open Font License, 1.1

dat-desktop's People

Contributors

aeriform-io avatar aks- avatar atuyl avatar clkao avatar dkastl avatar jakeburden avatar joehand avatar juliangruber avatar karissa avatar kriesse avatar mafintosh avatar martinheidegger avatar max-mapper avatar mojoaxel avatar neauoire avatar ninabreznik avatar okdistribute avatar ralphtheninja avatar sirrujak avatar soyuka avatar sreechandan avatar tgfjt avatar yoshuawuyts avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dat-desktop's Issues

crash reporting

using crashpad

  • priority is catching application bugs, not electron hard crashes. so if hypercore for example throws an exception we should grab the stacktrace and send it to our crash reporting endpoint
  • if we can do electron app crash reporting thats a bonus

todos

  • create crash reporting service (repo)
  • deploy crash reporting service
  • make dat-desktop phone home when it crashes

(edited by @yoshuawuyts)

move to datproject?

I think it is almost time to move this to datproject/ and focus on it hard! would love to also chat about priorities for the desktop app and see what's needed to take it next level! Happy to help code with you on the next sprint, too

sync folder contents

watch the file system and keep the archive updated, so we support live updates here too

Add Menu Icon + Dropdown

for now, including

  • account placeholder
  • software author & twitter
  • submit issue
  • version
  • "Built with 🐈 by Dat"

[feature] publishing from dat-desktop

Based on our call the other night, open to changes but this is what we felt like was an acceptable tradeoff of features vs shipping things quickly

V1 Desktop Publish Flow

  1. User installs desktop app, opens it, signs up for account
  2. They can create a dat, it creates it locally, including a keypair
  3. Nothing happens on a server until they 'publish', at that point it hits our dat-push endpoint and they see their data uploading to our google server
  4. Then when the push completes, they update their auth0 user account profile to have that dat listed as published
  5. They can also pick a short/pretty url for that dat when they create/publish it in the desktop app
    then we someone goes to that short url, the server looks up the profile corresponding to that short url, gets the dat from the profile, and uses hyperdrive to fetch metadata and render the dat.land page view for that dat
  6. If they delete their app and lose their key they wont be able to update the dat for now

App Icons

Create App Icons and other assets needed

show replication status as progress bar

from https://blog.dcpos.ch/how-to-make-your-electron-app-sexy:

const win = new electron.BrowserWindow(...)

// When work makes progress, show the progress bar
function onProgress (progess) {
  // Use values 0 to 1, or -1 to hide the progress bar
  win.setProgressBar(progress || -1) // Progress bar works on all platforms
}

// When work completes while the app is in the background, show a badge
var numDoneInBackground = 0
function onDone () {
  var dock = electron.app.dock // Badge works only on Mac
  if (!dock || win.isFocused()) return
  numDoneInBackground++
  dock.setBadge('' + numDoneInBackground)
}

// Subscribe to the window focus event. When that happens, hide the badge
function onFocus () {
  numDoneInBackground = 0
  dock.setBadge('')
}

tons of memory!

screen shot 2016-09-22 at 2 29 01 pm

Downloading a 5GB dat, dat-desktop is using almost 4GB of memory

show desktop notifications

  • show a notification when a dat has finished downloading
  • show a notification when a dat is done importing (shouldn't be necessary with sleep)
  • show a notification when there is a 'new change available' (blocked by hyperdrive snapshots)
  • click notification to see which files changed and maybe view preview (blocked by hyperdrive snapshots)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.