• 54 Posts
  • 72 Comments
Joined 1 year ago
cake
Cake day: June 14th, 2024

help-circle
  • thanks for your thoughts. npm is popular for a reason and vanillajs doesnt scale very well. so any deps used could be an issue.

    i was also considering if with the webcomponent approach it could be “furture-proof” as it seems to be the rhetoric i hear around. im sure i wont have a great implementation any time soon, but id like to try out a few ideas to see if it holds-up. hopefully to lead to a “secure javascript ui framework” (which itself could be a whole discussion).

    but based on all the feedback ive recieved, it seem for the messaging app refactor, i’ll be fine to use react on it. which is great because i already have a working-ish demo.


  • thanks for your thoughts.

    thats not quite what im asking. im wondering if there are nuanced benefits to using webcomponents over something like react. with the key difference being the native support.

    i hope with the webcomponent approach it could be “furture-proof” as it seems to be the rhetoric i hear around. im sure i wont have a great implementation any time soon, but id like to try out a few ideas to see if it holds-up. hopefully to lead to a “secure javascript ui framework” (which itself could be a whole discussion). i hope that by having it open source, i can point to an example to discuss and improve it.

    it seem for the messaging app refactor, i’ll be fine to use react on it. which is great because i already have a working-ish demo.





  • thanks. thats what id like to aim for and i dont think its far off. the build script there is mainly for the storybook statics (as seen in the link provided for “website”).

    couple things i hope to do soon, remove lit as a dependency - i use this right now because its useful for template rendering and lifecycle methods. webcomponents have a an ugly approach to this which Lit makes easier, and so i pushed it back, but its still on the todo.

    after that i should be able to have a more vanilla web dx.











  • the difference with my approach is that there is no registration or installation. as a webapp its easier for users to get started.

    localsend is a good approach and my project isnt anywhere near the quality seen there (or several other examples). i hope to be able to create something competative in the space.

    (i am investigating providing the app natively for various platforms for better reach, but the core requirement for my app is to have a modern browser)




  • xoronOPtoPrivacySend files privately. No cloud. No trace.
    link
    fedilink
    arrow-up
    2
    arrow-down
    2
    ·
    edit-2
    2 months ago

    thanks for your thoughts and reply!

    i’ll try my best to answer, feel free to ask for clarity on anything i miss.

    I would rather use Magic Wormhole if I have to have an intermediate server operated by somebody else.

    completely understandable. its worth noting, what you see is a GUI for peerjs-server. under the hood its using peerjs. im working towards making it so that the backend is configurable to point to your own instance. it currently points to the public peerjs-server as a way for users to easily get started. this functionality is already available in the positive-intentions/chat app. (i will also be adding the ability to specify stun/turn servers).

    ensuring that references to files are unforgeable and copyable

    it seems i need to better understand the concept of capabilities as you mentioned for me to be able to reply on that. im not sure if this answers the particular concern, but i’ll try explain what is happening in a sequence.

    1. user uses html input to select file from device. this requires the user to grant permissions.
    2. file loaded into into os/browser/js memory-space.
    3. this file is base64 encoded and sent to peer (base64 encoded to make the data serializable for network transfer)
    4. peer recieves file in base64 which can then be converted back into a file.

    i notice things like the file is sent incompressed without modifications. for file-types like images, i am able to do things like remove exif data, but this isnt implemented.

    The terms of service are unacceptable and I won’t be trying out the product

    this is fair. i dont know much about creating terms but i previsouly asked about if i can remove them entirely. i recieved strong feedback to keep it: https://www.reddit.com/r/startup/comments/1jerkyb/do_i_need_to_have_terms_and_conditions_in_an_app/

    i think i should speak more broadly about the terms and condition. i was aiming to have something generic so i dont have to talk to a lawyer. i certainly dont have a lawyer on-call. i had the terms checked by a professional lawyer who i think advised correctly. the aim for the terms was to be something of a cover-all so that i dont have to worry about being personally liable. (its the same as used in the chat app.)

    telemetry

    im happy to consider flexibility on this. i was thinking that if i can check the domain isnt the one im using, then to disable telemetry. but the whole selfhosting-angle to this project needs a lot of consideration.

    Just don’t collect user data

    im not collecting user data. it seems a unique approach and i dont fully understand how to articulate it. its why i mention about it being zero-registration. its local-only storage for everything. there are no databases. its a GUI for peerjs-server. i selected to use nlevelanalytics because they provided something that i consider reasonably secure because i can interact with an api (in contrast, all other tools wanted me to add some remote script in the <head>, which is where i draw the line.). on nlevelanalytics the UI is faily basic. i see dots on a map. i dont think its enough to pinpoint individuals, but it give me county+city combo. im sure fingerprinting on network requests can still be done as much as any other tool. hopefully introducing ways to disable telemetry can be more relieving. but i dont particularly want to have a lawyer on-retainer frequently updating those terms.

    somebody accused of misbehavior gets their local data exfiltrated too

    there much to consider about a sensitive implementation for this. its an old post and i havent made much progress on it, but the question still stands: https://www.reddit.com/r/darknetplan/comments/16qw24o/on_my_decentralized_chat_app_i_want_some_kind_of/ … what is worded in the terms, is to allow flexibility on the implementation when it comes to implementing something for the purpose of “reporting users”. i actively discuss about the details and implementation of my project on reddit and details around exfiltrating data from users is clearly important to discuss.

    ultimately, i often mention that the project is far from finished. your points are important to consider but also the tip-of-iceberg in all the things to consider. im no expert in anything and this is a learning experience to create something. i hope that by discussing it in posts like this, i can get to something more agreeable.







  • thanks!

    im a developer im not much of an expert on licences of any kind. i created code and decided to open source it here: https://github.com/positive-intentions/chat . when i say the close source app is “based on” the open source code, i hope it doesnt undermine that it itself is a fully functional p2p messaging system (im of the opinion that all projects will always need refinement). anyone with issues about close-source code should take a look at the open-srouce version. its basically more functional but it seems too complex to maintain as open source andd thus this new project.

    id like to offer the statics as a zipped folder. this is in the roadmap, but the code will be minified and obfuscated. about as opaque as possible for “source available”. i dont know much on the matter, but id like to learn more about if this can be made into libre software. its hardly modifyable or studyable.

    while i dont want you to “trust me bro”, i am actively developing it and improving the functionality. so that static bundle will have to be build by the CI/CD and it will update along with the app. it goes without saying, the project is not mature enough to have things like security audits.

    thanks! for your feedback there! ahh the connection bugs. unfortunately this is is one of the trickier bugs. im working towards fixing that asap. i have an idea of a fix, but im trying to avoid rewriting a core piece. have you tried closing the app on both devices and trying again (sorry, i know its a bit cliche).

    if its not a secret, can you maybe tell me more about your LAN setup for me to set something up and try? i certainly aim for it to “just work”.





  • Thanks. I hope to get to a point where I can make the experience as seamless as workhole.

    To compare solutions, a key details around providing my app as a webapp, is to avoid the requirement of a client. this opens up the set of compatible platforms.

    (Note: it’s a common request for me, so by popular demand, i will aim to provide binaries for the major platforms.)