Releases
v1.0.0
1.0.0 (2016-04-16)
Bug Fixes
backend.config: remove duplicate annotation about async config (3764280 )
backend.viewresolver: resolve to index instead forward to avoid infinite redirection loop (52a0ba4 )
beInSport: modification link to beInSport new website (226b9c1 )
beInSport: modification link to beInSport new website (3be85c8 )
beInSport: test modification (52f7808 )
beInSport: update support of the new architecture of BeInSport source (7282691 )
beinsports: selector by class for signature (3b02df6 )
build: add a .keep file to let the folder static in place after git operations (1bc6879 )
build: correction of the double rename function (221929d )
build: investigation on coveralls.io submitting (c356c4f )
build: modify the package name due to case problem (fd21e53 )
build: remove -X from build (a730ce6 )
build: remove mangle to preserve controller name (2508fe2 )
build: remove wrong import (3a51e0c )
build.frontend: use cache-bust with location path (606e91a )
common.item-menu: design modification (2f86e7f )
config: modify linting (2534038 )
controller: change type of return of podcast id (c7811ef )
copy: add ngInject for this controller (2cd5093 )
cover: don't load image if 404 (fc66aa2 )
dataService: correction in method affectation (82bf524 )
date: remove useless test file (870410f )
dependency: externalize configuration of FullTextSearch (4e0ee70 )
depracated: remove deprecated method (e455092 )
downloader: ask for a new instance each time (27a8bb3 )
downloader: correction on naming final Download (ee8bf13 )
downloader: out of bound string manipulation in getTargertFile (b52199b )
downloader: remove get http parameter of filename downloaded (53dda74 )
downloader.http: correction on temporary file name (10b0a10 )
downloader.restartAll: change controller url to restart all download (9314f0a )
downloader.youtube: catch exception linked to error of signature in axet.vget (c704012 )
downloader.youtube: Revert to previous version of axet/vget for incompatibility issues (4ff9f4e )
downloadManager: restart all podcast in parallele (5ec29c5 )
entity: modify equality (850b162 )
entity: use lombok to generate boilerplate code (814edb1 )
facade: expand testing (320653a )
facade.SearchItemPageRequestWrapper: change name of setter (f32bb65 )
factory.wgethelper: change case of name (30c885e )
factory.wgethelper: change case of name (44b2a43 )
ffmpeg: correction about name with quote in concat ffmpeg action (2b86a7e )
fields: change name of column in test database (9ecaf90 )
finder.rss: change case of classname (c15e2f6 )
folder: fix test around parameters (7efb69a )
fonts: fix version of fa (17bde72 )
front.dataService: modify a put method into patch to fix a behavior (731e1a2 )
front.podcasts: correct tooltips (6a28bfc )
frontend: add ngInject to execute DI (c42a97d )
frontend: change a text to english (660205a )
frontend: change dependency to retrieve the css of Angular-hotkeys (cf7539d )
frontend: change name of service (de90bb0 )
frontend: fixing the dependency version of highcharts and add override (0e8c5f0 )
frontend: fixing the dependency version of highcharts and add override (3bbffb5 )
frontend: fixing the dependency version of highcharts and add override (d3361b4 )
frontend: import css of videogular (5535f7d )
frontend: remove unused module from experimentation in compiled js files (83c143f )
frontend: use decorator to register module to improve minification (6fb1017 )
frontend.dependency: optimize import of HightChart (6c7b034 )
frontend.icon: change on the 'more' button, to use a bigger one (78a047f )
frontend.itemService: add dependency (486196f )
frontend.notification: catch exception if notification can't be raised (cf426bd )
frontend.route: Bad redirection following the hashbang removal (ef8b8a6 )
frontend.route: correct target on root application (a7de8c0 )
hotkey: correction of hotkey in podcast details (146e369 ), closes #11
http.accept-range: log to debug the multiPartFileSender (d927d9b )
icon: change the "more" icon to reflect modification of ionicons (a4a3714 )
ImageUtils: close a stream after an error (05733db )
item: remove unicity of url (24f7344 )
item: reset remove the fileName (4892263 )
item.cover: use background-size:cover to enlarge the picture inside the div (67a1285 )
item.details: add a filter to remove incorrect html tag / attribues (354843a )
item.details: layout correction (a06e4a0 )
item.player: show hour in elapseTime and remaining time (eded276 )
item.predicate: remove unused specification java file (19d3cc3 )
item.repository: fix case on package (47fa17f )
item.search: case on search order (5c0d553 )
item.search: correction on behaviour of ng-tags-input (f006f8f )
item.search: correction on lucene search (d9007e7 )
item.search: correction on lucene search (73d85c3 )
item.search: modified pageRequestFacade (77644ae )
item.search: search by item only fixed (15c7bb4 )
item.specification: modification on the specification HasStatus (2bf6090 )
item.update: use a spring spring thread executor to prevent shutdown sequence to fail (9f9fcf5 )
item.upload: correction of charset use during upload to work with european specials charaters (7b69013 )
item.upload: remove the conversion to utf8, the format is already utf8 (90afa51 )
itemDownloadManager: stop all remove all download list and queue. Now just the downloading list (266c541 )
itemDownloadManager: stop all remove all download list and queue. Now just the downloading list (1f454ee )
ItemDownloadManager: associate item to downloader at launch (8813b7d )
ItemDownloadManager: fix association of item with downloader at launch (e3f562f )
items.search: swype-page correction when not on the first page (link to cache value) (c45aef3 )
jpa: fix test with database and jadira mapping type (9ada2fc )
jshint: turn on jshint check on js code (8c761f0 )
jspm: fix jspm version to prevent build fail (71b79e8 )
link: use relative link instead root absolute link (/xxx/yyy --> xxx/yyy) (59f340c )
log: usage of variable in logback failed (03992bc )
navbar: correction on padding not available when in small resolution (568c416 )
navbar: correction on resolution of 768 pixel width (764c711 )
navbar: correction on resolution of 768 pixel width (7ff1dd1 )
navbar: prevent the rendering of elements in navbar before angular cycle. (741445e )
navbar: revert some css style for media-* in bootstrap 3.3 to allow text-overflow inside (ab4ae89 )
notification: correction of multiple notification (293584c )
notification: update to angular-notification 1.0.1 to enable requestPermission (6a35bb1 )
parleys: evict some NPE on item without thumbs (f110c4f )
player: allow access to mimetype in any view to prevent reading problem in global player (a6d78d1 )
player: background color transparency (6dccac0 )
player: modification of logic around playlist to fix enlightenment of current video play (1b834d4 )
player: show hour in elapseTime and remaining time (a797148 )
player-inline: design correction on vg-scrub-bar-current-time (c0946b8 )
playlist: add empty Sets at init of item (35f0ec2 )
playlist: add empty Sets at init of item (f88da4c )
pluzz: modification of pluzz updater (68a2599 )
podcast: change the test about hashcode (5bcaf2d )
podcast: correction on test (3efa9b6 )
podcast: return podcast when changing signature (88c33e5 )
podcast.cover: add Business service forgotten from previous commit... (f8129a0 )
podcast.cover: re-organize creation of podcast to avoid url of NPE in download cover (a9cddd9 )
podcast.creation: add auto-discovering creation js files, linked to #14 (2d4d4b7 )
podcast.creation: position of "Suppression automatique" (5b44f81 )
podcast.details: change name of directive to follow changelog of ui.bootstrap (3e7a864 )
podcast.details.episodes: fixing orders of items in details (1833c4a )
podcast.details.stats: reflow the chart to have the correct width (0938d6b )
podcast.details.upload: use flex alignement to center text inside drop-box (6568220 )
podcast.edition: position of "Suppression automatique" (ab2cd22 )
podcast.edition: remove keyboard shortcut to prevent error during field filling (30d1780 )
podcast.edition.cover: empty url instead of modified url (4303739 )
podcast.episode: correction on toogle episode (download / stop / pause) (62b41de )
podcast.episodes: correction on episode link (70c3f8a )
podcast.episodes: regression with "Read on line" feature (82a65e8 )
podcast.item.upload: re-active upload multiple (b87ace8 )
podcast.list: static size of podcast cover (6c676be )
podcast.rss: correction on server-url properties (a895abc )
podcast.rss: remove useless itunes:cover in podcast RSS (c68e2c1 )
podcast.update: don't update podcast if signature failed (5422980 ), closes #16
podcast.update: fail-fast when attaching item (b3b995c )
podcast.update: modification of the jdom method to parse the stream with a timeOut (82a059c ), closes #16
podcast.update: roll-back to SaxBuilder build in non-static way because the org.java.sax isn't T (ff1acc4 )
podcasts.list: expose podcast type to list view (4605cd9 )
podcastServerConfig: conf server against environement (f07e99c )
podcastServerConfig: default value corrected for tomcat env (594e2eb )
podcastServerConfig: move to @service configured by @value annotation (14d9f0d )
podcastServerConfig: remove an @value annotation in config (65faaf4 )
pom.dependency: add PowerMock dependency (c30c013 )
properties: remove block duplication in default value for properties (fc22db2 )
queryDSL: delete old item by downloaddate instead pubdate... (acb82bd )
route: remove hashbang from hotkeys redirection (6220c7b )
rss: handle specials characters in image URL (561538f )
scheduler: snake case modification on scheduler properties (cc891d7 )
search: attach AngularStompDK to destroy of $scope (51eda0d )
search: remove debugger from js (a36c080 )
search: remove debugger from js (4a25c5a )
serve: remove useless dependency (72fb285 )
service.m3u8resolver: handle m3u8 relative url (f6feb8f )
service.m3u8resolver: handle m3u8 relative url (9c5e851 )
signature: set signature to empty if no item where found, forcing next update to be execute (1a8b955 ), closes #42
static: add empty file (85c4ad6 )
static: force empty folder to stay (96472ed )
stats: allways keep the same order fot the stats item (55552ca )
stats: change visibility of attribute and add annotation on fluent getter (e225e7c )
stats.model: add annotation to serialize to JSON (afa1896 )
streamer: rename a class file (f5ab233 )
update: change the route to update update/force update the list of items (7ff080e )
updater: change signature of constructor (1a13598 )
updater: Correction on the updater process (e12f362 )
updater: remove JPA manipulation in multiple thread to avoid non Thread-Safe operation wi (bf4aa42 )
updater: Timeout on connection when reading for digest (a39fca2 )
updater: type in attribute value (9733016 )
updater.beinsports: modificat (c5db8c4 )
updater.beinsports: modificat (06fe50b )
updater.beinsports: modification to support new organisation since December 17 2015. (26fa4d1 )
updater.beinsports: support of protocol modification in url of dailymotion (f3ab3e5 )
updater.canal+: add precision on identification type of page (928085a )
updater.canal+: changing the title of the episode only if they all have the same name (73f952b )
updater.canal+: remove the double affectation in RSS stream (d944898 )
updater.canal+: simplification of the updater of canal+ updater (1cc9696 )
updater.canalplus: handle case of page with tabs (7c7b1da ), closes #58
updater.jeuxvideocom: get correct url for cover (5b011f9 )
updater.pluzz: handle duplicity of items (3860f75 )
updater.rss: expand testing with mock imageService (8dd2f19 )
updater.rss: handle wrong date parsing (9bd9ed9 )
updater.send: correction of update process to use the auto-config (9b4fcd1 )
updater.youtube: change youtube finder to retrieve by HTML parsing instead gdata v2 obsolete (31cbdf0 )
updater.youtube: generate signature only on list of id (instead of whole rss) (89d8910 ), closes #46
updater.youtube: modification to handle the deprecation of Youtube API v2, waiting to implement t (8c64e1e )
updating: modify animation to be browser agnostic (cd8d0cc )
utils.imageService: add image for testing (6521f55 )
utils.mimetypeService: use of simpler file to allow system-wide analysis (5eca27a )
utils.workerService: add the forgotten class (ac87ac5 )
change order result due to change of type for UUID (binary to UUID) (fab0973 )
watchlist: add "ngInject" to prevent error due to minification (02b50f6 )
WatchList: rename class due to problem in sensitive case (7b0d561 )
worker.m3u8: modification of name generation in case of duplicate (e2b77a6 )
workerService: correct name of method (98b82e6 )
workerService: correct name of method (caac40d )
youtube: always use https url (f0888ae )
Features
AngularStompDK: Add the new version of the Web-Socket System (c9f5b79 )
backend.index: turn to full html backend page (66e3aa8 )
backup: provide a way to backup H2 database from a scheduler (2a5cbc1 ), closes #65
beInSport: handle potentially video error (f4e2805 )
boot: log information about the location of files (4133f76 )
config: use SystemEnvironnement for finding the properties file (c02bbf0 )
container: add support for creation of docker container from maven (af4e064 )
copy: add in item-menu to copy in clipboard url (b50807d )
dailymotion: add support of dailymotion source (c040474 ), closes #39
design: responsive in podcast list centered (fc88e5f )
design: update css to align on less (8b53519 )
di: use di instead static class (2a70c79 )
Digest: Change on process of signature of podcast (c811699 )
download: add waiting list number item in downloading page (13f838d )
download: auto-close/open waiting list if there is element inside (90245ad )
download.waitingqueue: Ability to re-order the downloading list directly in the GUI (0fe8d79 )
download.waitingqueue: Hiding the waiting queue if empty and remove the priority button if not necessar (cc89a7f )
downloader: find best matching Downloader for an item by Type-Safe processing (edcfe6e )
downloader: update to AngularStomDK and use the send functionnality instead Web Service (b27c612 )
fetch: define a user-agent for http connection initiated "natively" (2102ee3 )
finder: add canaplusFinder (87b7b90 )
finder: support Dailymotion as finder (f1606e3 )
finder.beInSports: add finder for BeInSports (d1528c5 )
finder.dailymotion: add finder for dailymotion (ef3d206 )
finder.pluzz: find from Pluzz (0c80c69 )
finder.rss: handle itunesImage and null Image (615a0b3 )
framework: AngularJS and Angular-Ui-Bootstrap update (f9b8a1d )
framework: update framework version (8389dc5 )
framework: Upgrade Framework versions (71ab8ef )
framework.ionicons: minified field for better loading (e9204db )
framework.springboot: migration to spring-boot 1.2.4 (d28676b )
front: merging search and home (e72d8e5 )
front: using resolve for routing (0555837 )
front.download: use web-socket instead of Web-Service to provide the download liste (2c71d34 )
front.podcasts: order by lastUpdate (6a7642d )
frontend: change all text to english (86d1cca )
frontend: serve generated gzip if compatbile for JS | CSS | Fonts (2a40158 ), closes #33
frontend.route: use html5Mode to remvoe the hashbang (9b5252b )
http.accept-range: add content disposition parametrized (5c0867e )
http.accept-range: externalisation of all the string to improve performance (1a15800 )
http.accept-range: Handle the accept Range in Spring controller (5022733 )
httpdownloader: Modification to follow redirection when downloading (79272cd )
indexation: Boost augmented twice on the title over the description to return better matchin (e37b99c )
indexation: Reduce the number of message for the MassIndexer (214a0e4 )
item: add creation date on each item (b4e01ff ), closes #45
item: hascode comparaison modification (71c1901 )
item: improve hashset calculation (ed65302 )
item: improve hashset calculation (bd142ac )
item: removing description if empty (07b6892 )
item.details: add color on menu of dropdown menu (82dc47d )
item.details: show HTML text from source instead of text without formatting (5ef0843 )
item.details: use of JsonView to reduce the amount of transfered data (271629f )
item.download: use url with extention in front and backend (206858e )
item.player: Share button in item player (dbddcf5 )
item.search: add hover on item to change state on selection (d45e9d1 )
item.search: fulltext search with pertinence order (2ff30ed )
item.search: resolve item pagination before showing the page (1914af1 )
item.search: search by "Pertinence" asc and desc possible (a97e866 )
item.search: upgrade library for tags-input and responsive design (81a1135 )
item.search: use flex-box instead moving overlay button on box (0fba4a2 )
item.search: use session storage for search engine (0ac45cf )
item.update: use the same patern of update than multiple update to factorise the code (260c7aa )
items.search: allow multiple word search with AND predicate (762b192 )
items.search: reset global search field with input-group (19b8218 )
items.search: reset tags field with input-group and special reset icon from ionicons (6a805d9 )
jeuvideofr: enhancement of the jeuxvideofr updater and downloader (b7ebf75 )
jeuvideofr: optimisation of treatment and better title handling (705a86b )
jeuxvideofr: remove updater/downloader of JeuxVideoFr because the site have been deleted (fde55b5 )
mimetype: use tika and fallback to calculate mimetype (9967572 )
mimeType: Utils perform all type of detection (Files, Tika and by static) (097e4bd )
mimetypes: Use Tika instead system detection (b9d9842 )
navbar: always align right on navbar element (on min and max resolution) (780c2ca )
navbar: change the download Icon (7b56e80 )
navbar: modularize the navbar and improvement (fbbb942 )
navbar: Use transclusion for the navbar (6e61c87 )
navbar.updater: improve placement and remove of update spinner (723598d )
notification: add a directive to enable notification instead specific in controller (adb3b37 )
notification: update angular-notification lib (4ac6f54 )
package: reorganize service package (bfa41cb )
parleys: limit to free presentation (2e9e2e3 )
player: active auto-play in item player (12c4f3f )
player: add Copy-Url button to video player (ea9425a )
player: add inside player (2159f4b )
player: Add player and playlist to the global system (d593005 )
player: add removeAll and Refresh (54b3210 )
player: autohide disable if selected element is an audio type (0861dd6 )
player: better design to controls of player (1ccf079 )
player: controls correction position and fullscreen only on video sources (79beefa )
player: hiding the controls on player only if device isn't a "Touch Device" (a133735 )
player: move to videogular 1.1.0 (aff8143 )
player: Share button on player (40a2857 )
player: Use multiple plugin to improve video player (5062ac0 )
player.inline: add 'clear playlist' fucntionnality inside player-inline (23b0d6e )
player.inline: add an inline player (3c9f247 ), closes #28
player.inline: add playlist management in inline player (d012eab )
playlist: active lazy loading on item (7144a71 )
playlist: active lazy loading on item (2556dcd )
playlist: add business layer (7abdf4a )
playlist: add business layer (ddbf837 )
playlist: add controller layer (9504dfd )
playlist: add controller layer (0d7c503 )
playlist: add entity and repository playlist (16f9c43 )
playlist: add entity and repository playlist (198c208 )
playlist: add method to add item to playlist (1c1a352 )
playlist: add method to add item to playlist (422dd00 )
playlist: add method to remove from playlist if item is deleted (7ee0da7 )
playlist: add method to remove from playlist if item is deleted (92afd0e )
playlist: add restriction when item is in playlist, prevent deletion (27773e9 )
playlist: add restriction when item is in playlist, prevent deletion (47cea38 )
playlist: Remove element from playlist (f8b9b35 )
podcast.cover: add an endpoint to serve cover (5aa3e89 ), closes #49
podcast.cover: better background in html (c1346a9 )
podcast.creation: add the auto-discover mode (48b1814 )
podcast.creation: Add the auto-save of the cover in the podcast directory (f8d29c6 )
podcast.creation: auto-discovering implemented on Youtube Podcast (74be97a )
podcast.creation: get podcast supported type by API rather than hard coded (885315d )
podcast.creation: re-arrange template for mobile display (1a37ff9 )
podcast.details: remove update button if the podcast is not updatable (c00b958 )
podcast.details: remove url field for send podcast (4e6f570 )
podcast.details.edition: remove the possibility to change the type of a podcast (510b0f5 )
podcast.details.stats: can navigate through data-viz (609623b )
podcast.details.upload: update item list after uploading file (0ab51fe )
podcast.details.upload: upgrade the library of upload (08c109f )
podcast.episodes: reloading of page when deletion of item (e2edc9d )
podcast.home: define title of webapp (13c2935 )
podcast.list: reduce space between each Podcast in the grid (a5880fe )
podcast.list: use list of type from server instead hardcoded (42986ea )
podcast.list: use one-time binding to preserve perf (f85b3c1 )
podcast.rss: limit by default the number of result of the rss to improve perf (42013b2 )
podcast.rss: use %20 instead ' ' in url (b7166f8 )
podcast.stat: add Stats for individual podcast (b09f3c7 )
podcast.stats: update beahviour of stats controller (adc5c3f )
podcast.stats: update stats generation (3addfef )
podcasts.list: search engine on podcast list (87a3131 )
properties: add application properties example for external use (a25b5e3 )
properties: add application.yml example file (348d5f6 )
properties: add default properties for application.yml (2018ce1 )
rss: add thumbnail and length to rss generation (08c5eb4 )
search: remove the reinitialisation of the search engine (5fe7059 )
signature: use auto-closeable for Stream (b6caff6 )
spring.boot: Integration of the branch about Spring Boot (dce5981 )
stats.byType: generate stats by type (c602c04 ), closes #12
status: transform string status into static enum (6a5b5aa ), closes #18
transaction: Isolation between transaction to prevent phantom / uncommited read (0565365 )
transaction.isolation: Use CustomDialect for Transaction isolation (377cfcb )
updater: add the updater for the new version of jeuxvideo.com (ebf0a17 )
updater: associate a type to each updater (636dadc )
updater: Use as singleton instead prototype (8d08c3e )
updater: use lambda predicate to add some logic around the deduplication (4b36a01 )
updater: use Type-Safe updater selector to avoid hazardous String manipulation (2c972ce )
updater.canal+: add the tabs updater (0dd6a3e )
updater.canal+: can sync with url containing nbPlusVideos greater than 1 (08d8dec )
updater.canalplus: remove uncessary '?null=' url parameters causing duplicate (1ec9e1e )
updater.notification: add in the navbar a notification to show the updating procedure (5926374 )
updater.send: fake implemenation to provide a way to handle this type of podcast in the whole (3c57ce2 )
updater.youtube: add support of API call of Youtube (f8e18d8 ), closes #21
updater.youtube: move to RSS youtube updater instead old GDATA API V2 depracated (016c3a6 )
url.connection: increase the connection time to read a stream for http (c2a8a5e )
UUID: set column as native type UUID to improve perf and manual update (6903601 )
watchList: add all the front-end part (3c2cb4e ), closes #32
websocket: simplification of the websocket service (f99d61c )
ws: update angularStompDk library (b4abe75 )
youtube: update vget framework (b3849eb )
youtube.signature: generate signature from whole response instead part of (a1114e2 )
youtube.updater: compatibility with youtube playlist feed (b05ed25 )
Performance Improvements
frontend.$http: move from Restangular to native $http (8c71d86 ), closes #60
frontend.$http: move from Restangular to native $http (c8f27c6 ), closes #60
frontend.$http: move from Restangular to native $http (965388d ), closes #60
frontend.$http: move from Restangular to native $http (935c5fe )
item.search: optimization by searching only on downloaded items (808047c )
player-inline: remove usage of lodash (f2c44d0 )
player-inline: remove usage of lodash (b8d22c4 )
podcasts: use one-way binding in template (eb67723 )
You can’t perform that action at this time.