An Android client for the LibreNews server

Overview

LibreNews

This project is archived. While LibreNews web will still be maintained, the Android app is no longer required to receive notifications. Please use milesmcc/librenews.

LibreNews is a client for the LibreNews server. It is a free, fast, open-source, and decentralized breaking news notification app. Whenever anything noteworthy happens in the world, you can be sure that you'll be notified.

Breaking news notifications are perhaps the most important channel by which we receive our information about the world, and LibreNews aims to democratize this essential medium. Don't let any corporation or government agency control your breaking news.

We are proud not to track our users. View the steps we have taken to protect their information, as well as our privacy policy.

Download LibreNews

Get it on F-Droid
Comments
  • Notification text is hard-coded to black

    Notification text is hard-coded to black

    The notification text from this app seems to force black rather than using the system default color. My notification background is dark and as a result I cannot read the notifications I receive.

    opened by Pixelguin 8
  • App Icon notification reappearing

    App Icon notification reappearing

    I received the notification with the app icon feedback link several times within a few minutes. (My app icon is fine)

    Even after clicking on it, it still keeps reappearing after a few minutes (only 1 notification at a time) Using https://librenews.io/api

    opened by GerRudi 5
  • Disable announcements by default?

    Disable announcements by default?

    Mostly LibreNews presents itself as a breaking news notification service. But for that the default settings with announcements on are IMO a little bit spammy.

    opened by mueller-ma 3
  • Wi-Fi and sync

    Wi-Fi and sync

    Wi-Fi as per https://en.wikipedia.org/wiki/Wi-Fi

    "Sync" partly solves the space issue with the string overlapping "INFO" another fix would be to shorten to min/sec/h. etc

    opened by comradekingu 1
  • add german translation

    add german translation

    Three notes: Make the url non translatable? Do I have to translate {rate}? You use "refresh rate" and "sync disabled". Isn't both a sync, so shouldn't be only one term used?

    opened by mueller-ma 1
  • French translation + README.md

    French translation + README.md

    Here is a small PR that adds the French translation

    This also improve the README.md

    You can notify me in the future if there are any new keys to translate ;)

    Thanks for this app

    opened by Poussinou 0
  • Find a serious crash

    Find a serious crash

    APK Version : 1.4 AndroidOS Version: 7.1.1 Description information: This crash happened by accident when I was testing in different devices. And this crash happened very frequently. I hope it can help you to debug.

    crash: CRASH: app.librenews.io.librenews (pid 32668) (dump time: 2021-03-29 19:18:45 Version: 1.4 Long Msg: java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.Context android.view.View.getContext()' on a null object reference at app.librenews.io.librenews.views.SettingsActivityFragment.onSharedPreferenceChanged(SettingsActivityFragment.java:26) at android.app.SharedPreferencesImpl$EditorImpl.notifyListeners(SharedPreferencesImpl.java:479) at android.app.SharedPreferencesImpl$EditorImpl.apply(SharedPreferencesImpl.java:387) at android.preference.Preference.tryCommit(Preference.java:1415) at android.preference.Preference.persistBoolean(Preference.java:1677) at android.preference.TwoStatePreference.setChecked(TwoStatePreference.java:81) at android.preference.TwoStatePreference.onClick(TwoStatePreference.java:66) at android.preference.Preference.performClick(Preference.java:994) at android.preference.PreferenceScreen.onItemClick(PreferenceScreen.java:278) at android.widget.AdapterView.performItemClick(AdapterView.java:310) at android.widget.AbsListView.performItemClick(AbsListView.java:1239) at android.widget.AbsListView$PerformClick.run(AbsListView.java:3258) at android.widget.AbsListView$6.run(AbsListView.java:4205) at android.os.Handler.handleCallback(Handler.java:751) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:6245) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:900) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:790) crashend

    opened by LvZW1895 0
  • A Display bug

    A Display bug

    Dear developer In the process of using, I found a bug in layout / display. In the second line of the program home page, there is occlusion, that is, "minutes" and "INF" overlap each other, which may be an adaptation problem. App version is 1.4, my mobile phone is Google nexus 6, screen resolution setting is 1440 * 2560, font size is the largest, Android system is 8.0. The above is a description of the problem. The overall experience of the software is good. You can see that the design is very attentive. Thank you very much for the efforts of the developers all the time. I hope to receive a reply. Thank you! image

    opened by franklinbill 0
  • Fetch channels from server

    Fetch channels from server

    This adds

    1. an available_channels preference
    2. a DoneCallback for the FlashManager

    The SettingsActivityFragment populates the channels list from the available_channels, which is updated whenever the FlashRetreiver fetches the API.

    The API is also fetched when the server_url is changed and the callback is used to update the channels list.

    This allows to use servers that use more/other channels than the default set and fixes #24.

    opened by jomo 3
  • API returns articles with no link; and no interface denotes this

    API returns articles with no link; and no interface denotes this

    So upon a little deeper investigation, I notice a recent flash completely lacked a Link at all. This prompted #30 at first but I got curious and checked the backend response since it was linked in readme.

    {"channels":["Breaking News","Announcements"],"latest":[{"channel":"Breaking News","id":"1105062338351296513","link":"None","source":"BBC","text":"Russian athletes will remain banned from international competitions until further notice, says athletics' governing body.\n\nIn\u2026","time":"Mon Mar 11 11:06:07 +0000 2019"},{"channel":"Breaking News","id":"1105055050886508550","link":"https://bbc.in/2EQRNsr","source":"BBC","text":"Angus Sinclair, thought to be Scotland's worst serial killer, has died at the age of 73","time":"Mon Mar 11 10:37:09 +0000 2019"},[....]
    

    API output truncated for example

    So I noticed the recent flash lacked any sort of link, and I'd suggest some form of toast or notification when the clicked flash has no valid URI link provided, so that the user isnt confused when nothing happens on click of a particular flash.

    Breaking News • BBC [Mon Mar 11 06:33:18 CDT 2019]
    LibreNews
    pkg: app.librenews.io.librenews
    key: 0|app.librenews.io.librenews|167654918|null|10345
    icon: Icon(typ=RESOURCE pkg=app.librenews.io.librenews id=0x7f02005b)
    sound: DEFAULT
    vibrate: none
    visibility: PRIVATE
    priority: DEFAULT
    intent: Intent(pkg=app.librenews.io.librenews (activity))
    extras
      android.title: Breaking News • BBC
      android.subText: null
      android.template: android.app.Notification$BigTextStyle
      android.showChronometer: false
      android.text: Russian athletes will remain banned from international competitions until further notice, says athle...
      android.progress: 0
      android.progressMax: 0
      android.showWhen: true
      android.largeIcon: null
      android.bigText: Russian athletes will remain banned from international competitions until further notice, says athle...
      android.infoText: null
      android.originatingUserId: 0
      android.progressIndeterminate: false
      android.remoteInputHistory: null
    parcel size: 1712 ashmem: 0
    
    enhancement help wanted 
    opened by Zazie-Lavender 1
  • [Enhancement] Flash History screen

    [Enhancement] Flash History screen

    Sometimes you miss a flash, or when you click on it, it may not load up properly; but Android has already dismissed the notification and you're no longer able to read the newsflash that caught your eye.

    What I'd like to see is a place I can go where I can view the flashes received in the last 24 to 48 hrs; in case of a device issue or something causing a notification to be cleared.

    Sometimes on low memory devices Android will flat out OOM and begin killing random apps and there's nothing I can do about this. This also would be helpful to know what sources have been pushing flashes and all as well, especially as we begin to see capabilities such as multiple flash news sources and the like, and may be a useful tool for also debugging if flashes are too frequent or not and if things like check interval should be tweaked.

    enhancement help wanted 
    opened by Zazie-Lavender 1
Releases(v1.4)
Owner
R. Miles McCain
Stanford ’24, @StanfordIO, @RecurseCenter. Digital safety, privacy & security. PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLU… 🏳️‍🌈
R. Miles McCain
HyperUPnP is Android Application that lets you to Stream Media from PC, NAS or any other device running UPnP/DLNA compliant media server to your Android Device.

Hyper UPnP Android UPnP/DLNA client Stream Media from PC, NAS or any other device running UPnP/DLNA compliant media server to your Android Device. Int

Var Bhat 8 Jul 17, 2022
A Full-Stack mobile app, including Android & Server, Simple-Poem 简诗. You can write poem in graceful & traditional Chinese style.

JianShi 简诗 A Full-Stack mobile app, including Android side & Server side, Simple-Poem 简诗. You can write poem in graceful & traditional Chinese style.

wingjay 1.9k Jan 6, 2023
Android application to sync RSS without a server using DecSync

Flym DecSync Flym DecSync is a fork of Flym which adds synchronization using DecSync. To start synchronizing, all you have to do is synchronize your s

Aldo Gunsing 20 Dec 30, 2022
Movies-db-example - Sample Android application that loads movies data from a remote server

Movies Application Sample Android application that loads movies data from a remo

Bilal Ibrahim Hairab 0 Feb 8, 2022
Watora server

Getting Started Reference Documentation For further reference, please consider the following sections: Official Gradle documentation Spring Boot Gradl

TsukiSeele 3 Nov 28, 2022
Minecraft JE Server Programming with JS like Skript, Trigger Reactor

mine.js(Developing) Minecraft Java Edition Scripting with JS(V8 Engine) by Netherald How to apply? Download Paper or Bungee Version. and put it to plu

null 9 Nov 10, 2021
Text to Speech Project for Spring Boot and Kotlin, Auth Server, Python with Fast API (gTTS)

TTS-App Text to Speech Project for Spring Boot and Kotlin, Auth Server, Python with Fast API (gTTS) Python의 gTTS lib를 활용하여 텍스트를 음성으로 변환하는 서비스를 구현해봅니다.

Seokhyun 7 Jan 7, 2022
🚧 A fully open-source project for creating and maintaining a Kotlin-based Minecraft: Java Edition server.

Hexalite: Java Edition ⚠️ WARNING: The Hexalite Network is a work in progress. It is not yet ready for production. You may encounter bugs and other is

Hexalite Studios 38 Nov 28, 2022
Launchy - A custom launcher for our server that installs recommended mods

Launchy Our custom launcher which makes it easier to set up optional mods and in

Mine In Abyss 8 Dec 10, 2022
🚧 A fully open-source project for creating and maintaining a Kotlin-based Minecraft: Java Edition server.

Hexalite: Java Edition ⚠️ WARNING: The Hexalite Network is a work in progress. It is not yet ready for production. You may encounter bugs and other is

Hexalite Network 38 Nov 28, 2022
Synapse Moderation Bot - A bot for managing and moderating our community Discord server

Synapse Moderation Bot A bot for managing and moderating our community Discord server. Note This bot is not public. While you can host it on your own,

Synapse Technologies, LLC 1 Jul 16, 2022
Simple metrics exporter HTTP server for Prometheus meant to be used for private Discord servers.

Discord Prometheus Exporter Simple metrics exporter HTTP server for Prometheus meant to be used for private Discord servers. Thanks to the creator of

Subham 2 Nov 29, 2022
Whitelist Player on Minecraft Server via Twitch Channel Points ✅

TwitchWhitelist This is a customisable 1.8-1.19 Spigot Plugin to Whitelist Players via Twitch Channel Points Rewards. Setup Setup a PaperMC (recommend

Jakob 3 Oct 17, 2022
Twidere-Android Twidere is a powerful twitter client for Android 1.6+ 1 , which gives you a full Holo experience and nearly full Twitter's feature.

Twidere for Android Material Design ready and feature rich Twitter/Mastodon/Fanfou app for Android 4.1+. Enjoy Fediverse now! Twidere-Android is maint

Twidere Project 2.7k Jan 2, 2023
An MVP Dribbble client for Android Mobile, Tablet, Wear and TV.

Bourbon ![Sidebar] (https://img.shields.io/badge/Sidebar-06%2F05%2F2016-orange.svg) Bourbon is a simple Dribbble client built for Android Mobile, Wear

Joe Birch 1.1k Dec 12, 2022
An open source Hacker News client for Android.

Hacker News Come chat with us on Gitter.im! An open source Hacker News client for Android phones & tablets. Available on the Google Play Store How to

Matthew Bishop 227 Dec 11, 2022
📱:newspaper: Android client for the Nextcloud news/feed reader app

Nextcloud News Reader – Android App The Nextcloud News Reader Android App is under AGPLv3 License terms. Bugs and enhancements can be reported under:

Nextcloud 589 Dec 31, 2022
Android client for Seafile

Seafile Android Client The application has been published onto the market for easy access: Contributors See Contributors Graph Build the APK Make sure

null 462 Dec 29, 2022
GitHub client for Android based on the abandoned official app

ForkHub ForkHub started off as a fork of the official Android app from GitHub, and has since seen lots of improvements. You can see a comprehensive li

Jon Ander Peñalba 2.8k Dec 28, 2022