Git Product home page Git Product logo

pinnaculum / galacteek Goto Github PK

View Code? Open in Web Editor NEW
169.0 169.0 8.0 31.76 MB

Multi-platform browser for the distributed web. Mirror of https://gitlab.com/galacteek/galacteek Become a sponsor: https://ko-fi.com/galacteek

Home Page: https://galacteek.gitlab.io

License: GNU General Public License v3.0

Python 100.00%
appimage atom-feed browser chatgpt dmg gemini ipfs ipfs-web json-ld linked-data pyqt pyqt5 python python3 qrcode qtwebengine rdf sparql

galacteek's Introduction

I don't use this platform anymore (only keeping a few mirror repos around). All my opensource work is done on GitLab as @cipres.

galacteek's People

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

galacteek's Issues

Feature Request: Keep Hidden Tabs For Favorites In The Quick Access Bar

Option to keep items in the quick access bar active in a hidden tab.

Many dApps could profit massively from a feature that could allow them to stay active in the background and not needing to load everything again upon reopening. Especially for games.

It also allows for a more direct access to your shortcuts. An "instant" experience.

Issue publishing from IPFessay (Solved)

Hello
I really like the IPFessay feature very neat user-friendly way for new comers to create and publish their website (if that works)
Everytime im trying to publish from IPFessay I have same error:
'There was an error communicating with the IPFS gateway API.
Please ensure the daemon is running, and that it is in writable mode.'
I have this error if im running the IPFS-GO desktop or not, I have same error.
IPFS-GO desktop set to: "Writable": true
Why is this happening?

Tab order on IPID generator is incorrect

When you select the "Passphrase" field, enter a password, then press Tab, it changes to the "Username" field, not the "Repeat passphrase" field.

Software version

0.4.37

OS

archlinux x86_64

IPFS daemon type (standalone/custom)

  • Standalone
  • Custom IPFS daemon -> localhost

Expected Behavior

Pressing Tab when the "Password" field is selected should change to the "Repeat passphrase" field.

Current Behavior

Pressing Tab when the "Password" field is selected changes to the "Username" field.

Steps to Reproduce

  1. Start IPID generator dialog
  2. Select "Passphrase" field
  3. Press "Tab"

How to play file with the internal media player (Solved)

I've open the media player and seems like its asking for playlist
You told me to load a video from #video and its working. I see the 'save playlist' option.
So we need to add a file in #video to load in media player and how do we do add a file as #video?
I think it would be useful to implement same sort of 'browse system file side panel' like in the file manager tab in order to easily load a file in the media player. Maybe thats not intended, idk.

Can't select local node from first run dialog

When I first started galacteek for the first time, it prompted me for settings to start an IPFS node. I am already running an IPFS node on the same system. The default options conflict with the already running ipfs daemon causing galacteek to loop trying to start an ipfs daemon. To break it out of this, I opened the settings dialog, unchecked "Spawn IPFS daemon and use as transport", the hard reset the application (ctrl-z, kill %1).

Software version

0.4.37

OS

archlinux x86_64

IPFS daemon type (standalone/custom)

  • Standalone
  • Custom IPFS daemon -> localhost

Expected Behavior

There should be an option to configure a custom node

Current Behavior

As there is no option to configure a custom node, and the default node options conflict with the default go-ipfs configuration, it will loop trying to start a node, but always fail.

Steps to Reproduce

  1. Start an ipfs daemon
  2. Delete any existing galacteek configuration
  3. Launch galacteek

Possible Solution

Add an option to configure a custom IPFS node in the first run dialog

UnPin Feature

Currently it's extremely easy to pin things on galacteek. I was wondering if the inverse could also be true? Could galacteek log what it pins, so for example if you pinned a whole website, there could be an item to then unpin the whole website. I spent a while looking for such a feature, and I think that'd be a really cool addition.

Software version

0.4.41

OS

Manjaro Linux

IPFS daemon type (standalone/custom)

  • Standalone
  • Custom IPFS daemon

Galacteek using very high cpu resources

Hello
I made a video that shows galacteek taking a lot of my cpu resources
https://ipfs.io/ipfs/bafybeibmx2ueeduagbl4r6gvq5c7v3ljn5ug3px3oflwdf675pfyt4dpzm

-Computer-
Processor : Intel(R) Core(TM) i5-3570K CPU @ 3.40GHz
Memory : 16111MB (8102MB used)
Machine Type : Desktop
Operating System : Debian GNU/Linux 10 (buster)
Date/Time : Fri 15 May 2020 12:24:40 AM EDT
-Display-
Resolution : 1813x1023 pixels
OpenGL Renderer : Mesa DRI Intel(R) Ivybridge Desktop
X11 Vendor : The X.Org Foundation
-Audio Devices-
Audio Adapter : HDA-Intel - HDA Intel PCH

Windows Installer / Package

Large portion of users use Windows. If this project needs to garner support from all users and not only from technically savvy IPFS enthusiasts it needs to have Windows installer and/or package like WinGet, Chocolatey, Scoop.

Crash issue: file sharing

  • Copy CID from file manager
  • Clicking on the load file from clipboard in file sharing crashes galacteek
    Tested with empty clipboard and same result.

Galacteek-0.5.0-x86_64.AppImage

Current thread 0x00007f2f3b965740 (most recent call first):
  File "/tmp/.mount_Galact9UxuAB/usr/lib/python3.7/site-packages/asyncqt/__init__.py", line 286 in run_forever
  File "/tmp/.mount_Galact9UxuAB/usr/lib/python3.7/site-packages/galacteek/guientrypoint.py", line 109 in galacteekGui
  File "/tmp/.mount_Galact9UxuAB/usr/lib/python3.7/site-packages/galacteek/guientrypoint.py", line 40 in start
  File "/tmp/.mount_Galact9UxuAB/usr/lib/python3.7/site-packages/galacteek/guientrypoint.py", line 286 in start
  File "/tmp/.mount_Galact9UxuAB/usr/bin/galacteek", line 8 in <module>
/tmp/.mount_Galact9UxuAB/AppRun: line 34: 20810 Aborted                 "${HERE}"/usr/bin/python "${HERE}"/usr/bin/galacteek --from-appimage --binary-name="${BINARY_NAME}" --binary-path="${BINARY_PATH}" --no-ssl-verify --no-release-check "$@"

Limit CPU and memory usage

Noticed that Galacteek (Qmc... process) and the ipfs launched by it take quite some resources. Maybe ipfs could be wrapped in nice so as to not use more than, say, 25% of CPU?

resources

me@host:~$ cat /proc/meminfo 
MemTotal:        4036500 kB

me@host:~$ cat /proc/cpuinfo 
processor	: 0
vendor_id	: GenuineIntel
cpu family	: 6
model		: 15
model name	: Intel(R) Core(TM)2 Duo CPU     T7300  @ 2.00GHz

IPFS status widget doesn't pop up when using multiple screens (Linux)

Software version

0.4.31

OS

Linux

IPFS daemon type (standalone/custom)

  • Standalone
  • Custom IPFS daemon

Expected Behavior

When hovering the IPFS cube in the status bar, it normally shows a popup widget with
stats and infos about the IPFS daemon. When hovering out the popup should
disappear.

Current Behavior

On Linux (in this case with Xorg) it works when there's only one X display/screen.
When using multiple screens, and if galacteek is displayed on the non-primary screen,
the widget doesn't appear at all.

Steps to Reproduce

  1. Start galacteek on non-primary screen
  2. Hover the IPFS cube in the status bar

Possible Solution

Extra information

Relevant code can be found here

ipfs:// and seamless upgrade of CIDv0

Hi, something I noticed whem playing with protocol handlers: when user tries to open

ipfs://QmbWqxBEKC3P8tqsKc98xmWNzrzDtRLMiMPL8wBuTGsMnR

address bar breaks case-sensitive CIDv0 by forcing lowercase on it:

ipfs://qmbwqxbekc3p8tqskc98xmwnzrzdtrlmimpl8wbutgsmnr/

Would it be possible to convert cidv0 to case-insensitive cidv1b32 on the fly?

Add an action to copy https://ipfs.io/.. URLs to the clipboard for IPFS links

In the browser when right-clicking an IPFS link, the context menu allows to copy the full path (IPFS object path) to the clipboard. There should also be an action to copy to the clipboard an URL for the object which uses one of the public IPFS gateways (like https://ipfs.io), allowing to share links with people who don't use IPFS.

This should be done in most context menus for IPFS objects.

AppImage should bundle the ipfs binary

Thanks for providing an AppImage of Galacteek. Very useful!

Galacteek currently asks the user whether to download and install ./.local/share/galacteek/ipfs-bin/ipfs. Instead, this binary could be bundled inside (and be updated together with) the AppImage.

This would be more consistent with the AppImage "one app = one file" philosophy, and would allow for easier checksumming and integrity verification of the code.

Windows bug report

v0.4.39
Wont let me generate random username.
And this is what I get when I manually add a username.
Tested with win7 in vb

[ 06:55:51] galacteek.application: IPFS daemon started
[ 06:55:52] galacteek.application: IPFS daemon is ready
[ 06:56:34] galacteek.hashmarks: Synchronizing hashmarks database ...
[ 06:56:34] galacteek.hashmarks: Synchronizing: PyModule source: core
[ 06:56:34] galacteek.hashmarks: Synchronizing: GIT source: None (https://github.com/galacteek/hashmarks-dwebland)
[ 06:56:40] galacteek.core.profile: profile (default): Generating main IPNS key
[ 06:56:41] galacteek.core.profile: profile (default): Creating RSA keypair
[ 06:56:44] galacteek.core.profile: profile (default): Successfully created RSA keypair
[ 06:56:44] galacteek.core.profile: profile (default): Registering keys
[ 06:56:44] galacteek.core.ctx: Could not initialize profile: [Errno 2] No such file or directory: 'C:\Users\m\AppData\Local\Temp\_MEI15162\random_username\data\adjectives.txt'
Traceback (most recent call last):
File "galacteek\core\ctx.py", line 1121, in profileNew
File "galacteek\core\profile.py", line 777, in init
File "galacteek\ipfs\wrappers.py", line 69, in wrapper
File "galacteek\ipfs\wrappers.py", line 42, in _operation
File "galacteek\core\profile.py", line 874, in cryptoInit
File "galacteek\ipfs\wrappers.py", line 69, in wrapper
File "galacteek\ipfs\wrappers.py", line 42, in _operation
File "galacteek\core\profile.py", line 916, in cryptoRegisterKeys
File "galacteek\core\profile.py", line 940, in setupProfileEDag
File "galacteek\core\profile.py", line 920, in randomUsername
File "random_username\generate.py", line 8, in generate_username
FileNotFoundError: [Errno 2] No such file or directory: 'C:\Users\m\AppData\Local\Temp\_MEI15162\random_username\data\adjectives.txt'
[ 06:57:04] galacteek.core.profile: profile (default): Registering keys
[ 06:57:04] galacteek.core.ctx: Could not initialize profile: [Errno 2] No such file or directory: 'C:\Users\m\AppData\Local\Temp\_MEI15162\random_username\data\adjectives.txt'
Traceback (most recent call last):
File "galacteek\core\ctx.py", line 1121, in profileNew
File "galacteek\core\profile.py", line 777, in init
File "galacteek\ipfs\wrappers.py", line 69, in wrapper
File "galacteek\ipfs\wrappers.py", line 42, in _operation
File "galacteek\core\profile.py", line 874, in cryptoInit
File "galacteek\ipfs\wrappers.py", line 69, in wrapper
File "galacteek\ipfs\wrappers.py", line 42, in _operation
File "galacteek\core\profile.py", line 916, in cryptoRegisterKeys
File "galacteek\core\profile.py", line 940, in setupProfileEDag
File "galacteek\core\profile.py", line 920, in randomUsername
File "random_username\generate.py", line 8, in generate_username
FileNotFoundError: [Errno 2] No such file or directory: 'C:\Users\m\AppData\Local\Temp\_MEI15162\random_username\data\adjectives.txt'

Feedback update

Config: default

  • I received your new blog post in my feed client: Multi-channel chat with pubsub and CRTD and test4
    Although, I dont see you in my galacteek feed. As for my personal blog feed I do receive them in galacteek and in the client.
  • I installed galacteek on another device here under same config and we dont see eachother in chat nor in peers.

Edit: Well thats weird. For more than 10hrs I couldnt see my other device anywhere. I havent change anything and now I see it in peers, 10hrs later.

How is the chat technically implemented ?

Hello, this is not an issue perse but much more a question. I don't want to take too much of your time... Feel free to close this issue if you find it inappropriate, I would take no offence.
in the readme you say chat channels syncronized with CRDT+DAG
I'm trying to design an ipfs application where peers would collaboratively change the state of a bunch of data. I'm not sure but it looks like CRDT would the solution to my problem.
Could you, if that's not bothering you, explain in technical terms the big picture behind "I retrieve the channel list with CRDT and Dag". Thanks a lot.

Crashes when double-clicking an IPFS link

Galacteek launches but I cannot open any files:

me@host:~$ /home/me/Downloads/Galacteek-0.3.0-x86_64.AppImage 
Error: api not running
Error: api not running
Error: api not running
Error: api not running
Error: api not running
Error: api not running
Error: api not running
Error: api not running
Error: api not running
QXcbConnection: XCB error: 3 (BadWindow), sequence: 1956, resource id: 33643245, major code: 40 (TranslateCoords), minor code: 0
Received signal 11 SEGV_MAPERR 000000000000
#0 0x7f14ef21a9a5 <unknown>
#1 0x7f14edf5a501 <unknown>
#2 0x7f14ef21ad3d <unknown>
#3 0x7f1511c3e890 <unknown>
  r8: 0000000000000001  r9: 0000558155843b50 r10: 6f74537865546c67 r11: 00007f15119f7ec0
 r12: 000055815562c800 r13: 00005581543877b0 r14: 0000000000000000 r15: 00007f1509ac5280
  di: 0000000000001f01  si: 00007f1509ac7210  bp: 00005581557e4810  bx: 0000000000000001
  dx: 000055815562cd10  ax: 000055815562cd10  cx: 0000000000000000  sp: 00007ffc978cafd8
  ip: 0000000000000000 efl: 0000000000010206 cgf: 002b000000000033 erf: 0000000000000014
 trp: 000000000000000e msk: 0000000000000000 cr2: 0000000000000000
[end of stack trace]
Calling _exit(1). Core file will not be generated.

me@host:~$ cat /etc/os-release 
NAME="KDE neon"
VERSION="Developer Edition"
ID=neon
ID_LIKE="ubuntu debian"
PRETTY_NAME="KDE neon Developer Edition"
VERSION_ID="18.04"
HOME_URL="http://neon.kde.org/"
SUPPORT_URL="http://neon.kde.org/"
BUG_REPORT_URL="http://bugs.kde.org/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic

Editor no session created

im running new appimage Galacteek-ff707ef9-x86_64
When I open Editor I have current session: No session yet.
Samething if I run Galacteek as standalone or with ipfs-desktop

Issue with v0.4.22-x86_64.AppImage

$ ./Galacteek-0.4.22-x86_64.AppImage
Traceback (most recent call last):
  File "/tmp/.mount_Galactfi93pT/usr/bin/galacteek", line 5, in <module>
    from galacteek.guientrypoint import start
  File "/tmp/.mount_Galactfi93pT/usr/lib/python3.7/site-packages/galacteek/guientrypoint.py", line 7, in <module>
    from PyQt5.QtWebEngine import QtWebEngine
ImportError: /tmp/.mount_Galactfi93pT/usr/lib/python3.7/site-packages/PyQt5/Qt/lib/libQt5Network.so.5: symbol _ZN15QIPAddressUtils8toStringER7QStringPh version Qt_5 not defined in file libQt5Core.so.5 with link time reference

AppImage version

Galacteek-0.4.22-x86_64.AppImage

Linux distribution

OS: MX 19.3 (patito feo) x86_64 based Debian GNU/Linux 10 (buster)
SysV init version: 2.93
Kernel: 4.19.0-9-amd64
Xorg v1:7.7+19
WM: Spectrwm

Debug output with QT_DEBUG_PLUGINS=1

$ ./Galacteek-0.4.22-x86_64.AppImage QT_DEBUG_PLUGINS=1Traceback (most recent call last):  File "/tmp/.mount_GalactTwd3xI/usr/bin/galacteek", line 5, in <module>
    from galacteek.guientrypoint import start
  File "/tmp/.mount_GalactTwd3xI/usr/lib/python3.7/site-packages/galacteek/guientrypoint.py", line 7, in <module>
    from PyQt5.QtWebEngine import QtWebEngine
ImportError: /tmp/.mount_GalactTwd3xI/usr/lib/python3.7/site-packages/PyQt5/Qt/lib/libQt5Network.so.5: symbol _ZN15QIPAddressUtils8toStringER7QStringPh version Qt_5 not defined in file libQt5Core.so.5 with link time reference

Debug output with APPIMAGE_LIBCHECK=1

$ ./Galacteek-0.4.22-x86_64.AppImage APPIMAGE_LIBCHECK=1
Traceback (most recent call last):
  File "/tmp/.mount_GalactiChkmL/usr/bin/galacteek", line 5, in <module>
    from galacteek.guientrypoint import start
  File "/tmp/.mount_GalactiChkmL/usr/lib/python3.7/site-packages/galacteek/guientrypoint.py", line 7, in <module>
    from PyQt5.QtWebEngine import QtWebEngine
ImportError: /tmp/.mount_GalactiChkmL/usr/lib/python3.7/site-packages/PyQt5/Qt/lib/libQt5Network.so.5: symbol _ZN15QIPAddressUtils8toStringER7QStringPh version Qt_5 not defined in file libQt5Core.so.5 with link time reference

Improve search UX

Starting with version 0.4.29, galacteek will query both ipfs-search and cyber when searching for content on IPFS, when before it would only use ipfs-search. Having results from different sources is a must-have i think and cyber is an amazing project with a great future.

The search interface has always been extremely minimal and the user experience hasn't improved with the multi-engine change (actually it's worse, one example of that is that the content type selector will be ignored when querying cyber because the cyber search API endpoint doesn't support any filters yet, lots of room for improvement here ..)

If you have any ideas on how to improve the search interface, feel free to share them here !

Upgrade to qt 5.14 and use QWebEngineUrlScheme::CorsEnabled to allow Fetch API for custom schemes

Qt 5.14 introduced a new flag for custom schemes, QWebEngineUrlScheme::CorsEnabled :

Enables cross-origin resource sharing (CORS) for this scheme. This flag is required in order to, for example, use the scheme with the Fetch API, or to deliver CSS fonts to a different origin

This flag could be activated (on a configurable basis) for IPFS/ENS schemes to allow JS code to use the Fetch API

How chat works?

Im in chat now alone I think.
Is chat public or I need to send invite?

Please update reedsolo

Hello,

I am the current maintainer of reedsolo.

We have recently pushed major updates which increase speed and stability, but the API had to be changed.

If you are still using reedsolo, please ensure that you handle the 3 variables returned by reedsolo.

Before:

>>> rsc = RSCodec(12)
>>> tampered_msg = b'heXlo worXd\xed%T\xc4\xfdX\x89\xf3\xa8\xaa'
>>> decoded_msg = rsc.decode(tampered_msg)

Now:

>>> rsc = RSCodec(10)
>>> tampered_msg = b'heXlo worXd\xed%T\xc4\xfdX\x89\xf3\xa8\xaa'
>>> rmes, rmesecc, errata_pos = rsc.decode(tampered_msg)

As an alternative, you can setup your requirements.txt to require reedsolo<=0.3 to avoid the need to update.

Application's shutdown sometimes fails (async tasks)

Software version

0.4.31

OS

Any

IPFS daemon type (standalone/custom)

  • Standalone
  • Custom IPFS daemon

Expected Behavior

Exiting the browser should work reliably no matter what

Current Behavior

The coroutine responsible for shutting down the application sometimes
fails on first attempt (although it works on next attempts in that case), leaving
the app/UI still running.

Steps to Reproduce

  1. Start the browser
  2. Perform any tasks ..
  3. From the main menu select 'Quit' or hit ctrl+q

Possible Solution

Using aiomonitor it's possible to see which tasks are still running after the app exit failed.

Extra information

The coroutine that performs the shutdown could be the main issue. The order in which the tasks are closed of course matters. The shutdown of the aiojobs scheduler seems to work pretty well.

Memory access error on exit (windows)

Memory access error when exiting the browser

Software version

0.4.39

OS

Windows 10

IPFS daemon type (standalone/custom)

  • Standalone
  • Custom IPFS daemon

Expected Behavior

The application should exit cleanly without errors

Current Behavior

The main window and all dialog windows are correctly closed, IPFS services and the go-ipfs process are stopped, but there's a popup window with an error message about a "Memory access error"

Steps to Reproduce

  1. Start galacteek
  2. Select Quit from the main menu or hit ctrl+q

Possible Solution

Extra information

Chat notifications in system tray

Chat message notifications are currently only done on the chat tab.

When the window is not visible, there should be notifications in the system tray.

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.