Update of "project state"
Overview
Artifact ID: | 4dfebf285a4cad00705c9beacb75e294c45e4a94 |
---|---|
Page Name: | project state |
Date: | 2016-10-08 05:04:50 |
Original User: | mario |
Mimetype: | text/x-markdown |
Parent: | 7ba120e52896ba7b95aa857ab59ca216fdf53124 (diff) |
Content
Maintenance
- No feature freeze yet.
- But as the application is mostly complete, there are only sporadic releases.
Stability
- The application runs mostly stable. The GUI interfaces are workable.
- It's supposed to run on Gtk2 and Gtk3. Albeit threading is still an issue.
- Python3 support is achieved.
- There haven't been any optimizations regarding memory usage and performance.
- The current internal API is still somewhat underdocumented.
Current bugs
- Gtk crashes when switching channel tabs (threading issue)
Audio- and list-format support is not very robust / needs better APINot all keyboard shortcuts workSome internal UI state flags remain, that need to be substituted with Gtk callbacks.
Features
- Treeview layouts and lists are dynamically from datamap[] structure and stream{} dicts.
- Channel categories are often built-in defaults (can be freshened up however)
- Config vars and cache data get stored as JSON in ~/.config/streamtuner2/
- Plugin meta data spec is mostly used now for configuration description, and plugin management.
Missing
- Localization (not actually planned for)
- Plugin for adding new stations
- Cron mode for recording timer
Security notes
- FAULTY DATA: Directory scrapers use partially complex regular expressions - which is probably not a security risk, but can lead to inexact decoding. Albeit HTML entitiy cleanup and constraints are in place. Charset fixups are done on a case-by-case basis. Doesn't help for Xiph however (already receiving garbage there). As for fragile, some DOM/PyQuery extraction targets are less exact even.
- MEDIUM: integrity checking for .pls / .m3u references and files is only done on conversion. (Set audio players to use
%xspf
for maximum filtering.) HIGH RISK: no verification of downloaded favicon image files (ico/png), as they are passed to gtk.gdk.Pixbuf (OTOH data pre-filtered by Google)- MEDIUM: audio players / decoders are easily affected by buffer overflows from corrupt mp3/stream data. However nothing we can preassert here, streamtuner2 just passes them on.