geo25rey / ipmail Goto Github PK
View Code? Open in Web Editor NEWInterPlanetary Mail - Decentralized Email alternative using IPFS
License: GNU General Public License v3.0
InterPlanetary Mail - Decentralized Email alternative using IPFS
License: GNU General Public License v3.0
When sending a message from the message composer GUI, the program crashes with the following stacktrace.
goroutine 51106 [running]:
ipmail/libipmail/crypto.(identityList).GetAny(0xc00012df70, 0xc000b92750)
/Users/runner/work/ipmail/ipmail/libipmail/crypto/identity_list.go:64 +0x2e
ipmail/gui/fyne_views.MakeMessageComposer.func1()
/Users/runner/work/ipmail/ipmail/gui/fyne_views/message_composer.go:42 +0x292
fyne.io/fyne/widget.(Button).Tapped(0xc001cc8210, 0xc005fd1660)
/Users/runner/go/pkg/mod/fyne.io/[email protected]/widget/button.go:192 +0xa7
fyne.io/fyne/internal/driver/glfw.(window).mouseClicked.func5()
/Users/runner/go/pkg/mod/fyne.io/[email protected]/internal/driver/glfw/window.go:734 +0x38
fyne.io/fyne/internal/driver/glfw.(window).runEventQueue(0xc0044056c0)
/Users/runner/go/pkg/mod/fyne.io/[email protected]/internal/driver/glfw/window.go:1152 +0x7a
created by fyne.io/fyne/internal/driver/glfw.(*gLDriver).createWindow.func1
/Users/runner/go/pkg/mod/fyne.io/[email protected]/internal/driver/glfw/window.go:1176 +0x10d
While in light mode (default) the contacts list has a black background when it contains 2 or more contacts.
Error message output:
panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xc0000005 code=0x0 addr=0x18 pc=0x110c3f5]
goroutine 33147 [running]:
ipmail/libipmail/crypto.(*identityList).GetAny(0xc005894168, 0xc0054896c0)
D:/Random/ipmail/libipmail/crypto/identity_list.go:64 +0x35
ipmail/gui/fyne_views.MakeMessageComposer.func1()
D:/Random/ipmail/gui/fyne_views/message_composer.go:42 +0x2a2
fyne.io/fyne/widget.(*Button).Tapped(0xc001ac16b0, 0xc0035d5420)
C:/Users/David/go/pkg/mod/fyne.io/[email protected]/widget/button.go:192 +0xaa
fyne.io/fyne/internal/driver/glfw.(*window).mouseClicked.func5()
C:/Users/David/go/pkg/mod/fyne.io/[email protected]/internal/driver/glfw/window.go:734 +0x3f
fyne.io/fyne/internal/driver/glfw.(*window).runEventQueue(0xc001cde1a0)
C:/Users/David/go/pkg/mod/fyne.io/[email protected]/internal/driver/glfw/window.go:1152 +0x83
created by fyne.io/fyne/internal/driver/glfw.(*gLDriver).createWindow.func1
C:/Users/David/go/pkg/mod/fyne.io/[email protected]/internal/driver/glfw/window.go:1176 +0x10d
When packaging the GUI, Fyne requires an app icon called "Icon.png" to package correctly. There is currently a place holder icon.
The width of the welcome dialog should be larger and static for better interface.
Use emersion/go-smtp to make a custom SMTP server to enable users to send emails to other users using the current email infastructure. This would essentially be an "exit node" similar to Tor but for email.
Resources:
Server.Serve(net.Listener)
type Listener
It is unlikely that users have only one device these days, so making a secure method of sharing user data to a new device would be wise. Currently, user data can be manually imported by copying the user data directory from one device to another, but that can be hard for non-technical users and can be impossible on mobile phones.
When there are 2 or more contacts in the contacts list and they are expanded, the contacts overlap.
Using the GUI's welcome dialog doesn't set the UserID correctly, but the CLI works as intended.
After running for the first time on Windows 10 and closing the main window before the settings window, opening IPMail doesn't do anything. There isn't even output in the command line.
When users aren't subscribed to the IPFS pubsub topic "Mail" and aren't processing each message that is published on the topic, users will never receive those messages that could have been for them.
The current implementation has messages sent also sent to the sender of the message. Thus, it is impossible the distinguish messages sent to someone and messages sent to yourself.
When messages are sent, there is no way to tell if the message has gotten to its destination.
See #2 Potential Solution part 6
In cases where the content isn'ton the IPFS network, a contact request shouldn't make the user interface hang.
The current OpenPGP implementation is basically the development branch of the Go built-in crypto package. On top of that I've had to switch over to my own branch of that, since they haven't consider my patch to fix encryption using a deserialized Entity making it not ideal from a security stand point.
Most email clients have some kind of system tray icon to help with user interaction. It would be nice to add such a feature to IPMail, too.
I found this go library that might be useful.
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.