:: #mythtv

Daily chat history

Current users (73):

aloril, amessina, Anssi, blahdodo, brfransen, Captain_Murdoch, Casper0082, ChanServ, clever, CyberJacob, davic, dblain_, dekarl, dym, eharris, ElmerFudd, emm386, enyc, gary_buhrmaster, ghost42, ghoti, gigem, gregbert, gregL, GreyFoxx, hydroponx, ikevin, jab416171, jheizer, jmcentee_, joki, jpabq, jpharvey, jst, jya, knightr, knowledg1junkie, lapion, lautriv_, libsci, logan-, mad_enz, markspieth, membiblio, MitchCapper, MythBuild, MythLogBot, nephyrin, peper03, poptix, pppingme, purserj, rhpot1991, rich0, Roklobster, saaki, seld, sphery, sraue, stuarta, stuartm, taylorr, tgm4883, Tobbe5178, tonsofpcs, tris, unforgiven512, vincent42, wagnerrp, Warped, XDS2010, xris, _charly_
Wednesday, May 25th, 2016, 00:19 UTC
[00:19:38] SteveGoodey (SteveGoodey! has joined #mythtv
[00:53:36] dmfrey: stuartm, the Origin, is it checking against the HostName entry that is returned from the service for each Program or VideoMetadataInfo?
[01:08:37] SteveGoodey (SteveGoodey! has quit (Quit: Konversation terminated!)
[01:15:44] arescorpio (arescorpio! has joined #mythtv
[01:47:22] dblain_ (dblain_!~dblain@mythtv/developer/dblain) has joined #mythtv
[01:47:40] dblain (dblain!~dblain@mythtv/developer/dblain) has quit (Read error: Connection reset by peer)
[02:07:38] joki (joki! has quit (Ping timeout: 272 seconds)
[02:11:26] peper03 (peper03!~peper03@mythtv/developer/peper03) has quit (Ping timeout: 272 seconds)
[02:11:58] RavenII (RavenII! has joined #mythtv
[02:12:03] RavenII (RavenII! has left #mythtv ()
[02:12:31] joki (joki! has joined #mythtv
[02:17:04] peper03 (peper03!~peper03@mythtv/developer/peper03) has joined #mythtv
[02:42:15] gregL (gregL! has joined #mythtv
[03:06:50] arescorpio (arescorpio! has quit (Excess Flood)
[04:16:43] rich0 (rich0!~quassel@gentoo/developer/rich0) has quit (Read error: Connection reset by peer)
[04:17:52] rich0 (rich0!~quassel@gentoo/developer/rich0) has joined #mythtv
[05:13:55] brfransen (brfransen!~brfransen@ has quit (Ping timeout: 250 seconds)
[05:25:41] joki (joki! has quit (Ping timeout: 240 seconds)
[05:30:34] joki (joki! has joined #mythtv
[05:37:40] amessina (amessina!~amessina@unaffiliated/amessina) has quit (Ping timeout: 260 seconds)
[05:47:43] Chutt (Chutt!~ijr@2605:a000:1225:7e:c457:ef1d:60fd:2177) has quit (Read error: Connection reset by peer)
[05:48:50] Chutt (Chutt!~ijr@2605:a000:1225:7e:c457:ef1d:60fd:2177) has joined #mythtv
[05:59:04] brfransen (brfransen!~brfransen@ has joined #mythtv
[06:00:50] amessina (amessina!~amessina@unaffiliated/amessina) has joined #mythtv
[06:06:15] joki (joki! has quit (Ping timeout: 246 seconds)
[06:28:43] SteveGoodey (SteveGoodey! has joined #mythtv
[07:09:02] gregL (gregL! has quit (Ping timeout: 258 seconds)
[07:20:38] gregL (gregL! has joined #mythtv
[07:26:47] willcooke (willcooke! has joined #mythtv
[07:26:47] willcooke (willcooke! has quit (Changing host)
[07:26:47] willcooke (willcooke!~willcooke@ubuntu/member/willcooke) has joined #mythtv
[08:24:18] stuarta: morning all
[08:32:23] _iwc (_iwc! has quit (Ping timeout: 250 seconds)
[08:35:04] SteveGoodey: stuarta: CBS Action icon sorted thanks, CBS Drama still showing create and craft icon. Is the icon stuff still a work in progress?
[08:39:33] stuarta: SteveGoodey: so those "bad matches" will be existing data problems
[08:39:46] stuarta: i've reimplemented the service, but the database is unchanged
[08:40:06] stuarta: so as we find them we need to fix them
[08:43:27] stuarta: SteveGoodey: bad data for cbs drama removed
[08:58:49] Roklobster (Roklobster! has joined #mythtv
[09:29:42] ShapeShifter499 (ShapeShifter499!~ShapeShif@unaffiliated/shapeshifter499) has joined #mythtv
[09:31:07] lautriv_ (lautriv_! has joined #mythtv
[09:31:07] lautriv_ (lautriv_!~lautriv@funtoo/user/lautriv) has joined #mythtv
[09:31:07] lautriv_ (lautriv_! has quit (Changing host)
[09:35:06] lautriv__ (lautriv__!~lautriv@funtoo/user/lautriv) has quit (Ping timeout: 276 seconds)
[09:59:00] unforgiven512 (unforgiven512! has quit (Ping timeout: 260 seconds)
[10:47:54] dmfrey (dmfrey! has quit (Ping timeout: 276 seconds)
[11:53:25] dekarl: stuarta, how do I test? update channels set icon='';
[12:30:55] dmfrey (dmfrey!~dmfrey@ has joined #mythtv
[12:45:41] stuartm: afaik the retrive all option will fetch for all channels and not just those with no icon
[12:50:07] stuarta: dekarl: erm, if you remove the current icon association it should look for them
[12:54:00] SteveGoodey: stuarta: CBS Drama icon fixed thanks. Yeah, removing current icon path works for me. Anything I can help with bearing in mind I can't code for toffee?
[12:56:47] stuarta: SteveGoodey: are you any good with web coding? (as opposed to C++ coding which mythtv is written in)
[12:59:35] stuarta: damn ip address stuff is triggering errors, at least i've now found where....
[12:59:44] stuarta: now how to fix
[12:59:51] ** stuarta ponders **
[13:23:44] dekarl: stuarta, searching for "ProSieben FUN" I find "Fundu??o Getulio Vargas" with ?? representing two missing characters, likely UTF-8 misencoded or something. (there is nother ?? and one ? hit in the results) is that a regression?
[13:24:14] stuarta: let me pull the query and fire it at the old service
[13:26:07] dekarl: an idea, can results that just differ in case/spaces/diacritics be shown first? (the logo is shown as "Pro Sieben Fun")
[13:27:31] stuarta: it does the search like this. exact phrase, exact phrase%, %exact phrase%, then dissects the phrase into it's component words and does some queries with thos
[13:28:14] stuarta: . . . nder.rb#L112
[13:29:35] stuarta: dekarl: based on the logged query, i get the same results (none!) from both old and new service
[13:29:43] stuarta: so i'm not sure it's doing the exact same query
[13:29:56] stuarta: curl -X POST --resolve --data '"s"=ProSieben%20FUN",%20csv=>""ProSieben%20FUN" ;,"","ProSieben%20FUN","301","0","0 ","9999","30115"%0A'
[13:30:15] stuarta: that tests old, remove the --resolve .... to test new
[13:31:16] stuarta: dekarl: i wonder if this is a victim of not encoding the callsign name and xmltvid with valid url encoding
[13:31:30] stuarta: iirc the accented characters need escaping
[13:33:13] amessina (amessina!~amessina@unaffiliated/amessina) has quit (Quit: Konversation terminated!)
[13:35:08] dekarl: this "works" curl -X GET
[13:35:18] dekarl: aka old/new show the same result
[13:35:26] stuarta: so no regression then
[13:36:14] dekarl: same for "curl -X GET" not rendering cologne/dusseldorf correctly as Köln/Düsseldorf
[13:36:48] stuarta: looks like it's stored in the db in this way. eg
[13:36:54] stuarta: select * from icons where icon_id=24432;
[13:36:54] stuarta: 24432|0|tv/ff/fundacao_getulio_vargas|Fundu��o Getulio Vargas|tv/ff/fundacao_getulio_vargas.png|1
[13:37:05] stuarta: that's querying sqlite directly
[13:37:43] dmfrey: stuartm, the Origin, is it checking against the HostName entry that is returned from the service for each Program or VideoMetadataInfo?
[13:38:06] dmfrey: and does it require the port? or can that be optional?
[13:38:55] dekarl: hmm lets peek at the content-type, Content-Type: text/csv; charset=utf-8?
[13:39:29] stuarta: dekarl: just checked, and the db is using utf-8 encoding, so that's how all the text strings are stored
[13:39:42] dekarl: ahh, you send "Content-Type: text/plain; charset=ISO-8859–1"
[13:40:25] dekarl: ^- old service
[13:40:36] dekarl: new service sends: Content-Type: text/plain; charset=utf-8
[13:41:41] stuarta: aren't those 2 codepages pretty close to the same?
[13:42:33] dekarl: yes and now. the first 256 code points of unicode are the 256 code points of iso-8859–1, but only the first have the same byte string when rendered as iso-8859–1 or utf-8
[13:42:44] dekarl: s/now/no/
[13:42:53] dekarl: s/have/half/
[13:42:55] dekarl: oh my
[13:43:35] dekarl: the first 128 code points have an identical byte string, then the utf-8 multibyte sequence stuff kicks in
[13:50:29] dekarl: getting back to $dayjob, I can run the bytes through hexdump / utf8_fixup later to see how it is wrong. likely something like being automatically utf8 decoded but send along as if it was still encoded, then recognized as illegal utf-8 sequence
[13:50:41] stuarta: dekarl: did you manage to get correct results out of the old service or not?
[13:51:16] dekarl: it appears as if the result is the same (looking at it with xterm) the only difference being in the header
[13:51:29] stuarta: ok, not really surprised about that
[13:51:32] dekarl: so old/new appear to be differently broken :)
[13:51:49] stuarta: hey, the result set is the same!
[13:51:58] stuarta: which tbh, is what i was aiming for
[13:52:45] dekarl: so target achieved, lets put the other thing on "the list"
[13:52:54] dekarl: $shipit$
[13:58:55] stuarta: :shipit: is already complete
[13:58:58] stuarta: :-)
[14:03:45] stuarta: dekarl: can you file that in trac against "Services – Icon Downloads" please??
[14:03:59] dekarl: yes
[14:26:02] stuarta: right, we've been wedging ip's converted into int, into a data type which is meant by 4 bytes and maxes out at 2147483647, but internal magic in sqlite has been storing it as 8 bytes, so it's "just worked"
[14:26:29] stuarta: rails is enforcing the data type maximum and rightly throwing errors.
[14:26:39] stuarta: time for my first db migration
[14:27:47] unforgiven512 (unforgiven512! has joined #mythtv
[14:27:47] unforgiven512 (unforgiven512! has quit (Max SendQ exceeded)
[14:28:21] unforgiven512 (unforgiven512! has joined #mythtv
[14:28:21] unforgiven512 (unforgiven512! has quit (Max SendQ exceeded)
[14:28:54] unforgiven512 (unforgiven512! has joined #mythtv
[14:28:55] unforgiven512 (unforgiven512! has quit (Max SendQ exceeded)
[14:29:28] unforgiven512 (unforgiven512! has joined #mythtv
[14:33:05] joki (joki! has joined #mythtv
[14:45:24] dblain (dblain!~dblain@mythtv/developer/dblain) has joined #mythtv
[14:47:43] dmfrey: stuarta, I am going to request a new version of the code you will host out there for Chromecast support. I haven't pushed it yet, but will let you know when I do.
[14:47:45] dblain_ (dblain_!~dblain@mythtv/developer/dblain) has quit (Ping timeout: 276 seconds)
[14:47:55] stuarta: dmfrey: okay, no worries
[14:48:17] dmfrey: I will work with stuartm to get the cors rules updated to accept from as well
[14:48:33] dmfrey: i am confirming this is appropriate with the Google Cast team
[14:48:53] dmfrey: these rules would then get pushed down to everyone's servers
[14:49:10] dmfrey: this should allow cast functionality to work for everyone then
[14:50:19] dmfrey: stuartm, once I have confirmation from the cast team that this method will work, would it be possible to add to the CORS policy?
[14:54:15] stuarta: seriously sqlite you are shit
[14:56:17] Merlin83b (Merlin83b! has joined #mythtv
[14:56:28] stuarta: can't alter a column, you have to rename the old table, recreate it with new schema, copy the data between tables and then drop the old table
[14:56:56] dblain_ (dblain_!~dblain@mythtv/developer/dblain) has joined #mythtv
[14:57:55] dblain (dblain!~dblain@mythtv/developer/dblain) has quit (Ping timeout: 244 seconds)
[15:10:17] stuartm: dmfrey: sure ... it might spook some people though if they stumble across that in the code without explanation – "Why are mythtv developers able to access my backend" etc :)
[15:10:53] dmfrey: i guess if we document what it is for
[15:11:02] dmfrey: it would only ever originate from local traffic
[15:11:02] stuartm: actually, from a purely security based standpoint, it might be better to chose a subdomain we don't use – e.g.
[15:11:43] stuartm: that way there is no possibility of script injection on exposing the backend of visitors
[15:12:46] skd5aner (skd5aner!46c64ac1@gateway/web/freenode/ip. has joined #mythtv
[15:12:51] dblain (dblain! has joined #mythtv
[15:12:51] dblain (dblain!~dblain@mythtv/developer/dblain) has joined #mythtv
[15:12:51] dblain (dblain! has quit (Changing host)
[15:13:43] stuartm: last time I tried to restrict access to the API to local traffic by default I got resoundly shot down by a handful of users who were using some spectacularly complicated network setups involving forwarding traffic from one local subnet to another
[15:14:10] skd5aner: hello everyone!
[15:14:13] Chutt (Chutt!~ijr@2605:a000:1225:7e:c457:ef1d:60fd:2177) has quit (Read error: Connection reset by peer)
[15:14:15] skd5aner: long time no see
[15:14:39] stuartm: really? weren't you just here?
[15:14:45] skd5aner: me??
[15:14:58] skd5aner: I haven't been here in months, probably not even in 2016 :D
[15:15:10] stuartm: or maybe that's just evidence of how little I've been here myself
[15:15:15] skd5aner: hehe :)
[15:15:34] stuarta: we've all been silly busy
[15:15:38] skd5aner: I'm pulling the trigger, trying to upgrade to 0.28-fixes... (while also update to ubuntu 16.04). Compiling from source...
[15:15:59] stuartm: why source if you're using Ubuntu?
[15:16:02] skd5aner: having an issue during compile, was hoping someone could tell me what's going on... let me do a quick pastebin
[15:16:21] stuartm: I mean there's nothing wrong with building from source, but ...
[15:16:27] skd5aner: stuartm: habit – been doing it since I've been running mythtv since 2004
[15:16:40] dblain_ (dblain_!~dblain@mythtv/developer/dblain) has quit (Ping timeout: 264 seconds)
[15:17:02] skd5aner: has helped me learn a lot by doing it, and I occasionally like to test patches and debug things
[15:17:30] skd5aner: I run mythbuntu on 1 of my frontends, but compile on 2 other boxes
[15:18:02] stuartm: stuarta: relevant icons were blocked?
[15:18:37] stuarta: stuartm: for itv4 yes
[15:19:23] skd5aner: Here's the last several hundred lines:
[15:20:22] stuartm: hmm, wonder if they moved some stuff around so that itv4 changed to something else then back again – that's the only way I can think I would have blocked the itv4 icon for a particular triplet (it was previously itv4 but changed to another channel)
[15:20:55] stuarta: tbh it might have been me trying to say this is the wrong icon, when what it actually did was block the dvb tuple
[15:21:38] stuartm: skd5aner: what configure args are you using? It looks like you've got building with libx264 enabled but you don't have the library installed?
[15:22:01] skd5aner: --enable-proc-opt --enable-libmp3lame --enable-libfaac --enable-libx264 --enable-libvpx --enable-libxvid --enable-sdl --enable-nonfree
[15:22:42] stuartm: stuarta: what it's supposed to do is say 'this icon is the wrong one for this combination of ids'
[15:23:20] stuarta: the concept of blocking requires some rework
[15:23:50] stuartm: usually blocks are used when several people keep selecting and submitting the wrong icon – e.g. Australia's Channel 7 icon for the US channel 7
[15:24:49] stuartm: a lot of people just seem to hit return on the very first listed match, so there are dozens of submissions for the 'wrong' icon
[15:25:52] stuartm: block is the opposite of a match mapping – it says that this combination is definitively wrong without saying what is right
[15:26:08] stuarta: yep, it gets removed from the result set
[15:26:25] stuarta: with itv4 we (or i) had managed to block the correct icon
[15:26:27] skd5aner: stuartam: I have libx264 installed...
[15:26:28] stuartm: most useful when there isn't yet a 'right' answer
[15:32:48] skd5aner: stuartm: any other thoughts on what could be holding up?
[15:34:48] skd5aner: btw, congrats to all the devs for cutting 0.28!
[15:35:36] stuartm: maybe a version mismatch between libx264 and ffmpeg, maybe it's looking in the wrong place for the library ... all I can really say right now is that it's an ffmpeg compile issue :/
[15:53:51] dmfrey: stuartm, hmm, might have to rethink this if that is the case
[15:55:11] stuarta: right, there's that issue fixed.....
[15:56:05] dmfrey: is there a place in the server code where I can specify this for testing? I have a test cast receiver setup. I could update my own to point to that until I get the receiver loaded on
[15:56:34] dmfrey: also, maybe a setting in the menus to enable or disable chromecast support, much like the airplay setting
[15:56:43] dmfrey: in mythtv-setup
[15:59:45] brfransen (brfransen!~brfransen@ has quit (Quit: Byebye)
[16:00:10] stuartm: dmfrey: sorry, I've not been following very closely. So this support involves some middleware on the server?
[16:00:56] dmfrey: it is just an html5 page that the chromecast uses to load the video
[16:01:13] dmfrey: a couple of css, js and images
[16:01:34] dmfrey: it works right now for mp4 files with no tracks
[16:01:52] dmfrey: but if you want to use hls, you need to have the cors headers present
[16:02:08] dmfrey: this is for any of the adaptive streaming protocols and formats out there
[16:02:22] stuarta: question, why does it have to come from, and not just from the backend itself?
[16:03:08] stuartm: ok, I think I need to read up on it, right now I'm stuck on how this is all supposed to fit together
[16:03:11] gary_buhrmaster: dmfrey: I have a bit of a concern that if the solution requires the server being reachable the current servers are not sufficiently redundant/geo-distributed.
[16:03:34] dmfrey: I need to register an 'application' on the cast dev console, which gives a key, that has to point to an https receiver out there
[16:03:51] gary_buhrmaster: And I really do not want to start seeing "is it down for me?" reports on the -users list.
[16:04:07] dmfrey: everyone would need to setup this receiver and provide access to the receiver for the cast dev console
[16:04:24] ** stuarta wanders off **
[16:05:22] stuartm: ok, now isn't the best time for me, I'm particularly busy but I'll try to get back to you before I go away for a week on Friday
[16:05:23] SteveGoodey: stuarta: In the dim and distant past I used to create/edit web sites with Quanta. But that was basic stuff, nothing technical like flash or anything. Just stuff that could be done with a text editor.
[16:06:05] stuarta: SteveGoodey: right, in that case i'll put you down for beta tester of updated icon approval thingy ;-)
[16:06:12] dmfrey: here is where my dev player is right now:
[16:06:16] stuarta: when i get around to implementing it
[16:06:18] ** stuarta wanders off **
[16:06:20] dmfrey: it doesn't really do anything like this
[16:06:49] dmfrey: i could setup a host to host this, but it would still require the cors headers to be configured to take that host
[16:07:47] dmfrey: is already https and seems like a reasonable place to host this
[16:08:06] dmfrey: as the app is related to the project
[16:09:27] dblain_ (dblain_! has joined #mythtv
[16:09:27] dblain_ (dblain_!~dblain@mythtv/developer/dblain) has joined #mythtv
[16:09:27] dblain_ (dblain_! has quit (Changing host)
[16:10:04] SteveGoodey: Ooh err. Now I'vedone it.
[16:13:07] stuartm: right, my only concern is just one of security – wiki is currently hosted on that domain, so although it's perhaps unlikely, if a hole in mediawiki allowed a script to be injected into the wiki, then there is the potential for that script to then in turn access the backend API for visitors to the wiki, and since the backend API gives access to stuff like AddStorageGroupDir – you've then opened up the possibility for that script to access any
[16:13:09] stuartm: file on the user's system
[16:13:44] stuartm: whereas (for example) won't have anything else hosted on it
[16:14:16] stuartm: and therefore the cross-site potential is significantly reduced
[16:15:10] stuartm: btw – does anyone _need_ to be able to add a Storage Group via a services client? :)
[16:16:25] stuartm: similarly PutSetting can be used to inject stuff like 'rm -rf /' into settings whose value is a command to execute – nasty stuff is really possible with that :(
[16:20:02] skd5aner: stuartm: I think I figured it out – had some conflicting libraries it seems – thanks for the lead in the right direction
[16:20:52] dmfrey: haha, I assumed that api was there for the web-based mythtv-setup :)
[16:21:14] gary_buhrmaster: stuartm: I presumed that it was going to be part of the web based setup.
[16:21:22] gary_buhrmaster: (what dmfrey said)
[16:21:30] dmfrey: would be fine. I didn't mean to imply directly, a subdomain is perfectly acceptable
[16:22:08] stuartm: that might be where it's eventually used, but if that's the only use case then access can be restricted to the web based setup/local clients only
[16:23:29] stuartm: in other words there are a number of APIs to which a remote client doesn't need, and shouldn't necessarily have access
[16:23:59] gary_buhrmaster: add context/location based acls to the TODO list? [In today's world, I am not sure what "local" means, but that is a different tangent]
[16:24:39] jheizer: mobilemyth I had a whitelist of allowed commands since I would proxy user requests directly to the backend in some cases
[16:25:04] jheizer: as I was also not comfortable with it. But I get why it is like that in general.
[16:25:06] dmfrey: i can configure my test server the same way to try this out, i would just need to set the origin policy to accept that domain
[16:25:37] dmfrey: in the android app, i don't implement any apis i am not going to directly use
[16:25:54] stuartm: well as previously mentioned, I made a stab at restricting access to 'local' IPs, that didn't go so well but it was more of a blanket thing rather than being specific to certain APIs
[16:26:11] dmfrey: so there is only a subset of the existing services api present in my code
[16:26:19] stuartm: another approach is to require authentication for access to those APIs
[16:26:25] jheizer: yeah I remember people getting mad
[16:27:03] dmfrey: an oauth2 endpoint would be nice for these clients to be able to be granted access on behalf of a user
[16:27:15] stuartm: dmfrey: client_credentials?
[16:27:36] stuartm: yeah, that might be a fun project
[16:27:40] gary_buhrmaster: I suspect authentication is the way things have to go (with all the various platform specific challenges that brings along).
[16:27:42] dmfrey: yeah
[16:31:03] dmfrey: ideally, the services api could eventually migrate to a Hypermedia version so that each program/video/etc metadata could all any client to discover the actions that could be taken against it
[16:31:49] dmfrey: so a program could contain links to delete, delete+rerecord, transcode to HLS, maybe execute user jobs
[16:32:45] jams (jams! has quit (Ping timeout: 260 seconds)
[16:32:59] dmfrey: this, with the an authentication endpoint, which allows the app/client to act on behalf of a user would all it to perform just as if it was that user taking action
[16:34:28] Merlin83b (Merlin83b! has quit (Quit: Leaving)
[16:38:28] peterbennett (peterbennett!~Peter@mythtv/developer/peterbennett) has joined #mythtv
[16:38:56] dmfrey: stuartm, does the server implement a cors.xml or some other file I can edit to set these values, or is it in code?
[16:43:58] stuartm: it's hardcoded at present, I'll have to make it configurable
[16:44:32] stuartm: httprequest.cpp if I remember correctly
[16:58:17] ShapeShifter499 (ShapeShifter499!~ShapeShif@unaffiliated/shapeshifter499) has quit (Quit: Leaving)
[17:01:50] peterbennett (peterbennett!~Peter@mythtv/developer/peterbennett) has quit (Quit: Leaving.)
[17:19:24] dmfrey: stuartm, not seeing it in there
[17:19:46] dmfrey: in libmythupnp dir?
[17:32:39] peterbennett (peterbennett!~Peter@mythtv/developer/peterbennett) has joined #mythtv
[18:02:39] stuartm: ln 470 onwards
[18:02:59] stuartm: QStringList of allowed origins
[18:03:36] stuartm: allowedOrigins << "";
[18:07:46] dmfrey: should I be looking at master?
[18:11:46] dmfrey: ok, i was on wrong branch, i see it now
[18:12:21] dmfrey: no i need to figure out how to get this into my mythbuntu backend :)
[18:14:11] MitchCapper: dmfrey I am not sure why you would want to bloat with all those extra links in the response, when the API is fairly predictable for the locations.
[18:15:50] MitchCapper: plus several of the APIS that change things require post, so a direct link would be less useful. Every time you add a feature you are then having to think about where you need to add the links to that feature. Plus there is the question for optional args, or different calling methods etc.
[18:16:41] dmfrey: hypermedia links usually indicate the method required
[18:16:53] MitchCapper: If I am pulling down a list of 2000 recordings id probably prefer skipping the extra 500bytes of link bloat per recording
[18:17:16] dmfrey: but it basically allows the app to discover what can be done to that particular item
[18:17:37] dmfrey: if you are bringing down a list, you are probably only getting minimal data to get you into 1 entry
[18:17:58] MitchCapper: I hear you I am just not sure of the advantage over having a properly documented API rather than passing it on every response
[18:18:01] dmfrey: then you would load just that 1 item with all its detail
[18:18:31] dmfrey: the extra benefit is the api becomes self documenting
[18:18:49] dmfrey: in the app, you can choose whether or not you are going to implement a particular feature or not
[18:19:20] MitchCapper: it would obviously be fairly easy to do, I guess if you are adding such a feature I would add it to either require a specific header also be past to get the inline documentaton, or a parameter.
[18:19:41] dmfrey: for instance, i don't do any deleting of recordings, might in the future, but the data could just tell me where I needed to send a HTTP DELETE with the appropriate criteria already in place
[18:19:43] MitchCapper: as for most real apps the benefit would be fairly fleeting
[18:20:29] MitchCapper: sure, but do you have a seperate link to also force delete?
[18:20:37] MitchCapper: what about delete and allow re-record
[18:22:04] dmfrey: in that case, it could be a separate link for each, or a link with a param to indicate, but in REST, each link represents a state, it would be 2 links to 2 different endpoints
[18:22:37] MitchCapper: sure, but how many links do you really want on an item:)
[18:23:01] dmfrey: i know, it could become a lot of links :)
[18:24:34] Roklobster (Roklobster! has quit (Remote host closed the connection)
[18:24:37] dmfrey: it would be useful in more than just this android app. i saw some chatter about an angular version of the mythweb or web mythtv-setup, i forget which. If angular is an option, this would play right into that environment
[18:25:22] MitchCapper: yeah but the point is you would have to write the app to have the UI for that feature, is it that much harder to consult the WSDL for the link to call that feature?
[18:25:57] MitchCapper: as the WSDL already is fairly self documenting it doesn't say you can do xyz with a recording but if you simply looked at the calls that take the recording ID you could find them fairly easily.
[18:27:07] MitchCapper: as you are talking about saving a developer maybe 30 seconds to at best say 5 minutes reading over the possible functions. in exchange for protocol bloat and additional developer requirements.
[18:28:40] dmfrey: i'm not saying there still isn't a need for documentation and wsdl's, etc.
[18:28:44] MitchCapper: Also keep in mind as a developer you are already going to want to further consult the WSDL for documentation on the structs returned by those calls, so you are already going to be there.
[18:29:12] dmfrey: but, i have spent a lot of time making sure things like the startts is formatted correctly when interacting with the backend
[18:29:34] MitchCapper: well most of hte calls now use recordingID now as an option instead
[18:29:35] jheizer: and using the correct start time
[18:29:50] jheizer: I know that drove me mad before
[18:29:53] dmfrey: i know, but I also support v0.27
[18:30:01] dmfrey: so i have to be able to handle both
[18:30:08] dmfrey: and not all those calls were backported
[18:30:13] MitchCapper: sure
[18:31:18] dmfrey: so if the backend told me where I need to go or what I could, then handling calls in either version, or any version going forward, would be more straight forward
[18:31:55] MitchCapper: but in my code I added a single call taking hte recording data and would automatically add the correct starttime and chanid to the arg list. Its something I had to figure out once but if you try to always rely on links its something ofa bandaid as you are now parsing those links if you want to change things
[18:32:28] dmfrey: originally, i produced a jar hosted on mavencentral that was a java library for the services api, it was a mess with trying to determine what version of the backend you were dealing with, to properly map the data coming from the backend
[18:32:30] MitchCapper: in addition consider the user who tells you that they want to just manual record at 5pm today, you are going to have to have your code be able to properly convert that time anyway so you will have to do that work
[18:33:10] MitchCapper: Yeah but you still need to keep properly versioned code for a library like that, even if there were links as functionality will be different
[18:34:04] MitchCapper: I maintained the MythBox plugin for xbmc for awhile, and every protocol change we would had the functions that changed updated, for the protocol handler for that instance. the service API is much more stable but the same sort of rules still apply.
[18:34:22] membiblio (membiblio! has joined #mythtv
[18:34:48] MitchCapper: The good news is if you have the older protocols already handled you just need to make sure as you handle new things you version it right, and each service API endpoint returns its version so you can know exactly what calls and args are available
[18:34:54] jheizer: In general just support multiple versions of any API stinks. My code still works back to .25 so everything is mapped and remapped and it stinks.
[18:35:24] dmfrey: the library couldn't be versioned per the backend version, as it could only be added 1 time, so it needed to know about all the current versions users were using, we eventually got it to be generated, just needed to point the tool at a v0.26, v0.27 and v0.28 backend to get the right bindings
[18:35:38] MitchCapper: sure its work and that was the goal of the service API to change slowly, but when you are talking about coding against 5+ years of mythtv versions you are going to have to have some per-version handles
[18:35:53] MitchCapper: ah
[18:36:03] MitchCapper: well thats certanly a harder way to go
[18:36:04] dmfrey: brb
[18:36:29] jheizer: basically what I do as well, then map to a common set of objects to actually comsume
[18:36:50] jheizer: so recordid, while awesome, is hard to do
[18:37:21] jheizer: but until the enum on dvr service wsdl works I'm stuck
[18:37:28] jheizer: not that anyone rally cares about my stuff
[18:37:34] MitchCapper: ah
[18:37:35] jheizer: mobilemyth that is
[18:37:48] jheizer: not issues I have.
[18:37:52] membiblio (membiblio! has quit (Client Quit)
[18:37:54] MitchCapper: yeah I used to care about the VS WSDL integration infact i think i have the bug open on that one
[18:38:11] MitchCapper: moving to JSON though was just easier
[18:38:12] membiblio (membiblio! has joined #mythtv
[18:39:12] dblain_: jheizer: I'm currently trying to get the code to compile with msvc 2015 and part of that is fixing the enum issue with wsdl.
[18:40:12] jheizer: Cool. I remember all the talk before about those enum/class wrapping issues. Just missed the wsdl breaking as a result.
[18:40:52] jheizer: Hopefully it doesn't give you too much trouble.
[18:41:03] dblain_: It also broke the compile. For some reason I decided to make it harder for myself and am porting it over to 64bit as well.
[18:41:42] dblain_: I'm between projects, hopefully I can get it done in the limited time I have.
[18:52:22] MitchCapper: As there are several people here who deal in the service api any thoughts towards the keybinding question #12753 personally after thinking about it a bit longer I believe allowing the servce API to manage key bindings like mythweb does is useful, but we should also fix SendAction so it works correctly in 0.28.
[18:52:22] ** MythLogBot **
[18:54:52] dmfrey: MitchCapper, what are the usecases for those?
[18:56:03] jheizer: I was tying to keep up with those emails/tickets as I but fell behind
[18:56:18] jheizer: I noticed the one I use that was from before changed at some point, but that was about it.
[18:57:28] dmfrey: are your apps talking to the frontends directly?
[18:58:30] jheizer: I was, yes.
[18:59:16] jheizer: actually no, I was proxying them through the webserver first
[18:59:18] dmfrey: in the last iteration of the app, i was too, but decided to get out of it. If i could proxy those calls through the backend to the individual frontends, it would be much easier to implement and maintain
[18:59:45] dmfrey: oh, i didn't think that was possible with how they are setup today
[18:59:54] dmfrey: i will have to revisit those apis
[18:59:56] jheizer: Mobilemyth's webserver
[19:00:00] jheizer: not myth itself
[19:00:03] dmfrey: ah, gotcha
[19:00:08] jheizer: I was trying to make it where everything could run off LAN
[19:00:42] jheizer: can proxy the video stream too, but it never worked great
[19:00:55] dmfrey: users didn't like me trying to detect with avahi the backends and frontends, so it came down to manually creating frontend preferences. it just wasn't clean
[19:01:04] jheizer: not sure why, tried like 100 different methods to do it but it'll fail after like 15–20 minutes
[19:01:15] dmfrey: brb
[19:01:20] jheizer: yeah I have a config and its a pain
[19:04:11] MitchCapper: @dmfrey frontend remote control for SendAction, as for key binding configuration an easier interface than the MythUI and for people who prefer to do so remotely, similar to the mythweb use case
[19:05:16] MitchCapper: as in theory i think mythweb and the new web frontends should only rely on the servce API and not any other insider calls to perform actions if we expect 3rd party apps to do the same
[19:12:36] gregL (gregL! has quit (Remote host closed the connection)
[19:15:17] gregL (gregL! has joined #mythtv
[19:19:20] dmfrey: ah, gotcha
[19:19:47] dmfrey: i agree about them only using the service api
[19:21:58] stuarta: dekarl: interestingly, i see successful lookups for channels such as "WDR Münster"
[19:26:44] dekarl: stuarta, doesn't work for me with (wrong, gives a nice error 500 result) or (correct)
[19:33:57] stuarta: yep, i noted that in the logs
[19:34:20] stuarta: what's the proper encoding of the umlaut?
[19:36:18] stuarta: okay, both are encodings for it
[19:36:52] stuarta: ü %FC %C3%BC the first is windoes 1252, the second utf-8
[19:37:01] stuarta:
[19:37:36] stuarta: which explains why in the logs the server is complaining that %FC is an invalid UTF-8 encoding
[20:07:55] peterbennett (peterbennett!~Peter@mythtv/developer/peterbennett) has quit (Quit: Leaving.)
[20:15:13] dekarl1 (dekarl1!~dekarl@mythtv/developer/dekarl) has joined #mythtv
[20:17:33] dekarl (dekarl!~dekarl@mythtv/developer/dekarl) has quit (Ping timeout: 240 seconds)
[20:40:42] willcooke (willcooke!~willcooke@ubuntu/member/willcooke) has quit (Quit: Do your hobbies)
[20:41:03] dekarl1 is now known as dekarl
[20:41:46] dmfrey: later all
[20:44:11] stuarta: nn
[20:44:27] ** stuarta insults several different things **
[20:46:37] stuarta: stuartm: btw. back to our discussion on people picking the wrong icon, part of that is due to the fact that if you have 2 identical looking icons, you can't tell apart from the filename, which on is correct, and we never show the filename to the end user
[20:46:41] dmfrey (dmfrey!~dmfrey@ has quit (Ping timeout: 240 seconds)
[20:48:27] ** dekarl insults channel icons with the same file name, but different urls. e.g. yaddayadda/channelname/icon.jpg **
[20:52:03] stuarta: tell me about it
[20:55:27] amessina (amessina!~amessina@unaffiliated/amessina) has joined #mythtv
[20:58:43] brfransen (brfransen!~brfransen@ has joined #mythtv
[21:37:31] SteveGoodey (SteveGoodey! has quit (Quit: Konversation terminated!)
[21:50:47] Roklobster (Roklobster! has joined #mythtv
[21:56:52] ghost42 (ghost42! has joined #mythtv
[22:00:13] raven42 (raven42! has quit (Ping timeout: 252 seconds)
[22:09:26] skd5aner (skd5aner!46c64ac1@gateway/web/freenode/ip. has quit (Ping timeout: 250 seconds)
[22:23:05] stuarta: is anyone else left with a bunch of moc_predefs.h files in their mythtv tree after building? a git status should point them out
[22:24:14] stuarta: wondering if it's something new that needs adding to .gitignore
[22:29:52] ** stuarta heads off **
[22:37:04] MythLogBot (MythLogBot!~bot@mythtv/bot/MythLogBot) has quit (Ping timeout: 252 seconds)
[23:07:11] rmeden (rmeden! has quit (Read error: Connection reset by peer)
[23:39:52] rich0 (rich0!~quassel@gentoo/developer/rich0) has quit (Ping timeout: 260 seconds)
[23:40:38] rich0 (rich0!~quassel@gentoo/developer/rich0) has joined #mythtv

IRC Logs collected by BeirdoBot.
Please use the above link to report any bugs.