4
0
mirror of https://github.com/AzuraCast/AzuraCast.git synced 2024-06-17 22:47:04 +00:00
Commit Graph

629 Commits

Author SHA1 Message Date
Buster "Silver Eagle" Neece
93ff68881f
Webhook and Sync Task Refactor
Moving service locator dependencies to their own Collections and make webhooks dispatch via MessageQueue messages.
2020-08-28 02:04:23 -05:00
Buster "Silver Eagle" Neece
23f2172488
Scheduler/StationQueue Rework (#3087)
Create a new "StationQueue" entity that contains the upcoming song queue, and split the important AutoDJ functionality across multiple classes (Annotations, Queue and Scheduler).
2020-08-16 09:54:01 -05:00
Buster "Silver Eagle" Neece
0889916194
Better error handling through wrapping exceptions with richer requests. 2020-08-10 02:46:09 -05:00
Buster "Silver Eagle" Neece
51a2292803
Implement a custom crossfade function for live streams. 2020-08-02 12:32:55 -05:00
Buster "Silver Eagle" Neece
ffa6d6b4fc
Auto-load most Vue component deps from Webpack manifest. 2020-07-15 03:00:17 -05:00
Buster "Silver Eagle" Neece
989ef42b49
Add theme class to body, update Codemirror styling. 2020-07-12 03:57:03 -05:00
Buster "Silver Eagle" Neece
f3f845cf1a
#3020 -- Switch to MariaDB-based message queue. 2020-07-11 00:22:02 -05:00
Buster "Silver Eagle" Neece
6f66ff072b
Make Auth and Customization PSR-7 lifecycle friendly. 2020-07-09 23:15:27 -05:00
Buster "Silver Eagle" Neece
16ce83be51
Remove unused code. 2020-07-08 19:30:58 -05:00
Buster "Silver Eagle" Neece
2abb8bf623
Routine code cleanup. 2020-07-08 02:03:50 -05:00
Buster "Silver Eagle" Neece
df7053e3f7
#3014 -- Update log level to string on GuzzleHTTP library. 2020-07-06 01:47:34 -05:00
Buster "Silver Eagle" Neece
26088a36ba
Move to Guzzle 7.x for PSR-18-compatible client. 2020-07-05 21:36:50 -05:00
Buster "Silver Eagle" Neece
62763250ca
Remove Sentry, simplify error handling.
Developer's note: the Sentry team has been very supportive of open-source and is good people! We simply don't use the library enough on our end to justify its dependencies in our codebase.
2020-07-04 11:08:53 -05:00
Buster "Silver Eagle" Neece
0adda37403
Incorporate new NowPlaying library
- Move much of AzuraCast's merging and client integration into the library itself
 - The library now uses typed properties on a return object for much more reliable hinting
 - Update both this library and SupervisorPHP to use PSR-17 and PSR-18 standardized factories
2020-07-03 15:24:04 -05:00
Buster "Silver Eagle" Neece
b96d8dbaac
Update SupervisorPHP version to 4.x alpha branch. 2020-07-01 19:26:26 -05:00
Buster "Silver Eagle" Neece
db2ba3f1ad
Finish migration to Symfony Messenger from Bernard. 2020-06-28 18:00:00 -05:00
Buster "Silver Eagle" Neece
9efa5a651e
Replace Bernard message queue with Symfony Messenger 5 2020-06-28 11:29:22 -05:00
Buster "Silver Eagle" Neece
4bcfad3eb5
Updates preparing for Doctrine 3.0
- Switch to EntityManagerInterface for EM uses
 - Wrap EntityManager in close-resilient wrapper
 - Close/clear/reopen EM with every request
 - Rework tests to be em->clear() resilient.
2020-06-26 15:22:53 -05:00
Buster "Silver Eagle" Neece
0dea2de081
Update to Doctrine Migrations 3.x. 2020-06-25 03:47:49 -05:00
Buster "Silver Eagle" Neece
19bf99d836
Set default value for recording format. 2020-06-24 00:47:18 -05:00
Buster "Silver Eagle" Neece
3f162d484a
#2957 -- Use global "App.lang" for default translated strings. 2020-06-21 11:30:37 -05:00
Buster "Silver Eagle" Neece
903ffd7e63
Rework webpack building to be faster and reduce common load times. 2020-06-17 05:44:59 -05:00
Buster "Silver Eagle" Neece
6a335f4537
Minor refactoring; rename UploadAction to FlowUploadAction for clarity. 2020-06-16 05:43:31 -05:00
Buster "Silver Eagle" Neece
94640dbbb8
Remove "advanced" status on some essential fields. 2020-06-03 04:25:10 -05:00
Buster "Silver Eagle" Neece
0069df6d2d
Disable certain dangerous "advanced" features by default in new installs.
Some functionality of AzuraCast has always been intended for "Power Users", but seemingly no amount of warnings or labels will prevent users from discovering these features, misusing them, and either burdening our support channels or declaring AzuraCast to be "broken". With this update, new installations have some of these most dangerous settings (manual port assignments, manual directory selection, custom LS/Icecast config, etc.) disabled. They can easily be re-enabled by editing "azuracast.env" and turning them on, and will remain available for all previous users by default.
2020-05-27 02:36:30 -05:00
Buster "Silver Eagle" Neece
1c87b48bdb
#2834 -- Add CLI command to list user accounts.
Can be invoked by running CLI with "azuracast:account:list".
2020-05-26 02:38:18 -05:00
Buster "Silver Eagle" Neece
f93b150d54
#2860 -- Make Queue display page share permissions of queue API calls. 2020-05-20 18:41:24 -05:00
Buster "Silver Eagle" Neece
bd6d3203b1
Add On-Demand Streaming/Download Support (#2836)
This branch represents the initial earliest commit of a new option for radio stations that also want to make a portion of their media library available to the public (such as podcast episodes, royalty-free music, etc.) in an on-demand fashion.

Note: because of royalty restrictions with most radio stations, this feature is turned OFF by default on all stations, and even when enabled, station administrators must select each individual playlist that will contain on-demand available media.
2020-05-15 05:13:47 -05:00
Buster "Silver Eagle" Neece
769de19d00
Big Visual Waveform Editor Overhaul
- Refactor Flysystem to use constants instead of magic strings for URL prefixes
 - Add audiowaveform installation to both Docker and Ansible installations
 - Use audiowaveform to generate waveforms saved to disk for every track
 - Load these waveforms when visiting the visual waveform editor page instead of using the browser to calculate them
 - Add volume control and use app-wide storage of default volume
 - Remove "beta" tag from waveform editor header
2020-05-11 19:32:41 -05:00
Buster "Silver Eagle" Neece
9062903d6d
#2814 -- Slight refactor to address some router issues. 2020-05-08 19:40:34 -05:00
Buster "Silver Eagle" Neece
78c762ee4e
#2702 -- Use full request URI (sans path) for default base URL. 2020-05-05 20:42:14 -05:00
Buster "Silver Eagle" Neece
5203e8db08
#2654 -- Add InfluxDB debug CLI command. 2020-05-04 23:47:45 -05:00
Buster "Silver Eagle" Neece
a961481e85
#2249 -- Add ability to update Now Playing metadata via API call. 2020-05-03 21:48:26 -05:00
Buster "Silver Eagle" Neece
945b4a83df
Implement per-station default album artwork. 2020-05-02 20:28:08 -05:00
Buster "Silver Eagle" Neece
4804e2f710
Make Backend and Frontend config collections, avoiding "magic strings". 2020-05-02 02:58:59 -05:00
Buster "Silver Eagle" Neece
382dbef1a1
#2707 -- Run the queue build sync task more often. 2020-04-21 01:59:15 -05:00
Buster "Silver Eagle" Neece
0fb3c8e2eb
Fix URLs in webhook tests; force HTTPS on thumbnail/image URLs. 2020-04-20 22:57:57 -05:00
Buster "Silver Eagle" Neece
2f173fca53
Restrict the permission needed to manage LS configuration. 2020-04-19 20:53:34 -05:00
Buster "Silver Eagle" Neece
e82212629a
Make AutoDJ queue length per-station configurable. 2020-04-15 23:24:53 -05:00
Buster "Silver Eagle" Neece
f1040f7fdd
Initial refactor to separate queue management from Now Playing process. 2020-04-15 00:23:11 -05:00
Buster "Silver Eagle" Neece
767fb5dd31
Add confirmation step to the "Restart to Apply Changes" menu items. 2020-04-13 01:49:59 -05:00
Buster "Silver Eagle" Neece
51f82d1ceb
Add back ability to import playlist file from existing M3U/PLS file. 2020-04-12 02:23:45 -05:00
Buster "Silver Eagle" Neece
135c9f21dd
Add "reshuffle playlist" button to dropdown for shuffle-type playlists. 2020-04-09 10:13:49 -05:00
Buster "Silver Eagle" Neece
66ded0a693
Move route groups to separate files to ease maintenance. 2020-04-07 23:19:24 -05:00
Buster "Silver Eagle" Neece
5903387eb9
Add button to clear all pending requests. 2020-04-06 23:54:28 -05:00
Buster "Silver Eagle" Neece
07ac05f990
Switch from Redis Mutex to a simpler local Lock mechanism. 2020-04-04 00:48:27 -05:00
Buster "Silver Eagle" Neece
c59fca5933
Broaden permissions on profile API endpoint. 2020-04-02 17:13:26 -05:00
Buster "Silver Eagle" Neece
f1025d52f7
Unify all station profile API calls into a single response. 2020-04-02 06:30:00 -05:00
Buster "Silver Eagle" Neece
66d55d33f1
Add an uptime wait function during the setup process. 2020-03-29 23:50:40 -05:00
Buster "Silver Eagle" Neece
c851f92f27
Split Liquidsoap service control and configuration writer components. 2020-03-19 14:41:22 -05:00
Buster "Silver Eagle" Neece
f5e9160b6f
Frontend package updates; add fullscreen to listener map. 2020-03-13 18:47:23 -05:00
Buster "Silver Eagle" Neece
62219946f3
Add LS Telnet commands to Debug page. 2020-03-10 17:30:02 -05:00
Buster "Silver Eagle" Neece
710c64e041
Run backups in background and show rolling log; new backup timecode check. 2020-03-08 17:49:48 -05:00
Buster "Silver Eagle" Neece
81fbf023b0
Add ability to supply a banned listener IP list via the web interface. 2020-03-01 18:03:03 -06:00
Buster "Silver Eagle" Neece
0939599532
Create new "Debug" page for testing internal functions in debug mode. 2020-03-01 10:26:49 -06:00
Buster "Silver Eagle" Neece
82b9ec685d
Create new "Edit Liquidsoap Config" page; allow editing in more places. 2020-02-23 06:58:47 -06:00
Buster "Silver Eagle" Neece
18a2089377
Formalize and define the new /station/{id}/schedule API endpoint. 2020-02-19 09:05:15 -06:00
Buster "Silver Eagle" Neece
33d2ed64ae
Implement Streamer Schedules, Schedule Enforcement and new Scheduled Items Panel on Profile (#2422)
* Commit new Schedule entity changes and new API endpoints.

* Fix possible cause of API POST errors.

* Fix syntax with JSON return slashes.

* Add "Schedule View" and "Enforce Schedule" settings to Streamers.

* Add "Scheduled" panel to Profile.
2020-02-17 22:32:14 -06:00
Buster "Silver Eagle" Neece
dbba8e3c00
Add ability to specify admin pw and load clients for remote relays. 2020-02-12 23:37:45 -06:00
Buster "Silver Eagle" Neece
027590dc54
Cleanup and optimization relating to the recent AzuraCore merge. 2020-02-12 20:29:42 -06:00
Buster "Silver Eagle" Neece
bddbab4e02
#2395 -- Fix default database name on Ansible installs. 2020-02-07 02:13:38 -06:00
Buster "Silver Eagle" Neece
4d4d75ad4d
Reunify AzuraCore and AzuraCast repositories. 2020-02-05 20:35:13 -06:00
Buster "Silver Eagle" Neece
5ccb3798dc
Add ability to delete individual broadcasts. 2020-02-03 01:15:57 -06:00
Vaalyn
4edbe6cd2a
Fix issue 2141 (#2362)
* Fix backups download route path

* Add download attribute to backup download link
2020-01-30 15:57:30 -06:00
Buster "Silver Eagle" Neece
41edc21987
Add ability to add folders to playlists and auto-assign contents. 2020-01-30 15:48:34 -06:00
Buster "Silver Eagle" Neece
ca9c5db39d
New feature: Track broadcasts and record them. (#2353)
* Add form entries and LS config writing for live stream recording.

* Create new Broadcast entity; implement new djon/djoff handling.

* Rework record command procedure and add Station relation to Broadcast.

* Run code reformat on JS to add semicolons back.

* Properly save recording path on entity.

* Initial commit of new streamers Vue component.

* Finish frontend Vue dev and add necessary API endpoints.

* Add loader to Datatable; update npm deps; polish on components.
2020-01-28 20:23:55 -06:00
Buster "Silver Eagle" Neece
78eb312ec7
#2326 -- Add ability to uninstall GeoLite database. 2020-01-24 14:45:45 -06:00
Buster "Silver Eagle" Neece
71a91cc12d
#2325 -- Fix settings error on Ansible installations. 2020-01-22 23:04:50 -06:00
Buster "Silver Eagle" Neece
72013d105f
Expand SFTP username length to 32. 2020-01-22 18:44:15 -06:00
Buster "Silver Eagle" Neece
31c34ebbc4
Abstract IP Geolocation services and add DBIP support. 2020-01-22 04:48:02 -06:00
Buster "Silver Eagle" Neece
2c093abfe3
Update syntax on SHOUTcast authhash form. 2020-01-21 00:26:21 -06:00
Buster "Silver Eagle" Neece
feeb8b9af1
#2306 -- Partially revert removal of "Prefer Browser URL" setting. 2020-01-21 00:02:06 -06:00
Buster "Silver Eagle" Neece
b6f558eb54
Always prefer browser URL and always enable SFTP server.
Both settings are no longer relevant and turning them off would cause unexpected issues, so they're being removed completely instead to ease configuration difficulty.
2020-01-15 14:52:47 -06:00
Buster "Silver Eagle" Neece
14ecffa4b7
Make WebDJ link always-HTTPS in sidebar; fix possible JS issue. 2020-01-10 23:56:45 -06:00
Buster "Silver Eagle" Neece
343a0a6e46
Move Vue, uncompiled JS, etc. files out of public web directory. 2020-01-08 20:25:38 -06:00
Buster "Silver Eagle" Neece
a208c172df
Switch to "provide license, download automatically" for GeoLite DB. 2020-01-08 14:37:56 -06:00
Buster "Silver Eagle" Neece
ebb6349ae1
Rename Sftp class, use new external auth support. 2020-01-08 13:24:33 -06:00
Buster "Silver Eagle" Neece
e9d8775af6
Switch from FTP to SFTP on Docker installations. 2020-01-05 15:29:56 -06:00
Buster "Silver Eagle" Neece
388bcee951
#2250 -- Handle MaxMind no longer offering free public downloads.
- Remove automatic download attempt from Ansible installation process
 - Allow listener report to function without the MaxMind database present, but with error messages
 - Create new "Install GeoLite Database" page in system administration, allowing user upload of the MaxMind database, with instructions
2019-12-31 06:49:25 -06:00
Buster "Silver Eagle" Neece
c72be08e99
Make the "reprocess media" command allow one station only. 2019-12-15 02:53:04 -06:00
Buster "Silver Eagle" Neece
7fea11f544
Enable "Prefer Browser URL" by default. 2019-12-02 18:46:24 -06:00
Buster "Silver Eagle" Neece
440687e93b
Settings forms code refactor, fixes #2171. 2019-11-25 21:25:29 -06:00
Buster "Silver Eagle" Neece
42d08db5a2
Add internal "get IP" command for PureFTPD. 2019-11-22 04:44:03 -06:00
Buster "Silver Eagle" Neece
19dd927189
Finish initial buildout of new playlist editor. 2019-11-06 15:19:32 -06:00
Buster "Silver Eagle" Neece
74e9154e74
Finish initial buildout of new modal Playlist form. 2019-11-06 02:57:39 -06:00
Buster "Silver Eagle" Neece
27be5deead
Style updates, form refactor for both Media and Playlists. 2019-11-05 16:55:27 -06:00
Buster "Silver Eagle" Neece
54140c4674
Update loaded assets and finish "reorder" functionality. 2019-11-04 15:59:52 -06:00
Buster "Silver Eagle" Neece
a44f9fe0bb
Further dev work on new playlist manager. 2019-11-03 20:19:25 -06:00
Buster "Silver Eagle" Neece
20abb359c0
Create Vue components and move Playlist endpoints to API. 2019-11-03 00:22:00 -06:00
Buster "Silver Eagle" Neece
9fc7a6328a
DB migrations and initial API endpoint preparation. 2019-11-02 13:50:21 -05:00
Buster "Silver Eagle" Neece
80b7ca9461
Stop the task processor if the EntityManager is closed. 2019-10-31 21:52:09 -05:00
Buster "Silver Eagle" Neece
0112568041
#2068 -- Move "write playlist to disk" task to the message queue. 2019-10-29 14:49:03 -05:00
Buster "Silver Eagle" Neece
d90d48bc54
Fix password field name on administration page. 2019-10-29 04:27:03 -05:00
Buster "Silver Eagle" Neece
2f03b038f7
Refactor Account/Profile sections and fix #2099 (2FA setup errors). 2019-10-26 18:35:24 -05:00
Buster "Silver Eagle" Neece
cd72560032
Update Composer deps, switch to Docker image for CA cert updates. 2019-10-24 23:46:05 -05:00
Buster "Silver Eagle" Neece
7f96916a0d
#2076 -- Revamp how album art changes are handled.
- All media rows will have an "art_updated_at" field that tracks the latest time the art was changed for the file.
- If this field is set to zero (0), the system will return the default album art instead of attempting to resolve an album art URL that we know won't go anywhere.
- The timestamp of the latest update is now included in the album art image SRC, so we can maintain our very long caches without interfering with album art updates.
2019-10-24 14:37:27 -05:00
Buster "Silver Eagle" Neece
047d19e972
Protect against accidentally loading the same dir, but with a prepended slash. 2019-10-22 01:39:07 -05:00
Buster "Silver Eagle" Neece
17d306b970
Enable Web Radio Proxy by default on new installations. 2019-10-20 00:44:33 -05:00
Buster "Silver Eagle" Neece
ff7d741455
Fix upload namespace on routes. 2019-10-10 20:51:55 -05:00
Buster "Silver Eagle" Neece
7f55696b47
Add new media manager album art tab. 2019-10-10 20:22:02 -05:00
Buster "Silver Eagle" Neece
1d2ed5fa55
Move file routes to API endpoints and add inline renaming. 2019-10-09 21:13:04 -05:00
Buster "Silver Eagle" Neece
4048ddcc01
Add bootstrap-vue to assets; finish initial Media Manager buildout. 2019-10-06 04:16:16 -05:00
Buster "Silver Eagle" Neece
d79c19c887
#2032 -- Return to using global Vue for drop-in components. 2019-10-04 03:02:53 -05:00
Buster "Silver Eagle" Neece
e0efde8612
Move Webcaster deps locally and switch Vue-i18n to Vue-gettext. 2019-10-03 22:12:15 -05:00
Buster "Silver Eagle" Neece
28765bd489
Bring Vue-i18n back until it's fully phased out. 2019-10-03 02:16:53 -05:00
Buster "Silver Eagle" Neece
8e49ea60c1
Switch to gettext method of Vue component localization. 2019-10-03 02:11:22 -05:00
Buster "Silver Eagle" Neece
d207a8ae83
Add "auto_assign" to custom field. 2019-09-30 03:33:20 -05:00
Buster "Silver Eagle" Neece
9a2f837586
Pull list of ID3v2 tags and add to custom field form. 2019-09-30 03:33:20 -05:00
Buster "Silver Eagle" Neece
c0d5365407
Prevent showing both "start station" and "restart station". 2019-09-29 19:01:15 -05:00
Buster "Silver Eagle" Neece
14de279bdf
Dependency-inject fixtures. 2019-09-29 16:45:05 -05:00
Buster "Silver Eagle" Neece
d7819a6993
Migrate Doctrine repositories to composited, DI-friendly classes. 2019-09-29 02:50:24 -05:00
Buster "Silver Eagle" Neece
9a8b095521
Switch back to Certainty and use a less frequent, non-per-request update process. 2019-09-27 21:07:33 -05:00
Buster "Silver Eagle" Neece
55d2a17119
Change "Name" in user form to "Display Name" to confirm it isn't a username. 2019-09-24 18:19:51 -05:00
Buster "Silver Eagle" Neece
a98aebb8e0
#1976 -- Add ability to restart a single station from CLI. 2019-09-18 21:31:13 -05:00
Buster "Silver Eagle" Neece
daf78fa738
Move Settings and Logging to static system-wide functions. 2019-09-12 00:31:01 -05:00
Buster "Silver Eagle" Neece
bf8bece9ac
#1954 -- Fix some LS commands on Ansible installs. 2019-09-11 12:58:22 -05:00
Buster "Silver Eagle" Neece
fb54e4ee78
Begin refactor of CLI commands to use new Silly DI format. 2019-09-10 18:10:57 -05:00
Buster "Silver Eagle" Neece
1ae761efd8
More "station_id" rename fixes. 2019-09-09 23:13:11 -05:00
Buster "Silver Eagle" Neece
a4a146673e
More fixes to allow for new PHP-DI bridge integration. 2019-09-09 23:02:08 -05:00
Buster "Silver Eagle" Neece
46fe1256cd
Transport 2FA secret via session rather than form input variable. 2019-09-04 10:25:31 -05:00
Buster Neece
457c4896f6
Add support for the FTP service notifying app of new uploads for processing. 2019-08-26 17:05:32 -05:00
Buster Neece
1a1a18dfe7
Add integrated FTP upload support. 2019-08-25 17:50:20 -05:00
Buster Neece
0953182033
Localization Overhaul
- Replace several "add %s", "remove %s", "manage %s" strings with dedicated strings for each action
- Make API responses locale-aware and translated
- Make CLI locale-aware and translated
- Add initial support for Turkish language
2019-08-21 17:34:05 -05:00
Buster Neece
d4b2b22428
Reduce number of concurrent Redis connections by consolidating to one DB. 2019-08-17 20:33:44 -05:00
Buster Neece
297356a7e3
Turn the live websockets off by default, but still easily enabled. 2019-08-16 12:23:35 -05:00
Buster "Silver Eagle" Neece
37c69afe85
Implement Audit Log (#1859)
Add a new "Audit Logs" table (and corresponding administrative page) that tracks inserts, updates and deletes to important database entries, along with tracking the user who made the change.
2019-08-14 18:50:53 -05:00
Buster Neece
a38d24ba43
Switch to using AC Central for IP determination; add IP to streamers page. 2019-08-10 02:45:17 -05:00
Buster Neece
2f8ab5544a
Switch back to Request/Response decorators. 2019-08-09 10:00:21 -05:00
Buster Neece
fa68598fce
Remove the two un-autowireable middlewares. 2019-08-06 23:43:21 -05:00
Buster "Silver Eagle" Neece
639dddf989
Slim PHP Framework 4 Update (#1822)
Implement an upgrade of the codebase to use Slim Framework version 4, which includes the following changes:
 - Updating to Slim version 4 and the corresponding AzuraCore updates.
 - Making all objects PSR-7 Request/Response agnostic (and creating RequestHelper and ResponseHelper objects to interact with the PSR-7 Req/Resp objects).
 - Moving to PHP-DI as a DI container and implementing its autowiring support.
2019-08-06 23:33:55 -05:00
Buster Neece
fab08ff763
Clean up SoundExchange report and remove duplicate PHP file. 2019-08-02 22:26:13 -05:00
Buster Neece
68088fbd05
Create a page showing AzuraRelay instances. 2019-07-31 22:20:06 -05:00
Buster Neece
bc1c2cb871
Allow disabling of websocket updates; improve NP time counter stability. 2019-07-31 13:47:12 -05:00
Buster Neece
be7459c57d
Switch to older (but more reliable) way of sending nchan messages. 2019-07-31 13:23:03 -05:00
Buster Neece
bec2880f2c
Use nchan library from npm and directly import into Vue. 2019-07-26 18:51:59 -05:00
Buster Neece
83f3d407a5
Bring nchan back. 2019-07-25 23:54:25 -05:00
Buster Neece
5a9ec823e4
Make relays an internal URL and prevent :443 infinite redirects. 2019-07-23 11:51:06 -05:00
Buster Neece
c9e0d8ee93
Update autocomplete on new-password/CSRF; composer update. 2019-07-20 20:31:03 -05:00
Buster Neece
b5cd364402
Bring back the AzuraCast AutoDJ (and "Next Song"). 2019-07-17 16:29:21 -05:00
Buster Neece
ffcf01adc8
Fix migration, add POST relay update and remote adapter. 2019-07-15 18:47:05 -05:00
Buster Neece
3a1faa3887
Add DB migration, entity and editable checks. 2019-07-14 23:47:39 -05:00
Buster Neece
419d524744
Add new relays API endpoint and fix response docs on some other endpoints. 2019-07-10 12:45:54 -05:00
Buster Neece
56e6b4c232
Unify CLI commands 2019-07-10 00:45:10 -05:00
Buster Neece
fd01cf78be
Use dirrty jQuery library for more accurate "form is changed" detection. 2019-06-27 16:09:40 -05:00
Buster Neece
a6fa2bbad0
Fix password-change checking the original password and confirming the new one. 2019-06-27 03:30:27 -05:00
Buster Neece
eea56852eb
Consolidate documentation onto site homepage and update relevant links. 2019-06-21 18:27:18 -05:00
Buster Neece
b95449064a
#1606 -- Move fonts back to local so entire UI is self-hosted. 2019-06-19 02:21:21 -05:00
Buster Neece
fab95b13f7
Switch to smaller 10-year range timezone data. 2019-06-03 18:09:29 -05:00
Buster Neece
20100f0c31
Add station clock to sidebar. 2019-06-03 14:58:44 -05:00
Buster Neece
2e5b829efc
Switch to sortablejs to remove a jQuery dep and fix NPM audit reports. 2019-06-02 19:23:17 -05:00
Buster Neece
90e69594b8
Big locale update, add Czech as supported language. 2019-05-28 12:49:24 -05:00
Buster "Silver Eagle" Neece
16fc2c54bc
Implement zero-downtime backups + nightly backups (#1574)
* Create new backup and restore commands allowing live backups.
* Switch migrate script to use new backup method.
* Avoid loading fixtures, ensure directories exist when restarting stations.
* Include album art in media backup.
* First portion of automated backup management code.
* Further backup page work; add download/delete functionality.
* Implement automatic backups and "manual run" page.
* Switch automatic backup filename to match text.
* Add new locales.
* Add restore instructions and ability to view latest backup log.
2019-05-23 10:29:22 -05:00
Buster Neece
1b0e7cdde6
Move a majority of form styling to SCSS. 2019-05-19 09:54:34 -05:00
Buster Neece
39e599c6ca
Switch to leaflet for listener map. 2019-05-18 22:25:34 -05:00
Buster Neece
448e002dee
Switch to charts.js on Reports Overview, remove Highcharts/Highmaps. 2019-05-18 11:05:02 -05:00
Buster Neece
67ba7358b1
Switch to chart.js for homepage charts, add accessible alt values. 2019-05-18 07:06:07 -05:00
Buster Neece
07ba1c1dd9
Clean up styling on 2FA enable form. 2019-05-18 04:47:14 -05:00
Buster Neece
a7754c8b59
Add back form_edit (but don't use it in form_page) for inline forms. 2019-05-17 16:23:42 -05:00
Buster Neece
ca897525ee
Switch tabs and error block to be rendered upfront to avoid FOUC. 2019-05-17 16:16:21 -05:00
Buster Neece
e3c677fe54
#1544 -- Properly handle station-local timezone on playlist homepage. 2019-05-15 09:05:32 -05:00
Buster Neece
fb57959765
Prevent once-per-day playlists from showing up as "all-day". 2019-05-14 13:35:40 -05:00
Buster Neece
12e00b5271
Update frontend deps, clean up Utility function calls, switch many things to Moment. 2019-05-14 09:23:06 -05:00
Buster Neece
575d5b5662
Show station time zone when editing playlist. Set TZ in LS directly. 2019-05-14 02:48:41 -05:00
Buster Neece
48427d46a3
Make timezone Station-specific and remove now-unused offset code. 2019-05-13 16:25:36 -05:00
Buster Neece
6e618ef595
Merge "once per day" into "scheduled", switch to HTML5 time, add TZ. 2019-05-13 07:57:53 -05:00
Buster Neece
4774b5f29c
Design rework of the station profile page. 2019-05-10 00:44:47 -05:00
Vaalyn
3dcc087487 Visual improvements 1 (#1516) 2019-05-08 17:23:26 -05:00
Buster Neece
3b316f3cdf
Always use Highcharts accessibility module. 2019-05-04 02:37:11 -05:00
Buster Neece
b62c5437df
Migrate to allow more LS playlist options, including merging. 2019-04-29 00:20:23 -05:00
Buster Neece
e8a4db3fad
#1475 -- Fix routing error with album art. 2019-04-25 04:08:57 -05:00
Buster Neece
69eff1ead9
Initial work on files API endpoints. 2019-04-22 06:19:21 -05:00
Buster Neece
6ebb9f8e3b
Make inline player a Vue component. 2019-04-16 20:12:25 -05:00
Buster Neece
39680f6ebb
Make public radio player a standalone Vue component. 2019-04-15 22:00:49 -05:00
Buster Neece
dcf27f6539
Closes #1283 -- Add web hooks API endpoint. 2019-04-14 17:12:49 -05:00
Buster Neece
8dc072d1c8
Simplify routing file and add Playlist API endpoints. 2019-04-12 22:27:58 -05:00
Buster Neece
e93892be80
Switch station restart flagging to a Doctrine event handler. 2019-04-11 23:46:27 -05:00
Buster Neece
4f68512b43
#1281 #1282 -- Add remotes/mount point API. 2019-04-09 23:46:51 -05:00
Buster Neece
3554d65c75
Move port checker to Validation; create StationCloneForm, etc. 2019-04-09 04:06:44 -05:00
Buster Neece
28f8eaf11f
Revamp EntityForms, unify how station-based entities are constructed. 2019-04-08 03:25:01 -05:00
Buster Neece
06a2a5e6b7
#1400 -- Add "#" to avoided password characters. 2019-04-08 00:35:29 -05:00
Buster Neece
9c5797dc38
#788 -- Implement station management via API endpoint. 2019-04-08 00:09:53 -05:00
Buster Neece
bbe1690843
General API cleanup and closes #1277 -- Add streamer/DJs API endpoint. 2019-04-07 03:40:55 -05:00
Buster Neece
eb82cc87b4
#1400 -- Improve validator for streamer password. 2019-04-05 11:23:01 -05:00
Buster Neece
365f642d72
#1382 -- Add new "play single track" setting. 2019-04-02 17:49:45 -05:00
Buster Neece
0a305532df
#1349 -- Make remote playlist buffer user-configurable. 2019-03-31 17:09:10 -05:00
Buster Neece
6c1287c871
Set up dev routes file. 2019-03-26 20:43:32 -05:00
Buster Neece
a5e6a87c60
Playlist refactor initial commit. 2019-03-26 02:05:50 -05:00
Buster Neece
93612f9468
Remove autoplay. Make stream multiselect entirely Vue-powered. 2019-03-24 19:12:04 -05:00
Buster Neece
748ade0089
Unify mount form config; make mounts/remotes selectable on public page. 2019-03-24 00:46:54 -05:00
Buster Neece
0e59d20ed4
Locale update and directly credit Sentry in the settings pane. 2019-03-22 23:32:08 -05:00
Buster Neece
47ec65182a
Make error reports opt-in for all installations. 2019-03-22 21:01:37 -05:00
Buster Neece
48f104d8cd
Improve Sentry integration. 2019-03-22 20:22:32 -05:00
Buster Neece
0bb68f7a9e
Minor code quality fixes, test Sentry integration on dev. 2019-03-22 17:07:17 -05:00
Buster Neece
57fe9d9137
Divide playlist form into tabs like station form. 2019-03-20 21:18:38 -05:00
Buster Neece
3ec3f69714
Change light theme secondary color and #1087 -- Reorganize player layout 2019-03-20 18:46:27 -05:00
Buster Neece
56e6db456f Add smart-fade, replaygain and NRJ as standard station options. 2019-03-19 16:55:13 -05:00
Buster Neece
a157e9c0c1 Fix Twitter apps URL and #1312 fix webhook dispatching. 2019-03-16 00:20:33 -05:00
Buster Neece
ae68a43883 #753 -- Create "jingle mode" for playlists that hides metadata. 2019-03-14 21:22:09 -05:00
Buster Neece
e9052bd2d9 Fix minor theme switcher issue. 2019-03-14 17:36:20 -05:00
Buster Neece
db95d55c40 Webhook refactor and implement #500, Twitter rate limiting. 2019-03-14 17:24:42 -05:00
Buster Neece
b053abae04 Finish implementing 2FA in profile and login. 2019-03-14 03:40:02 -05:00
Buster Neece
cea176f536 Layout changes to profile for 2FA. 2019-03-13 20:49:19 -05:00
Buster Neece
bfb442df6d Add popper tooltips to some sidebar menu items. 2019-03-10 03:05:16 -05:00
Buster Neece
8e28a206b9 #741 -- Add quick toggle for playlists to main admin page. 2019-03-09 17:14:46 -06:00
Buster Neece
b4e1581da1 Add theme switcher, Help to navbar, form page exit confirmation. 2019-03-06 00:08:42 -06:00
Buster Neece
575a3e74e6 #1249 -- Remove required check for toggle options. 2019-03-04 14:16:13 -06:00
Buster Neece
dad93bb83f Use checkboxes for single-option settings, align language and UX across forms. 2019-03-03 16:23:14 -06:00
Buster Neece
28d2725ea3 Minor refactor of station profile controller, now that it's simpler. 2019-03-01 18:33:33 -06:00
Buster Neece
2852502dd2 Clarify language for remote relays. 2019-03-01 18:03:49 -06:00
Buster Neece
be5c8159d3 #1198 -- Fix repeating of short jingles. 2019-02-28 15:26:18 -06:00
Buster "Silver Eagle" Neece
7a872d145b Fix reloading on profile, refactor how LS sends feedback to avoid issues. 2019-02-27 13:18:12 -06:00
Buster "Silver Eagle" Neece
5839702a4c Refactor some "Next Song" functionality; add LS feedback back to AzuraCast. 2019-02-25 00:43:00 -06:00
Buster "Silver Eagle" Neece
0802948036 #1213 -- Fix API calls from sidebar navigation. 2019-02-24 14:09:27 -06:00
Buster "Silver Eagle" Neece
c975e8c081 Make menus configuration-driven so plugins can extend them. 2019-02-23 23:28:01 -06:00
Buster "Silver Eagle" Neece
e2c73c13fd #1180 -- Greatly improve user self-deletion/role management protections. 2019-02-17 18:52:01 -06:00
Buster "Silver Eagle" Neece
722dce7785 Build and implement common EntityForm wrapper class. 2019-02-17 00:58:48 -06:00
Buster "Silver Eagle" Neece
3d2405c907 Revert DJ silence detection to address possible runaway CPU/shutdown issues. 2019-02-13 12:32:02 -06:00
Buster "Silver Eagle" Neece
90e792cf15 #1148 -- Add missing translated strings. 2019-02-06 13:29:02 -06:00
Buster "Silver Eagle" Neece
d9a5eeed13 #1149 -- Consolidate fromArray/toArray and Serializer, add smart type casting. 2019-02-05 11:22:05 -06:00
Buster "Silver Eagle" Neece
1145911358 Make DJ silence detection user-configurable. 2019-02-02 15:59:36 -06:00
Buster "Silver Eagle" Neece
8a6701403a Code and PHPDoc cleanup to green-light level 2 static analysis. 2019-01-31 11:54:17 -06:00
Buster "Silver Eagle" Neece
72c4d3ab44 #1115 -- Make DJ mount point configurable. 2019-01-29 18:25:41 -06:00
Buster "Silver Eagle" Neece
c1f2017052
Implement #368 -- Add administrator-set storage quotas to individual stations. (#1122)
* Implement station quotas at DB level, switch to big-int math for checks.
* Update AzuraCore
* No longer try to auto-typecast fields (let the setters do that).
* Implement admin form, fix Flow error displays, implement checking/adding quota.
* Decrement from quota when a file is deleted.
* More robust handling of empty values.
2019-01-28 14:47:19 -06:00
Buster "Silver Eagle" Neece
bf0341d900 Create administrator-editable-only sections of unified station profile. 2019-01-27 00:14:19 -06:00
Buster "Silver Eagle" Neece
d61dd12859 Consolidate station form handling and prevent erroneous local broadcast attempts. 2019-01-26 14:38:36 -06:00
Buster "Silver Eagle" Neece
b845a88350 #1108 -- Make "is_public" selectable for remote relays. 2019-01-24 07:59:08 -06:00
Buster "Silver Eagle" Neece
39db6f4882 #1105 -- Add user-configurable CORS ACAO header setting. 2019-01-23 15:59:25 -06:00
Buster "Silver Eagle" Neece
73547b5c55 Significantly improve the service restart process; add live service status check on profile. 2019-01-16 08:53:04 -06:00
Buster "Silver Eagle" Neece
981a09483d Finish settings API endpoint; move form styling to static assets. 2019-01-09 12:57:23 -06:00
Buster "Silver Eagle" Neece
5cb5909e89 Add custom fields API endpoint. 2019-01-06 05:32:05 -06:00
Buster "Silver Eagle" Neece
2ad28872b2 Add settings/branding API endpoint and docs. 2019-01-06 02:57:09 -06:00
Buster "Silver Eagle" Neece
872145342d Permission optimization to avoid unnecessary DI. 2019-01-05 09:25:20 -06:00
Buster "Silver Eagle" Neece
7a74e6c14f Add role and permission management API endpoints. 2019-01-05 06:02:49 -06:00
Buster "Silver Eagle" Neece
a42ae53379 Create new DoctrineEntityNormalizer for API call handling. 2019-01-04 11:32:11 -06:00
Buster "Silver Eagle" Neece
c26f6e980c Refactor class names, #1065 allow reinstallation of SHOUTcast. 2019-01-03 02:30:56 -06:00
Buster "Silver Eagle" Neece
13e0c744c6 Implement message queue and worker for media processing/import tasks. 2018-12-30 04:18:48 -06:00
Buster "Silver Eagle" Neece
fa8d5714fe Move listener and request API controllers into the proper namespace. 2018-12-26 17:48:01 -06:00
Buster "Silver Eagle" Neece
7e40e52c8c Merge branch 'master' into feature/api_endpoints 2018-12-26 04:55:16 -06:00
Buster "Silver Eagle" Neece
43a115f3e6 Integration of CSS/JS assets into the Gulp build process. 2018-12-26 01:20:15 -06:00
Buster "Silver Eagle" Neece
94495a3cc3 #1066 -- Re-localization of vital CSS/JS assets. 2018-12-25 20:25:42 -06:00
Buster "Silver Eagle" Neece
10970517ac Provide a dynamic openapi.yml manifest, fix OpenAPI markup on several sections; update Swagger UI. 2018-12-24 02:47:45 -06:00
Buster "Silver Eagle" Neece
e21a23ef35 More refinements to common controllers; remove need for POST endpoint for Bootgrid. 2018-12-23 17:26:15 -06:00
Buster "Silver Eagle" Neece
5d1cc60b2d Shift API namespace to allow for entities to be in the OpenAPI docs. 2018-12-22 11:27:41 -06:00
Buster "Silver Eagle" Neece
c32a7188ea Use strict entity formatting; other minor fixes. 2018-12-21 18:01:04 -06:00
Buster "Silver Eagle" Neece
b2c6b5e54e Create new abstract CRUD API containers. 2018-12-20 04:25:24 -06:00
Buster "Silver Eagle" Neece
81c5ab4aa5 Allow (and default to) checking for release updates only. 2018-12-15 13:34:18 -06:00
Buster "Silver Eagle" Neece
676927b024 Fix issues with queueing songs, add queue API endpoints and queue viewer page. 2018-12-12 03:01:03 -06:00
Buster "Silver Eagle" Neece
9b5ef537f1 Further refinement on JS includes and assets. 2018-12-11 15:39:30 -06:00
Buster "Silver Eagle" Neece
ca8b45a635 Update SweetAlert; use Babel for transpiling during build process. 2018-12-11 15:15:53 -06:00
Buster "Silver Eagle" Neece
70914a67c1
Implement Flysystem, move album art to filesystem, fix related issues #953 #962 (#1022)
* Initial entity and dependency commit.

* Create migration test for album art move.

* File management controller refactor and further wiring of Flysystem.

* Form/UI fixes and refactors related to Flysystem.

* Update composer deps and add merge plugin to avoid dep overlap.

* Fix batch moving/directory listing, add lightboxing to files manager.

* Fix album art writing, use special upload method to skip disk round-trip.

* Migrate StationRepository to be DI-driven, update unit tests and the setup controller.
2018-12-05 01:15:51 -06:00
Buster "Silver Eagle" Neece
402be7e502 Minor code cleanup, using standard app settings constants in Customization. 2018-11-28 07:45:17 -06:00
Buster "Silver Eagle" Neece
0cc66cc89c Remove system logs from per-station log viewer; create new global log viewer page. 2018-11-27 10:03:14 -06:00
Buster "Silver Eagle" Neece
ca8f8bc14d Use constants for permission names to avoid typos and enable global usage finding. 2018-11-27 09:37:54 -06:00
Buster "Silver Eagle" Neece
8d4236c264 Fix conditional for /test route. 2018-11-26 11:18:14 -06:00
Buster "Silver Eagle" Neece
21758c2704 #976 -- Add genre to station profile and Icecast/Liquidsoap feeds 2018-11-26 02:16:55 -06:00
Buster "Silver Eagle" Neece
e8c86264bd Make mounts and remotes use a common interface to greatly simplify LS config writing. 2018-11-25 06:49:19 -06:00
Buster "Silver Eagle" Neece
415f454c69 Switch to lodash from underscore. 2018-11-24 12:53:10 -06:00
Buster "Silver Eagle" Neece
c6c08b05c5 #980 -- Add translations and localization support for Web DJ feature 2018-11-24 12:05:23 -06:00
Buster "Silver Eagle" Neece
96b0e196d7
Merge Vue rewrite of WebDJ (#988) 2018-11-24 09:12:15 -06:00
Buster "Silver Eagle" Neece
12acc535d1
Initial implementation of Webcaster ("Web DJ") functionality (#979) 2018-11-21 19:48:46 -06:00
Buster "Silver Eagle" Neece
1d95f7093a #966 -- Implement remote URL stream support in AzuraCast's AutoDJ, expand to support remote playlists as well 2018-11-20 06:06:16 -06:00
Buster "Silver Eagle" Neece
a1163afba5 #972 -- Make the repository friendlier to people using release builds. 2018-11-19 22:53:15 -06:00
Buster "Silver Eagle" Neece
9b6826e104 Split the giant station profile form into tab groups. 2018-11-19 02:31:56 -06:00
Buster "Silver Eagle" Neece
736d55eb08 #943 -- Update wiki links to refer to docs repo. 2018-11-17 21:11:20 -06:00
Vaalyn
96db025a2d Implement audio file moving (#958)
This PR implements a basic file moving function for the audio files. Currently this feature can only move files and not directories but it should be possible to extend this in the future to add the moving of whole directories.

Should close the following issues: #740, #315 and maybe #575 (I don't really understand what "maps" means in that issue so I assume it means directories)
2018-11-17 08:46:44 -06:00
Buster "Silver Eagle" Neece
6ebd158630 Use constants for Settings values (best practice) and implement update checks 2018-11-15 07:41:52 -06:00
Buster "Silver Eagle" Neece
854cb93261
Architecture change: Integrate common AzuraCore code (#944)
* Update composer.json/lock
* Update CLI console commands
* All AzuraCore refactors except folder moves.
* MVP for all core functionality.
* Working unit/functional tests
* Remove DB dump from util/, replace with direct migration.
* Update AzuraCore, define testing mode earlier.
2018-11-12 10:59:15 -06:00
Buster "Silver Eagle" Neece
22f667951f Delete leftover code from earliest iteration of Event Handling 2018-11-07 05:44:37 -06:00
Buster "Silver Eagle" Neece
027d571543 #909 -- Make version include commit and date from git metadata. 2018-11-02 00:25:47 -05:00
Buster "Silver Eagle" Neece
a9ada4bdb8 Expand log viewer, always log to AzuraCast log and rotate it, fix Monolog view 2018-10-30 05:13:01 -05:00
Vaalyn
014af954f9 Deactivate streamer on manual disconnect - implements #898 (#900)
* Add reactivate_at to station_streamers table

* Add reactivate_at property to StationStreamer

* Add deactivate streamer on disconnect config field

* Add disconnect deactivate streamer config

* Add disconnect_deactivate_streamer to station table

* Fix formatting

* Add parameter and return types

* Add return type

* Deactivate current streamer on manual disconnect

* Add ReactivateStreamer task to task runner

* Create ReactivateStreamer.php

* Add fetching of deactivated streamers for reactivation
2018-10-26 19:14:32 -05:00
Buster "Silver Eagle" Neece
473a6cfc1c Implement log viewer with auto-tailing and help references. 2018-10-26 18:54:13 -05:00
Buster "Silver Eagle" Neece
604503502b Minor configuration change to ensure new tables are utf8mb4_general_ci 2018-10-22 01:58:28 -05:00
Buster "Silver Eagle" Neece
08e23d62da Increase logging level to 'info' for prod envs. 2018-10-15 20:15:39 -05:00
Buster "Silver Eagle" Neece
fdc58a7aa1 Add DI awareness to repositories, enhance playlist queueing to avoid duplicates. 2018-10-13 21:51:25 -05:00
Buster "Silver Eagle" Neece
6368953b50
Bootstrap 4 Upgrade (#854)
An upgrade to Twitter Bootstrap 4, supported by the Daemonite Material design.
2018-10-11 02:04:09 -05:00
Buster "Silver Eagle" Neece
380e70d938 Put profile back on the station sidebar (while still leaving it the new default page). 2018-10-08 00:41:06 -05:00
Buster "Silver Eagle" Neece
9eb00ce64a #842 -- If looking at a playlist's contents, new uploaded files go into that playlist. 2018-10-07 10:39:00 -05:00
Buster "Silver Eagle" Neece
e53b4e456d Update AzuraForms and make shoutcast installer mime-type more broad. 2018-10-06 10:50:08 -05:00
Buster "Silver Eagle" Neece
172fbc3625 Make base URL required 2018-10-05 21:06:48 -05:00
Buster "Silver Eagle" Neece
287b439859 #804 -- Expand valid options for "play per x minutes" playlists 2018-09-30 20:59:20 -05:00
Buster "Silver Eagle" Neece
50b9935f2b #826 -- Refine CORS headers for OPTIONS Preflight 2018-09-30 19:47:27 -05:00
Buster "Silver Eagle" Neece
b426d12e5d Ensure all songs have some artwork field value in the API. 2018-09-30 11:56:05 -05:00
Buster "Silver Eagle" Neece
9b617fcd5c Tune caching on media artwork; add ".jpg" extension for CloudFlare. 2018-09-30 03:43:03 -05:00
Buster "Silver Eagle" Neece
f399b49c0f Update test suite to reflect profile changes. 2018-09-29 09:04:33 -05:00
Buster "Silver Eagle" Neece
0c464588fa Make the profile page the per-station "home" page, moving previous index to "Statistics Overview" under "Reports". 2018-09-29 08:35:40 -05:00
Buster "Silver Eagle" Neece
4c5862f923 #815 -- Fix NP data occasionally going blank, add resiliency to NP API endpoint. 2018-09-28 08:03:03 -05:00
Buster "Silver Eagle" Neece
38f8527a82 Remove SHOUTcast in default installations and provide a manual installer in the admin UI. 2018-09-27 12:29:05 -05:00
Buster "Silver Eagle" Neece
910878933a Make CLI command building event-driven so plugins can add CLI commands 2018-09-24 09:07:34 -05:00
Buster "Silver Eagle" Neece
ace90f074c Radio adapter overhaul
- Make all radio adapters station-idempotent (no longer having the Station hard-coded in, allowing for reuse and removing several possible error cases)
 - Make the Liquidsoap annotation and configuration building step event-driven for easy plugin overriding
 - Make the "get next song" process event-driven
2018-09-22 06:52:43 -05:00
Buster "Silver Eagle" Neece
0242897950 Extend EventDispatcher to allow service lookup events to avoid early loads. 2018-09-21 13:04:42 -05:00
Buster "Silver Eagle" Neece
33210b9450 Begin work on custom code plugins support. 2018-09-21 07:04:05 -05:00
Buster "Silver Eagle" Neece
d5bf941529 Switch to Guzzle middleware for the enhanced SSL CA bundle fetching. 2018-09-14 02:50:34 -05:00
Buster "Silver Eagle" Neece
720a599cc6 Make report controllers standalone, add back SoundExchange report. 2018-09-14 00:45:49 -05:00
Buster "Silver Eagle" Neece
ab1c6e7da9 Unify "Advanced" labels 2018-09-10 23:41:08 -05:00
Buster "Silver Eagle" Neece
4aba4b36f0 Frontend cleanup 2018-09-10 23:03:22 -05:00
Buster "Silver Eagle" Neece
9ee5f7af48
Split relays into a standalone feature (#782)
* Separate mount points and remote relays to allow local AND remote broadcasting from one station.

* Allow a different port/mount for the outbound AutoDJ from the statistics connection.
2018-09-09 13:23:03 -05:00
Buster "Silver Eagle" Neece
2e631c9502 Use Certainty library for SSL CA bundles, implement DI-injected HTTP Client 2018-09-06 20:08:47 -05:00
Buster "Silver Eagle" Neece
9c265eeeb2 Fix asset inlining, use inlining for form/station JS scripts, scroll to errors on forms. 2018-09-06 04:31:08 -05:00
Buster "Silver Eagle" Neece
bce2af2f09 Check that ports are not in use before creating/editing stations. 2018-09-06 01:33:16 -05:00
Buster "Silver Eagle" Neece
af551c7d4a Use number fields in more places, make crossfade decimal-aware (#651) 2018-09-05 19:23:17 -05:00
Buster "Silver Eagle" Neece
3741f3264b Add global default timezone, fix profile defaults, allow all timezones to be selected. 2018-09-04 17:08:16 -05:00
Buster "Silver Eagle" Neece
84e332eab7 Update AzuraForms to fix issue with playlists form 2018-09-04 15:00:47 -05:00
Buster "Silver Eagle" Neece
56453564b5 #760 -- Add HTTP basic auth support to webhooks 2018-09-03 21:17:53 -05:00
Buster "Silver Eagle" Neece
3c9ee1bc78 #764 -- Switch to number type input for "play every x" playlists 2018-09-03 21:01:01 -05:00
Buster "Silver Eagle" Neece
cefbb9694b Clean up the embed code sections. 2018-08-31 02:17:40 -05:00
Buster "Silver Eagle" Neece
cc5d3f6db9 #757 -- Label new (improved) functionality "Shuffle" and re-enable true random. 2018-08-29 19:45:01 -05:00
Buster "Silver Eagle" Neece
77541fc276 Use asset manager for custom internal/external CSS/JS to avoid empties. 2018-08-27 18:19:13 -05:00
Buster "Silver Eagle" Neece
8ea80733ec Fix locale provided to moment.js; prevent un-played songs from showing in history. 2018-08-27 05:29:14 -05:00
Buster "Silver Eagle" Neece
c50992a850 Pass a generic request to the view for error pages. 2018-08-27 03:46:23 -05:00
Buster "Silver Eagle" Neece
12157a8cad Properly localize and timezone-match JS-driven times 2018-08-27 03:31:32 -05:00
Buster "Silver Eagle" Neece
da36da4982 Put all the providers in a Provider namespace. You know, like Laravel! 2018-08-27 02:14:05 -05:00
Buster "Silver Eagle" Neece
c0543a0531 Don't double up on log writes for the Docker container versions. 2018-08-26 00:08:27 -05:00
Buster "Silver Eagle" Neece
545014a707 Make amount of song history to keep system-customizable. 2018-08-25 21:53:28 -05:00
Buster "Silver Eagle" Neece
9a2d5108e8 Implement Station History API, convert history report to use it. 2018-08-25 05:56:43 -05:00
Buster "Silver Eagle" Neece
3c7f7c7fd7 Mini-refactor other Http items into the Http namespace 2018-08-22 00:13:34 -05:00
Buster "Silver Eagle" Neece
83d2990ad3 Restructure Url -> Http/Router, implement better pagination for requests 2018-08-20 19:48:03 -05:00
Buster "Silver Eagle" Neece
8b15868c5d Restructure Adapter class constants 2018-08-18 19:44:46 -05:00
Buster "Silver Eagle" Neece
2a93d75480 #700 -- Make number of song history items shown on public APIs configurable 2018-08-18 18:01:03 -05:00
Buster "Silver Eagle" Neece
a1ad47e1ca #718 -- Prevent mount point names Shoutcast considers "reserved". 2018-08-15 04:00:28 -05:00
Buster "Silver Eagle" Neece
6d431841b8 Remove DebugHtml log handler (replaced by the better templated log viewer) 2018-08-14 18:08:50 -05:00
Buster "Silver Eagle" Neece
4433dcb13f Allow full customization of Telegram API URL 2018-08-12 22:01:18 -05:00
Buster "Silver Eagle" Neece
48301555f8 Allow selection of PWRTelegram API 2018-08-12 20:29:39 -05:00
Buster "Silver Eagle" Neece
082d564465 Restructure web hook configuration; create new "Test" function; improve display of test pages. 2018-08-12 01:35:48 -05:00
Buster "Silver Eagle" Neece
1c31b06f22 #691 -- Implement Telegram Bot API Webhook 2018-08-10 04:10:23 -05:00
Buster "Silver Eagle" Neece
45ce11f3b3 Rebuild asset manager to auto-detect CSP domains, allow deferral, etc.
...and remove Google Maps dependency for the listener mapping feature.
2018-08-08 01:32:27 -05:00
Buster "Silver Eagle" Neece
5943ccca1b Retire App\Mvc namespace, shift to other folders. 2018-08-04 23:13:27 -05:00
Buster "Silver Eagle" Neece
7b2e979bf9 Fix issues with error handling. 2018-08-04 21:03:47 -05:00
Buster "Silver Eagle" Neece
98ff8f69cf
Core code restructure (#697)
* Initial renaming to a single global App\ namespace.
* Move CSRF/Flash under Session, move Session under Request
* Use new Request Station helper
* Unify App/Acl and App/Acl/StationAcl
* Alphabetize composer.json
2018-08-04 17:05:14 -05:00