Giter VIP home page Giter VIP logo

3speak-app's People

Contributors

0x0is1 avatar cyphercider avatar feruzm avatar igormuba avatar nathansenn avatar noclueps avatar olatundeee avatar sisygoboom avatar techcoderx avatar vaultec81 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

3speak-app's Issues

Roadmap

This is a work in progress roadmap. All items are planned features, currently without any specific version number or due date.

General:

  • Ability to change location of ipfs repo and disable caching or ipfs entirely options.
  • Soft storage limiter settings
  • Run app in background even if main window is closed
  • Follow user and ipfs caching pledge. Option to store all videos from an account of choice, either temporarily or permanently.

Usability:

  • Language translations
  • Choose ipfs repo location on initial app install
  • Change ipfs cache duration
  • Debug menu with version number, git commit, and other platform specific information
  • Idiomatic loading
    • Always show a user some kind of status to whether it is loading, or have encountered an error. Improves UX.

Video player:

  • Next video button
  • Video recommendations as seen in the main 3Speak site.
  • Custom offline first player at some point in the future. With support for all current features in Jwplayer (webm, HLS, mp4, etc)
  • Ability to change default gateway
  • Support for live streaming protocol when support is implemented
  • Add ability to share clearnet web link on watch page
    • Functionality for pulling ipfs only uploads across to a public web portal

Local content cacher:

  • Indexing posts from list of followers; Store orbitdb account info of following.

Account system:

  • Local private key encryption
  • Orbitdb account system
    • Create and finalize a metadata formatting for video posts.
    • Compatibility with other system
    • Account mutable file system (TMFS)
  • Ability to bind multiple accounts together in the same user profile.
  • Commenting, upvote, downvote, etc.
  • Service node account graph sync.
  • Export user profile to on file. Import user profile from file. Includes list of following, pins, etc.
  • Sync following from Hive; Determine orbitdb account addresses from Hive metadata.

Distributed communities:

  • Binding hive communities to distributed communities
  • Multi administrator support
  • Ensure no duplicate posts on hive and orbitdb community

Video uploader:

  • FFmpeg local encoding
  • Webm-vp9 option
  • Hardware acceleration option
  • Ability to add custom files such as webvtt captions.
  • Thumbnail support
  • IPFS cache wait lock. Ensure video has been cached on atleast 1 other node before proceeding to upload. Includes temporary upload acceleration servers.
  • Communities support
  • Livestreaming console

Video Metrics:

  • Ability to see view counter on video. Requires service nodes to support view tracking.
  • Video metric dashboard; (Not planning to add out of the box, future feature)

Other important notes:

Navigating to a URL

Hi,

I'm new to 3speak and trying to use the app.... I want go to go this URL https://3speak.tv/openDapp?uri=hive:theycallmedan:speak-vdvwxeha, but I can't figure out what format it has to be to use the "go to copied URL" function. What's the right format to paste there? Thanks!

When 3Speak App is Running: Web becomes super slow (needs to disable IPFS first)

Looks like when I have 3Speak App running, any web activity (eg a new browser action, like a Google search, or website button click like the click of the button to open this new issue) takes a long time, like many seconds. Every time when the web browser shows the result of my action, I receive two notifications in a row: 1) IPFS disabled, followed quickly by 2) IPFS enabled. It looks to me any web traffic (and maybe also other traffic) is halted until IPFS is disabled (which happens automatically after a new wen action from my side) after which IPFS is enabled again (which also happens automatically).

However, I don't see the disabled/enabled IPFS all the time. Though the Web experience stays very slow. Pages build-up by multiple sources takes a much longer time to a situation when I don't have the 3Speak App running.

This could have to do with how I configured my ADSL modem and my computer. I think it is set to open the required ports by default when needed by an application that I run on my computer. Since the installation of 3Speak App, I didn't configure any port forwarding in my modem and the connected router, nor did I configure additional outgoing ports. Though the 3Speak App is working.

Question: Do you guys have a recommended setup of the network?

Will Not Start On ARM Mac

I attempted to run this on an ARM(M1) mac and it failed, the following error was thrown:

> [email protected] start-main
> cross-env NODE_ENV=development run-electron -r ts-node/register src/main/index.ts

App threw an error during load
Error: No native build was found for platform=darwin arch=arm64 runtime=electron abi=98 uv=1 armv=8 libc=glibc
    at Function.load.path (/Users/rishipanthee/Desktop/3Speak-app/node_modules/node-gyp-build/index.js:56:9)
    at load (/Users/rishipanthee/Desktop/3Speak-app/node_modules/node-gyp-build/index.js:20:30)
    at Object.<anonymous> (/Users/rishipanthee/Desktop/3Speak-app/node_modules/leveldown/binding.js:1:43)
    at Module._compile (node:internal/modules/cjs/loader:1110:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1140:10)
    at Object.require.extensions.<computed> [as .js] (/Users/rishipanthee/Desktop/3Speak-app/node_modules/ts-node/src/index.ts:1608:43)
    at Module.load (node:internal/modules/cjs/loader:982:32)
    at Module._load (node:internal/modules/cjs/loader:823:12)
    at Function.c._load (node:electron/js2c/asar_bundle:5:13331)
    at Module.require (node:internal/modules/cjs/loader:1006:19)

No Content in Trending and New Channels

Content is missing in Trending and New channels, while content in my Home channel is available and updated as new content from my followers list is published. IPFS seems to be working, number of peers ranges between a few 100 to over 500. Have a IPFS plugin in my webbrowser. Not sure anymore if this was part if the initial 3Speak App deployment, or I already had this in my browser.

My environment:

  • MacBook with Catalina OSX
  • 3Speak App version .12
  • IPFS Brave Plugin v0.7.0
  • Browser: Brave (latest version: Version 1.25.72 Chromium: 91.0.4472.101 (Official Build) (x86_64))

Intel Mac build error: Digital Envelope Routines Unsupported

When attempting to build a package on Intel Mac from the latest commit on master branch, using instructions provided, the build fails:

> [email protected] package
> cross-env USE_HARD_LINKS=false NODE_OPTIONS='--max_old_space_size=8096' npm run build && electron-builder build --win --x64 --dir=build


> [email protected] build
> concurrently "npm run build-main"  "npm run build-renderer"

[0]
[0] > [email protected] build-main
[0] > webpack --config webpack/main.config.js
[0]
[1]
[1] > [email protected] build-renderer
[1] > webpack --config webpack/renderer.prod.config.js
[1]
[1] Error: error:0308010C:digital envelope routines::unsupported
[1]     at new Hash (node:internal/crypto/hash:69:19)
[1]     at Object.createHash (node:crypto:138:10)
[1]     at module.exports (/Users/username/Code/ThirdParty/3Speak-app/node_modules/webpack/lib/util/createHash.js:135:53)
[1]     at NormalModule._initBuildHash (/Users/username/Code/ThirdParty/3Speak-app/node_modules/webpack/lib/NormalModule.js:417:16)
[1]     at handleParseError (/Users/username/Code/ThirdParty/3Speak-app/node_modules/webpack/lib/NormalModule.js:471:10)
[1]     at /Users/username/Code/ThirdParty/3Speak-app/node_modules/webpack/lib/NormalModule.js:503:5
[1]     at /Users/username/Code/ThirdParty/3Speak-app/node_modules/webpack/lib/NormalModule.js:358:12
[1]     at /Users/username/Code/ThirdParty/3Speak-app/node_modules/loader-runner/lib/LoaderRunner.js:373:3
[1]     at iterateNormalLoaders (/Users/username/Code/ThirdParty/3Speak-app/node_modules/loader-runner/lib/LoaderRunner.js:214:10)
[1]     at iterateNormalLoaders (/Users/username/Code/ThirdParty/3Speak-app/node_modules/loader-runner/lib/LoaderRunner.js:221:10)
[1]     at /Users/username/Code/ThirdParty/3Speak-app/node_modules/loader-runner/lib/LoaderRunner.js:236:3
[1]     at runSyncOrAsync (/Users/username/Code/ThirdParty/3Speak-app/node_modules/loader-runner/lib/LoaderRunner.js:130:11)
[1]     at iterateNormalLoaders (/Users/username/Code/ThirdParty/3Speak-app/node_modules/loader-runner/lib/LoaderRunner.js:232:2)
[1]     at Array.<anonymous> (/Users/username/Code/ThirdParty/3Speak-app/node_modules/loader-runner/lib/LoaderRunner.js:205:4)
[1]     at Storage.finished (/Users/username/Code/ThirdParty/3Speak-app/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:55:16)
[1]     at /Users/username/Code/ThirdParty/3Speak-app/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:91:9
[1]     at /Users/username/Code/ThirdParty/3Speak-app/node_modules/graceful-fs/graceful-fs.js:123:16
[1]     at FSReqCallback.readFileAfterClose [as oncomplete] (node:internal/fs/read/context:68:3)
[1] /Users/username/Code/ThirdParty/3Speak-app/node_modules/loader-runner/lib/LoaderRunner.js:133
[1]             if(isError) throw e;
[1]                         ^
[1]
[1] Error: error:0308010C:digital envelope routines::unsupported
[1]     at new Hash (node:internal/crypto/hash:69:19)
[1]     at Object.createHash (node:crypto:138:10)
[1]     at module.exports (/Users/username/Code/ThirdParty/3Speak-app/node_modules/webpack/lib/util/createHash.js:135:53)
[1]     at NormalModule._initBuildHash (/Users/username/Code/ThirdParty/3Speak-app/node_modules/webpack/lib/NormalModule.js:417:16)
[1]     at handleParseError (/Users/username/Code/ThirdParty/3Speak-app/node_modules/webpack/lib/NormalModule.js:471:10)
[1]     at /Users/username/Code/ThirdParty/3Speak-app/node_modules/webpack/lib/NormalModule.js:503:5
[1]     at /Users/username/Code/ThirdParty/3Speak-app/node_modules/webpack/lib/NormalModule.js:358:12
[1]     at /Users/username/Code/ThirdParty/3Speak-app/node_modules/loader-runner/lib/LoaderRunner.js:373:3
[1]     at iterateNormalLoaders (/Users/username/Code/ThirdParty/3Speak-app/node_modules/loader-runner/lib/LoaderRunner.js:214:10)
[1]     at iterateNormalLoaders (/Users/username/Code/ThirdParty/3Speak-app/node_modules/loader-runner/lib/LoaderRunner.js:221:10)
[1]     at /Users/username/Code/ThirdParty/3Speak-app/node_modules/loader-runner/lib/LoaderRunner.js:236:3
[1]     at context.callback (/Users/username/Code/ThirdParty/3Speak-app/node_modules/loader-runner/lib/LoaderRunner.js:111:13)
[1]     at makeSourceMapAndFinish (/Users/username/Code/ThirdParty/3Speak-app/node_modules/ts-loader/dist/index.js:58:5)
[1]     at successLoader (/Users/username/Code/ThirdParty/3Speak-app/node_modules/ts-loader/dist/index.js:40:5)
[1]     at Object.loader (/Users/username/Code/ThirdParty/3Speak-app/node_modules/ts-loader/dist/index.js:23:5)
[1]     at LOADER_EXECUTION (/Users/username/Code/ThirdParty/3Speak-app/node_modules/loader-runner/lib/LoaderRunner.js:119:14)
[1]     at runSyncOrAsync (/Users/username/Code/ThirdParty/3Speak-app/node_modules/loader-runner/lib/LoaderRunner.js:120:4)
[1]     at iterateNormalLoaders (/Users/username/Code/ThirdParty/3Speak-app/node_modules/loader-runner/lib/LoaderRunner.js:232:2)
[1]     at Array.<anonymous> (/Users/username/Code/ThirdParty/3Speak-app/node_modules/loader-runner/lib/LoaderRunner.js:205:4)
[1]     at Storage.finished (/Users/username/Code/ThirdParty/3Speak-app/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:55:16)
[1]     at /Users/username/Code/ThirdParty/3Speak-app/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:91:9
[1]     at /Users/username/Code/ThirdParty/3Speak-app/node_modules/graceful-fs/graceful-fs.js:123:16
[1]     at FSReqCallback.readFileAfterClose [as oncomplete] (node:internal/fs/read/context:68:3) {
[1]   opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ],
[1]   library: 'digital envelope routines',
[1]   reason: 'unsupported',
[1]   code: 'ERR_OSSL_EVP_UNSUPPORTED'
[1] }
[1]
[1] Node.js v20.5.0
[1] npm run build-renderer exited with code 1
[0] /Users/username/Code/ThirdParty/3Speak-app/node_modules/loader-runner/lib/LoaderRunner.js:133
[0]             if(isError) throw e;
[0]                         ^
[0]
[0] Error: error:0308010C:digital envelope routines::unsupported
[0]     at /Users/username/Code/ThirdParty/3Speak-app/node_modules/webpack/lib/NormalModule.js:503:5
[0]     at /Users/username/Code/ThirdParty/3Speak-app/node_modules/webpack/lib/NormalModule.js:358:12
[0]     at /Users/username/Code/ThirdParty/3Speak-app/node_modules/loader-runner/lib/LoaderRunner.js:373:3
[0]     at iterateNormalLoaders (/Users/username/Code/ThirdParty/3Speak-app/node_modules/loader-runner/lib/LoaderRunner.js:214:10)
[0]     at iterateNormalLoaders (/Users/username/Code/ThirdParty/3Speak-app/node_modules/loader-runner/lib/LoaderRunner.js:221:10)
[0]     at /Users/username/Code/ThirdParty/3Speak-app/node_modules/loader-runner/lib/LoaderRunner.js:236:3
[0]     at context.callback (/Users/username/Code/ThirdParty/3Speak-app/node_modules/loader-runner/lib/LoaderRunner.js:111:13)
[0]     at makeSourceMapAndFinish (/Users/username/Code/ThirdParty/3Speak-app/node_modules/ts-loader/dist/index.js:58:5)
[0]     at successLoader (/Users/username/Code/ThirdParty/3Speak-app/node_modules/ts-loader/dist/index.js:40:5)
[0]     at Object.loader (/Users/username/Code/ThirdParty/3Speak-app/node_modules/ts-loader/dist/index.js:23:5)
[0]     at LOADER_EXECUTION (/Users/username/Code/ThirdParty/3Speak-app/node_modules/loader-runner/lib/LoaderRunner.js:119:14)
[0]     at runSyncOrAsync (/Users/username/Code/ThirdParty/3Speak-app/node_modules/loader-runner/lib/LoaderRunner.js:120:4)
[0]     at iterateNormalLoaders (/Users/username/Code/ThirdParty/3Speak-app/node_modules/loader-runner/lib/LoaderRunner.js:232:2)
[0]     at Array.<anonymous> (/Users/username/Code/ThirdParty/3Speak-app/node_modules/loader-runner/lib/LoaderRunner.js:205:4)
[0]     at Storage.finished (/Users/username/Code/ThirdParty/3Speak-app/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:55:16)
[0]     at /Users/username/Code/ThirdParty/3Speak-app/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:91:9
[0]     at /Users/username/Code/ThirdParty/3Speak-app/node_modules/graceful-fs/graceful-fs.js:123:16
[0]     at FSReqCallback.readFileAfterClose [as oncomplete] (node:internal/fs/read/context:68:3) {
[0]   opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ],
[0]   library: 'digital envelope routines',
[0]   reason: 'unsupported',
[0]   code: 'ERR_OSSL_EVP_UNSUPPORTED'
[0] }
[0]
[0] Node.js v20.5.0
[0] npm run build-main exited with code 1

Installation Note

Something small but maybe set the node engine explicitly to v16.2
Since on Windows with v18 I get the following webpack related issue:
Error: error:0308010C:digital envelope routines::unsupported
Downgrading to v16.2 works.

If possible a WSL2 guide would be amazing but I will attempt that again in the future.
For now I got it running on W11 direct and node v16.2

Side question: Are you in the progress of migrating to Helia etc?

app stuck at IPFS installation

  • Downloaded version
  • Installed on macOS 11.1 (with all the latest patches)
  • The app is stuck

image

Console shows:

Uncaught (in promise) {name: "TypeError", message: "Cannot read property 'has' of undefined", stack: "TypeError: Cannot read property 'has' of undefined…ntents/Resources/app/dist/main.prod.js:1054:68341"}

"TypeError: Cannot read property 'has' of undefined
    at /Applications/3Speak-app.app/Contents/Resources/app/dist/main.prod.js:1190:75316
    at f (/Applications/3Speak-app.app/Contents/Resources/app/dist/main.prod.js:1061:6448)
    at Generator._invoke (/Applications/3Speak-app.app/Contents/Resources/app/dist/main.prod.js:1061:6201)
    at Generator.next (/Applications/3Speak-app.app/Contents/Resources/app/dist/main.prod.js:1061:6807)
    at r (/Applications/3Speak-app.app/Contents/Resources/app/dist/main.prod.js:8:2023)
    at s (/Applications/3Speak-app.app/Contents/Resources/app/dist/main.prod.js:8:2234)
    at /Applications/3Speak-app.app/Contents/Resources/app/dist/main.prod.js:8:2293
    at new Promise (<anonymous>)
    at /Applications/3Speak-app.app/Contents/Resources/app/dist/main.prod.js:8:2174
    at /Applications/3Speak-app.app/Contents/Resources/app/dist/main.prod.js:1190:75434
    at /Applications/3Speak-app.app/Contents/Resources/app/dist/main.prod.js:1054:68341"

Sync Hive mute lists to local app

Hive has the ability to mute/block a user. The app should sync mute actions to the local app for filtering out content from such users.

Locked in preview post

If you preview the photo (fullscreen button), you are locked in and can not go back to editing your post. so you have to close the app and lose all progress

Feedback gathered by Sagar from users

App won't install if ~/.ipfs already exists

this will be a bigger and bigger problem as more and more apps depend on IPFS. It appears that the app won't install (freezes on "initializing ipfs") if .ipfs is already there.

What's going to happen if several apps all want to run ipfs?

Thumbnails go wonky

Thumbnail images are different when app is full screen. But look normal when not full screen.
Appimag v0.1.13

Opening a 3Speak Video in the 3Speak App from the 'open in App' button at 3Speak.tv result in JavaScript Error

When I open a 3Speak Video in the 3Speak.tv service using the button 'Open in Desktop App', I receive an error when my 3Speak Desktop App is not running. The process opens a new window in my browser, asking if I want to open in the Desktop App. When I hit the button to continue to open in Desktop App, it actually opens the Desktop App, but also shows the error.

When I test the same with my 3Speak Desktop App already open, all works great. Meaning, the video is opened in the Desktop App and I can play it.

Screenshot 2021-06-20 at 11 09 45

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.