Commit graph

562 commits

Author SHA1 Message Date
Josef Citrine
568969f7e5 Popular tracks are now sorted by 'weight' 2016-10-06 22:11:19 +01:00
Josef Citrine
e5c9ff3e71 Added dialog for track load errors 2016-10-01 18:20:49 +01:00
Josef Citrine
141282e8c7 God damn it Lavo 2016-10-01 17:59:30 +01:00
Adam Lavin
14211f4ea4 Initial Alexa integration 2016-09-30 22:21:17 +01:00
Adam Lavin
d0a6022ed8 Added basic hardcoded alexa endpoints 2016-09-30 02:36:44 +01:00
Josef Citrine
7a0cf5a921 Fixed notification thing about followers being related to themselves 2016-09-30 01:10:45 +01:00
Laravel Shift
c420d3955b Laravel 5.3 Update (#107)
* Shift core files

* Shift app folder structure

Laravel 5.3 no longer includes the `Events`, `Jobs`, `Listeners`, and
`Policies` folders by default. Instead, they are created when you make
them using `artisan`.

* Shift Middleware

* Shift Providers

* Shift configuration

* Shift Routes

Laravel 5.3 now stores Routes in a top-level `routes` folder and
separates them into API, console, and web files.

* Shift deprecations

The `Str::randomBytes` and `Str::equals` methods were deprecated in
Laravel 5.2 and removed in Laravel 5.3 in favor of the native
`random_bytes` and `hash_equals` PHP functions.

In addition, the Collection method `lists()` was replaced with
`pluck()`.

* Shift Laravel dependencies

* Shift cleanup

* Updated composer.json

* Updated providers to 5.3 style

* Removed events folder and extend correct exceptions handler

* Updated configuration

* Shift back our method names from ending in "pluck" to "list"

* Temporarily add back in old mcrypt encrypter
2016-09-30 00:56:25 +01:00
Laravel Shift
00f24a5c12 Laravel 5.2 Update (#106)
* Adopt PSR-2 coding style

The Laravel framework adopts the PSR-2 coding style in version 5.1.
Laravel apps *should* adopt this coding style as well. Read the
[PSR-2 coding style guide][1] for more details and check out [PHPCS][2]
to use as a code formatting tool.

[1]: https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.md
[2]: https://github.com/squizlabs/PHP_CodeSniffer

* Adopt PHP short array syntax

Laravel 5 adopted the short array syntax which became available in
PHP 5.4.

* Remove SelfHandling from Jobs

Jobs are self handling by default in Laravel 5.2.

* Add new exceptions to `$dontReport` property

* Shift core files

* Shift Middleware

Laravel 5.2 adjusts the `Guard` object used within middleware. In
addition, new `can` and `throttles` middleware were added.

* Shift Input to Request facade

Laravel 5.2 no longer registers the `Input` facade by default. Laravel
now prefers using the `Request` facade or the `$request` object within
*Controllers* instead. Review the [HTTP Requests][1] documentation for
more details.

[1]: https://laravel.com/docs/5.2/requests

* Shift configuration

Laravel 5.2 introduces the `env` app configuration option and removes
the `pretend` mail configuration option. In addition, a few of the
default `providers` and `aliases` bindings were removed.

* Shift Laravel dependencies

* Shift cleanup

* Updated composer.lock

* Updated Middleware to 5.2

* Config update for Laravel 5.2

* [Laravel 5.2] Updated validation strings

* Updated auth config

* Updated to use middleware groups

* Added laravel 5.2 sessions migration
2016-09-29 23:26:31 +01:00
Josef Citrine
9b31b48f37 Check if genre exists before creating a new one 2016-09-25 15:07:20 +01:00
Joe Citrine
abdfe2f698 Merge pull request #105 from Poniverse/feature/replace_master_track_file
Feature/replace master track file
2016-09-22 22:45:40 +01:00
Josef Citrine
d6a80cd684 Updated contact email 2016-09-21 01:32:47 +01:00
Peter Deltchev
78c2f4f6d1 Show archived tracks by default in the track browser.
Reverts part of 995cc40a5f.
2016-09-11 16:52:57 -07:00
Josef Citrine
995cc40a5f Hidden archived artists' tracks from recent tracks 2016-09-09 21:37:07 +01:00
Josef Citrine
d18d6bf23a Changing getMasterTrackFile back to protected 2016-08-30 21:17:34 -07:00
Josef Citrine
e6ee85d6d9 Album API now works with versioning system 2016-08-30 21:17:34 -07:00
Kelvin Zhang
775de16bfe [#9] Add functionality to add/change versions of tracks 2016-08-30 21:17:34 -07:00
Josef Citrine
726097bc7b Only show unclassified tracks if they are part of MLPMA 2016-08-29 01:03:26 +01:00
Josef Citrine
9de1d53cd7 Track classification queue and directified track list 2016-08-28 02:59:10 +01:00
Josef Citrine
d0b356be2c Notification API correctly handles invalid resources 2016-08-28 01:01:37 +01:00
Josef Citrine
5311577aa2 Fixed null detection 2016-08-28 00:40:25 +01:00
Josef Citrine
555aa35c34 Fixed notification thumbnail url being null 2016-08-28 00:39:24 +01:00
Peter Deltchev
efea3cda2f Fixes #102: Tagging tracks with multiple show songs works again.
This was broken during the MySQL -> PostgreSQL migration.
2016-08-07 16:31:09 -07:00
Peter Deltchev
d19e986a3e Fixed favouriting notification texts. 2016-08-07 08:42:36 -07:00
Josef Citrine
11e5bb0384 Fixed album favouriting 2016-07-19 16:23:06 +01:00
Josef Citrine
52cdf621b3 Merge pull request #96 from Poniverse/postgres
The switch to PostgreSQL
2016-07-18 00:59:40 +01:00
Josef Citrine
4c6aeb1a6e #86: Updated stats API to work with Postgres 2016-07-11 21:12:02 +01:00
Josef Citrine
a57c1640e8 #86: Fixed editing albums with more than 1 track 2016-07-11 21:07:45 +01:00
Peter Deltchev
8c58d2f3cb #25: Hide notifications for deleted content. 2016-07-11 18:18:03 +01:00
Kelvin
0ee7e4a315 #7: Implement front-end handling of mixed losslessness track collections 2016-07-11 13:40:31 +01:00
Josef Citrine
45dae68497 #86: Fixed track uploading SQL errors 2016-07-11 13:00:29 +01:00
Kelvin
63d4063ccc #7: Implement back-end handling of mixed losslessness track collections 2016-07-11 12:43:10 +01:00
Kelvin
2c3ef557af #7: Implement CR changes 2016-07-11 11:25:45 +01:00
Kelvin
05c66ca5dd [#7] Prevent completely lossy albums/playlists from being downloaded as lossless 2016-07-10 15:20:22 +01:00
Peter Deltchev
0427658dbf #86: Fixed more queries for PostgreSQL. 2016-07-09 06:44:49 -07:00
Josef Citrine
7b521f5733 #86: This causes some issue with Postgres. Commenting for now 2016-07-05 01:40:55 +01:00
Josef Citrine
c36a7145a5 Sanitise track numbers 2016-06-29 20:05:58 +01:00
Josef Citrine
4b0ed2fd1b #86: More Postgres tweaks 2016-06-28 18:53:53 +01:00
Peter Deltchev
6e8a9b34c6 #86: Modified a bunch of queries to work in PostgreSQL. 2016-06-26 19:20:10 -07:00
Josef Citrine
336e04a0c1 Disabling notifications until they're stable on Chrome 2016-06-20 01:38:07 +01:00
Peter Deltchev
64a44fff4f Made avatars optional. Useful for archived profiles!
Also took the opportunity to refactor SaveAccountSettingsCommand somewhat.
2016-06-19 13:13:47 -07:00
Josef Citrine
60f55e6223 Ignore requests with no subscription data 2016-06-15 13:44:54 +01:00
Josef Citrine
0c1a283867 Removed old developement API key 2016-06-15 13:44:54 +01:00
Josef Citrine
61520815de #25: Basic service worker notifications 2016-06-15 13:44:28 +01:00
Josef Citrine
2b72b4dcdb #25: Service worker subscription 2016-06-15 13:44:28 +01:00
Peter Deltchev
a482a183dc #2: Admins can now manage other users' content. 2016-06-14 01:27:56 -07:00
Peter Deltchev
185ead4ed0 Improved a bunch of use statements. 2016-06-12 04:49:24 -07:00
Peter Deltchev
09effb6955 #2: Implemented the user creation tool. 2016-06-12 04:16:03 -07:00
Josef Citrine
4714f04a80 Added follower count 2016-06-07 19:31:32 +01:00
Josef Citrine
bd330a1089 Mark as read and notification count 2016-06-07 17:49:00 +01:00
Josef Citrine
d33985325e New notification look. Mark as read feature (disabled for now due to issues) 2016-06-07 00:37:41 +01:00
Scrutinizer Auto-Fixer
3b1b03e12b Scrutinizer Auto-Fixes
This commit consists of patches automatically generated for this project on https://scrutinizer-ci.com
2016-06-06 06:29:37 +00:00
Peter Deltchev
9a9ac7e5a1 Lots of minor code cleanup. 2016-06-05 23:15:56 -07:00
Peter Deltchev
b46ba956d0 Fixes #51: Slugs are now unique and user-changeable. 2016-06-05 20:05:57 -07:00
Josef Citrine
59b0ebd64e Admins can modify show songs 2016-06-06 00:12:10 +01:00
Peter Deltchev
73de10cff4 Don't list albums and playlists with only one track. 2016-06-05 12:27:04 -07:00
Josef Citrine
9eac8153db Switched error handler to Whoops 2016-06-05 19:45:21 +01:00
Josef Citrine
4e564aed0c Merge pull request #88 from Poniverse/feature-playlist-sort
Feature playlist sort
2016-06-02 17:03:11 +01:00
Peter Deltchev
3b3863f030 #25: Notification texts are simple plaintext for now. 2016-06-01 20:12:56 -07:00
Maximilian Walter
d735cb6816 update: implemeted playlist sort functionality 2016-06-01 21:02:16 +02:00
Maximilian Walter
b73d1753b3 update: added playlist sort logic to laravel controller
update: implemented basic filter functions to angular
2016-06-01 19:40:49 +02:00
Maximilian Walter
2d458c3d80 Merge branch 'master' of https://github.com/Poniverse/Pony.fm into feature-playlist-sort 2016-05-31 15:03:26 +02:00
Peter Deltchev
716eff3955 Fixed a bad query. 2016-05-28 12:53:18 -07:00
Peter Deltchev
27f19f9dc7 Added a bunch of eager-loading. 2016-05-28 12:29:06 -07:00
Peter Deltchev
fc4ae856f8 #25: Made the SendNotifications job in line with the rest of the notification system's design. 2016-05-27 22:21:35 -07:00
Josef Citrine
ef598a72ef Test UI for notifications 2016-05-27 20:38:59 +01:00
Peter Deltchev
0109244115 Feature/notifications (#87)
* #25: Implemented enough of the notification system to start writing drivers.

* #25: Implemented most of the Pony.fm notification driver's backend.

* #25: Abstracted the logic for building lists of notification recipients.

* #25: Implemented notification API endpoints for the SPA.

* Front end setup for notifications

* #25: Implemented notification API endpoints for the SPA.
2016-05-27 20:12:40 +01:00
Josef Citrine
7786950990 Icon for admins 2016-05-25 23:57:46 +01:00
Maximilian Walter
950ef3b585 added: playlist sort by favourite_count on initial request
update: added composer lock file to gitignore
2016-05-25 22:58:41 +02:00
Peter Deltchev
060b8e7121 Fixes #83: Album shortlinks work again. 2016-05-21 00:22:47 -07:00
Josef Citrine
44bcf87ddb New profiles, works better on mobile 2016-05-19 22:31:04 +01:00
Josef Citrine
87d25bb8b8 Admin album editing 2016-05-18 01:27:59 +01:00
Josef Citrine
fb7f291f31 Switch admin check to Gate 2016-05-17 13:00:57 +01:00
Josef Citrine
40122a9446 Admins can edit users 2016-05-17 00:30:05 +01:00
Josef Citrine
0c2b46dd20 Revert "Merge branch 'feature-remote-dev' of https://github.com/Poniverse/Pony.fm"
This reverts commit 1a77341ce2, reversing
changes made to d01b24a91f.
2016-05-16 01:00:37 +01:00
Josef Citrine
17a9f6e50c Error handling and switched to username 2016-05-15 23:22:32 +01:00
Maximilian Walter
1a77341ce2 Merge branch 'feature-remote-dev' of https://github.com/Poniverse/Pony.fm
merged: simple config changes to enable a remote development install
2016-05-16 00:12:33 +02:00
root
9364b52f95 update: added new config variables to support dev installation on remote host 2016-05-16 00:09:30 +02:00
Josef Citrine
d01b24a91f Admins can assign tracks to accounts 2016-05-15 23:03:49 +01:00
Josef Citrine
481a0a6b9f Admins can view all tracks 2016-05-11 17:41:49 +01:00
Josef Citrine
a6c9393e3d Cleaned up code, added caching for stats 2016-05-04 17:07:00 +01:00
Josef Citrine
7b4cf4adff Fixed error for unpublished tracks 2016-05-04 01:26:52 +01:00
Josef Citrine
2832ba5bd2 Fixed syntax error
I'm tired
2016-05-04 01:12:12 +01:00
Josef Citrine
563578c622 Code style fixes 2016-05-04 01:08:59 +01:00
Josef Citrine
88bee8c7ab Laravel-ised queries 2016-05-04 00:50:59 +01:00
Josef Citrine
473d1d7b38 Fixing data to accurately represent plays 2016-05-03 23:20:38 +01:00
Josef Citrine
7a73e20929 Added cumulative graph 2016-05-03 20:30:57 +01:00
Josef Citrine
97b4bb1b8b 'Functional' play charts
Needs styling
2016-05-03 13:01:50 +01:00
Josef Citrine
4ca904667b Hourly stats should only display a 24 hour period 2016-05-02 23:25:26 +01:00
Josef Citrine
3e874da868 Start of a stats API 2016-05-02 13:23:22 +01:00
Kelvin
327588aa6c Make lyrics optional 2016-04-03 17:57:00 +01:00
Kelvin
22a81e42e0 Add creation of tmp folder under datastore 2016-04-03 17:55:53 +01:00
Mihail-K
e7ed44d7de Clean up loose code. 2016-03-20 16:42:58 -04:00
Mihail-K
4a5c2418eb Update references to models. 2016-03-20 16:05:57 -04:00
Mihail-K
e63c18f6be Merge branch 'master' into feature/track-removals 2016-03-20 15:10:17 -04:00
Peter Deltchev
8d29b39ea5 #2: Fixed album editing URL + ui-sref cleanup. 2016-03-19 01:29:29 -07:00
Peter Deltchev
61ca938877 #2: Fixed up the album editor in its new home. 2016-03-19 01:10:33 -07:00
Peter Deltchev
d8933374ab #2: Rearranged various routes for account management + other cleanup.
The "Favourites" area within account management was removed as it duplicates
the functionality of the favourites area on public profiles.
2016-03-18 20:01:00 -07:00
Peter Deltchev
61e762dc13 #2: Nested all things account management under profile pages. 2016-03-18 20:00:30 -07:00
Peter Deltchev
af760aa13f Made the image re-importer more robust + fixed a typo. 2016-03-16 09:32:39 -07:00
Peter Deltchev
b715422c24 #2: Properly handle editing tracks and albums that you don't own. 2016-03-12 17:27:49 -08:00
Peter Deltchev
9e753ec26e #2: Implemented track moderation. 2016-02-26 19:23:14 -08:00
Peter Deltchev
4f0aab6db9 Avoid destroying the test database in the middle of tests. All tests now pass! 2016-02-21 20:47:52 -08:00
Peter Deltchev
32a3b07f55 Fixed pagination. 2016-02-16 05:04:00 -08:00
Peter Deltchev
840e233acf Added cache busters for Webpack scripts. 2016-02-16 04:05:39 -08:00
Peter Deltchev
4f6f64a3c0 Integrated Webpack for the embedded player. 2016-02-16 03:35:52 -08:00
Peter Deltchev
5451294dfc Replaced Pony.fm's profiler with @barryvdh's Laravel Debugbar. 2016-02-16 02:53:28 -08:00
Peter Deltchev
fee58d0055 Improved release date parsing and error display on the upload screen. 2016-02-16 01:20:23 -08:00
Peter Deltchev
5a063e32c3 Refactored tag parsing for uploaded files into its own command. 2016-02-16 01:20:23 -08:00
Peter Deltchev
7176fb2bca #2: Implemented the inline track editor on track pages.
Also includes a fix for lyrics on track pages.
2016-02-15 23:50:36 -08:00
Peter Deltchev
093f7ffb9d Added ALAC upload support and improved the upload page. 2016-02-15 12:16:04 -08:00
Peter Deltchev
4b3a0808a0 Updated getID3() - this fixes Atom tag parsing. 2016-02-15 11:53:42 -08:00
Peter Deltchev
20ef64988a Fixes #56: no more duplicate tracks when browsing! 2016-02-15 08:02:44 -08:00
Peter Deltchev
5314f5accb Fixed an n+1 query. 2016-02-15 07:51:26 -08:00
Peter Deltchev
6c83936ce6 Unknown audio formats are gracefully handled now. 2016-02-15 07:18:31 -08:00
Peter Deltchev
815b505e87 Code style improvements. 2016-02-15 05:15:40 -08:00
Peter Deltchev
5edcde3a8d The rebuild:track command properly deals with unfinished uploads now.
This commit involved a huge refactoring of UploadTrackCommand.
2016-02-15 05:06:06 -08:00
Peter Deltchev
5588b836a0 Pony.fm should accept all PCM and ADPCM files now. 2016-02-15 02:21:43 -08:00
Peter Deltchev
cbce336478 Converted uses of bindonce to Angular one-time bindings. 2016-02-14 02:53:27 -08:00
Peter Deltchev
7ab0b907c5 Fixed the release date picker.
- upgraded ui-date to the newest version
- made adjustments to keep this date in UTC
- fixed the picker's broken images
2016-02-14 01:29:02 -08:00
Peter Deltchev
72cdef8dae Fixed two regressions. 2016-02-08 05:29:58 -08:00
Peter Deltchev
3f7a63dd58 Implemented a script to fix broken MLPMA cover art. 2016-02-05 14:01:45 -08:00
Peter Deltchev
09de55d14d Handle slug collisions with disabled accounts properly. 2016-01-24 22:05:08 -08:00
Peter Deltchev
4e540de38e Implemented an account merging CLI tool. 2016-01-24 21:04:57 -08:00
Peter Deltchev
a2b35ba8a3 #56: Fixed duplicate tracks in playlists. 2016-01-23 04:27:43 -08:00
Peter Deltchev
4585eb712e #1: SEARCH IS ALIVE. LET'S GO, YES! 2016-01-20 19:18:18 -08:00
Peter Deltchev
7a005bcf6b Silently enabled lossy uploads for users. 2016-01-18 02:16:56 -08:00
Kelvin Zhang
abedc47d7e Remove outdated code from ClearTrackCache.php 2016-01-18 07:32:20 +00:00
Peter Deltchev
e35752d11a Prepared asynchronous jobs to run in daemon mode. 2016-01-17 18:01:58 -08:00
Scrutinizer Auto-Fixer
d655d0a151 Scrutinizer Auto-Fixes
This commit consists of patches automatically generated for this project on https://scrutinizer-ci.com
2016-01-18 01:21:39 +00:00
Peter Deltchev
004c236ed4 #1: There's room for two more tracks in the search UI. 2016-01-17 08:45:44 -08:00
Peter Deltchev
845449c8cc #1: Reindexing now runs on its own queue + lots of code cleanup. 2016-01-17 07:16:16 -08:00
Peter Deltchev
33befbe3d0 #1: Darklaunched search to site staff. 2016-01-17 05:43:28 -08:00
Peter Deltchev
56edd5ec28 #1: Search relevancy improvements and other tweaks. 2016-01-17 02:33:58 -08:00
Peter Deltchev
7a7f4ee02a #1: Moved the artists list into its own directive + visual cleanup of search. 2016-01-16 23:35:43 -08:00
Peter Deltchev
6b5d3f67a3 #1: Beginning of the search front-end. 2016-01-16 01:13:53 -08:00
Peter Deltchev
dbbaa03542 #1: Implemented Elasticsearch mappings for playlists and users. 2016-01-16 01:13:53 -08:00
Peter Deltchev
990916171c #1: Progress commit - some semblance of this is working now. 2016-01-16 01:13:53 -08:00
Peter Deltchev
e0faefee23 #1: Progress commit. 2016-01-16 01:13:53 -08:00
Peter Deltchev
9eb0da9a13 Removed unused Artisan commands. 2016-01-15 14:40:58 -08:00
Peter Deltchev
84ab0a3b38 Improved the tag rebuild command's output. 2016-01-06 06:13:54 -08:00
Peter Deltchev
95090fb334 Include the original-size cover art when tagging tracks.
Also, use Symfony to run external commands.
2016-01-06 05:52:09 -08:00
Peter Deltchev
0a078adab3 #20: Genre tags in files are now updated when a genre is renamed. 2016-01-06 05:33:23 -08:00
Peter Deltchev
bf831d839a #20: Added the genre creation tool. 2016-01-06 04:50:44 -08:00
Peter Deltchev
96be3224e4 Deleting stuff actually can be undone. 2016-01-05 07:53:01 -08:00
Peter Deltchev
eaa1cc39a9 Make it possible to rebuild deleted tracks, too. 2016-01-04 15:24:25 -08:00
Peter Deltchev
4394d0131b Only log ffmpeg output if encoding fails. 2016-01-04 15:22:15 -08:00
Peter Deltchev
0eb96f0e83 Fixed track encodes. They work again! Also implemented a track re-encoding command. 2016-01-04 14:55:20 -08:00
Peter Deltchev
a2b450baa6 The array has strings in it, not datetime objects. 2016-01-04 09:12:21 -08:00
Peter Deltchev
df5a911168 Fixed an explosion of queued encoding jobs. 2016-01-04 08:42:30 -08:00
Peter Deltchev
cf85ee69d7 Octal values... 2016-01-03 11:10:48 -08:00