jsynowiec / airqmon Goto Github PK
View Code? Open in Web Editor NEWA macOS menu bar application that displays live air quality data from the nearest sensor station.
Home Page: https://jsynowiec.github.io/airqmon/
License: Apache License 2.0
A macOS menu bar application that displays live air quality data from the nearest sensor station.
Home Page: https://jsynowiec.github.io/airqmon/
License: Apache License 2.0
Display percentage value of pollution norms for PM values near measurements.
- [ ] PM1.0
Sometimes it's able to acquire location, sometimes not and I can't use app. Maybe instead of automatic location, allow user to manually input sensor via settings?
I'd to help but local development guide is missing :(. Not sure what I need to be fully able to locally develop.
I haven't updated airqmon in some time, but today I finally downloaded 1.0.0… Which immediately prompted me to download 1.0.1… which I did… which immediately prompted me to download 1.0.2 😉
It'd be great if I was pointed right away to version 1.1.0 👍
Allow user to opt-out (in preferences) from sending anonymous analytics and logs.
Apple released design resources for macOS: Introducing Apple Design Resources for macOS
There are also videos from WWDC, e.g. "Introducing Dark Mode" and guidelines, AppKit Article - Supporting Dark Mode in Your Interface.
Blocked by: electron/electron#14755
It seems when launching the app on Catalina it can't properly retrieve any data from Airly - the message says it will reconnect, but it doesn't even if it's given hours of time.
Example, affected coordinates: {latitude: 50.279333, longitude: 18.655763999999998}
, station id 42
.
Measurements for location does return some data like PM10 and PM25 but when API is queried using an id, there is no currentMeasurement
data.
At some point, notifications about Airqmon changing sensor station to a closer one stopped working. Needs investigating and fixing.
Related to #9 and requires an Apple developer account and a valid certificate.
Evaluate the recently released 3.0.0
version of Electron.js. There are breaking changes, electron/electron#14753.
Add a toggle (or a whole settings window?) that allows to enables or disables start at login feature.
Remember state of refresh button on application close and load it on start.
Evaluate Next.js+Electron. Should be easier to maintain. Since Next.js comes equipped with styled-jsx, favour this instead of refactor/css-in-js branch and css-blocks experiments.
Resources:
Notes/todo:
Hello. Thank you for sharing app really enjoying using it.
Could you provide a way to configure menu bar displayed information since we already have it e.g. CAQI: %caqi PM2.5: %pm25 %temp st. C
we would get CAQI: 60 PM2.5: 42ug/m3 4.5 st. C
This is a bug report
While having Airqmon app running in background, whenever I try to access any window's preferences I'm currently focusing with "Cmd + ," shortcut, the Airqmon preferences are being opened.
Using Airqmon v1.0.0
CAQI norm is <0, 100> and shouldn't exceed those values in any direction. If returned value is greater than 100, >100
should be displayed.
There has been a new version of the API released. https://www.facebook.com/airlyeu/posts/814768172031664
We should migrate to it before 30.11.2018. I could work on a PR unless someone jumps in before me 😄
When user clicks the notification about change of air quality, main app windows should be made visible.
User should be able to select which notifications should be displayed. This needs to be remembered between restarts.
App should ask for user consent to geolocate (ideally macOS location permission) or zip code/city to geocode. If possible, instead of HTML5 Geolocation API try using macOS location API.
When screens are placed vertically, app windows is always displayed on the most bottom one.
Reported by @kdzwinel
Evaluate different libraries and solutions to better understand how application is used.
Don't check for location without user consent. Switch from HTML5 Geolocation to native macOS Location Services if possible.
This allows to remove the manual download & copy updating process.
Ref: electronjs.org/docs/tutorial/updates
Requires: #18
I've been playing a little with this project, and wanted to get UX a bit closer to what I'm used on macOS. Would you be open for a change like this?
What I changed:
system-ui
, because it looks readable, familiar and I find the photon-entypo
slightly hard to read with its low weight :|Let me know what you think.
Somehow notify the user that the Airly API key was saved/set and is OK.
There are three PM10 concentration levels distinguished in Poland. When PM concentration is four times or six times over the acceptable level a notification should be displayed to the user about possible implications.
Hey, thanks for developing airqmon, I found it very useful.
The issue which I observe is that sometimes location is wrongly detected. (When I have observed it, I confirmed that other apps use a correct location).
Perhaps it would be useful to add a feature to set a location.
This is inconvenient, but according to docs and some threads on stackoverflow, to resolve this app needs to be signed. So fixing this requires #18 and block #22.
Found out, that when the CL requests come from the Airqmon helper process (renderer), the CL remembers user consent. This could be a bug so relying on it is not recommended.
There are reports that the 1.2.0-beta.1 version (one that uses CoreLocation) is displaying data from previous location after user moved. If you're willing to test, here is the 1.2.0-beta.2 version that writes logs to ~/Library/Application Support/airqmon
If you encounter this issue, please verify location timestamps. Shouldn't be older than 120 seconds. If it's not, please check whether latitude and longitude points to your current location.
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.