Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issue publishing from IPFessay (Solved) #9

Closed
danrobi11 opened this issue Apr 20, 2020 · 30 comments
Closed

Issue publishing from IPFessay (Solved) #9

danrobi11 opened this issue Apr 20, 2020 · 30 comments

Comments

@danrobi11
Copy link

danrobi11 commented Apr 20, 2020

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?

@pinnaculum
Copy link
Owner

Hi @danrobi11 !

Thanks for reporting the issue. I'll try to explain the best i can the reason why it fails to publish even though you have the http gateway set as writable.

Hardbin, and possibly IPFessay in a similar way, looks at the JS window.location attribute to determine that the content was loaded from a local IPFS gateway:

function is_local_gateway() {
return window.location.hostname == 'localhost';
}

In the early versions galacteek used only the dweb URL scheme, which was going through the IPFS HTTP gateway. Now the ipfs and dweb schemes have a custom scheme handler implementation which bypasses the HTTP gateway (this is not a definitive implementation). This means that when you're browsing ipfs://cidv1, window.location.hostname will equal cidv1. IMOO IPFS apps shouldn't rely on window.location but that's another topic.

In the mean time to make IPFessay publish work you should use the IPFS gateway directly, using this URL for example: http://localhost:8080/ipfs/bafybeigkiow75e3lquowuqnb43e5plwtnukborq5xa3kmqzjwcpbqg6tne/ (this is the latest IPFessay version)

Next release will bring a fix for this particular issue, sorry for the inconvenience.

@danrobi11
Copy link
Author

Thank you @pinnaculum for great explaination and support.
I now can publish and pin. :)
Galacteek browser does have many features, which will take me time to learn everything.
I havent found how to make my website URL address persistent yet.
Im using the Galacteek 'Editor' making some changes and saving. Saving gives me new URL address.
Without persistent address, everytime I do modify my website I end up with new URL :(

@pinnaculum
Copy link
Owner

You're welcome!

I have to thank you in return, fixing this issue gave me some ideas on the hashmarks/bookmarks system, next release should bring many improvements in that regard.

You should use pyramids (which appear in the right-side toolbar) (add a 'Basic', generic pyramid). A pyramid has a single IPNS address associated to it. Drag-and-dropping content from the filemanager will associate the IPNS address of the pyramid with this content. That way you only have one address to communicate.

IPFessay's good for publishing a simple document in Markdown, i don't know exactly what you're publishing, but it would probably be easier to edit the content locally, import it and push it to a pyramid.

Good luck.

@danrobi11
Copy link
Author

danrobi11 commented Apr 21, 2020

Ok thx! I added the file in new created pyramide.
There seems to be a bug regarding 'Copy IPNS address to clipboard' It doesnt copy the address to clipboard. Therefore I cant properly test the pyramide thingy
Appimage 0.4.21-x86_64
MX Linux x86_64 (systemd disabled)
Kernel: 4.19.0-6-amd64
DE: Xfce

@pinnaculum
Copy link
Owner

Never had any issue with copying any pyramid's IPNS address. When you drag-and-drop something on it it will immediately associate it and publish the IPNS key (the pyramid's icon will appear blue). You should wait for the publishing to be finished before copying the address. Because the IPNS path is copied to the clipboard, it will appear in the clipboard manager. Do you see the IPNS key in the tooltip when hovering over the pyramid ? Is the pyramidion (latest item) empty or not ?

MX Linux looks like a great distro !

@danrobi11
Copy link
Author

danrobi11 commented Apr 21, 2020

Ok figured the clipboard. Save only in Galacteek app.
Pyramide works fine I now have persistent address
This is the IPNS address: /ipns/Qmbhe...
I cant open that address in normal browser :(
So now im missing only how to open in normal browser.

MX Linux looks like a great distro !
Yes indeed :)

@pinnaculum
Copy link
Owner

In a normal browser, you'd access it by going through a public IPFS gateway like ipfs.io: https://ipfs.io/ipns/Qmbhe...

@danrobi11
Copy link
Author

Ok got error here
ipfs resolve -r /ipns/QmbheM7bjxQ3TYmbcZDZYLAriUG9aaYMYDcqraoiMMRDC: not a valid proquint string

@danrobi11
Copy link
Author

Ok my bad. Because clipboard only save in Galacteek app, I had to manually copy the address so I made a mistake in the URL.
Now have another error:
ipfs resolve -r /ipns/QmbheM7bjxQ3TYmbcZDZYLAr1iUG9aaYMYDcqraoiMMRDC: context deadline exceeded.
So im firewalled? I didnt port forward any port. Which port should I open?

@pinnaculum
Copy link
Owner

pinnaculum commented Apr 21, 2020

Your IPNS key is 45 characters long while it should be 46 characters long ;) Just to clarify: on Linux systems, galacteek will save to the primary Xorg clipboard (xclip -o -selection primary or third-button mouse click will show you its contents) when selecting Copy .. to clipboard in the UI.

Regarding your firewall configuration, as suggested here, you should consider port-forwarding the swarm TCP port which by default is port 4001, and only that port. I do not know if it will fix any issues you may have with the IPNS publishing/resolving.

Take care.

@danrobi11
Copy link
Author

Very sry for the trouble. Working now :) Thank you very much for the support.
I see theres 8 items in the pyramide stack. I cant find how to manage the stack.
Im trying to find some documentation but nothing about how to manage the stack:
ipfs://bafybeihuwv5dxrrkzgchuoieuwqc4bh4bzhu2xlmsc2dmlpugp6rpxqe3u/pyramids.html#basic-pyramid
How I can manage the stack files?

@pinnaculum
Copy link
Owner

No worries, glad it worked. Was the IPNS issue resolved after port-forwarding the swarm port ?

Right now there is no access to the pyramid's stack history from the UI but there will soon be. What you can do however is to pop items off the pyramid (so it removes the latest item in the pyramid and makes the previous one in the stack the current item, the pyramidion) to cancel the last operation.

With the Image gallery pyramids you can rewind the DAG that the pyramid is built on.

@danrobi11
Copy link
Author

Was the IPNS issue resolved after port-forwarding the swarm port ?
Not sure because I had another typo in URL. To make sure I'd have to close the port and test.

I finally figured how to manage to add the IPNS URL in OS clipboard, just a bit too late ;)
Last important thing I need to know is how to manage a files migration. Meaning if I change OS etc.
I havent found documentation regarding the file management for a migration.
Which dir/file do I need to backup and their location.

@pinnaculum
Copy link
Owner

Right now hashmarks and pyramids data are kept in a JSON file with this path:

$HOME/.local/share/galacteek/main/marks/ipfsmarks.local.json

main is the name of the application profile this is the default one which you probably use. If you're migrating from an OS/user to another you should backup the whole directory and configuration files:

$HOME/.local/share/galacteek/main
$HOME/.config/galacteek

Next versions will probably use an ORM-backed sqlite db for many things including the hashmarks database.

@danrobi11
Copy link
Author

Ok perfect im saving this. Thank you!

@pinnaculum
Copy link
Owner

@danrobi11 when the next AppImage is released i could use your help in testing the new features

@danrobi11
Copy link
Author

@pinnaculum Absolutely!

@pinnaculum
Copy link
Owner

@danrobi11 Thank you very much! I'll ping you with the details when it's ready for testing.

@danrobi11
Copy link
Author

danrobi11 commented Apr 29, 2020

Hello. I see alot of activities 👍
I went play around in Galacteek.
In the 'Editor' I cant find a way to edit my website that I've already added in my Pyramide.
Maybe opening 'Pinned' or 'Hashmark' from 'Editor' or export from 'Pyramide' to 'Editor' ?
Idk, im sure you'll figure something :)

@pinnaculum
Copy link
Owner

Hi @danrobi11,

Thanks for your input, that helps! This software is still very much work-in-progress, don't expect much, but it's fun :)

The editor is really basic and is mostly meant to be used to edit plain text and markdown files. The pyramids system was conceived as a way to easily publish content from the filemanager to a single IPNS address and nothing more, later i realized that with IPFS raw DAGs it could be easy to build things like an image gallery and keep track of the DAG's history in the pyramid stack. Obviously more work is needed on this part, any ideas are welcome.

I've pushed an update that changes the hashmarks storage system, most things are now stored in an sqlite database. Hashmarks can now be tagged (both @planet#tag and #tag formats work) and can be synchronized from git repositories, this makes it potentially easy for people to contribute and grow the hashmarks database. Hashmarking ENS dwebsites is supported. The first hashmarks
git sync occurs a few seconds after startup (btw you definitely need to have git installed on your system, it's not bundled in the AppImage).

The issue with IPFessay and Hardbin is fixed, by default these two apps are accessed using the dwebgw URL scheme, which uses the IPFS gateway. Also you can now hashmark the pyramid's IPNS key.

Because the software's stack has changed quite a lot in the process things need to be tested so that would be great to have some feedback, especially on hashmarks, tagging system, blogging, pyramids ...

You can download this test release here. You should use a new profile to test it probably, using --profile profilename.

Thanks a lot.

@pinnaculum
Copy link
Owner

There will be another AppImage available shortly which will use go-ipfs 0.5.0 and allow usage of base32 CIDs with the *ipns:// URL scheme. Repository migration will be automatic.

@danrobi11
Copy link
Author

danrobi11 commented Apr 29, 2020

@pinnaculum
The reason why I focus on the 'Editor' is because its very user-friendly to just drag n drop a new saved file/project from 'Editor' to 'Pyramide'
So instead to 'Pop item off the Pyramide' everytime we want to edit our website. Importing the current website from 'Pyramide stack' to the 'Editor' to me would be good easy way for users to deal with editing their current website.
Ok will wait for new appimage :)

@pinnaculum
Copy link
Owner

Oh i see what you mean, i'll think about the best way to improve the pyramid/editor interaction.

I'm running galacteek with go-ipfs 0.5.0 now it's quite smooth, automatic repository migration works. I'll ping you with the link to the new AppImage when it's ready for testing.

@danrobi11
Copy link
Author

Got a problem: ipfs/ipfs-desktop#1475
This is affecting Galacteek. Since the ipfs-desktop issue, Galacteek wont connect to the network with or without external daemon :(

@pinnaculum
Copy link
Owner

I've never used ipfs-desktop but i just downloaded the ipfs-desktop AppImage now it's great. If ipfs-desktop cannot start the ipfs daemon and you've configured galacteek to use this daemon then this won't work. Galacteek is meant to be used with go-ipfs.

I can start ipfs-dekstop without any problem and use galacteek with it. The only issue is that by default ipfs-desktop doesn't enable pubsub it seems and some things in galacteek rely on pubsub.

In the meantime this prerelease works with go-ipfs 0.5.0.

If you use a new galacteek profile, it will start a daemon by default. You can run it for example with:

Galacteek-98641937-x86_64.AppImage --profile profile05

@danrobi11
Copy link
Author

Ok since I fixed the ipfs-desktop issue now galacteek working with it.
I've setup like you mentioned and Galacteek now run as standalone :)
Everything seems fine with new build.
I saw the new hashmark option in the Pyramide menu, nice thx!
Anything specific you'd like me to play with?

@pinnaculum
Copy link
Owner

pinnaculum commented Apr 30, 2020

Nice ! Things that need to be tested :

  • hashmarking things and tagging them works consistently

  • searching hashmarks by title, description, or by tags works

  • the Popular tags menu should be updated in real time. The tags most used appear at the top of the menu. The position of the tag in the menu should be consistent with the number of hashmarks associated.

  • IPFessay and Hardbin should work right away. By default the HTTP gateway is writable with this version

  • All IPNS objects will be opened with the ipns:// scheme, with the IPNS key being converted to a base32 CIDv1. We should check that this conversion always works (if you copy an IPNS address with a base58 IPNS key from somewhere to the clipboard, galacteek should convert it to the proper format in lowercase base32 and access it with ipns://).

  • Adding a blog post should appear almost live when accessing the blog (using IPNS) from the interplanetary services menu. It should also appear in the Atom feed after subscribing to it. Just tried that and there's no problem it seems.

  • Pyramids are published correctly (accessing the IPNS address from somewhere else gives you the right, latest content associated with the pyramid).

  • Media player works (search for the #video tag there's a few in the hashmarks database).

No need to test all that, it's just things to keep in mind. Problems will definitely arise ..

I've changed the way the editor works and you can now load anything (like a whole directory) in the editor and it'll be way more convenient to push things to a pyramid from the editor. That's one of the last things to work on before making a proper release.

Thanks again, take care.

@danrobi11
Copy link
Author

danrobi11 commented Apr 30, 2020

Oh boy. Galacteek is bigger than I thought.
I just played with 'chat' and 'blog' and I now have many questions.
Im going to open single issue about every of these features, it will be easy for you to keep track and use it to setup a nice wiki with 'guides' for these features. Otherwise, the users will be able to find their answer from the 'issue' section :)
Galacteek is really an awesome project, the users just needs to know how to use it.

@danrobi11 danrobi11 changed the title Issue publishing from IPFessay Issue publishing from IPFessay (Solved) Apr 30, 2020
@pinnaculum
Copy link
Owner

I'd rather keep documentation in a central place and at the moment it's the manual, which needs some updates and additions but a wiki could be nice !

@danrobi11
Copy link
Author

danrobi11 commented Apr 30, 2020

Yes absolutely your manual is a really good feature. You could also add the manual in wiki

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants