Git Product home page Git Product logo

meshenger's People

Contributors

dakhnod avatar mwarning avatar poussinou 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  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

meshenger's Issues

Crash on camera enable during call

Xperia 6.0.1/Huawei 8.0.0, camera/mic permissions granted

E AndroidRuntime: Process: d.d.meshenger, PID: 29465
E AndroidRuntime:        at d.d.meshenger.RTCCall.setVideoEnabled(RTCCall.java:223)
E AndroidRuntime:        at d.d.meshenger.CallActivity.switchVideoEnabled(CallActivity.java:187)
E AndroidRuntime:        at d.d.meshenger.CallActivity.lambda$onCreate$1$CallActivity(CallActivity.java:136)
E AndroidRuntime:        at d.d.meshenger.CallActivity$$Lambda$3.onClick(Unknown Source)

Use a translation platform to make translation of the interface easier

Hi folks, I participate in LibreMesh and so I found Meshenger. I see that the software is internationalized, and there are localized strings in English and German (with an empty file for French localization). For LibreMesh, we had great success connecting with TranslateWiki.net -- there the community of translators translated the LibreMesh interface into Greek and Mandarin within hours of connecting with the platform, and many other languages have been translated in the months we've been connected. And if you already know people who might translate if there were an easier interface, they can make an account on TranslateWiki.net.

Things to keep in mind: TranslateWiki.net has some guidelines -- you can read them here. For LibreMesh, the development workflow doesn't allow direct commits, so I set up a separate repo that serves as an exchange between the LibreMesh repo and TranslateWiki.net.

Q

Sorry. I don't know how to delete this.

[HELP] How to enable localRenderer, i tried, but not success.

I add setLocalRenderer in RTCCall,
setorg.webrtc.SurfaceViewRenderer @+id/localRenderervisibilityvisible

and try:

add blow in RTCCall.handleMediaStream

localRenderer.init(this.sharedContext, null);
upStream.videoTracks.get(0).setEnabled(true);
upStream.videoTracks.get(0).addSink(localRenderer);

or

add blow in RTCCall.createStream

VideoTrack videoTrack = getVideoTrack();
videoTrack.setEnabled(true);
upStream.addTrack(videoTrack);
videoTrack.addSink(localRenderer);

localRenderer did not show any thing.

Make Meshenger working through routed networks

This is not an issue, but some ideas I have to make Meshenger working through routed networks.
The problem: layer 2 networks don't scale. Many Freifunk communities already split up their networks in different layer 3 domains to reduce overhead and to improve performance. Different devices in different domains still can talk to each other, but they have different network prefixes and you can't use the link local address anymore. Also you don't know in what domain your peer device is, and so you don't know the IP. Maybe you can guess the prefix, but if we assume a /64 for each domain and a /48 for the whole network, you have 65536 possibilities. Of course you can enter all known used prefixes in your app (they are not much), but that's not really user friendly.
So there is a need for a "signaling system", which should, of course, not be a centralized service. This can be done by a small daemon on the layer 3 routers, which connect the different domains. Meshenger already knows the IP of the router, because the device has an IPv6 default route received via router advertisements from the router. If Meshenger can't find the peer locally, it could ask the router if it knows a (routable) IPv6 address for the MAC of the peer. The router then looks up its neighborhood tables from other domains and returns the global routable IPv6 address of the peer. If the router doesn't find an address for the searched MAC, it even could ask other routers!
Of course, this method is not perfect and has some problems:

Problems:

  • Privacy hell: If you know a MAC, you can track its position (or at least in which domain it is). But if you know all used prefixes, you also can ping it.
  • You can also collect a lot of meta data on the routers (who has contacted who at what time?). Wouldn't be possible (or at least not so easy) without such a signaling system.
  • You need daemons on every router between the peers
  • So this method doesn't work, when you are not in such a network (e.g. if you want to contact someone who is behind a private DSL line)
  • There is definetly something I'm missing

Maybe there is a better solution at all?

Feature request: dark theme

I and many others would greatly appreciate if you could incorporate a dark / night mode for this application.

Logo offer for meshenger

Hi sir Danieli. I'm graphic designer. I would like to offer logo. If you like, I can give you with great pleasure all the formats of the design free. If you want a change please specify.

untitled-1

QR code is partly covered.

The QR code is partly covered by the "share" icon, so it fails to scan with another phone. See screenshotScreenshot_20190702-163944_Meshenger
.

WiFi-Direct / Hotspot

Doesn't work with WiFi Direct nor Hotspot provided by one of the mobiles.
Is this something one could expect to be solved soon?
Best

Problem adding contact

The issue occures when I try to add my devices to each others contact list. The devices I have is an Sony Xperia Z5 running Android 7 and an Sony Xperia XZ Premium running Android 8.

The Sony Xperia Z5 have no problems adding contacts, but the Sony Xperia XZ Premium seems to have an issue as the other contact shows up in the list but it's also always showing an icon next to the contacts name indicating it is trying to contact the other devices. In this state I can only remove the other contact. No connection can be made.

ToDo/Feature/Wish/Idea List

  • better readme.md (better description, link to freifunk blog entries, screenshots) CHECK
  • protect against malformed contact data / SQL injection CHECK
    • e.g. in case the contact names contains " or dangerous utf-8 sequences CHECK
  • display own name (maybe "Meshenger: myname" on top of the app) kinda CHECK
  • add topic keywords to project, e.g. android, app, webrtc, decentralized CHECK
  • keep contacts reachable even after reconnects/absence (ip address magic) CHECK
  • add contact by domain (z.B. be able to call mywebsite.de)
  • share contact from own contact list via QR-Code CHECK
  • be able to share own contact without network connection (we would need to store own mac)
  • settings menu:
    • select language CHECK
    • allow/disallow calls from unknown people CHECK
    • contacts import/export
    • change own name CHECK
  • be able to add call from unknown contact as new contact
  • "about" menu (author, license, app version, link to source code pointing to github) CHECK
  • multi language support (english/german) CHECK
  • call without video by default, activate video during call CHECK
  • publish app in f-Droid and/or Google Play Store
  • documentation CHECK
    • what does it do CHECK
    • how does it work CHECK
  • ringing sounds/vibration on incoming call CHECK
  • allow/disallow call from people that are not in the contact list CHECK
  • show small window of own video camera when video is used

Call ends due to proximity sensor

When using a Samsung Galaxy S4, if the proximity sensor is triggered, the call ends.

This seems to be specific to this phone as it doesn't happen with my LG Nexus 5x / the proximity sensor works as intended (blacking out the screen, but not hanging up) for it.

How to play with VLC

I'm trying to understand how the cypher works. One easy way, would be to have your version with optiomal cypher . What changes would it need to be done in the app?

1.1.0 does not compile

Hi, I tried to compile the new version.
Android Studio complains that MeshengerActivity is not defined. Is the file missing? Renaming the name back to AppCompatActivity solved the issue.
Also a file app/src/main/res/values/attrs.xml seems to be needed:

<declare-styleable name="CustomStyle">
    <attr name="primaryTextColor" format="reference"/>
    <attr name="secondaryTextColor" format="reference"/>
    <attr name="backgroundCardColor" format="reference"/>
</declare-styleable>

This makes Android Studio happy again. :-)

Meshenger crashed when I tried to access About section

Expected behavior

Users should be able to use the normal functions of the application properly after changing the theme of the Meshenger application and should be able to access to the About/Settings section.

Actual behavior

When I tried to access the about/settings section in Meshenger after taking the theme from light to dark or dark to light, the application stopped working and gave a crash report.

How to reproduce

  1. Open the Meshenger app.
  2. Click on the Dropdown Menu at the top right.
  3. Click on the Settings.
  4. Then activate the Night mode.
  5. Go back and select the About/Settings section by clicking on the Dropdown Menu again.
  6. And you will see that the application crashes immediately.
  • App version: v1.1.0
  • Operating system: Android 5.1.1

The following record is only for the "about" section, it also crashes when accessing the "settings" section after changing the theme of the application.

https://im2.ezgif.com/tmp/ezgif-2-0e884436c406.gif

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.