{"src":"TMS","assetId":"p15987_v_h8_ac","uri":"https://flxt.tmsimg.com/assets/p15987_v_h8_ac.jpg","primary":"true","info":{"width":"3840","lastModified":"2017-10-19T00:00:00Z","type":"image/jpg","category":"VOD Art","height":"2160"}},
        {"src":"TMS","assetId":"p15987_i_h9_aa","caption":{"lang":"en","value":"The Shawshank Redemption (1994)"},"uri":"https://flxt.tmsimg.com/assets/p15987_i_h9_aa.jpg","primary":"true","info":{"width":"1440","lastModified":"2012-12-04T00:00:00Z","type":"image/jpg","category":"Iconic","height":"1080"}},
        {"src":"TMS","assetId":"p15987_k_h9_aa","uri":"https://flxt.tmsimg.com/assets/p15987_k_h9_aa.jpg","primary":"true","info":{"width":"1440","lastModified":"2017-10-19T00:00:00Z","type":"image/jpg","category":"Key Art","height":"1080"}},
        {"src":"TMS","assetId":"p15987_i_h10_aa","caption":{"lang":"en","value":"The Shawshank Redemption (1994)"},"uri":"https://flxt.tmsimg.com/assets/p15987_i_h10_aa.jpg","primary":"true","info":{"width":"1920","lastModified":"2013-08-09T00:00:00Z","type":"image/jpg","category":"Iconic","height":"1080"}},
        {"src":"TMS","assetId":"p15987_v_v10_ad","uri":"https://flxt.tmsimg.com/assets/p15987_v_v10_ad.jpg","primary":"true","info":{"width":"1536","lastModified":"2017-10-19T00:00:00Z","type":"image/jpg","category":"VOD Art","height":"2048"}},
        {"src":"TMS","assetId":"p15987_k_h10_aa","uri":"https://flxt.tmsimg.com/assets/p15987_k_h10_aa.jpg","primary":"true","info":{"width":"1920","lastModified":"2017-10-19T00:00:00Z","type":"image/jpg","category":"Key Art","height":"1080"}},
        {"src":"TMS","assetId":"p15987_p_v10_ad","caption":{"lang":"en","value":"The Shawshank Redemption (1994)"},"uri":"https://flxt.tmsimg.com/assets/p15987_p_v10_ad.jpg","primary":"true","info":{"width":"1536","lastModified":"2017-10-19T00:00:00Z","type":"image/jpg","category":"Poster Art","height":"2048"}},
        {"src":"TMS","assetId":"3725_af","caption":{"lang":"en","value":"(L-R) Tim Robbins as Andy Dufresne and Morgan Freeman as Ellis Boyd \"Red\" Redding in \"The Shawshank Redemption.\""},"uri":"https://flxt.tmsimg.com/assets/3725_af.jpg","primary":"true","info":{"width":"432","lastModified":"2012-12-12T00:00:00Z","type":"image/jpg","category":"Scene Still","height":"288"}},
        {"src":"TMS","assetId":"3725_ag","caption":{"lang":"en","value":"Morgan Freeman as Ellis Boyd \"Red\" Redding in \"The Shawshank Redemption.\""},"uri":"https://flxt.tmsimg.com/assets/3725_ag.jpg","primary":"true","info":{"width":"288","lastModified":"2012-12-12T00:00:00Z","type":"image/jpg","category":"Scene Still","height":"432"}},
        {"src":"TMS","assetId":"p15987_d_v8_aa","caption":{"lang":"en","value":"The Shawshank Redemption (1994)"},"uri":"https://flxt.tmsimg.com/assets/p15987_d_v8_aa.jpg","primary":"true","info":{"width":"960","lastModified":"2010-11-28T00:00:00Z","type":"image/jpg","category":"Box Art","height":"1440"}},
        {"src":"TMS","assetId":"3725_ab","caption":{"lang":"en","value":"(L-R) Tim Robbins as Andy Dufresne and Morgan Freeman as Ellis Boyd \"Red\" Redding in \"The Shawshank Redemption.\""},"uri":"https://flxt.tmsimg.com/assets/3725_ab.jpg","info":{"width":"432","lastModified":"2012-12-12T00:00:00Z","type":"image/jpg","category":"Scene Still","height":"288"}},
        {"src":"TMS","assetId":"p15987_i_v9_aa","caption":{"lang":"en","value":"The Shawshank Redemption (1994)"},"uri":"https://flxt.tmsimg.com/assets/p15987_i_v9_aa.jpg","primary":"true","info":{"width":"1080","lastModified":"2012-11-22T00:00:00Z","type":"image/jpg","category":"Iconic","height":"1440"}},
        {"src":"TMS","assetId":"p15987_p_v8_ai","caption":{"lang":"en","value":"The Shawshank Redemption (1994)"},"uri":"https://flxt.tmsimg.com/assets/p15987_p_v8_ai.jpg","primary":"true","info":{"width":"960","lastModified":"2017-10-19T00:00:00Z","type":"image/jpg","category":"Poster Art","height":"1440"}},
        {"src":"TMS","assetId":"3725_ac","caption":{"lang":"en","value":"A scene from The Shawshank Redemption."},"uri":"https://flxt.tmsimg.com/assets/3725_ac.jpg","info":{"width":"432","lastModified":"2012-12-12T00:00:00Z","type":"image/jpg","category":"Scene Still","height":"288"}},
        {"src":"TMS","assetId":"3725_ad","caption":{"lang":"en","value":"(L-R) Tim Robbins as Andy Dufresne and Morgan Freeman as Ellis Boyd \"Red\" Redding in \"The Shawshank Redemption.\""},"uri":"https://flxt.tmsimg.com/assets/3725_ad.jpg","info":{"width":"432","lastModified":"2012-12-12T00:00:00Z","type":"image/jpg","category":"Scene Still","height":"288"}},
        {"src":"TMS","assetId":"p15987_k_v8_aa","uri":"https://flxt.tmsimg.com/assets/p15987_k_v8_aa.jpg","primary":"true","info":{"width":"960","lastModified":"2017-10-19T00:00:00Z","type":"image/jpg","category":"Key Art","height":"1440"}},
        {"src":"TMS","assetId":"3725_ae","caption":{"lang":"en","value":"A scene from The Shawshank Redemption."},"uri":"https://flxt.tmsimg.com/assets/3725_ae.jpg","info":{"width":"432","lastModified":"2012-12-12T00:00:00Z","type":"image/jpg","category":"Scene Still","height":"288"}},
        {"src":"TMS","assetId":"p15987_k_h8_ab","uri":"https://flxt.tmsimg.com/assets/p15987_k_h8_ab.jpg","info":{"width":"3840","lastModified":"2017-10-19T00:00:00Z","type":"image/jpg","category":"Key Art","height":"2160"}},
        {"src":"TMS","caption":{"value":"Poster Art"},"uri":"https://flxt.tmsimg.com/NowShowing/3725/3725_aa.jpg","primary":"true","info":{"width":"288","type":"image/jpg","category":"Poster Art","height":"432"}},
        {"src":"TMS","caption":{"value":"(L-R) Tim Robbins as Andy Dufresne and Morgan Freeman as Ellis Boyd \"Red\" Redding in \"The Shawshank Redemption.\""},"uri":"https://flxt.tmsimg.com/NowShowing/3725/3725_ab.jpg","info":{"width":"432","type":"image/jpg","category":"Photo","height":"288"}},
        {"src":"TMS","caption":{"value":"A scene from The Shawshank Redemption."},"uri":"https://flxt.tmsimg.com/NowShowing/3725/3725_ac.jpg","info":{"width":"432","type":"image/jpg","category":"Photo","height":"288"}},
        {"src":"TMS","caption":{"value":"(L-R) Tim Robbins as Andy Dufresne and Morgan Freeman as Ellis Boyd \"Red\" Redding in \"The Shawshank Redemption.\""},"uri":"https://flxt.tmsimg.com/NowShowing/3725/3725_ad.jpg","info":{"width":"432","type":"image/jpg","category":"Photo","height":"288"}},
        {"src":"TMS","caption":{"value":"A scene from The Shawshank Redemption."},"uri":"https://flxt.tmsimg.com/NowShowing/3725/3725_ae.jpg","info":{"width":"432","type":"image/jpg","category":"Photo","height":"288"}},
        {"src":"TMS","caption":{"value":"(L-R) Tim Robbins as Andy Dufresne and Morgan Freeman as Ellis Boyd \"Red\" Redding in \"The Shawshank Redemption.\""},"uri":"https://flxt.tmsimg.com/NowShowing/3725/3725_af.jpg","primary":"true","info":{"width":"432","type":"image/jpg","category":"Photo","height":"288"}},
        {"src":"TMS","caption":{"value":"Morgan Freeman as Ellis Boyd \"Red\" Redding in \"The Shawshank Redemption.\""},"uri":"https://flxt.tmsimg.com/NowShowing/3725/3725_ag.jpg","primary":"true","info":{"width":"288","type":"image/jpg","category":"Photo","height":"432"}},
        {"src":"TMS","assetId":"p15987_k_v10_aa","uri":"https://flxt.tmsimg.com/assets/p15987_k_v10_aa.jpg","primary":"true","info":{"width":"1536","lastModified":"2017-10-19T00:00:00Z","type":"image/jpg","category":"Key Art","height":"2048"}},
        {"src":"TMS","assetId":"p15987_v_h9_ab","uri":"https://flxt.tmsimg.com/assets/p15987_v_h9_ab.jpg","primary":"true","info":{"width":"1440","lastModified":"2017-10-19T00:00:00Z","type":"image/jpg","category":"VOD Art","height":"1080"}},
        {"src":"TMS","assetId":"p15987_i_v8_aa","caption":{"lang":"en","value":"The Shawshank Redemption (1994)"},"uri":"https://flxt.tmsimg.com/assets/p15987_i_v8_aa.jpg","primary":"true","info":{"width":"960","lastModified":"2012-11-22T00:00:00Z","type":"image/jpg","category":"Iconic","height":"1440"}},
        {"src":"TMS","assetId":"p15987_v_v8_ad","uri":"https://flxt.tmsimg.com/assets/p15987_v_v8_ad.jpg","primary":"true","info":{"width":"960","lastModified":"2017-10-19T00:00:00Z","type":"image/jpg","category":"VOD Art","height":"1440"}}
    ],
    "dvd_date": "Jan 27, 1998 12:00:00 AM",
    "runTime": "PT02H22M",
    "character_keywords": [],
    "emsItemType": "MOVIE",
    "originalAudioLang": "en",
    "rtMappingInfo":
    {
        "mappingType": "TITLE"
    },
    "director":
    {
        "role": "Director",
        "name": "Frank Darabont",
        "ids": [{"src":"TMS","type":"personId","value":"172123"},{"src":"EMS","type":"EMSId","value":"99a3d3b8-61c4-352c-919c-ae03fc52baf4"}],
        "order": "01"
    },
    "countries": [],
    "homeReleaseDate": "1999-12-21",
    "versionId": "16469",
    "general_keywords": [],
    "top3Cast":
    [
        {"role":"Actor","name":"Tim Robbins","characterName":"Andy Dufresne","ids":[{"src":"TMS","type":"personId","value":"1473"},{"src":"EMS","type":"EMSId","value":"9d5679a4-54f6-38fc-a180-571cec482135"}],"order":"01"},
        {"role":"Actor","name":"Morgan Freeman","characterName":"Ellis Boyd \"Red\" Redding","ids":[{"src":"TMS","type":"personId","value":"47162"},{"src":"EMS","type":"EMSId","value":"c61bf0f5-924d-3979-a419-d654c4ece6fe"}],"order":"02"},
        {"role":"Actor","name":"Bob Gunton","characterName":"Warden Samuel Norton","ids":[{"src":"TMS","type":"personId","value":"71567"},{"src":"EMS","type":"EMSId","value":"b736bdbb-869b-3958-b322-6043914f3a89"}],"order":"03"}
    ],
    "ovdReleaseDate": "2008-08-15",
    "releaseDateUs": "1994-09-01",
    "ids":
    [
        {"id":"MV000403320000","type":"TMSId"},
        {"id":"MV000449180000","type":"TMSId"},
        {"id":"MV000751020000","type":"TMSId"},
        {"id":"MV000751030000","type":"TMSId"},
        {"id":"MV001081350000","type":"TMSId"},
        {"id":"MV001402190000","type":"TMSId"},
        {"id":"MV002143590000","type":"TMSId"},
        {"id":"MV002750550000","type":"TMSId"},
        {"id":"MV002949860000","type":"TMSId"},
        {"id":"MV004211900000","type":"TMSId"},
        {"id":"MV004340850000","type":"TMSId"},
        {"id":"MV005065130000","type":"TMSId"},
        {"id":"MV005625010000","type":"TMSId"},
        {"id":"MV006420750000","type":"TMSId"},
        {"id":"MV006420760000","type":"TMSId"},
        {"id":"MV006556350000","type":"TMSId"},
        {"id":"MV006556360000","type":"TMSId"},
        {"id":"MV006956530000","type":"TMSId"},
        {"id":"MV006956540000","type":"TMSId"},
        {"id":"MV007192090000","type":"TMSId"},
        {"id":"MV007192100000","type":"TMSId"},
        {"id":"MV007354450000","type":"TMSId"},
        {"id":"MV007354460000","type":"TMSId"},
        {"id":"MV007379690000","type":"TMSId"},
        {"id":"MV007379700000","type":"TMSId"},
        {"id":"MV009571490000","type":"TMSId"},
        {"id":"MV010733660000","type":"TMSId"},
        {"id":"MV010801950000","type":"TMSId"},
        {"id":"MV012518280000","type":"TMSId"},
        {"id":"MV013128240000","type":"TMSId"},
        {"id":"MV013350510000","type":"TMSId"},
        {"id":"MV014714680000","type":"TMSId"},
        {"id":"MV015731390000","type":"TMSId"},
        {"id":"MV015731400000","type":"TMSId"},
        {"id":"MV015788790000","type":"TMSId"},
        {"id":"MV015982140000","type":"TMSId"},
        {"id":"MV015982150000","type":"TMSId"},
        {"id":"MV016220940000","type":"TMSId"},
        {"id":"MV016230160000","type":"TMSId"},
        {"id":"MV016532950000","type":"TMSId"},
        {"id":"MV016532970000","type":"TMSId"},
        {"id":"MV016550240000","type":"TMSId"},
        {"id":"MV016871390000","type":"TMSId"},
        {"id":"MV016871410000","type":"TMSId"}
    ],
    "userRatingSummary":
    {
        "dtlLikedScore": 98,
        "scoresCount": 887291,
        "dtlWtsCount": 99118,
        "avgScore": 4.7,
        "reviewCount": 53070,
        "ratingsStartDate": "1994-08-31T21:00:00Z",
        "wtsCount": 99118,
        "dtlScoreCount": 887291
    },
    "movieInfo":
    {
        "pictureFormats": ["Flat (1.85:1)"],
        "soundMixes": ["SDDS","Dolby A","Stereo","Surround","Dolby Digital","Dolby SR"],
        "releases": [{"date":"1995-01-28","country":"KOR","medium":"Theatre","type":"Original"},{"date":"1995-02-15","country":"GBR","distributors":["Rank Film Organization"],"medium":"Theatre","type":"Original"},{"date":"2002-03-29","country":"GBR","medium":"TV","type":"Premiere"},{"date":"1995-04-16","country":"POL","medium":"TV","type":"Premiere"},{"date":"1995-06-03","country":"JPN","medium":"Theatre","type":"Original"},{"date":"1994-09-01","country":"USA","distributors":["Columbia Pictures"],"medium":"Theatre","type":"Original"},{"date":"1994-09-01","country":"USA","distributors":["Columbia Pictures"],"medium":"Theatre","type":"Wide"},{"date":"2014-12-13","country":"SWE","prgSvcId":"69430","medium":"TV","type":"Premiere"}]
    },
    "mpaaRating":
    {
        "code": "R",
        "ratingsBody": "Motion Picture Association",
        "warning": "Prison Violence|Language",
        "description": "Restricted"
    },
    "advisories": [],
    "totalGross": 27318280,
    "lastIngestDate": "20220126",
    "rt_id": 12989,
    "rootId": "15987",
    "imdb_id": "tt0111161",
    "originalGenres":
    [
        {"genreId":"9","src":"TMS","genre":"Drama"}
    ],
    "facebook_link": "http://www.facebook.com/103636093053996",
    "titleLang": "en",
    "on_social_rt_id": 12989,
    "title": "The Shawshank Redemption",
    "vanity": "shawshank_redemption",
    "mainTitleId": "the-shawshank-redemption",
    "crew":
    [
        {"role":"Director","name":"Frank Darabont","ids":[{"src":"TMS","type":"personId","value":"172123"},{"src":"EMS","type":"EMSId","value":"99a3d3b8-61c4-352c-919c-ae03fc52baf4"}],"order":"01","headshot":{"src":"TMS","assetId":"172123_v9_bb","caption":{"lang":"en","value":"Frank Darabont"},"uri":"https://flxt.tmsimg.com/v9/AllPhotos/172123/172123_v9_bb.jpg","info":{"width":"1080","type":"image/jpg","category":"Photo - headshot","height":"1440"}},"sluggedName":"frank-darabont"},
        {"role":"Screenwriter","name":"Frank Darabont","ids":[{"src":"TMS","type":"personId","value":"172123"},{"src":"EMS","type":"EMSId","value":"99a3d3b8-61c4-352c-919c-ae03fc52baf4"}],"order":"02","headshot":{"src":"TMS","assetId":"172123_v9_bb","caption":{"lang":"en","value":"Frank Darabont"},"uri":"https://flxt.tmsimg.com/v9/AllPhotos/172123/172123_v9_bb.jpg","info":{"width":"1080","type":"image/jpg","category":"Photo - headshot","height":"1440"}},"sluggedName":"frank-darabont"},
        {"role":"Executive Producer","name":"Liz Glotzer","ids":[{"src":"TMS","type":"personId","value":"369927"},{"src":"EMS","type":"EMSId","value":"2acde5dd-7229-323e-aadd-80a77f7d3320"}],"order":"03","headshot":{"creditLine":"AdMedia/Newscom","src":"TMS","assetId":"369927_v9_ba","caption":{"lang":"en","value":"Liz Glotzer"},"uri":"https://flxt.tmsimg.com/v9/AllPhotos/369927/369927_v9_ba.jpg","info":{"width":"1080","type":"image/jpg","category":"Photo - headshot","height":"1440"}},"sluggedName":"liz-glotzer"},
        {"role":"Executive Producer","name":"David V. Lester","ids":[{"src":"TMS","type":"personId","value":"390797"},{"src":"EMS","type":"EMSId","value":"ae373cb6-f54c-311b-85ca-dfb1ce3454af"}],"order":"04","sluggedName":"david-v-lester"},
        {"role":"Producer","name":"Niki Marvin","ids":[{"src":"TMS","type":"personId","value":"396738"},{"src":"EMS","type":"EMSId","value":"709d022e-7c23-3ce7-b8c9-48aef2bb4a60"}],"order":"05","sluggedName":"niki-marvin"},
        {"role":"Original Music","name":"Thomas Newman","ids":[{"src":"TMS","type":"personId","value":"71241"},{"src":"EMS","type":"EMSId","value":"c7e00a25-afa2-3af4-9f1c-ebe927adb8af"}],"order":"06","headshot":{"src":"TMS","assetId":"71241_v9_bb","caption":{"lang":"en","value":"Thomas Newman"},"uri":"https://flxt.tmsimg.com/v9/AllPhotos/71241/71241_v9_bb.jpg","info":{"width":"1080","type":"image/jpg","category":"Photo - headshot","height":"1440"}},"sluggedName":"thomas-newman"},
        {"role":"Cinematographer","name":"Roger Deakins","ids":[{"src":"TMS","type":"personId","value":"453662"},{"src":"EMS","type":"EMSId","value":"6eabe43d-b711-3695-9b9e-34208ad49ffc"}],"order":"07","headshot":{"src":"TMS","assetId":"453662_v9_bb","caption":{"lang":"en","value":"Roger Deakins"},"uri":"https://flxt.tmsimg.com/v9/AllPhotos/453662/453662_v9_bb.jpg","info":{"width":"1080","type":"image/jpg","category":"Photo - headshot","height":"1440"}},"sluggedName":"roger-deakins"},
        {"role":"Film Editor","name":"Richard Francis-Bruce","ids":[{"src":"TMS","type":"personId","value":"457482"},{"src":"EMS","type":"EMSId","value":"1afda6ac-94de-3ca3-8439-05902368a421"}],"order":"08","headshot":{"creditLine":"Imago Stock/Newscom","src":"TMS","assetId":"457482_v9_ba","caption":{"lang":"en","value":"Richard Francis-Bruce"},"uri":"https://flxt.tmsimg.com/v9/AllPhotos/457482/457482_v9_ba.jpg","info":{"width":"1080","type":"image/jpg","category":"Photo - headshot","height":"1440"}},"sluggedName":"richard-francis-bruce"},
        {"role":"Casting","name":"Deborah Aquila","ids":[{"src":"TMS","type":"personId","value":"459268"},{"src":"EMS","type":"EMSId","value":"a3f0d01a-42e4-33ce-b869-9e702caccbc4"}],"order":"09","headshot":{"src":"TMS","assetId":"459268_v9_ba","caption":{"lang":"en","value":"Deborah Aquila"},"uri":"https://flxt.tmsimg.com/v9/AllPhotos/459268/459268_v9_ba.jpg","info":{"width":"1080","type":"image/jpg","category":"Photo - headshot","height":"1440"}},"sluggedName":"deborah-aquila"},
        {"role":"Production Designer","name":"Terence Marsh","ids":[{"src":"TMS","type":"personId","value":"396244"},{"src":"EMS","type":"EMSId","value":"e5e73f15-964b-31c7-ac44-f739cabf038d"}],"order":"10","headshot":{"creditLine":"Newscom","src":"TMS","assetId":"396244_v9_ba","caption":{"lang":"en","value":"Terence Marsh"},"uri":"https://flxt.tmsimg.com/v9/AllPhotos/396244/396244_v9_ba.jpg","info":{"width":"1080","type":"image/jpg","category":"Photo - headshot","height":"1440"}},"sluggedName":"terence-marsh"},
        {"role":"Art Direction","name":"Peter Landsdown Smith","ids":[{"src":"TMS","type":"personId","value":"463981"},{"src":"EMS","type":"EMSId","value":"122e50a2-3861-370a-8484-0e57e99bbabd"}],"order":"11","sluggedName":"peter-landsdown-smith"},
        {"role":"Set Decoration","name":"Michael Seirton","ids":[{"src":"TMS","type":"personId","value":"457680"},{"src":"EMS","type":"EMSId","value":"e402d67a-f8cf-3e88-888f-43016a285001"}],"order":"12","sluggedName":"michael-seirton"},
        {"role":"Costume Designer","name":"Elizabeth McBride","ids":[{"src":"TMS","type":"personId","value":"474808"},{"src":"EMS","type":"EMSId","value":"9b07c493-170c-31b8-b991-3d183c8fdbe8"}],"order":"13","sluggedName":"elizabeth-mcbride"},
        {"role":"Production Supervisor","name":"Kokayi Ampah","ids":[{"src":"TMS","type":"personId","value":"474809"},{"src":"EMS","type":"EMSId","value":"e0435e2a-e527-3378-9dd8-a6690af48dd7"}],"order":"14","sluggedName":"kokayi-ampah"},
        {"role":"Unit Production Manager","name":"David V. Lester","ids":[{"src":"TMS","type":"personId","value":"390797"},{"src":"EMS","type":"EMSId","value":"ae373cb6-f54c-311b-85ca-dfb1ce3454af"}],"order":"15","sluggedName":"david-v-lester"},
        {"role":"Production Supervisor","name":"Sue Bea Montgomery","ids":[{"src":"TMS","type":"personId","value":"474810"},{"src":"EMS","type":"EMSId","value":"17d3a01d-2375-3727-9b48-4253e6645a91"}],"order":"16","sluggedName":"sue-bea-montgomery"},
        {"role":"First Assistant Director","name":"John R. Woodward","ids":[{"src":"TMS","type":"personId","value":"474811"},{"src":"EMS","type":"EMSId","value":"e434700d-5f0a-33f0-92be-151e84c98f2e"}],"order":"17","sluggedName":"john-r-woodward"},
        {"role":"Sound Editor","name":"Bruce Bell","ids":[{"src":"TMS","type":"personId","value":"474812"},{"src":"EMS","type":"EMSId","value":"5dad7571-8793-3033-a2fd-d2b970a2fa81"}],"order":"18","sluggedName":"bruce-bell"}
    ],
    "mood_keywords": [],
    "pageViews_60_days": 68961,
    "provider": "IMDB",
    "ratings":
    [
        {"code":"15","ratingsBody":"UK Content Provider","description":"15"},
        {"code":"13+","ratingsBody":"Régie du cinéma","warning":"Violence|Coarse Language","description":"13 Years and Over"},
        {"code":"K16","ratingsBody":"Mediakasvatus- ja kuvaohjelmayksikkö","description":"Allowed from 16 years"},
        {"code":"R","ratingsBody":"Motion Picture Association","warning":"Prison Violence|Language","description":"Restricted"},
        {"code":"T","ratingsBody":"Ministero dei Beni e delle Attività Culturali e del Turismo","description":"All ages admitted."},
        {"code":"12","ratingsBody":"Freiwillige Selbstkontrolle der Filmwirtschaft","description":"Released to age 12 or older and to age 6 or older with parental guidance."},
        {"code":"-10","ratingsBody":"Conseil Supérieur de l'Audiovisuel","description":"Allowed from 10 years"},
        {"code":"15","ratingsBody":"British Board of Film Classification","description":"15"},
        {"code":"C","ratingsBody":"Dirección General de Radio, Televisión y Cinematografía"},
        {"code":"Från 15 år","ratingsBody":"Statens medieråd","description":"Allowed from 15 Years"},
        {"code":"16","ratingsBody":"Krajowa Rada Radiofonii i Telewizji","description":"For minors from the age of 16"},
        {"code":"12","ratingsBody":"Instituto de Cinematografía y de las Artes Visuales","description":"Allowed from 12 years"},
        {"code":"15 år","ratingsBody":"Medietilsynet","description":"Tillatt for unge over 15 år"},
        {"code":"MA 15+","ratingsBody":"Australian Classification Board","description":"Mature Accompanied"},
        {"code":"14A","ratingsBody":"Alberta's Film Classification Board","description":"14A"},
        {"code":"12","ratingsBody":"Kijkwijzer","description":"Mogelijk schadelijk tot 12 jaar"},
        {"code":"16","ratingsBody":"Departamento de Justiça, Classificação, Títulos e Qualificação","description":"16 anos"},
        {"code":"18A","ratingsBody":"Ontario Film Authority","description":"18A"}
    ],
    "genres":
    [
        {"src":"EMS","genre":"Drama"}
    ],
    "ovd":
    [
        {"tmsId":"MV000403320000","image":"https://m.media-amazon.com/images/S/pv-target-images/41c208fc5a23cc801dc7dfc43e6e98a63c50b3e8adf559b7335de59372410f3e._SX320_SY240_.jpg","emsId":"d40fba4d-f6e5-3b8e-ad62-09efd03531b2","rootId":"15987","hostId":"70865","videoId":"310504608","titles":[{"src":"TMS","length":120,"subType":"Main","lang":"en","type":"full","title":"The Shawshank Redemption"},{"src":"TMS","length":10,"subType":"Main","lang":"en","type":"red","title":"Shawshank"}],"title":"The Shawshank Redemption","url":"http://www.amazon.com/gp/product/B001EBV0P8/ref=atv_feed_catalog","emsVersionId":"6db61527-2345-3ded-b7f5-363078e39157","lastSeen":"20220125","expirationTime":1643800040,"host":{"country":"US","assets":[{"type":"logo","uri":"https://demo.tmsimg.com/assets/s70865_h3_ba.png"},{"type":"logo","uri":"https://demo.tmsimg.com/assets/s70865_h3_aa.png"}],"lastIngestDate":"20220125","name":"Amazon.com","hostId":"70865","label":"Amazon.com"},"viewingOptions":[{"license":"purchase","price":"14.99","quality":"SD"},{"license":"purchase","price":"14.99","quality":"HD"}],"updatedAt":"2022-01-23"},
        {"tmsId":"MV000403320000","image":"https://art-gallery-latam.api.hbo.com/images/GX5NuhwXHx52ywgEAAAEP/tile?size=3840x2160&format=jpeg&v=6C8Lpscah7vcQMF+yNLzeg==&partner=Gracenote","emsId":"d40fba4d-f6e5-3b8e-ad62-09efd03531b2","rootId":"15987","hostId":"116091","videoId":"462174985","titles":[{"src":"TMS","length":120,"subType":"Main","lang":"en","type":"full","title":"The Shawshank Redemption"},{"src":"TMS","length":10,"subType":"Main","lang":"en","type":"red","title":"Shawshank"}],"title":"The Shawshank Redemption","url":"https://play.hbomax.com/feature/urn:hbo:feature:GX5NuhwXHx52ywgEAAAEP?camp=Gracenote-HBOMAX&action=play","emsVersionId":"6db61527-2345-3ded-b7f5-363078e39157","lastSeen":"20220125","expirationTime":1643800040,"host":{"country":"US","assets":[{"type":"logo_dark","uri":"https://demo.tmsimg.com/assets/s116091_ld_h15_aa.png"},{"type":"logo_gray","uri":"https://demo.tmsimg.com/assets/s116091_lg_h15_aa.png"},{"type":"logo_light","uri":"https://demo.tmsimg.com/assets/s116091_ll_h15_aa.png"},{"type":"logo_white","uri":"https://demo.tmsimg.com/assets/s116091_lw_h15_aa.png"}],"lastIngestDate":"20220125","name":"HBO Max US","hostId":"116091","label":"HBO Max US"},"viewingOptions":[{"license":"subscription","quality":"HD"}],"updatedAt":"2022-01-22"},
        {"tmsId":"MV000403320000","image":"https://images2.vudu.com/poster2/9089","emsId":"d40fba4d-f6e5-3b8e-ad62-09efd03531b2","rootId":"15987","hostId":"70906","videoId":"30336fc7-75be-3817-89f9-ee03078ff0c1","titles":[{"src":"TMS","length":120,"subType":"Main","lang":"en","type":"full","title":"The Shawshank Redemption"},{"src":"TMS","length":10,"subType":"Main","lang":"en","type":"red","title":"Shawshank"}],"title":"The Shawshank Redemption","url":"https://www.vudu.com/content/movies/details/The-Shawshank-Redemption/9089","emsVersionId":"6db61527-2345-3ded-b7f5-363078e39157","vuduId":"9089","lastSeen":"20220127","expirationTime":1643981051,"host":{"country":"US","assets":[{"type":"logo_light","uri":"https://demo.tmsimg.com/assets/s70906_ll_h3_aa.png"},{"type":"logo_gray","uri":"https://demo.tmsimg.com/assets/s70906_lg_h3_aa.png"},{"type":"logo_dark","uri":"https://demo.tmsimg.com/assets/s70906_ld_h3_aa.png"},{"type":"logo_white","uri":"https://demo.tmsimg.com/assets/s70906_lw_h3_aa.png"}],"lastIngestDate":"20220125","name":"VUDU","hostId":"70906","label":"VUDU"},"viewingOptions":[{"license":"rental","price":"3.99","start":"2021-01-29T08:00:00","end":"2037-11-17T21:00:00","quality":"SD"},{"license":"purchase","price":"14.99","start":"2022-01-04T08:00:00","end":"2037-11-18T21:00:00","quality":"SD"},{"license":"rental","price":"3.99","start":"2021-01-29T08:00:00","end":"2037-11-17T21:00:00","quality":"HDX"},{"license":"purchase","price":"14.99","start":"2022-01-04T08:00:00","end":"2037-11-18T21:00:00","quality":"HDX"},{"license":"rental","price":"3.99","start":"2021-09-14T04:00:00","end":"2037-11-17T21:00:00","quality":"UHD"},{"license":"purchase","price":"14.99","start":"2022-01-04T08:00:00","end":"2037-11-18T21:00:00","quality":"UHD"}]},
        {"tmsId":"MV000403320000","emsId":"d40fba4d-f6e5-3b8e-ad62-09efd03531b2","rootId":"15987","hostId":"111777","videoId":"454302035","titles":[{"src":"TMS","length":120,"subType":"Main","lang":"en","type":"full","title":"The Shawshank Redemption"},{"src":"TMS","length":10,"subType":"Main","lang":"en","type":"red","title":"Shawshank"}],"title":"The Shawshank Redemption","url":"http://www.amazon.com/gp/product/B0091X4HQA/ref=pv_ag_gcf","emsVersionId":"6db61527-2345-3ded-b7f5-363078e39157","lastSeen":"20220125","expirationTime":1643800040,"host":{"country":"US","assets":[{"type":"logo","uri":"https://demo.tmsimg.com/assets/s70865_h3_ba.png"},{"type":"logo","uri":"https://demo.tmsimg.com/assets/s70865_h3_aa.png"}],"lastIngestDate":"20220125","name":"Amazon PV US","hostId":"111777","label":"Amazon PV US"},"viewingOptions":[{"license":"purchase","price":"14.99","quality":"HD"},{"license":"purchase","price":"14.99","quality":"SD"},{"license":"rental","price":"3.99","quality":"SD"},{"license":"rental","price":"3.99","quality":"HD"}],"updatedAt":"2022-01-07"}
    ],
    "releaseYear": "1994",
    "theme_keywords": [],
    "wikipedia_link": "http://en.wikipedia.org/w/index.php?curid=30625",
    "lastUpdatedTimestamp": "2022-01-27T06:46:15.602",
    "programType": "Feature Film",
    "fullTitle": "The Shawshank Redemption",
    "posterArt":
    [
        {"src":"TMS","assetId":"p15987_p_v10_ad","caption":{"lang":"en","value":"The Shawshank Redemption (1994)"},"uri":"https://flxt.tmsimg.com/assets/p15987_p_v10_ad.jpg","primary":"true","info":{"width":"1536","lastModified":"2017-10-19T00:00:00Z","type":"image/jpg","category":"Poster Art","height":"2048"}},
        {"src":"TMS","assetId":"p15987_p_v8_ai","caption":{"lang":"en","value":"The Shawshank Redemption (1994)"},"uri":"https://flxt.tmsimg.com/assets/p15987_p_v8_ai.jpg","primary":"true","info":{"width":"960","lastModified":"2017-10-19T00:00:00Z","type":"image/jpg","category":"Poster Art","height":"1440"}},
        {"src":"TMS","caption":{"value":"Poster Art"},"uri":"https://flxt.tmsimg.com/NowShowing/3725/3725_aa.jpg","primary":"true","info":{"width":"288","type":"image/jpg","category":"Poster Art","height":"432"}}
    ],
    "src": "TMS",
    "altFilmId": "21136",
    "dvdReleaseDate": "1999-12-21",
    "tomatometer":
    {
        "rottenCount": 7,
        "consensus": "<em>The Shawshank Redemption</em> is an uplifting, deeply satisfying prison drama with sensitive direction and fine performances.",
        "movieReleaseYear": 1994,
        "tomatometer": 91,
        "numReviews": 82,
        "pendingCertified": false,
        "certifiedFresh": true,
        "title": "The Shawshank Redemption",
        "freshCount": 75
    },
    "fandangoId": "21463",
    "externalId": "MV000403320000",
    "time_period_keywords": [],
    "suggest": [],
    "titles":
    [
        {"src":"TMS","length":120,"subType":"Main","lang":"en","type":"full","title":"The Shawshank Redemption"},
        {"src":"TMS","length":10,"subType":"Main","lang":"en","type":"red","title":"Shawshank"}
    ],
    "url": "http://www.imdb.com/title/tt0111161/",
    "rt_info":
    {
        "actors": [{"name":"Robert Gunton","CastNames":[]},{"name":"Tim Robbins","CastNames":["Andy Dufresne"]},{"name":"Morgan Freeman","CastNames":["Ellis Boyd 'Red' Redding"]},{"name":"Bob Gunton","CastNames":["Warden Norton"]}],
        "cinemaSourceIds": ["44"],
        "dvdReleaseDate": "Jan 27, 1998 12:00:00 AM",
        "releaseDate": "Sep 10, 1994 12:00:00 AM",
        "director": {"name":"Frank Darabont"},
        "vanityUrl": "shawshank_redemption",
        "movieId": "12989",
        "title": "The Shawshank Redemption",
        "releaseYear": 1994,
        "status": "Live"
    },
    "fandangoIds": [],
    "awards":
    [
        {"result":"Nominee","year":"1995","name":"Academy Award","ids":[],"category":"Film Editing"},
        {"result":"Nominee","year":"1995","name":"Academy Award","ids":[],"category":"Writing (Screenplay Based on Material Previously Produced or Published)"},
        {"result":"Nominee","year":"1995","name":"Golden Globe","ids":[],"category":"Best Screenplay - Motion Picture"},
        {"result":"Nominee","year":"1995","name":"Academy Award","ids":[],"category":"Music (Original Score)"},
        {"result":"Nominee","year":"1995","name":"Academy Award","ids":[],"category":"Best Picture"},
        {"result":"Nominee","year":"1995","name":"Academy Award","ids":[],"category":"Sound"},
        {"result":"Nominee","year":"1995","name":"Academy Award","ids":[],"category":"Cinematography"},
        {"result":"Nominee","year":"1995","name":"Golden Globe","recipient":"Morgan Freeman","ids":[{"src":"TMS","type":"recipientNameId","value":"47162"}],"category":"Best Performance By an Actor in a Motion Picture - Drama"},
        {"result":"Nominee","year":"1995","name":"Academy Award","recipient":"Morgan Freeman","ids":[{"src":"TMS","type":"recipientNameId","value":"47162"}],"category":"Actor in a Leading Role"},
        {"result":"Nominee","year":"1995","name":"Screen Actors Guild Awards","recipient":"Tim Robbins","ids":[{"src":"TMS","type":"recipientNameId","value":"1473"}],"category":"Outstanding Performance by a Male Actor in a Leading Role"},
        {"result":"Nominee","year":"1995","name":"Screen Actors Guild Awards","recipient":"Morgan Freeman","ids":[{"src":"TMS","type":"recipientNameId","value":"47162"}],"category":"Outstanding Performance by a Male Actor in a Leading Role"}
    ],
    "TMSId": "MV000403320000",
    "mainTitle": "The Shawshank Redemption",
    "aka": [],
    "colorCode": "Color",
    "productionCompanies": [],
    "user": "fandata"
}

great, thanks for sharing.
do you have any idea whether there is some documentation for such APIs?
I have found this but it seems to be from a third party.
specifically, I was wondering whether it was possible to search in the RT/Flixster DB based on the IMDb ID, rather than a search query string.

I don't think any of these APIs are supposed to used by the public so I don't think there is any documentation.
It looks like the link you posted is the same API although it has more methods. Maybe it outdated or some of the methods require some kind of authentication.
I found it by searching through the javascript code of www.flixster.com and found this file:
https://www.flixster.com/_next/static/chunks/5d84843ecbc6ef7c7e91fe28eb2fa8588831cc12.2231fbcf1113e597aaf5.js
It contains some information on the API.
For example the two methods I used are listed like this:
{
  movie: {
    pathname: "/v2/emsId/:emsId",
    methods: ["GET"]
  },

  searchMovies: {
    pathname: "/v2/search/movies",
    methods: ["GET"],
    defaultQuery: {
      query: "",
      size: 5,
      page: 1
    }
  }
}

Show more

{
    discoveryApi: {
        origin: {
            protocol: s,
            hostname: l,
            port: u,
            requestOptions: {
                headers: {
                    "X-Api-Key": f
                }
            },
            mockEnabled: d
        },
        apiPrefix: "".concat("/api", "/discoveryApi"),
        service: {
            theaters: {
                pathname: "/theaters/v2",
                methods: ["GET"]
            },
            theaterById: {
                pathname: "/theaters/v2/:id",
                methods: ["GET"]
            },
            theaterDisplayDates: {
                pathname: "/theaters/v2/:id/display-dates",
                methods: ["GET"]
            },
            theaterShowtimeGroupings: {
                pathname: "/theaters/v2/:id/showtime-groupings",
                methods: ["GET"]
            },
            movieShowtimeById: {
                pathname: "/movies/v2/:fandangoId/showtime-groupings",
                methods: ["GET"],
                defaultQuery: {
                    idProvider: "fandango",
                    isTicketing: "Any"
                }
            },
            movieShowdatesById: {
                pathname: "/movies/v2/:fandangoId/display-dates",
                methods: ["GET"],
                defaultQuery: {
                    idProvider: "fandango"
                }
            },
            searchTheater: {
                pathname: "/autocomplete/v2",
                methods: ["GET"],
                defaultQuery: {
                    searchText: "",
                    pageSize: 5,
                    page: 1
                }
            }
        }
    },
    theater: {
        origin: {
            protocol: p,
            hostname: h,
            port: v
        },
        apiPrefix: "".concat("/api", "/theater"),
        service: {
            theaters: {
                pathname: "/theaters/v2/:provider/:id",
                methods: ["GET"]
            }
        }
    },
    rottenTomatoes: {
        origin: {
            protocol: b,
            hostname: m,
            port: g,
            mockEnabled: y
        },
        apiPrefix: "".concat("/api", "/rotten-tomatoes"),
        service: {
            news: {
                pathname: "/wp-json/articles",
                methods: ["GET"],
                defaultQuery: {
                    "filter[posts_per_page]": 10,
                    page: 1
                }
            }
        }
    },
    ems: {
        origin: {
            protocol: w,
            hostname: O,
            port: x,
            requestOptions: {
                headers: {
                    Authorization: S
                }
            },
            mockEnabled: k
        },
        apiPrefix: "".concat("/api", "/ems"),
        service: {
            atHomeMovies: {
                pathname: "/v1/ovd/movies",
                methods: ["GET"],
                defaultQuery: {
                    certifiedFreshOnly: !1,
                    limit: 30,
                    offset: 0,
                    order: "desc",
                    sortBy: "release"
                }
            },
            onlineVideoByMovie: {
                pathname: "/v1/ovd/movie/:id",
                methods: ["GET"]
            },
            batchFandangoMovies: {
                pathname: "/v1/movies/batch/versions/all/fandango/:ids",
                methods: ["GET"]
            },
            openingMovies: {
                pathname: "/v1/movies/opening/usa",
                methods: ["GET"],
                defaultQuery: {
                    limit: 10,
                    offset: 0,
                    requireRt: !0,
                    sort: "Popularity"
                }
            },
            comingSoonMovies: {
                pathname: "/v1/movies/upcoming/:country/:weekEnding",
                methods: ["GET"],
                defaultQuery: {
                    limit: 30,
                    sort: "release",
                    offset: 0
                }
            },
            topBoxMovies: {
                pathname: "/v1/boxoffice/movies",
                methods: ["GET"],
                defaultQuery: {
                    country: "USA",
                    limit: 10
                }
            },
            personDetails: {
                pathname: "/v1/celebrities/ems/:emsId",
                methods: ["GET"],
                defaultQuery: {
                    filmographySortBy: "releaseYear"
                }
            },
            movie: {
                pathname: "/v2/emsId/:emsId",
                methods: ["GET"]
            },
            movieVersions: {
                pathname: "/v1/movies/versions/all/:idProvider/:id",
                methods: ["GET"]
            },
            movieTrailer: {
                pathname: "/v1/movies/trailers/:emsId",
                methods: ["GET"]
            },
            personFilmography: {
                pathname: "/v2/celebrities/ems/:emsId/filmography",
                methods: ["GET"],
                defaultQuery: {
                    credit: "Actor,Director,Writer,Producer",
                    type: "MOVIE",
                    size: 8
                }
            },
            batchMoviesByClient: {
                pathname: "/v1/movies/batch/main/:client/:clientIds",
                methods: ["GET"]
            },
            searchMovies: {
                pathname: "/v2/search/movies",
                methods: ["GET"],
                defaultQuery: {
                    query: "",
                    size: 5,
                    page: 1
                }
            },
            searchPeople: {
                pathname: "/v2/search/celebs",
                methods: ["GET"],
                defaultQuery: {
                    query: "",
                    size: 5,
                    page: 1
                }
            }
        }
    },
    placement: {
        origin: {
            protocol: _,
            hostname: N,
            port: H,
            mockEnabled: B
        },
        apiPrefix: "".concat("/api", "/placement"),
        service: {
            content: {
                pathname: "/placements/:slug/content",
                methods: ["GET"]
            }
        }
    },
    googleMaps: {
        origin: {
            protocol: "https",
            hostname: "maps.googleapis.com",
            port: 443,
            requestOptions: {
                qs: {
                    key: j
                }
            },
            mockEnabled: E
        },
        apiPrefix: "".concat("/api", "/google-maps"),
        service: {
            geocode: {
                pathname: "/maps/api/geocode/json",
                methods: ["GET"],
                defaultQuery: {}
            }
        }
    },
    criticService: {
        origin: {
            protocol: T,
            hostname: C,
            port: I,
            requestOptions: {
                headers: {
                    Authorization: P
                }
            },
            mockEnabled: L
        },
        apiPrefix: "".concat("/api", "/critic-service"),
        service: {
            reviews: {
                pathname: "/v1/reviews/for/:movieType/:rtId",
                methods: ["GET"],
                defaultQuery: {
                    size: 20,
                    page: 0
                }
            }
        }
    },
    userRating: {
        origin: {
            protocol: A,
            hostname: M,
            port: R,
            mockEnabled: D
        },
        apiPrefix: "".concat("/api", "/user-rating"),
        service: {
            reviews: {
                pathname: "/v3/ratings",
                methods: ["GET"],
                defaultQuery: {
                    emsId: null,
                    limit: 20,
                    offset: 0,
                    includesComment: !0
                }
            }
        }
    },
    veneer: {
        origin: {
            protocol: W,
            hostname: z,
            port: F,
            isGraphQL: !0,
            queries: a.a
        },
        apiPrefix: "".concat("/api", "/veneer"),
        service: {
            graphQL: {
                pathname: "/graphql",
                methods: ["GET"]
            }
        }
    },
    list: {
        origin: {
            protocol: q,
            hostname: G,
            port: V
        },
        apiPrefix: "".concat("/api", "/list"),
        service: {
            home: {
                pathname: "/listservice/v2/home",
                methods: ["GET"],
                defaultQuery: {
                    context: "WEBMOVIES",
                    device: "pc"
                }
            },
            listDetails: {
                pathname: "/listservice/v2/list/:listId",
                methods: ["GET"],
                defaultQuery: {
                    pageNumber: 0,
                    pageCount: 20,
                    loggedIn: !1,
                    device: "pc"
                }
            }
        }
    },
    mock: {
        origin: i.a,
        apiPrefix: "".concat("/api", "/mock"),
        isMock: !0
    }
}


ServiceReleaseProcess does use the wrong api

Current Behavior

wrong api is called in https://portal.int.catena-x.net/serviceReleaseProcess/form

Expected Behavior

if i click on the documents i want to call the GET /api/services/{serviceId}/serviceDocuments/{documentId}

Steps To Reproduce

open a service
navigate to the ServiceReleaseProcess form where you can upload a document
try to download the document

as aligned in the demo please proceed with all other documents that can be uploaded during the registration process of an app/service


[WIP] Add loading of SavedModel format

Add loading of SavedModel format.

Note: keras.generic_utils.deserialize_keras_object and keras.generic_utils.deserialize_layer_args has many duplicated implementations now due to the time limitation. It needs to be optimized in the future.


the type initializer for "xamarin.tools.zip.native" threw an exception

When I try to open a ZIP file I'm getting this error message.
the type initializer for "xamarin.tools.zip.native" threw an exception
I'm running Windows 11 on a Silicon M2 MacBook:
Device name	W11Arm
Processor	Apple Part 000 r0p0   2.00 GHz
Installed RAM	4.00 GB
System type	64-bit operating system, ARM-based processor
Pen and touch	No pen or touch input is available for this display
Edition	Windows 11 Pro
Version	23H2
Installed on	03/03/2024
OS build	22631.3235
Experience	Windows Feature Experience Pack 1000.22687.1000.0
Any idea? Thanks in advance...

Which version are you using? The compiled ones are only for x64, no ARM support. If you're compiling the code by yourself then I would recommend to run it in debug mode as the error should give you more information.

Sorry, can't help there, I have no ARM windows machines but I doubt it would work properly, linked libraries like the Zip one are x64 binaries and Windows in ARM uses an emulation layer to try to run native x64 apps and it's prone to fail.


Backport Jesse's fix to the qt5/0.8.7 branch

Backport Jesse's fix to the qt5/0.8.7 branch.

merged!


Array map

Ashley's feedback:
Not having anything about the for..of loop is weird
I just say that since it pretty well maps exactly to Array.forEach for most devs
Also, it'd be good to mention using break inside a for loop.
You could then talk about how using array.filter().forEach() or somethign might be akin to using break in some situations
I see you mention that in your use cases
But there isn't much explanation of it
" You need to iterate over a sparse array and only want to run your functions for populated elements." That's pretty important there
And you don't mention it at all in the section on forEach
" You need to dynamically choose an operation to apply over your collection at runtime." ehhhhh
Can easily do that with a for loop as well
" You want to only map a subset of an array to a transformation.
Maybe an example of using filter and then forEach or map would be nice

Compare to lodash and underscore implementations.


Add domain tagged metrics for history sizes

Fixes #1383

There are other places in history service where we also emit size related metric. Can you also include domain tag for all those places?
Done.


Support Optional Injection of Opaque value types

Small part of radar rdar://problem/30080769
This PR adds support for InjectOptional for opaque value types + conversion of opaque structs

@swift-ci Please smoke test


An issue about the new Error().

When I create an Error object and give it two parameters, the value of the second parameter will be output when the object is output. But like other engines, such as V8, spidermonkey, the output is the first parameter. Therefore, I think there may be a problem here.
Version
chakra-1_11_22
command
./ChakraCore/out/Debug/ch testcase.js

testcase
var NISLFuzzingFunc = function(){
   	return new Error("1","2");
};
var NISLCallingResult = NISLFuzzingFunc();
print(NISLCallingResult);

Output
Error: 2

Expected behavior
Error: 1

Contributor : @Haobin-Lee

MDN states that the parameters are message + (optional) file name + (optional) line number, it would make sense that we should print the first parameter.
CC @chicoxyzzy

There's a prior issue for this: https://github.com/microsoft/ChakraCore/issues/5443
I think it may be to do with intentional "custom" behaviour that was used in some Windows uses of chakra (see details under that issue).

Thanks @rhuanjl!
Let's close this as a duplicate of #5443


Find data on Santa Clara County elections

Update:
To download the data, go to SCC election campaign finance data portal: https://public.netfile.com/pub2/?aid=SCC&AspxAutoDetectCookieSupport=1
Which elections do we want to track?
See this doc about Nov 2018 candidates from Page 6 (beginning with "Gavilan") -34 are the SCC elections to focus on for this issue.
See this doc about Nov 2018 measures

We want to pay attention to the non San Jose measures. I think the San Jose measures data is collected on the city's campaign website, so it will go in a separate issue

Reference doc about Nov 2018 measures
If you have the time, extract this data

Name of candidate /measure
Total Contributions:
(RCPT is a contribution made by others; LOAN refers to candidate loan, which should be distinguished from RCPT)
Total Expenditures:
(EXPN is campaign expenses, which should be distinguished from RCPT and LOAN)
Current balance
Overall stats about Contributions: % out of state, % within X (district or city), % within California
A break down of total contributions with a list: Donor Name | Donor Occupation | Donor City | Donation Amount | Date of Donation
A break down of total expenditures
 by category

Otherwise just get all the data and combine into this format

Download the XSL/CSV files on candidates and measures - FPPC Form 460 and Form 460 A (Amendment), add them to the git repository on a new branch
Combine the data into one XSL/CSV file per ballot measure/committee
Turn the data in JSON

For reference take a look at PR #46

SCC election campaign finance data portal: https://public.netfile.com/pub2/?aid=SCC&AspxAutoDetectCookieSupport=1

I think it would be helpful for the new people, if we provide a list of candidates and measures they are suppose to target.

I believe this is the list of Candidates for the Santa Clara County General Election:
https://www.sccgov.org/sites/rov/Info/Nov2018info/Documents/official candidate list.pdf
Here is a list of local measures:
https://www.sccgov.org/sites/rov/Info/Nov2018info/Documents/List of Local Measures.pdf

SCC election campaign finance data portal: https://public.netfile.com/pub2/?aid=SCC&AspxAutoDetectCookieSupport=1

From what I found, the campaign finance from this data portal is recorded in PDF files. This is very problematic since I don't think any of us wants to parse the data manually.

@lilannie  when I go to this website, near the top, you can download the excel (all files) for 2018, 2017, and so forth:
Export E-Filed FPPC Form 460 - 496 - 497 - 461 - 465 transactions by year to Excel.
Select (by year)  I think we need 2017 and 2018. I'm not sure if we need 2016
Export Amended: Most Recently amended version of the transactions only
Export All: Original and all amended versions of the transactions
Note: These reports are updated overnight.
Download the Excel Export FAQ or the more extensive Excel Export Key.

I'm taking on Page 8 (starting with candidate KELLY YIP-CHUAN and ending with candidate WENDY SULLIVAN).

FYI, if you use the Advanced Search, you may end up getting incomplete data? According to the website:
The Advanced Search for Transaction Data searches all transactions electronically filed on Fair Political Practices Commission (FPPC) forms 401, 450, 460, 461, 465, 496, 497 and 498.
Certain transactions from "late filed" or "supplemental filed" forms 465, 496, 497 and 498 will be displayed in these search results from each containing filing, and may appear to be duplicated. The "Filing ID" column will indicate the source of each reported transaction.
For a complete download of all e-filed transactions, including all original and amended transactions, use the "Export E-Filed Data" function on the Search Home page.
If you have any questions about what the headers mean, I've added the Data FAQ key document to our repo, under RESOURCES.

I found the data for page 6 (detailed in issue #50) for SCC Board of Education Areas 2,6,7, see #54  PR for reference.  Basically before Gavillan.
Here is my process - if it helps:
My process is to download the zip folder on the first first (Export Amended), find the candidate (if they exist as a filier, some do not have anything filed) for the A-contributions tab and E-expenditures tab, and then save the data in two files per candidate: A-contributions tab and E-expenditures. Then I wrote some scripts (see #54) to convert the xls files into JSON.
How's it going for you @njavs @aeevrubin @abidishajia? I believe Grace Lee is working on Page 9, Nausheen is working on Page 8 (from KELLY YIP-CHUAN to WENDY SULLIVAN).
Can you please submit your PRs for data by tomorrow Wednesday 10/31 at 12pm?
To reiterate our goals from last meeting on 10/25:

[ ] get all the data, or as much as we can, for SJC and SCC candidates and measures by Monday Oct 29
[ ] figure out what format we need it to be in (or what to parse out). Annie and I are in communication with OpenDisclosure.io team to see what format they need and if they'll be able to work with our data if we are able to parse it all by Friday 11/2
[ ] clean up the data Thursday 11/1
[ ] share data with OpenDisclosure.io team so they can incorporate it into their existing site. If it is too short of timing for them, then we'll meet up Thursday 11/1 to determine what MVP data visualizations we can make with the existing data we have
[ ] deployment! hopefully on OpenDisclosure.io by Sunday
[ ] some social media marketing or other creative means so the public can know about this since election is 11/6!

Thoughts?

Update: Aaron from Opendisclosure.io team said that for the SCC data, since they are using Netfile, the same system Oakland uses, we won't have to get the data on SCC office elections/measures for them. Aaron can use an existing script to get the files on SCC measures.
However, since City of SJ uses a different system, we do need to retrieve data from southtesthosting's website. Also, we don't just care about Form 460 (since that data only gets updated 2-3x a year), we also need to pay attention to:

Form 461 (filed by Independent Expenditure Committees(
Form 496/497: Within 90 days of the election, contributions and expenditures over $1000 must be reported within 24 hours on form 496/497.

Form 496/497 is tricky because items will be re-reported on the next Form 460.
But for the SCC candidates and measures, we do not need to retrieve data to send to OpenDisclosure.io.

@ychoy To clarify, issue #33 no longer needs to be worked on?

@njavs, yes, that's correct.
The only data opendisclosure.io needs from us is #44 and #32. And ballot info #55, by this Friday Nov 2nd end of day.
By the way, Aaron from OpenDisclosure.io team said that they will try their best to integrate San José data into OpenDisclosure.io, but there's no guarantee they will get this done before the General Election (Nov 6,2018).


Parser: Fix security issues highlighted by dependabot

Released in https://github.com/getMoreBrain/bitmark-parser-generator/releases/tag/v1.24.1


Add twilight-interactions to third-party crates

Adds the twilight-interactions crate to third-party crates list.

Do you think it would be good to add a short usage example to show what the crate looks like ?

Yeah, that should be fine, just make sure that it passes the CI


Add timeout flag

#255  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @alanvardy and the rest of your teammates on  Graphite


Documentation: improve debugging section

Summary
I've improved the debugging section by describing the procedure of using openocd and gdb to have nuttx aware debugging.
Also, I removed the section about JTAG which I think is unnecessary as it describes a very specific tool and does not add much
to the documentation (also, it could be done via openocd).
Impact
Documentation
Testing
Local build

When you run gdb passing the file it already loads the symbols, as in gdb nuttx. My IDE does this directly.
I'm not sure if file hook is called in this case as well. I added the gdb commands to my IDE also.

I justed added the requirement of PROCFS when using gdb approach. I forgot about that.

I was referring to the part where we retrieve the offsets.  Loading the symbols should come after connecting to OpenOCD.
Something like:
> gdb
(gdb) target remote :3333
(gdb) symbol-file nuttx

I was referring to the part where we retrieve the offsets. Loading the symbols should come after connecting to OpenOCD.
Something like:
> gdb
(gdb) target remote :3333
(gdb) symbol-file nuttx

When you do gdb nuttx and then target remote :3333, it will load the file and connect. The documentation states the following:
Since openocd also needs to know the memory layout of certain datastructures, you need to have gdb run the following commands once the nuttx binary is loaded:

eval "monitor nuttx.pid_offset %d", &((struct tcb_s *)(0))->pid
eval "monitor nuttx.xcpreg_offset %d", &((struct tcb_s *)(0))->xcp.regs
eval "monitor nuttx.state_offset %d", &((struct tcb_s *)(0))->task_state
eval "monitor nuttx.name_offset %d", &((struct tcb_s *)(0))->name
eval "monitor nuttx.name_size %d", sizeof(((struct tcb_s *)(0))->name)

One way to do this is to define a gdb hook function that will be called when running file command:

define hookpost-file
  eval "monitor nuttx.pid_offset %d", &((struct tcb_s *)(0))->pid
  eval "monitor nuttx.xcpreg_offset %d", &((struct tcb_s *)(0))->xcp.regs
  eval "monitor nuttx.state_offset %d", &((struct tcb_s *)(0))->task_state
  eval "monitor nuttx.name_offset %d", &((struct tcb_s *)(0))->name
  eval "monitor nuttx.name_size %d", sizeof(((struct tcb_s *)(0))->name)
end

Since the example demonstrates loading the file with the procedure I mentioned, there's no explicit "symbol loading" step. As to how to run these commands to load offsets, it is left to the user to decide how to run them.


fix error OpenAIEmbeddings' object has no attibute 'embed_text'

Compatibility Between Different Embedding Interfaces:
We use the OpenAIEmbeddings API for embedding generation. However, there are variations in the API's interface across different versions and implementations.
In some versions, the embedding function is exposed as embed_text, while in others, it might be called embed_query.
Without this try-except block, calling the incorrect method would lead to an AttributeError, causing a failure in generating the necessary embeddings for the RAGAS computation.
Error Handling:
The try block first attempts to call the embed_text method, which is the expected API in some versions or implementations of the embeddings class.
If the embed_text method does not exist, an AttributeError is caught by the except block. In this case, we gracefully handle the error by switching to the alternative method, embed_query, which is expected to work in other versions.
Future-Proofing and Flexibility:
By adding this error handling, we make the code more resilient to future changes or variations in the API without requiring major refactoring.
This also improves the flexibility of the code by allowing it to work across different versions of the embedding libraries without modification.
Finalization with finally:
Regardless of which embedding method is called (embed_text or embed_query), the finally block ensures that the output (embeddings) is processed into the expected format (NumPy arrays).
This guarantees that the rest of the RAGAS pipeline remains unaffected by the variation in the embedding call.

hey @Yuri-Albuquerque how are you defining the embedding and passing it for Ragas?

hey @Yuri-Albuquerque how are you defining the embedding and passing it for Ragas?

from langchain_openai.embeddings import OpenAIEmbeddings
from ragas.metrics import AnswerCorrectness

embeddings = OpenAIEmbeddings(
                               model="text-embedding-ada-002",
                               max_ritries=2,
                           )
and then I'm injecting in the class answer_correctness = AnswerCorrectness( ..., embeddings = embeddings) and also in
evaluate(..., embeddings = embeddings, metrics=[answer_correctness])```

to get the scores

hey @Yuri-Albuquerque how are you defining the embedding and passing it for Ragas?
are you wrapping with
https://github.com/explodinggradients/ragas/blob/807c313569ba22f69788249c20152a129c21b60b/src/ragas/embeddings/base.py#L68
?

Oh! I wasn't aware of this wrapper, thanks!

@Yuri-Albuquerque no worries - glad we got it fixed 🙂
I'm closing this now but thanks a lot for putting the effort to make a PR. Really appreciate that!


Linux support and refactoring to minimize dublicated code

Changes

This PR adds Linux support (just for login)
For the Platforms a common method channel "autologin_plugin" for all platforms
All messages over the method channel uses now maps and not JSON
Identical tests are moved to an own package (which is included for tests as path dependency)
Improved documentation

Well the tests are green, but I am sure that the code fails on iOS, MacOS and Linux. So much work for broken code :/
I'll check now Linux and tomorrow or the day after I will check the Darwin code.


:seedling:  Bump go.opentelemetry.io/contrib from v0.42.0 to v0.53.0

Summary
Related issue(s)
Fixes #

/approve
/lgtm


The window has crashed (reason: 'oom', code: '-536870904')

Does this issue occur when all extensions are disabled?: Yes/No

VS Code Version:
OS Version:

Steps to Reproduce:

You can find an email address in my profile at https://github.com/alexdima . I can forward the dump file to the correct team member.


How to add the widget on ARView?

Hello! Can you answer me please, how to add the widget on ARView, pls:)
I just didn't find some functions...

Upd: I meant "how to add widget, like a object"


df -l not universally supported

'df -l' is not supported in busybox based df which makes it difficult to run this package as a part of a minimal docker container.
See: https://github.com/osiegmar/cloudwatch-mon-scripts-python/blob/master/cloudwatchmon/cli/put_instance_stats.py#L368

I assume that the -l is not really required. Can you please try it without the -l and give me feedback if it works?

Works fine for me without it.


new mobile numbers prefixes in Iran doesn't support

There are some new mobile numbers prefixes in Iran which libPhoneenumber doesn't support them.
International Communication Union Provides a document in this link :
http://www.itu.int/oth/T0202000066/en
for example 9944 or (09944) is one of them. note that 0 is National Prefix, read general information section.
another numbers are :
99999
99998
...
We need to libPhoneenumber  support all of the valid mobile number prefixes in Iran. Thank you.

@hfm-android,
Thank you for taking the time to improve libphonenumber!
We are already supporting 9944, 99999 and 99998 ranges. To check the latest behavior for yourself, see the demo (instructions in our contribution guidelines).
9944 - http://libphonenumber.appspot.com/phonenumberparser?number=%2B98+9944000000
99998 - http://libphonenumber.appspot.com/phonenumberparser?number=%2B98+9999800000
99999 - http://libphonenumber.appspot.com/phonenumberparser?number=%2B98+9999900000
However there are few other new prefixes that needs to be supported like 991, 993 etc. We've accepted this issue and will fix this in an upcoming release. For your next metadata issue, we invite you to file issues in Google's new Issue Tracker, which we're currently testing.
Please note that you have submitted this information with the knowledge that we may use, modify, reproduce, publicly display, and distribute the information in accordance with our open source policies. Please let us know if you did not intend to submit the information for such use.

For more info, please visit my pull rquest: https://github.com/googlei18n/libphonenumber/pull/2022
Thanks.

This is now fixed as part of release 8.8.7.


node-debug module doesn't compare script_name with path correctly on Windows platform

vscode seems to handle 'drive-letter' in both small letter and capital letter, this makes some conflict while dealing with breakpoints.
I would like to PR for this bug fix, but I don't know where to contribute.

I found vscode-node-debug and opened a PR there.

re-opened to discuss here.

This issue was moved to Microsoft/vscode-node-debug#30


Draft: combobox tags

📝 Description
This is a draft for composing combobox and tags input as discussed here: #435
Currently there is only a Vue example and it might contain some bugs or strange behavior.
No intend to merge this one soon, but would appreciate some feedback about the composition. In particular the following topic comes to mind:
Preventing Tags Input Idle State
As the combobox's popover will most probably be rendered in a teleport, clicking on it will trigger the tags input "blur" event. This results in the tags input entering idle state, which prevents further interaction (e.g. selecting tags with arrow keys).
The current solution is to add an additional check to the tags input trackInteractOutside activity:
// handle composition when used as combobox
const combobox = document.getElementById(`${ctx.id}:combobox:listbox`)
return contains(dom.getRootEl(ctx), target) || contains(combobox, target)

This feels quite hacky, as we bind the tags input machine to internals of the combobox.
A better solution might be to add an additional context prop to the tags input, that extends the trackInteractOutside scope.
Do you have any preferences or ideas on that topic?
🚀 Next Steps

[ ] Add E2E tests for the composition
[ ] Cleanup example
[ ] Add example pages for react and solidjs

💣 Is this a breaking change (Yes/No):
No

What's the status of this PR @visualjerk?

Regarding Zag functionality, all blockers have been resolved, so the only thing holding me back is a shortage of time. Have been quite busy with work and a holiday trip lately. I hope to find time to complete this next month.

Got it @visualjerk. I'll close this for now.
Please create a new PR when you have it ready.
Thanks for working on this.


add specific /prometheus endpoint for testing

After searching for and coding for quite a while the easiest integration with spring 2 was found, which is sufficient for the shown testing purposes.


Deduplicate React state

:balloon: User Story: https://trello.com/c/aUD04RjO/113-story-✨-as-start-staff-i-want-the-map-to-always-be-displaying-the-most-current-information-so-that-am-confident-what-i-am-seeing
Prior to this, start-map was storing state as objects (specifically geojson feature objects)  in a few different react states. This changes that to:

visFtrs => visibleFeatureIds: array of integers for feature ids
allFeatures: no change (maintains full static array of objects for reference)
activeFeature => activeFeatureId integer for feature id

Did some general renaming of vars and functions for consistency, to know better what args are expected for each.
This PR will make it simpler to populate and "hydrate" data from live data in next PR.
Definition of Done Checklist:

[x] Documented
[ ] Deployed to staging
[ ] No errors bugs/regressions introduced
[ ] Added performance test results to PR
[ ] Reviewed by Product Owner (via screencast) -- if appropriate
[ ] Chore/task/feature merged into master

Performance Test Results

Speed test
Score: master
Score: this PR

GTMetrix
36% / 85%
XX% / XX%

PageSpeed Insights
20/100 & 33/100
/100 & /100

Found a bug that showing on review app, and investigating.


Custom and revolutionary flag mapping

See how to map EU4 custom flags' divisions of the fields (the background pattern, so to say), integrate color mappings from https://github.com/ParadoxGameConverters/EU4toVic3/issues/22

Revolutionary tricolors would be output thus:
[TAG]_revolutionary = {
    pattern = "pattern_solid.tga"
    color1 = "[a]"

    colored_emblem = {
        texture = "ce_tricolor_vertical.dds"
        color1 = "[b]"
        color2 = "[c]"
    }
}

TAG is Vic3 tag, a, b and c are the three flag colours, converted through #22.
Example for Byzantium:

Output would be:
BYZ_revolutionary = {
    pattern = "pattern_solid.tga"
    color1 = "purple"

    colored_emblem = {
        texture = "ce_tricolor_vertical.dds"
        color1 = "purpure"
        color2 = "purple"
    }
}

Expected in-game appearance would be*:

Mapping of custom colour 2 to purpure is to be revised

Then extract b and c: b as the first metal (white or yellow) that appears in the normal blazon, c as the first non-metal. Default to white and black if nothing found
This is very complicated though, so I can understand this being lower than lowest priority, since we're essentially fixing uglyness that barely even appears```

We fully support crafting of rev flags from eu4 and their use in vic3.


Finalize catering number

22 pizzas Thursday, breakfast and lunch ordered for both days

@ChrisTheDBA - is the pizza from Donato's again?

Yes Donato's Seaboard Station
Chris Mathews
On Tue, Sep 20, 2016 6:17 PM, lenaecb<EMAIL_ADDRESS>wrote:
@ChrisTheDBA  - is the pizza from Donato's again?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

Awesome, and breakfast for Friday and Sat is from where?

Ian Henshaw has the info, let me ask.
Chris Mathews
On Tue, Sep 20, 2016 6:27 PM, lenaecb<EMAIL_ADDRESS>wrote:
Awesome, and breakfast for Friday and Sat is from where?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

New York Bagel and Deli III - Cary NC
Chris Mathews
On Tue, Sep 20, 2016 6:31 PM, Chris Mathews<EMAIL_ADDRESS>wrote:
Ian Henshaw has the info, let me ask.
Chris Mathews
On Tue, Sep 20, 2016 6:27 PM, lenaecb<EMAIL_ADDRESS>wrote:
Awesome, and breakfast for Friday and Sat is from where?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.


feat: flag to decide whether user can install prompts locally from community

Is your feature request related to a problem? Please describe.
Currently, the only way a user can add a prompt is by contacting an admin to do it, which is very inconvenient.
Describe the solution you'd like
Despite the various tools and functions available, prompts do not pose a security issue. Therefore, I believe it is completely fine to allow each user to set their own prompts locally while still retaining the admin’s ability to set prompts globally.
Add a flag USER_PERMISSION_PROMPTS_INSTALLATION to determine whether users can access Workplace.Prompts, view global prompts, and install prompts locally from the community.
Describe alternatives you've considered
Nothing to add.
Additional context
Nothing to add.

#2924, Please check for duplicates.


Use utf8 for rendered markdown pages

Nice to see markdown automatically converted to html, thanks!
I noted <meta charset="utf-8"> is missing from the html head.

Added to 0.7.3 milestone

I spent some time on this, and I'm finding indications of an upstream electron bug that will slow this down. (Charset isn't getting respected on custom protocols.)


Syntex 0.33 and Syntex 0.35 are making troubles.

Maybe i am wrong because i am new to Rust,
but i see a dependecy version problem,
textnonce uses syntex 0.33
here :  https://github.com/mikedilger/textnonce/blob/master/Cargo.toml#L25
And then the dependecy of textnonce: serde_codegen is using syntex  0.35
here: https://github.com/serde-rs/serde/blob/master/serde_codegen/Cargo.toml#L28
So i get as result a dependecy problem:
/Users/nfmelendez/.cargo/registry/src/github.com-88ac128001ac3a9a/textnonce-0.3.3/build.rs:20:35: 20:48 error: mismatched types:
 expected `&mut syntex::Registry`,
    found `&mut syntex::Registry`
(expected struct `syntex::Registry`,
    found a different struct `syntex::Registry`) [E0308]
/Users/nfmelendez/.cargo/registry/src/github.com-88ac128001ac3a9a/textnonce-0.3.3/build.rs:20         ::serde_codegen::register(&mut registry);
                                                                                ^~~~~~~~~~~~~
/Users/nfmelendez/.cargo/registry/src/github.com-88ac128001ac3a9a/textnonce-0.3.3/build.rs:20:35: 20:48 help: run `rustc --explain E0308` to see a detailed explanation
/Users/nfmelendez/.cargo/registry/src/github.com-88ac128001ac3a9a/textnonce-0.3.3/build.rs:20:35: 20:48 note: Perhaps two different versions of crate `syntex` are being used?
/Users/nfmelendez/.cargo/registry/src/github.com-88ac128001ac3a9a/textnonce-0.3.3/build.rs:20         ::serde_codegen::register(&mut registry);
                                                                                ^~~~~~~~~~~~~
error: aborting due to previous error
error: Could not compile `textnonce`.

To reproduce, just

clone this repo
run cargo build

rustc -V
rustc 1.9.0 (e4e8b6668 2016-05-18)

Published a new version.  Since this keeps happening, I'm not specifying the exact syntex version anymore.


Crashing app everytime.

I'm trying to setup view pager. i returning 4 pages at number method , same title for every page and same tableview for every page.
P.S : I'm not using storyboards.
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** setObjectForKey: object cannot be nil (key: 0)'
*** First throw call stack:
(
0   CoreFoundation                      0x000000010800cf65 __exceptionPreprocess + 165
1   libobjc.A.dylib                     0x0000000109971deb objc_exception_throw + 48
2   CoreFoundation                      0x0000000107f0ad72 -[__NSDictionaryM setObject:forKey:] + 1042
3   MXSegmentedPager                    0x0000000108e176d1 __31-[MXPagerView loadPageAtIndex:]_block_invoke + 657
4   MXSegmentedPager                    0x0000000108e173c3 -[MXPagerView loadPageAtIndex:] + 131
5   MXSegmentedPager                    0x0000000108e1602c -[MXPagerView reloadData] + 876
6   MXSegmentedPager                    0x0000000108e19a03 -[MXSegmentedPager reloadData] + 1299
7   MXSegmentedPager                    0x0000000108e1876f -[MXSegmentedPager layoutSubviews] + 63
8   UIKit                               0x0000000109e8911c -[UIView(CALayerDelegate) layoutSublayersOfLayer:] + 710
9   QuartzCore                          0x000000010912b36a -[CALayer layoutSublayers] + 146
10  QuartzCore                          0x000000010911fbd0 _ZN2CA5Layer16layout_if_neededEPNS_11TransactionE + 366
11  QuartzCore                          0x000000010911fa4e _ZN2CA5Layer28layout_and_display_if_neededEPNS_11TransactionE + 24
12  QuartzCore                          0x00000001091141d5 _ZN2CA7Context18commit_transactionEPNS_11TransactionE + 277
13  QuartzCore                          0x00000001091419f0 _ZN2CA11Transaction6commitEv + 508
14  QuartzCore                          0x0000000109142154 _ZN2CA11Transaction17observer_callbackEP19__CFRunLoopObservermPv + 92
15  CoreFoundation                      0x0000000107f389d7 CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION + 23
16  CoreFoundation                      0x0000000107f38947 __CFRunLoopDoObservers + 391
17  CoreFoundation                      0x0000000107f2e59b __CFRunLoopRun + 1147
18  CoreFoundation                      0x0000000107f2de98 CFRunLoopRunSpecific + 488
19  GraphicsServices                    0x000000010d898ad2 GSEventRunModal + 161
20  UIKit                               0x0000000109dd8676 UIApplicationMain + 171
21  FoodKlik                            0x00000001068766df main + 111
22  libdyld.dylib                       0x000000010b3af92d start + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException

First, you shouldnt use the same view for every pages, the pager do not copy views.
The crash says that you didnt provide a page for index 0; How do you implement the data source ?

Okay. this crash is fixed. but i have question if i am getting dynamic size array from json. My pager depends on that json array how will i handle it? as you're saying pager do not copy views.

Not sure what you are trying to do. But you should create and save a new table view for each page and associate them to your data model.

Ah, one more bug found.
I pushed my MXViewPager controller to screen initialized it with 4 temp data. I did call to server after successfully getting data i assigned those data to view pagers source and try to reload them but view pager doesn't re update.

I'm not sure if this is a bug or an issue in your code. Do you have a sample code that reproduce the issue?


Expose TextEditor identity

Might I ask you to expose the id field of TextEditor interface for the users?
This is very important and is required in our use case! We would like to lookup the editors by some unique identifier, but this is currently only possible through your private API, which is not stable!
We would like this, because we want to implement the correct inlay hints (#16221) for our language server, that will be able to work even when there are multiple editors opened for a single source file (https://github.com/rust-analyzer/rust-analyzer/issues/3008).
The format of the id should be opaque, you may use any private protocol for it which you want. The only work that is needed to be done to implement this feature, is adding id: string property for TextEditor in
vscode.d.ts:
https://github.com/microsoft/vscode/blob/7f1bde5cb770ea12154d09c7b311e4ad205c6932/src/vs/vscode.d.ts#L1082

The issue where I initially requested this feature: #91782

Object identifier is recommended in this case.


Running socketcluster using pm2 or forever keep display blank node.exe cmd

Hi I'm and my team try to develop an app using socketcluster and now want to deploy it using pm2 at begin
But when we try to deploy it using pm2 and latter I try to use forever it seem it faced same issue
Step to reproduce
Install latest socket cluster version using npm
Create new project or using code from master branch
Try to run sample project using pm2(or forever)
forever start --killSignal=SIGTERM server.js -w 2 -s 2
pm2 start server.js
Image 1: start using forever

Image 2: Same issue happen

Image 3: start using pm2

I'm running win 10
Node v8.11.1
Is there any that I doing wrong, is there a way to work around it ? Or this is an issue

@jondubois Yes, if I kill main process, it will turn off that child process
But you know, when you deploy it into production, you should find a way to run it in background and that it nothing else (no blank screen....).
And in my case, our team using pm2, Imagine like you have hundred app running on server and each app need a console to display... it will be a mess right?
So my expectation is find out a way to deploy app using socketcluster using script and it will running silently in background. Is there a way to do it using pm2 or other tool that, using socketcluster by itself I would like to know?

@bebeo92 it definitely doesn't do it on Linux (which is the most common production environment). Maybe PM2 is not optimized for Windows.
SC just uses node.js's cluster and child_process modules to spawn up child processes so it's not doing anything out of the ordinary. Have you tried using a different console in Windows? Maybe Powershell?
In any case, this is a PM2 issue, not a SocketCluster issue: https://github.com/Unitech/pm2/issues/2182

@jondubois Ok then so is there any easy way to start and stop SC automatically?
Sorry but I stick with window ....

Otherwise, if you think that this issue can be solved inside SC, you can try playing around with SC's use of fork:

In main socketcluster module: https://github.com/SocketCluster/socketcluster/blob/master/scworkercluster.js#L181
In sc-broker dependency: https://github.com/SocketCluster/sc-broker/blob/master/index.js#L82

@jondubois pm2 already in latest version ...
Option 2 look promise then

@bebeo92 pm2 both for windows and for linux shows only the master process you start: server.js, it does not care of the child processes (worrkers, brokers, ...) and does not manage them.  You can see them in the process list


upgrade to TP3.4.0

New version of Tinkerpop (3.4.0).

rebased and merged in https://github.com/mpollmeier/gremlin-scala/commit/18abaf82e54f4c1e7de78dfae582666720391f47
Thank you!


Add pipeline name, loader, and transform columns to Pipelines table

Migrated from GitLab: https://gitlab.com/meltano/meltano/-/issues/2067
Originally created by @DouweM on 2020-05-28 17:38:01

https://gitlab.com/meltano/demo-project defines the following scheduled pipelines in its meltano.yml, that were created using meltano schedule:
schedules:
- extractor: tap-gitlab
  interval: '@hourly'
  loader: target-jsonl
  name: gitlab-to-jsonl
  start_date: 2020-05-01 00:00:00
  transform: skip
- extractor: tap-gitlab
  interval: '@daily'
  loader: target-postgres
  name: gitlab-to-postgres
  start_date: 2020-05-01 00:00:00
  transform: run

The Pipelines page currently displays these like this:

We should add the following columns, to make this page equivalent to meltano schedule list and allow us to differentiate between different pipelines with the same extractor:

[ ] Pipeline/schedule name
[ ] Loader
[ ] Transform ("Run", "Only", "Skip")

We can consider making the font size and logos smaller to fit more content.

View 4 previous comments from the original issue on GitLab


Poor, very poor.

This page is close to useless. It refers to downloading NuGet + VSTS Credential Provider - but says nothing about what to do with these once downloaded or where to put the downloaded files. I simply cannot comprehend why this publishing capability is not accessible with a few mouse clicks in the GUI, why oh why oh why is it considered acceptable to have this gap in how nuget is supported?
The article glibly refers to "run these commands" as if this was a GUI mouse click, it isn't. How do we run those commands? do I open a console window? if so where? what folder must I be in when I run the commands? What if the .exe isn't found? must I edit my path environment variable? etc, etc, etc...
I had hoped that Visual Studio 2019 would make this easy, after all it has a dedicated "Package" property window in my .Net Standard project and I can right-click a project and choose "Pack" and then...well that's it - I must then trawl the web, open power shell windows, struggle with poor documentation and fumble along. After all that I have to explain to my coworkers how I did the publish!!

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: ec99483d-828e-093b-a5af-bd2d25ea27d1
Version Independent ID: 36f67ced-654b-3cbb-2f4e-4f7b540959ba
Content: Publish a NuGet package from the command line
Content Source: docs/artifacts/nuget/publish.md
Product: devops
Technology: devops-artifacts
GitHub Login: @elbatk
Microsoft Alias: elbatk

Thank you for the feedback. We know the experience here is way out-of-date, and the docs aren't far ahead. We're working right now on an updated design for the "Connect to feed" dialog that we hope to have rolled out (along with updated docs) by the end of Q2.

@alexmullans - Thank you Alex, this is very encouraging!

Would it be helpful to add links to the page for how to create and publish a NuGet package in dotnet and NET Standard and NET Framework using Visual Studio, or using the nuget CLI?
This way, someone could follow the guide to create the package, then come back to this guide to publish the package. This publish topic is only relevant immediately after following a guide to create a package, so it makes sense to link the two.
The linked articles cover both creating and publishing the nuget packages, so you'd want to only want to follow the parts that define creating the package, then come back to these docs to publish it to Azure Artifacts.

Agreed.
Below steps worked for me while posting a package to internal Azure Artifacts.

Opened Package manger in VS 2019. (had 2.2.401 installed)
Ran command
PM>  dotnet nuget push "Path where your .nupkg file exists" --source "Your Package source URL" -k AzureDevOps --interactive
It should display a unique code, which you have to provide by going to 'https://microsoft.com/devicelogin' from browser.

This should authenticate your VS for future push as well.

Thanks jariwalaraj.  This helped me.

Thank you for the feedback. We know the experience here is way out-of-date, and the docs aren't far ahead. We're working right now on an updated design for the "Connect to feed" dialog that we hope to have rolled out (along with updated docs) by the end of Q2.

"End of Q2."-- It's September.
@jariwalaraj This didn't work for me. Instead of getting a unique code, I simply got a 401 unauthorized. "Unable to load the service index for source..."

@Korporal Thank you for your feedback. An updated version of the article will be deployed shortly.


Add Log Message for Cleanup to Documentation

This Log message needs to be add to documentation.

Will be fixed by #171


⚠ SkipTheCommericals has degraded performance

In 413b156, SkipTheCommericals ($STC) experienced degraded performance:

HTTP code: 200
Response time: 2224 ms

Resolved: SkipTheCommericals performance has improved in bac1ae5.


Fix default serialization

Closes #659

The current change looks like it will just not serialize default properties... but won't resolve #659
Seems like to resolve #659 something like this is needed:
opts.SerializerSettings.Converters.Add(new StringEnumConverter());

The current change looks like it will just not serialize default properties... but won't resolve #659

The 0 is the default value of the TesFileType enumeration, which value does not actually exist (look at the code). That zero was written by the StringEnumConverter. Adding another one won't do anything (one was already added by the attribute in that code file).
I agree with unit tests, though.
@MattMcL4475

@BMurri  should the default be 1 then?

My understanding is that the server is expected to only provide missing types on outputs, per the discussions associated with the removal of the requirement to provide type when submitting the task to the server (a change in 1.1), but maybe I'm recalling that discussion incorrectly. Note also that determination of type when it's missing can only be done with certain kinds of source storage locations, e.g. generic web URLs is one case where directory inputs are not possible to implement.
If the default is changed to 1, then there'll be no way for the server to know it wasn't set in the first place. Making it nullable would be a possibility, but with the proposed fix the entire property will not be written in the JSON when clients retrieve the task when its value is the default (of 0) (along with all other properties that are missing values). Note that arrays that are present but empty will be written with this fix (to prevent writing them would require them to be null).

I think if it's not provided it should be null.

In C# it's an enumeration. Our choices are:

if it's not provided it's completely missing when retrieving the task and its value is 0 when accessing it inside of the server
We explicitly make it a Nullable<>

1. is what the current state of this fix does.

I think if it's not provided it should be null.

In C# it's an enumeration. Our choices are:

if it's not provided it's completely missing when retrieving the task and its value is 0 when accessing it inside of the server
We explicitly make it a Nullable<>

1. is what the current state of this fix does.

So the JSON resturned would be still 0 or null from the API

So the JSON resturned would be still 0 or null from the API

In the JSON it is entirely missing. In the POCO model, it is 0.

In the JSON it is entirely missing. In the POCO model, it is 0.

That seems reasonable to me.


Google Analytics Plugin not adding necessary code to site

Description
I've added the @gridsome/plugin-google-analytics to my site and followed the instructions, but the UA-XXX-X code is not being added to my html when I view in browser. The site is being built and hosted at netlify but when I build it locally it's not working either.
Steps to reproduce
npm install @gridsome/plugin-google-analytics
add to plugins in gridsome.config.js
gridsome build
Expected result
Google Analytics UA-XXX code should be added to the index.html and all pages.
Actual result
Don't see code being added.
Environment

Libs:
- @gridsome/cli v0.2.1
- gridsome v0.6.6

Browser:
- [ ] Chrome (desktop) version XX
- [ ] Chrome (Android) version XX
- [ ] Chrome (iOS) version XX
- [ ] Firefox version XX
- [ ] Safari (desktop) version XX
- [ ] Safari (iOS) version XX
- [ ] IE version XX
- [ ] Edge version XX

For Tooling issues:
- Node version: 11.10.0
- Platform:  Mac, Windows

Others:

Could you send your gridsome.config.js?
Could you send the link of your site?

I felt it was better to just add it in main.js using vue-gtm as this gives me more control over when I want to activate it, eg. after cookie acceptance.
// main.js

import VueGtm from 'vue-gtm'

export default function(Vue, { router, head, appOptions, isClient }) {
  if (isClient) {
    Vue.use(VueGtm, {
      vueRouter: router,
      id: process.env.GRIDSOME_GTM,
      enabled: false,
      debug: false
    })
  }
})

GRIDSOME_GTM is added as an environment variable, but you could just put it in directly.

any updates about this issue? My GA doesnt work too

Can you please share the plugin entry in the config? How are you guys inspecting whether it's working or not? It's not clear when you say "the UA-XXX-X code is not being added to my html when I view in browser" or "my GA doesnt work". Are you using any ad-block plugins in your browsers like uBlock or AdBlockPlus?
I added the following to the plugins array in gridsome.config file, and it's working fine:
    {
      use: 'gridsome-plugin-gtm',
      options: {
        id: 'GTM-ABCDE1F'
      },
    }

I am using this package: @gridsome/plugin-google-analytics
I do following below:

I add  new key in .env file.

Modify gridsome.config.js:

{
    use: '@gridsome/plugin-google-analytics',
    options: {
      id: process.env.GA
    }
}

I test to access blog pages, and visit my analytics dashboard, and it works (like @a-kriya  mention, there is analytics.js in network tab):


Change RasterPropMonitor suggested mods

I haven't been with the project for very long, and this change seems to date back to #6 so i'd like to get input from someone more senior than me. (@dbent looking your way)
I think VesselView-RasterPropMonitor was always meant to be VesselView. I can say with certainty that there's currently no mod with the ID VesselView-RasterPropMonitor but maybe it existed in the past.

:+1:


Update blogs.json

Add ASO Blog by I WANT AN ELEPHANT.

Hi. Thanks for this! Unfortunately your blog needs a feed URL to be valid. Could you add it please? Thanks
Sent with GitHawk

Hi. I've added the feed url.
Thank you

Thanks!


Handle PBIX files wtihout internal datasets more gracefully

Prevent trying to fetch datasources and parameters if there are no datasets. Return error if trying to set parameters or datasets on pbixs that do not have datasets
Closes #27

Hi @alex-davies I see that all tests pass now. Would you mind merging this and releasing a new version?

Although the test are passing, I'm cheating in order to get them to do so
a report-only PBIX needs the dataset to exist and needs access to that dataset. My test case PBIX has a dataset that exists only because I manually added it and gave it the appropriate permissions. On a blank PowerBI workspace the tests will fail. And the only way to fix it would be to modify the PBIX file to point to a different dataset that does exist and has permissions to.
However I think i've found a way to hack a pbix to change the dataset ID it is using, although I wouldn't be comfortable yet doing this as part of the main provider, I think it is fine to do it as part of the tests to make them less environment specific

@alex-davies Can you release this as a new version to the terraform  registry? It would help us very much! Many thanks in advance :)

@alxy apologies I thought had I had created release, but it was stuck in draft. Release has been created and is now available from the terraform registry

Thank you!


[BUG] /healthcheck doesn't detect NFS mount failure

Just happened in beta.
In nginx logs:
[04/Jul/2019:18:06:28 +0000] "GET /healthcheck HTTP/1.1" 200 32 "-" "ELB-HealthChecker/2.0"
[04/Jul/2019:18:06:32 +0000] "GET /beta HTTP/1.1" 499 0 "-" "Amazon CloudFront"

the node app continued to respond successfully to /healthcheck when all other requests would hang indefinitely (eventually resulting in 499 when the client hangs up).
Root cause was NFS mount being hung for some reason.
The following resolved the issue:
umount -l -f /opt
mount /opt
mount /opt/wine-stable
systemctl restart compiler-explorer

Perhaps /healthcheck should do one of the following:

run a binary configurable via properties and expect exit code 0
serve a static file configurable via properties

In either case we could put the corresponding file on the nfs mount in order to have the healthcheck fail when the nfs mount dies so that the instance will get automatically recycled.

Done.
$ ls -al /opt/.health
-rw-r--r-- 1 root root 21 Jul 16 10:09 /opt/.health

$ hexdump -C /opt/.health
00000000  45 76 65 72 79 74 68 69  6e 67 20 69 73 20 61 77  |Everything is aw|
00000010  65 73 6f 6d 65                                    |esome|
00000015


Add empty double vector

Another even more simple reproduction for #210.

Closing this as it is superseded by #213.