YouTube Extractor not downloading latest video when downloading whole channel.

Checklist

[x] I'm reporting a broken site support
[x] I've verified that I'm running youtube-dl version 2<IP_ADDRESS>
[x] I've checked that all provided URLs are alive and playable in a browser
[x] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[x] I've searched the bugtracker for similar issues including closed ones

Verbose log

PS C:\Scripts\Youtube Update> youtube-dl -U
youtube-dl is up-to-date (2<IP_ADDRESS>)
PS C:\Scripts\Youtube Update> youtube-dl -v -o "E:\Data Archive\Youtube Archive\OfflineTV\%(title)s.%(ext)s" https://www.youtube.com/c/OfflineTVgg/videos --download-archive OfflineTV.txt;
[debug] System config: []
[debug] User config: ['-c', '-i', '--buffer-size', '16k', '--hls-prefer-ffmpeg', '--hls-use-mpegts', '-o', 'E:\\Data Archive\\Default\\%(title)s.%(ext)s', '--no-part']
[debug] Custom config: []
[debug] Command-line args: ['-v', '-o', 'E:\\Data Archive\\Youtube Archive\\OfflineTV\\%(title)s.%(ext)s', 'https://www.youtube.com/c/OfflineTVgg/videos', '--download-archive', 'OfflineTV.txt']
[debug] Encodings: locale cp1252, fs mbcs, out cp437, pref cp1252
[debug] youtube-dl version 2<IP_ADDRESS>
[debug] Python version 3.4.4 (CPython) - Windows-10-10.0.19041
[debug] exe versions: ffmpeg git-2019-12-08-9f7b2b3, ffprobe git-2019-12-08-9f7b2b3
[debug] Proxy map: {}
[youtube:user] OfflineTVgg: Downloading channel page
[youtube:playlist] UUDK9qD5DAQML-pzrtA7A4oA: Downloading webpage
[download] Downloading playlist: Uploads from Offline TV
[youtube:playlist] UUDK9qD5DAQML-pzrtA7A4oA: Downloading page #1
[youtube:playlist] playlist Uploads from Offline TV: Downloading 119 videos
[download] Downloading video 1 of 119
[download] HE WENT BALD?! - OFFLINETV GIVES QUARANTINE HAIRCUTS ft. Michael Reeves Scarra DisguisedToast has already been recorded in archive
[download] Downloading video 2 of 119
[download] OFFLINETV NINJA GAME TOURNAMENT (LOSERS GET TASED) has already been recorded in archive
[download] Downloading video 3 of 119
[download] OFFLINETV PLAYS DRUNK JENGA ft. Michael Reeves DisguisedToast LilyPichu Scarra Fedmyster has already been recorded in archive
[download] Downloading video 4 of 119
[download] WHY WOULD YOU SEND MICHAEL THIS?! - OFFLINETV UNBOXING has already been recorded in archive
[download] Downloading video 5 of 119
[download] HE ACTUALLY PUNCHED HER! - OFFLINETV PLAYS GANG BEASTS ft. Michael Reeves has already been recorded in archive
[download] Downloading video 6 of 119
[download] OUR DMS WERE LEAKED - GUESS THAT DM ft. DisguisedToast has already been recorded in archive
[download] Downloading video 7 of 119
[download] WE TOOK TURNS DATING EACH OTHER? - OFFLINETV PLAYS MONSTER SEEKING MONSTER ft. Michael Reeves has already been recorded in archive
[download] Downloading video 8 of 119
[download] DATING SIMULATOR 2 ft. Michael Reeves LilyPichu Scarra Pokimane has already been recorded in archive
[download] Downloading video 9 of 119
[download] OFFLINETV DON'T LAUGH CHALLENGE 3 WITH WATER (COMMUNITY CLIPS) has already been recorded in archive
[download] Downloading video 10 of 119
[download] PLEASE TELL ME YOU KNOW WHAT THAT IS - OFFLINETV UNBOXING has already been recorded in archive
[download] Downloading video 11 of 119
[download] OFFLINETV TRIES ARCHERY (FAIL) FT. Michael Reeves, Pokimane, LilyPichu, FED, DisguisedToast, Scarra has already been recorded in archive
[download] Downloading video 12 of 119
[download] OFFLINETV READS MEAN TWEETS has already been recorded in archive
[download] Downloading video 13 of 119
[download] OFFLINETV DOES A LIE DETECTOR TEST (W/ REACTIONS) has already been recorded in archive
[download] Downloading video 14 of 119
[download] YOU WON'T BELIEVE WHO TWEETED THAT l OfflineTV Guess That Tweet has already been recorded in archive
[download] Downloading video 15 of 119
[download] SHE BURST HER EARDRUM! OFFLINETV SKYDIVING FOR 1 MILLION SUBS ft. Michael Reeves LilyPichu Fedmyster has already been recorded in archive
[download] Downloading video 16 of 119
[download] DATING SIMULATOR ft. Michael Reeves LilyPichu Fedmyster Scarra has already been recorded in archive
[download] Downloading video 17 of 119
[download] IT EXPLODED! (AGAIN) - OFFLINETV CHRISTMAS UNBOXING has already been recorded in archive
[download] Downloading video 18 of 119
[download] MICHAEL REEVES JOINS OFFLINETV has already been recorded in archive
[download] Downloading video 19 of 119
[download] WHISPER CHALLENGE! ft. Michael Reeves Pokimane Scarra LilyPichu DisguisedToast Fedmyster has already been recorded in archive
[download] Downloading video 20 of 119
[download] HE GOT KNOCKED OUT! OFFLINETV TRIES DODGEBALL ft. Pokimane LilyPichu DisguisedToast Fedmyster Scarra has already been recorded in archive
[download] Downloading video 21 of 119
[download] HE GOT SO ANGRY! - OFFLINETV UNBOXING has already been recorded in archive
[download] Downloading video 22 of 119
[download] SO INTENSE!! HALLOWEEN MAFIA ft. Michael Pokimane LilyPichu DisguisedToast Fedmyster Scarra & Fuslie has already been recorded in archive
[download] Downloading video 23 of 119
[download] ANIME SPOILER PRANK ft. Fedmyster SleightlyMusical LilyPichu DisguisedToast Pokimane Scarra has already been recorded in archive
[download] Downloading video 24 of 119
[download] FRIENDSHIP TEST ft. Pokimane DisguisedToast LilyPichu Fedmyster Scarra has already been recorded in archive
[download] Downloading video 25 of 119
[download] SHE ACTUALLY STARTED CRYING! HIDE AND SEEK VS MICHAEL REEVES (LOSER GETS TASED) has already been recorded in archive
[download] Downloading video 26 of 119
[download] MINECRAFT MAFIA ft. Pokimane LilyPichu DisguisedToast Fedmyster Scarra Valkyrae xChocoBars has already been recorded in archive
[download] Downloading video 27 of 119
[download] OFFLINETV TRIES GO-KARTING has already been recorded in archive
[download] Downloading video 28 of 119
[download] SHE ACTUALLY DID IT! OFFLINETV GUESSING GAME has already been recorded in archive
[download] Downloading video 29 of 119
[download] SHE COMPLETELY LOST IT! OFFLINETV DON'T LAUGH CHALLENGE 2 (WITH WATER) has already been recorded in archive
[download] Downloading video 30 of 119
[download] THIS IS IMPOSSIBLE! OFFLINETV PLAYS PICTIONARY has already been recorded in archive
[download] Downloading video 31 of 119
[download] PLEASE DON'T SEND US THESE ANYMORE - OFFLINETV UNBOXING has already been recorded in archive
[download] Downloading video 32 of 119
[download] FEAR PONG CHALLENGE Ft. DisguisedToast Scarra Pokimane LilyPichu Fedmyster has already been recorded in archive
[download] Downloading video 33 of 119
[download] HE GOT CAUGHT LYING! MAFIA PART 5 Ft. DisguisedToast Scarra Pokimane LilyPichu Fedmyster has already been recorded in archive
[download] Downloading video 34 of 119
[download] OFFLINETV TRIES PAINTING HAIR ft. DisguisedToast, Pokimane, LilyPichu, Scarra, Fedmyster has already been recorded in archive
[download] Downloading video 35 of 119
[download] THE WHOLE THING EXPLODED! OFFLINETV FRUIT SMASHING FT. DisguisedToast Pokimane Lily Fedmyster Scarra has already been recorded in archive
[download] Downloading video 36 of 119
[download] KILL MARRY SMASH GAME OF THRONES EDITION ft. POKIMANE, TOAST, LILYPICHU, FED has already been recorded in archive
[download] Downloading video 37 of 119
[download] IS THIS THE END FOR OUR HEROES? - OFFLINE TV ODYSSEY EP 6 | A DUNGEONS AND DRAGON ADVENTURE has already been recorded in archive
[download] Downloading video 38 of 119
[download] IS DESTINY SMARTER THAN OFFLINE TV? - DETENTION AT OFFLINE HIGH EP 5 ft. POKIMANE, LILYPICHU & MORE has already been recorded in archive
[download] Downloading video 39 of 119
[download] $10,000 EASTER EGG HUNT CHALLENGE - SMASHING EGGS ON OURSELVES FT. Pokimane,  LilyPichu & more has already been recorded in archive
[download] Downloading video 40 of 119
[download] RAGE QUITTING SEKIRO | LADY BUTTERFLY BOSS FIGHT - OFFLINE TV PLAYS feat. Poki, Toast, Lily & Scarra has already been recorded in archive
[download] Downloading video 41 of 119
[download] UGG'S UNLIKELY COMPANION - OFFLINE TV ODYSSEY EP 5 | A DUNGEONS AND DRAGON ADVENTURE has already been recorded in archive
[download] Downloading video 42 of 119
[download] PROZD SLAMS YOUTUBERS & FAKE WEEBS - OFFLINE HIGH EP4 ft. LILYPICHU, FED, SCARRA, POKIMANE & TOAST has already been recorded in archive
[download] Downloading video 43 of 119
[download] THE FAKE GOBLIN HEAD - OFFLINETV ODYSSEY EP 4 | A DUNGEONS AND DRAGON ADVENTURE has already been recorded in archive
[download] Downloading video 44 of 119
[download] GIFTS FOR HOG SQUEEZING - OFFLINETV FAN MAIL UNBOXING ft. POKIMANE, TOAST, SCARRA, YVONNE & ALBERT has already been recorded in archive
[download] Downloading video 45 of 119
[download] FORTNITE STREAMER VALKYRAE YOGA BATTLES POKIMANE - OFFLINE HIGH EP3 ft. LILYPICHU, TOAST & MORE has already been recorded in archive
[download] Downloading video 46 of 119
[download] INTO THE CAVES OF PERIL - OFFLINETV ODYSSEY EP 3 | A DUNGEONS AND DRAGON ADVENTURE has already been recorded in archive
[download] Downloading video 47 of 119
[download] GTA RP, Sekiro & Stadia -  OfflineTV Podcast #7 ft. Toast, Pokimane, Albert, Yvonne has already been recorded in archive
[download] Downloading video 48 of 119
[download] GRADING OFFLINETV FAN ART ft. LILYPICHU, DISGUISEDTOAST, FEDMYSTER, SCARRA & THEEMARKZ has already been recorded in archive
[download] Downloading video 49 of 119
[download] TOAST ADMITS WHAT'S ON HIS PHONE!!! - OFFLINETV WOULD-YOU-RATHER ft. LILYPICHU, SCARRA, & ALBERT has already been recorded in archive
[download] Downloading video 50 of 119
[download] SKT DISGUISEDTOAST AND GEN.G SCARRA???  OFFLINETV PODCAST #6 ft. Toast , Fedmyster, Scarra, & MarkZ has already been recorded in archive
[download] Downloading video 51 of 119
[download] THE FIRST FIGHT - OFFLINETV ODYSSEY EP 2 | A DUNGEONS & DRAGONS ADVENTURE has already been recorded in archive
[download] Downloading video 52 of 119
[download] GIRL GAMER APPAREL & STREAMER STRUGGLES - OFFLINETV PODCAST #5 ft. LILY, TOAST, SCARRA, & ALBERT has already been recorded in archive
[download] Downloading video 53 of 119
[download] NADESHOT SCHOOLS US IN BEER PONG - DETENTION AT OFFLINE HIGH EP 2 ft. POKIMANE, LILYPICHU & MORE has already been recorded in archive
[download] Downloading video 54 of 119
[download] KILL, MARRY, SMASH - APEX LEGENDS, POKEMON & MORE ft. POKIMANE, LILYPICHU, XELL & YVONNE has already been recorded in archive
[download] Downloading video 55 of 119
[download] A FRESH START - OFFLINETV ODYSSEY EP 1 | A DUNGEONS & DRAGONS ADVENTURE has already been recorded in archive
[download] Downloading video 56 of 119
[download] RETIREMENT?? NEW POKEMON?? - OFFLINETV PODCAST #4 ft. POKIMANE, LILYPICHU, YVONNE, & XELL has already been recorded in archive
[download] Downloading video 57 of 119
[download] DEMONITIZATION, GORDAN HAYWARD & MORE - OFFLINETV PODCAST #3 ft. TOAST, FED, SCARRA, & ALBERT has already been recorded in archive
[download] Downloading video 58 of 119
[download] WE FOUND WHAT IN TOASTS ROOM??? - OFFLINETV FAN Q&A ft. DISGUISEDTOAST, POKIMANE, YASSUO & SCARRA has already been recorded in archive
[download] Downloading video 59 of 119
[download] VALENTINES DAY, VACATIONS & SPECIAL GUEST YASSUO - OFFLINETV PODCAST#2 ft. TOAST, POKIMANE, SCARRA has already been recorded in archive
[download] Downloading video 60 of 119
[download] THIS GIFT IS IMPOSSIBLE TO OPEN?! OFFLINETV FAN UNBOXING ft. LILYPICHU, FEDMYSTER, SCARRA & MORE has already been recorded in archive
[download] Downloading video 61 of 119
[download] Mulan Star Jimmy Wong Teaches Us To Be A Man | Detention at Offline High Ep 1 has already been recorded in archive
[download] Downloading video 62 of 119
[download] Lily Thinks Stalker is Cute, Japan Trip Leak, & More - OTV PODCAST #1 has already been recorded in archive
[download] Downloading video 63 of 119
[download] OFFLINETV NEW CONTENT TRAILERS & ANNOUNCEMENTS has already been recorded in archive
[download] Downloading video 64 of 119
[download] DON'T LAUGH CHALLENGE | ft. Lilypichu, DisguisedToast, Scarra, & More has already been recorded in archive
[download] Downloading video 65 of 119
[download] ULTIMATE JENGA - PUNISHMENT: TWERKING ft. POKIMANE, DISGUISEDTOAST, FEDMYSTER, & SCARRA has already been recorded in archive
[download] Downloading video 66 of 119
[download] WE GOT GLITTER BOMB PRANKED | OFFLINETV HOLIDAY FAN UNBOXING ft. TOAST, FED, POKI, SCARRA, LILY has already been recorded in archive
[download] Downloading video 67 of 119
[download] OFFLINETV BEACH EPISODE & VOLLEYBALL 🌴 ft. Pokimane, Lilypichu, DisguisedToast, Scarra, Fedmyster has already been recorded in archive
[download] Downloading video 68 of 119
[download] OUR DIRTIEST UNBOXING EVER | OFFLINETV FAN MAIL UNBOXING ft. TOAST, POKI, LILYPICHU, SCARRA, FED has already been recorded in archive
[download] Downloading video 69 of 119
[download] OFFLINETV EMOTIONAL THANKSGIVING MUKBANG has already been recorded in archive
[download] Downloading video 70 of 119
[download] OFFLINETV TWITCHCON VLOG & TOAST'S REACTION TO NEW HOUSE has already been recorded in archive
[download] Downloading video 71 of 119
[download] THE RETURN OF THE KING | OFFLINETV MAFIA & MYSTERY BOX OPENED has already been recorded in archive
[download] Downloading video 72 of 119
[download] PUMPKIN CARVING WITH SWORDS | OFFLINETV HALLOWEEN SPECIAL ft. LILYPICHU, SCARRA FED, & MORE has already been recorded in archive
[download] Downloading video 73 of 119
[download] OFFLINETV NEEDS NEW MEMBERS?! | FAN MAIL Q&A has already been recorded in archive
[download] Downloading video 74 of 119
[download] DID HE BREAK HIS NOSE?!? STREAMERS PLAY SOCCER ft. SCARRA, POKIMANE, LILYPICHU, FEDMYSTER & MORE has already been recorded in archive
[download] Downloading video 75 of 119
[download] WTF DID YOU GUYS SEND US?? | OFFLINETV FAN MAIL UNBOXING has already been recorded in archive
[download] Downloading video 76 of 119
[download] LILYPICHU VS SCARRA 200 IQ DEATHMATCH: OFFLINE TV PLAYS CODENAMES has already been recorded in archive
[download] Downloading video 77 of 119
[download] WHAT KIND OF HINT IS THAT??? OFFLINETV HEADS-UP ft. SCARRA, POKIMANE, FEDMYSTER, LILYPICHU & MORE has already been recorded in archive
[download] Downloading video 78 of 119
[download] WE HIT 500K SUBSCRIBERS!!! has already been recorded in archive
[download] Downloading video 79 of 119
[download] SHURIKEN, KUNAI, & WEAPONS OH MY! OFFLINETV FAN MAIL UNBOXING has already been recorded in archive
[download] Downloading video 80 of 119
[download] NEVER HAVE I EVER 2 | OFFLINETV EDITION ft. DISGUISEDTOAST, LILYPICHU, POKIMANE, SCARRA, FED & MORE has already been recorded in archive
[download] Downloading video 81 of 119
[download] THE CRAZIEST JENGA GAME ft. POKIMANE, LILYPICHU, SCARRA, FEDMYSTER, ALBERT & MORE has already been recorded in archive
[download] Downloading video 82 of 119
[download] BIGGEST SAVE EVER? OFFLINETV MAFIA w/ SPECIAL GUEST has already been recorded in archive
[download] Downloading video 83 of 119
[download] WE CAN'T ANSWER THAT!!! OFFLINETV FAN Q+A has already been recorded in archive
[download] Downloading video 84 of 119
[download] DRUNK PAINTING CLASS W/ OFFLINETV ft. LILYPICHU, SCARRA, POKIMANE, FEDMYSTER & MORE has already been recorded in archive
[download] Downloading video 85 of 119
[download] OFFLINETV SEASON 2 PREMIERE | HOUSE TOUR & MEET THE CAST ft. POKI, TOAST, LILY, FED, & SCARRA has already been recorded in archive
[download] Downloading video 86 of 119
[download] OfflineTV Changes & Updates has already been recorded in archive
[download] Downloading video 87 of 119
[download] Offline TV Vive Game Trailer has already been recorded in archive
[download] Downloading video 88 of 119
[download] OFFLINE TV FINDS A NEW HOUSE brought to you by Purple Mattress has already been recorded in archive
[download] Downloading video 89 of 119
[download] OFFLINETV SKYDIVE PRANK! SHE THOUGHT WE WERE GOING TO SIX FLAGS! has already been recorded in archive
[download] Downloading video 90 of 119
[download] BATTLESHIPS FT. JOAST, FOKI, LIBERTY, and $ELLOUT$? has already been recorded in archive
[download] Downloading video 91 of 119
[download] WHY DO PEOPLE SEND US WEAPONS??? OfflineTV Fan Unboxing has already been recorded in archive
[download] Downloading video 92 of 119
[download] SINGING IN PUBLIC (POORLY) | OFFLINETV & FRIENDS TRY KARAOKE has already been recorded in archive
[download] Downloading video 93 of 119
[download] OFFLINETV HOUSE BEST MOMENTS: TAIWAN has already been recorded in archive
[download] Downloading video 94 of 119
[download] T-PAIN VISITS OFFLINETV ft. Fedmyster, Lilypichu, Scarra, Pokimane, DisguisedToast, Yoona & Mendo has already been recorded in archive
[download] Downloading video 95 of 119
[download] OFFLINETV REVEALS HOUSE SECRETS (Q&A from Fans) has already been recorded in archive
[download] Downloading video 96 of 119
[download] DISGUISED TOAST FINDS LOVE l OFFLINETV DATING SHOW has already been recorded in archive
[download] Downloading video 97 of 119
[download] DON'T LAUGH CHALLENGE l OFFLINETV has already been recorded in archive
[download] Downloading video 98 of 119
[download] TWO GIRLS ONE YOONA l MAFIA RETURNS: OFFLINETV EDITION ft. Disguised Toast, Pokimane, LilyPichu etc has already been recorded in archive
[download] Downloading video 99 of 119
[download] OFFLINETV RUINS WEDDING Ft. Pokelawls, Disguised Toast, Pokimane, LilyPichu and Scarra has already been recorded in archive
[download] Downloading video 100 of 119
[download] SOMEONE SENT US AN ACTUAL SPEAR WTF! l OfflineTV Holiday Fan Mail! 🎄 has already been recorded in archive
[download] Downloading video 101 of 119
[download] Kill Marry Smash: Hearthstone Edition ft. Disguised Toast, LilyPichu, Scarra, and MarkZ has already been recorded in archive
[download] Downloading video 102 of 119
[download] POKIMANE'S BOYFRIEND JOINS THE OFFLINE HOUSE? - OfflineTV Tries Improv Comedy! has already been recorded in archive
[download] Downloading video 103 of 119
[download] POKIMANE, LILYPICHU, AND FED GO MISSING!! (Six Flags Trip) has already been recorded in archive
[download] Downloading video 104 of 119
[download] TYLER1 JOINS OFFLINE TV?? BEST TWITCH CON MOMENTS has already been recorded in archive
[download] Downloading video 105 of 119
[download] DISGUISED TOAST JOINS THE OFFLINE HOUSE! has already been recorded in archive
[download] Downloading video 106 of 119
[download] WE'RE RECRUITING (THANK YOU FOR 100K SUBSCRIBERS) has already been recorded in archive
[download] Downloading video 107 of 119
[download] THE MOST SAVAGE MAFIA GAME (ever?) ft. Pokimane, Scarra, LilyPichu, Mendokusaii & more has already been recorded in archive
[download] Downloading video 108 of 119
[download] COUPLES MINI-GOLF ft. Pokimane, LilyPichu, Scarra, Based Yoona and more has already been recorded in archive
[download] Downloading video 109 of 119
[download] MARIACHI BAND HOUSE PRANK ft. LilyPichu Scarra Pokimane has already been recorded in archive
[download] Downloading video 110 of 119
[download] WIRELESS KEYBOARD HOUSE PRANK ft. Pokimane & LilyPichu has already been recorded in archive
[download] Downloading video 111 of 119
[download] NEVER HAVE I EVER ft. Scarra, Pokimane, LilyPichu, Mendokusaii and more has already been recorded in archive
[download] Downloading video 112 of 119
[download] Offline TV plays One Two Switch ft. Scarra, LilyPichu, Pokelawls, BasedYoona and more has already been recorded in archive
[download] Downloading video 113 of 119
[download] Streamers Try: Rock Climbing ft. Scarra, LilyPichu, Pokelawls, Based Yoona, TheeMarkz, and Xell has already been recorded in archive
[download] Downloading video 114 of 119
[download] OFFLINE TV Plays Drawful ft. Pokimane, Scarra, Lilypichu, Pokelawls, and Based Yoona. has already been recorded in archive
[download] Downloading video 115 of 119
[download] SMASH OR PASS: League of Legends Edition ft. Pokimane, Scarra, Pokelawls, Based Yoona has already been recorded in archive
[download] Downloading video 116 of 119
[download] Streamers Try: Boxing ft. Scarra, Pokimane, LilyPichu, Pokelawls & BasedYoona has already been recorded in archive
[download] Downloading video 117 of 119
[download] Anime Expo 2017 ft. Scarra, Pokimane, LilyPichu, Pokelawls, Based Yoona, Fedmyster, MarkZ, and Xell has already been recorded in archive
[download] Downloading video 118 of 119
[download] MEET THE OFFLINE TV HOUSE [SEASON 1] has already been recorded in archive
[download] Downloading video 119 of 119
[download] Introducing Offline TV has already been recorded in archive
[download] Finished downloading playlist: Uploads from Offline TV

Description

When downloading whole YouTube channel the latest uploaded video does not get downloaded. I have tested this on a few channels where the latest uploaded video has ranged from 1 hour ago to 7 hours ago.

The image provided is to compare the latest video uploaded on the channel to the first video youtube-dl decides to check in the command/verbose log posted above.

I second this, it seems to be arbitrary which videos are available. e.g. its not always the most recently uploaded. e.g. I have a script that runs daily. On one of the channels, assuming there are 10 new videos on this channel for today, video 4 and 7 were the only 2 to be recognized as existing, let alone downloaded.
This first happened 7/24. The videos then seem to be available the following day.
I tried to look into the HTML (assuming that is how the videos are found based on what i saw in the YDL source) to find if there are any differences between the video links that were found vs those that were not, and I could not see anything.

The "offending" code seems to be in "master/youtube_dl/extractor/youtube.py"
per the comment
        # Channel by page listing is restricted to 35 pages of 30 items, i.e. 1050 videos total (see #5778)         # Workaround by extracting as a playlist if managed to obtain channel playlist URL         # otherwise fallback on channel by page extraction
this behavior is intentional.
I am trying to find the specific place where it makes the change (i'm still barely an intermediate in python) to the playlist vs the channel page.
I am looking at adding a key --force-channel-page and then a bool statement to skip the playlist page swap if 'True'
This way it will only do it if the user chooses and not by default.

None of today's videos seem to have been added, but all of the videos up until yesterday seem to have been appropriately populated.
This is annoying.. lol

The "offending" code seems to be in youtube.py
per the comment
Channel by page listing is restricted to 35 pages of 30 items, i.e. 1050 videos total (see #5778) # Workaround by extracting as a playlist if managed to obtain channel playlist URL # otherwise fallback on channel by page extraction
on lines 2956-2958

yeah probably not the issue since the channel I used has only like 120 videos
...
Yeah the latest video was finally added to the upload playlist for the channel I used (OfflineTV) like 6-22 hours later
Problem still exists though from testing on channels with new uploads

This isn't really a duplicate of https://github.com/ytdl-org/youtube-dl/issues/26056
But the problem is probably caused by the same issue.

Actually, I'm pretty sure that it's something wrong on YouTube's end. I was on the verge of submitting this bug report myself, but then I found that, if you go to the channel's 'Videos' tab, and then click the 'play all', you get a playlist that starts playing their actually most recent video, but the playlist on the side shows that it thinks you're currently playing the most recent video that youtube-dl sees, and labels it #1 on the list, and the actually newest isn't there at all, even though it's playing it right there.
I'm used to waiting 20 minutes to an hour for uploaded/published videos to be listed on the playlists, but this has been pretty different from that, since about Thursday or Friday. I did submit it as a 'feedback' (the closest thing I can find to a bug report there) to YouTube.

Everything was 'normal' as of 2340 last night, as all my podcasts were
available this morning ;-)
On Mon, Jul 27, 2020 at 7:26 AM J. Randall Owens<EMAIL_ADDRESS>wrote:

Actually, I'm pretty sure that it's something wrong on YouTube's end. I
was on the verge of submitting this bug report myself, but then I found
that, if you go to the channel's 'Videos' tab, and then click the 'play
all', you get a playlist that starts playing their actually most recent
video, but the playlist on the side shows that it thinks you're currently
playing the most recent video that youtube-dl sees, and labels it #1
https://github.com/ytdl-org/youtube-dl/issues/1 on the list, and the
actually newest isn't there at all, even though it's playing it right there.
I'm used to waiting 20 minutes to an hour for uploaded/published videos to
be listed on the playlists, but this has been pretty different from that,
since about Thursday or Friday. I did submit it as a 'feedback' (the
closest thing I can find to a bug report there) to YouTube.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/ytdl-org/youtube-dl/issues/26116#issuecomment-664339813,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGI5SH2TPOQ67UCQ3BQTXOLR5VP57ANCNFSM4PHVJ5WQ
.

Issue seems fixed?
I checked like 10 channels with new videos and their videos seem to be on the upload playlist.

https://github.com/ytdl-org/youtube-dl/issues/26056 seems to still not be fixed though. Maybe it wasn't related.


Timeout Error

Hey guys, thanks for the fantastic work.
I've encountered a timeout error, but nowhere in the docs or source code I found how to set a limit (if possible at all) for the client. My server consumes an awaitable function that provides data at 1 minute intervals. The server then publishes the data. But the client times out at what it seems like 5 seconds
RPC Error
Traceback (most recent call last):
  File "/home/fernandopapi/.cache/pypoetry/virtualenvs/propdesk-ml-ops-nZ04QmJs-py3.8/lib/python3.8/site-packages/fastapi_websocket_rpc/websocket_rpc_client.py", line 118, in __connect__
    raw_ws = await self.conn.__aenter__()
  File "/home/fernandopapi/.cache/pypoetry/virtualenvs/propdesk-ml-ops-nZ04QmJs-py3.8/lib/python3.8/site-packages/websockets/legacy/client.py", line 633, in __aenter__
    return await self
  File "/home/fernandopapi/.cache/pypoetry/virtualenvs/propdesk-ml-ops-nZ04QmJs-py3.8/lib/python3.8/site-packages/websockets/legacy/client.py", line 650, in __await_impl_timeout__
    return await asyncio.wait_for(self.__await_impl__(), self.open_timeout)
  File "/usr/lib/python3.8/asyncio/tasks.py", line 501, in wait_for
    raise exceptions.TimeoutError()
asyncio.exceptions.TimeoutError

Can I set this TimeOut limit? Thanks!

Hi @FerPapi !
Thanks for the kind words.
As you can see in:
https://github.com/permitio/fastapi_websocket_rpc/blob/647c0b40ac443b82bb1edfea0f9552c2dbd82613/fastapi_websocket_rpc/websocket_rpc_client.py#L54
All the kwargs you pass are passed to the underlying Websocket connect function, as detailed here:
https://websockets.readthedocs.io/en/stable/reference/client.html#websockets.client.connect
Including the timeouts ;)

Oh, cool! Sorry I missed that. Thanks!


using form-data with axios and promises

I have tried using form-data together with axios, in a jasmine test that we are building up, running on nodejs. But can't seem to get a grasp on it
Is there anyone that knows if this is possible?
I would like to use axios, as it is promise based, which standard nodejs http client isn't (afaik)

I'm not sure what is Axios, but yes, native node things as well as FormData – not promises based.
And in many cases they return Streams. If you need need Promises, you can try one of the callback promise wrappers out there, or create your own.
First hit there, seems like something you might use: https://www.npmjs.com/search?q=callback+promise


fix(docker): Adding DATAHUB_GMS_PROTOCOL to actions env

Checklist

[ ] The PR conforms to DataHub's Contributing Guideline (particularly Commit Message Format)
[ ] Links to related issues (if applicable)
[ ] Tests for the changes have been added/updated (if applicable)
[ ] Docs related to the changes have been added/updated (if applicable). If a new feature has been added a Usage Guide has been added for the same.
[ ] For any breaking change/potential downtime/deprecation/big changes an entry has been made in Updating DataHub

I just opened a PR on the main oss repo. https://github.com/datahub-project/datahub/pull/6593


[Help] Has anyone had or know of an example of sorting a vector of tables?

Has anyone had or know of an example of sorting a vector of tables with flat?
Thanks in advance

OK I worked it out from the monsters example..


fix(langchain): fix reading a list of dict from json file

This commit allows a list of dictionaries to be read from a json file.
Resolves #5706
No additional tests implemented as I'm not very familiar with the tests yet, can suggest creating a list of dictionaries then asserting the values

@vowelparrot

I'm not sure of the OPs use-case, but in mine I have a list of dictionaries in the form of a JSON file that I want to pass as part of my context to my agent.
Based on this @hwchase17, is the suggested PR an adequate solution? I can provide further detail on the use-case if required.

sounds like this isn't exactly the fix we want, closing for now but let me know if there's something i'm missing!


error: -Wl,--as-needed: 'linker' input unused

1.16.0 fails to build on FreeBSD:
[1/2] Compiling ^[[32mbuild/.conf_check_3219d71990d22135f7e2ac2e7478e9a5/test.c^[[0m

['cc', '-Wl,--as-needed', '-I/usr/ports/audio/lv2/work/lv2-1.16.0', '-O2', '-pipe', '-fno-omit-frame-pointer', '-fstack-protector-strong', '-fno-strict-aliasing', '-DNDEBUG', '-fshow-column', '-Werror', '-std=c99', '-I/usr/ports/audio/lv2/work/lv2-1.16.0/build/.conf_check_3219d71990d22135f7e2ac2e7478e9a5/testbuild', '-DLV2_VERSION="1.16.0"', '../test.c', '-c', '-o/usr/ports/audio/lv2/work/lv2-1.16.0/build/.conf_check_3219d71990d22135f7e2ac2e7478e9a5/testbuild/test.c.1.o', '-fno-omit-frame-pointer']
err: cc: error: -Wl,--as-needed: 'linker' input unused [-Werror,-Wunused-command-line-argument]

Two problems:

Linker flags should not be supplied to compillation commands
The use of -Wl,--as-needed is a mistake. Which symbols are missing and should be resolved at the user's process level? LV2 plugins just don't have such situations.

Where did this -Werror come from?

Now this problem is gone.


Adding check to avoid ETH transfer when not required

Description
If a borrower calls depositCollateral for an ERC20 token but sends ETH also with the transaction, hence msg.value is greater than 0, ETH is forwarded to the SavingsAccount and is not accounted for. The following code in the _depositCollateral sends the current msg.value to SavingAccounts even if the user is depositing an amount of ERC20 tokens as collateral:
if (_collateralAsset == address(0)) {

require(msg.value == _amount, "CreditLine::_depositCollateral - value to transfer doesn't match argument");

} else {

 IERC20(_collateralAsset).safeTransferFrom(msg.sender, address(this), _amount);

IERC20(_collateralAsset).approve(_strategy, _amount); //audit-info approving strategy to transfer _amount from this contract

}

uint256 _sharesReceived = _savingsAccount.deposit{value: msg.value}(_amount, _collateralAsset, _strategy, address(this));

Integrations Checklist

[ ]  Have any function signatures changed? If yes, outline below.
[ ]  Have any features changed or been added? If yes, outline below.
[ ]  Have any events changed or been added? If yes, outline below.
[ ]  Has all documentation been updated?

Changelog

Adding check to avoid ETH transfer when not required.

Event Signature Changes
Function Signature Changes
Features
Events

Codecov Report

Merging #262 (899692c) into v1-alpha (2230ce8) will increase coverage by 0.02%.
The diff coverage is 100.00%.

@@             Coverage Diff              @@
##           v1-alpha     #262      +/-   ##
============================================
+ Coverage     78.40%   78.43%   +0.02%
============================================
  Files            16       16
  Lines          1681     1683       +2
  Branches        310      312       +2
============================================
+ Hits           1318     1320       +2
  Misses          363      363

Impacted Files
Coverage Δ

contracts/CreditLine/CreditLine.sol
83.62% <100.00%> (+0.09%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 2230ce8...899692c. Read the comment docs.

@KalpitaMandal There are other places as well where this issue exists, can you please review and fix in all other functions as well

ETH is not directly used anymore. Only WETH is used.


pico_flash stops including certain unneeded headers

Fixes #1698

Yeah, we have kitchen_sink test already which pulls in all libraries to make sure they compile, so pls remove the new test

@kilograham kitchen_sink_test is already building without my change, however, the test I'm adding is not. I'm still happy to remove it, but I think kitchen_sink_test is hiding the bug by pulling in hardware_exception as a separate dependency.

ah good point, but yeah, i think remove it... we should add a separate (hopefully automated) check of each library

Updated the state to just remove those three includes,


Update various dependencies to latest versions

Just some house keeping.
I tested the changes locally and went over the changelogs - new versions include various fixes, etc.
Most upgrades should be harmless, the biggest one is paramiko to 2.0 (http://bitprophet.org/blog/2016/04/23/paramiko-2.0-is-coming/). In version 2.0 PyCrypto dependency which requires C extensions to build is replaced with cryptography.
I haven't encountered any issues yet locally, but in case it cause issues we can revert that upgrade.

Current coverage is 76.49% (diff: 100%)

Merging #3037 into master will increase coverage by 0.01%

@@             master      #3037   diff @@
==========================================
  Files           430        430
  Lines         21962      21962
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits          16795      16798     +3
+ Misses         5167       5164     -3
  Partials          0          0

Powered by Codecov. Last update d9fb23b...eb7de6b

I also tried to upgrade tooz, but any version after 1.20.0 causes our tests to hang.
I believe I narrowed down the issue to the code change inside tooz, but I will leave it as is for now.

OK, all the tests passed locally and on the CI and there appears to be no issues with paramiko upgrade (I also did manual testing locally).
In case you do encounter issues or weirdness with remote SSH runner, let me / us know.


[Express-route] publish new index with bug fix

If this PR is for a new extension or change to an existing extension, use the following to try out the changes in this PR:
docker run -it microsoft/azure-cli:latest
export EXT=<NAME>
pip install --upgrade --target ~/.azure/cliextensions/$EXT "git+https://github.com/williexu/azure-cli-extensions.git@express_route#subdirectory=src/$EXT&egg=$EXT"


Modifying EventLogSettings.SourceName in AddEventLog has security permissions implications

Using the example for changing SourceName under https://docs.microsoft.com/en-us/aspnet/core/fundamentals/logging/?view=aspnetcore-6.0#windows-eventlog works well as long as the application's user account has the proper access permissions to the Windows Registry. But if it doesn't, e.g. if you deploy to IIS and the app pool runs under a limited permissions account, then you'll end up with "hidden" security exceptions when the application first tries to add to the EventLog.
There are solutions to the problem, e.g. explicitly give the applicable account or group access to the appropriate registry keys, but I feel this issue should at the least be mentioned in the logging documentation (link above).
On a production site the only way to find out something is wrong is by looking in the Windows Event Log and notice that your log entries are not there, but an unexpected error event has occurred.
When debugging, if you disable "Enable Just My Code", enable ".NET Framework source stepping", and ensure you have downloaded the proper sources, then you'll experience the following exceptions:
System.Security.SecurityException
  HResult=0x8013150A
  Message=Requested registry access is not allowed.
  Source=Microsoft.Win32.Registry
  StackTrace:
   at Microsoft.Win32.RegistryKey.InternalOpenSubKeyCore(String name, Boolean writable) in /_/src/libraries/Microsoft.Win32.Registry/src/Microsoft/Win32/RegistryKey.Windows.cs:line 282

System.Security.SecurityException
  HResult=0x8013150A
  Message=The source was not found, but some or all event logs could not be searched.  To create the source, you need permission to read all event logs to make sure that the new source name is unique.  Inaccessible logs: Security, State.
  Source=System.Diagnostics.EventLog
  StackTrace:
   at System.Diagnostics.EventLog.FindSourceRegistration(String source, String machineName, Boolean readOnly, Boolean wantToCreate) in /_/src/libraries/System.Diagnostics.EventLog/src/System/Diagnostics/EventLog.cs:line 551

This Stack Overflow question also addresses the problem: https://stackoverflow.com/questions/1274018/system-security-securityexception-when-writing-to-event-log.

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

ID: 7184a308-a254-9350-a5cd-5bced1f369ae
Version Independent ID: 726e3bf1-f367-d733-8933-bccc04da0e16
Content: Logging in .NET Core and ASP.NET Core
Content Source: aspnetcore/fundamentals/logging/index.md
Product: aspnet-core
Technology: aspnetcore-fundamentals
GitHub Login: @Rick-Anderson
Microsoft Alias: riande

Thank you for contacting us. Due to a lack of activity on this discussion issue we're closing it in an effort to keep our backlog manageable. If you believe there is a concern which hasn't been addressed, please file a new issue.


Changed MATCH and NOMATCH to use re.compile instead of re.match. Chan…

…ged name of constraint in test_constraints.py to not_contains_date.
Description
Changed constraints regex pattern matching to use re.compile instead of re.match.
Relates to #322
Changed constraint name in test_constraints.py to not_contains_date, since it's a NOMATCH assertion.
Both changes are from follow-ups from PR #317

General Checklist

[x] Tests added for this feature/bug
if it was a bug, test must cover it.
[x] Conform by the style guides, by using formatter
[ ] Documentation updated
[ ] (optional) Please add a label to your PR

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 83.781%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
3771

Relevant Lines:
4360

💛  - Coveralls


Can we get any way to pass custom data into installation store ?

Right now only installation is passed to installation store. I do have custom data in state. I want to pass this custom data into installation store.

Hi @MadhabaPatra, the installation data class has custom_values, so your installation store can save the additional properties and return them as necessary:
https://github.com/slackapi/python-slack-sdk/blob/v3.31.0/slack_sdk/oauth/installation_store/models/installation.py#L84
To attache the custom_values, you can implement either oauth_settings.callback_options.success or oauth_flow.store_installation:

https://slack.dev/bolt-python/api-docs/slack_bolt/oauth/oauth_settings.html#slack_bolt.oauth.oauth_settings.OAuthSettings.callback_options
https://slack.dev/bolt-python/api-docs/slack_bolt/oauth/oauth_flow.html#slack_bolt.oauth.oauth_flow.OAuthFlow.store_installation

Here are a few examples:

callback_options.success: https://github.com/slackapi/bolt-python/blob/v1.19.1/examples/oauth_app_settings.py#L13-L36
inheriting OAuthFlow (and then you can override the store_installation method to add custom_values extracted from request data): https://github.com/slackapi/bolt-python/blob/v1.19.1/slack_bolt/adapter/aws_lambda/lambda_s3_oauth_flow.py#L18

Hope this helps!

Thanks @seratch . I created custom oauth flow and  i did override the store_installation function. You really helped me by sharing the aws oauth flow adapter.


Click on thumbnail for preview

Is your feature request related to a problem? Please describe the solution you'd like.
The button to toggle the preview is quite small. It would be more convenient if (like in Boost) instead of having a button to toggle the preview you could click on the thumbnail to toggle the preview instead.

Previewing text posts no longer works as of <IP_ADDRESS>


Attention is all you need Example fails with segmentation fault while using Nvidia GPU

To get example to work I had to use updated spacy 2.3.9 as 2.3.5 would not build for python 3.10
output using RTX 3090 and Nvidia 528.24 drivers
Training performance will be written to file: m30k_deen_shr.train.log and m30k_deen_shr.valid.log
[ Epoch 0 ]

(Training)   ppl:  9517.65714, accuracy: 0.000 %, elapse: 0.064 min
(Validation) ppl:  9520.16222, accuracy: 0.000 %, elapse: 0.017 min

[Info] The checkpoint file has been updated.
Segmentation fault

Hi
Does it repo in python 3.8 or python 3.9?


Regression: Select does't change value on option tag click (Firefox)

Regression of #476
Doesn't work with 0.12.0+ (0.13.0+).
Firefox 67.0.2.
Same issue as referenced issue. Keyboard control works.

Thanks for reporting issue - I investigated, and its not a true regression, meaning the issue isn't the same as before. I believe this might be an issue that a new version o FireFox introduced. See https://stackblitz.com/edit/react-select-mdc?file=index.js.

Let me know if there is anything I can do from my end.

I remember seeing an issue in MDC Web that we'll be deprecating the native select. So if MDC Web deprecates it, we will most likely ditch support as well.
I'm in a holding pattern on the NativeSelect. If you would like to fix this issue, please feel free. I can work with you to get the fix in.

I don't mind ditching it, if I knew how.
A temporary patch is fine with me as well, but I don't know where to start as you say: MDC React does not manipulate the onChange event. It does seem that indeed event.target.value. I'm wondering if we can grab it from somewhere else...

What do you mean, "if I knew how"? The alternative is to use the enhanced select. Although you do not get the native picker on native.

That's exactly what I wanted to hear. I'm fine with using enhanced, especially if the team is going to drop native anyway.

I'm in a holding pattern on the NativeSelect. If you would like to fix this issue, please feel free. I can work with you to get the fix in.

Feel free to close/keep this open to track the issue. I think there are plenty of reasons to keep supporting NativeSelect, but we don't need it right now.

I'm thinking I will close the issue, until the NativeSelect is removed from MDC Web. Then we can open a new issue for that. Thanks!

I would vote to reopen. A hacky solution I am currently  using is this
<Select onChange={e => updateLocation(e.target.value)} onClick={e => updateLocation(e.target.value) } .../>

in updateLocation I am looking at the currentValue and if === just return and exit the function. This is necessary for my application because I am using Select to fire a network request.
onClick will fire 2x. When you Click on select the first time to open and again to close.  You want to keep the onChange because that still works as expected with a keyboard only approach.


I am looking for youtube live embed settings

I am embedding youtube live on this player but it starts from 0:00 minutes and stop after few minutes.

Sorry for my mistake it's working great on live. :)


How to stop generation

I have followed the doc with this example:
prompt = 'Q: What is the largest animal?\nA:'
input_ids = tokenizer(prompt, return_tensors="pt").input_ids

generation_output = model.generate(
    input_ids=input_ids, max_new_tokens=32
)
print(tokenizer.decode(generation_output[0]))

My output is:
<s>Q: What is the largest animal?
A: The blue whale.
Q: What is the largest animal?
A: The blue whale. It is the largest animal on Earth. It is also the

I am expect an output like this:
The blue whale.

I can do a bit processing to remove prefix in the output. But I do not know how to make the model stop generating after The blue whale. Any tips? Thanks.

Duplicate of #46 . I would suggest taking a look at https://github.com/yxuansu/OpenAlpaca .


Size mismatch in MultiGRU

I am getting this issue when I run the command : !python main.py --scoring-function activity_model --num-steps 1000
Can anyone help me solve this issue please? @MarcusOlivecrona @tblaschke

Hi!
This issue seems to be because the MultiGRU architecture has changed with newer PyTorch versions. See https://github.com/Mishima-syk/13/issues/1
Try to revert to version 0.3 as mentioned in that issue.

Hi!
This issue seems to be because the MultiGRU architecture has changed with newer PyTorch versions. See Mishima-syk/13#1
Try to revert to version 0.3 as mentioned in that issue.

I tried reverting back to version 0.3 in google colab. But it didnt work,
I tried using  pip and wheel. It is showing error for both.
can you please help me?


Update http4s-circe, http4s-dsl to 0.23.15

Updates

org.http4s:http4s-circe
org.http4s:http4s-dsl

from 0.23.4 to 0.23.15.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.http4s" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "@monthly" },
  dependency = { groupId = "org.http4s" }
}]

labels: library-update, early-semver-minor, semver-spec-patch, commit-count:1

Superseded by #407.


Write user guide and quick start instructions

This can mostly go in the README, with any overflow in the GH Wiki.

Some initial guides are now available in the wiki. Please add to this issue if you find any mistakes or things that don't make sense.


Add publications to the website

For example, Pado(EuroSys17)

Should this be shown on a separate page called 'publications'? or should we just create something like 'related works'? Please be more specific :)

Or would it be enough to show this in like the 'overview' page?

Closing for now, as per the discussion on Slack.


Adding plugs to account

I, as an end user, want to connect plugs in my home to the server and add it to my account.

definition of done

[ ] connect plugs with account


Arbitrary regions of interest in navigation space

This is useful for both selections by the user and even more useful for letting analyses work on subsets of the data set. Using a bool array sized like the navigation dimensions could work well internally; we still have to think about the user-facing interface. Possibilities: support rectangular crops, sparse lists of coordinates, ...

See also the following Issues:

Cropping/Culling #28
Average of frames over ROI #32

First prototype is available in the roi-bitmask branch, implemented for UDFs (not yet for the mask and sum analysis). ROIs are not yet passed down to DataSets.

Rough notes for implementing the I/O side of things:

as an example: we pass in a mask with 4 bits set to 1 (don't care about which bits,
right now, let's say random)
if the tileshape allows, this should result in a single DataTile being yielded
from Partition.get_tiles
so, we have a tile available, but the frames inside may come from very
different regions of the DataSet; their origin no longer conforms to a simple slice. Maybe the slice should even be removed, but I'm not sure how much change this involves
BufferWrapper.get_view_for_frame needs access to the ROI, because it needs to figure out
where the frames from the tile came from
or maybe... DataTile should just know this?
we need to make sure that DataTile always only contains 3D data (or 2D for spectra; important: shape.nav.dims == 1)
otherwise this will break down
so, on creation of a DataTile, we always pass in a list of the 1D indices into the flattened
navigation axis, for all frames for which it contains data
this should also still make sense for the case where the DataTile
doesn't contain full frames.
then, as BufferWrapper.get_view_for_frame already gets the DataTile, it can easily translate this to navigation coordinates and it should "just work"

What about just returning a linear list and letting the user figure out how to insert that into a full buffer?
With fancy indexing that is not so difficult: buf[roi] = raw_data
Building a "sparse" buffer may not always be what the user wanted. Karina, as an example, wanted to extract a few sample frames for prototyping in #271.
CC #310 :-)

letting the user figure out how to insert that into a full buffer

How about this: we return a BufferWrapper or similar object (which we already do, btw!), and accessing .data gives the result as a dense array for the whole navigation space; accessing .raw_data gives the "linear list"-like result (that is, flattened navigation dimension and shaped like np.count_nonzero(roi)). We can make the .data property lazy so we don't use any more memory and don't do unnecessary copying.
Or, as we discussed, we use a derived dataset (#201) ROIDataSet, which I still have to think through in detail. One thing is certain: with the current dataset implementations, ROIDataSet can't be a clean abstraction layer, as the roi needs to be passed down to the dataset to make a difference. I really need to untangle the libertem.io mess a bit...

How about this: we return a BufferWrapper or similar object (which we already do, btw!), and accessing .data gives the result as a dense array for the whole navigation space; accessing .raw_data gives the "linear list"-like result (that is, flattened navigation dimension and shaped like np.count_nonzero(roi)). We can make the .data property lazy so we don't use any more memory and don't do unnecessary copying.

Ok, sounds good! :+1:

Or, as we discussed, we use a derived dataset (#201) ROIDataSet,

I guess we can then disentangle ROI and derived datasets for now, and we stick with your first suggestion. :-)

stick with your first suggestion

:+1:
Updated notes:

as an example: we pass in a mask with 4 bits set to 1 (don't care about which bits,
right now, let's say random)
let's say the tileshape is also 4, so this should result in a single DataTile being yielded
from Partition.get_tiles
so, we have a tile available, but the frames inside may come from very
different regions of the DataSet; their origin no longer conforms to a simple slice in the dataset or partition coordinates; but it can be a slice in the "compressed"/flattened selected ROI coordinates
UDFs will return a result buffer class, which knows the ROI and can either give the "expanded" results (in dataset coords) or the only "compressed" result buffer, as 1D array (or more precisely: 1 + extra_shape D)
DataTile always only contain 3D data (or 2D for spectra; important: shape.nav.dims == 1); actually, all Partitions for all dataset impls should have nav.dims == 1 (this needs to be enforced somehow, I think, and at least documented. Some DataSet impls need to be changed (raw, blo? others?))

Now, moving on to the low level data set:

we need to translate from ROI bitmap to indexes, and then read the selected 4 frames into a single DataTile. That means frame-by-frame I/O, which is possibly inefficient (need to test!)
data sets should communicate their capabilities ("can read by ROI"), and there should be a fallback until all impls. support ROIs

More thoughts to follow...

There should be appropriate fast-paths for the case of all-1s, this can be determined very quickly with np.count_nonzero (or even np.sum?)

ROIs are available via UDFs, closing. They are, for example, used for "average frame over roi" GUI functionality.


Add support for ignored fields cleanup

Another fix for https://github.com/atlassian/smith/issues/84, companion for https://github.com/atlassian/smith/pull/86:

Add support for ignoring particular fields (managed by server, not part of the client spec)
No generic support for TPRs and other types yet
No integration test yet (but manual check succeeded)

Merge https://github.com/atlassian/smith/pull/86 first, then fix conflicts and and missing bits

This PR provides a bugfix for https://github.com/atlassian/smith/issues/87


Link to team folders from chat header

@keybase/react-hackers

:no_entry: Error rendering the commits 799e7007a081...521a1be771f3 on linux. :mag_right: 25 errored, 8 new, 37 changed

Error in 521a1be771f3: Chat_List-Empty-ERROR

Error in 799e7007a081: Devices_Devices_List-Devices-ERROR

Error in 521a1be771f3: Devices_Devices_List-Devices-ERROR

Error in 799e7007a081: Chat_Participant_Rekey-Normal-ERROR

Error in 799e7007a081: Chat_Input-Normal-ERROR

Error in 521a1be771f3: Chat_Input-Normal-ERROR

Error in 799e7007a081: Chat_Inbox-You_Rekey_Selected-ERROR

Error in 521a1be771f3: Chat_Inbox-You_Rekey_Selected-ERROR (view)
Error in 799e7007a081: Chat_Inbox-You_Rekey-ERROR (view)
Error in 521a1be771f3: Chat_Inbox-You_Rekey-ERROR (view)
Error in 799e7007a081: Chat_Inbox-Selected_Normal-ERROR (view)
Error in 521a1be771f3: Chat_Inbox-Selected_Normal-ERROR (view)
Error in 799e7007a081: Chat_Inbox-Selected_Muted-ERROR (view)
Error in 521a1be771f3: Chat_Inbox-Selected_Muted-ERROR (view)
Error in 799e7007a081: Chat_Inbox-Part_Rekey_Selected-ERROR (view)
Error in 521a1be771f3: Chat_Inbox-Part_Rekey_Selected-ERROR (view)
Error in 799e7007a081: Chat_Inbox-Part_Rekey-ERROR (view)
Error in 521a1be771f3: Chat_Inbox-Part_Rekey-ERROR (view)
Error in 799e7007a081: Chat_Inbox-Normal-ERROR (view)
Error in 799e7007a081: Chat_Inbox-Long_Top-ERROR (view)
Error in 521a1be771f3: Chat_Inbox-Long_Top-ERROR (view)
Error in 799e7007a081: Chat_Inbox-Long_Bottom-ERROR (view)
Error in 521a1be771f3: Chat_Inbox-Long_Bottom-ERROR (view)
Error in 799e7007a081: Chat_Inbox-Empty-ERROR (view)
Error in 521a1be771f3: Chat_Inbox-Empty-ERROR (view)
Added: Chat_Participant_Rekey-Normal (view)
Added: Chat_Inbox-Normal (view)
Added: Chat_Banner_Invite-Invite (view)
Added: Chat_Banner_Info-Info (view)
Added: Chat_Banner_Error-Error (view)
Added: Chat_Banner_Broken-Broken_Tracker_3 (view)
Added: Chat_Banner_Broken-Broken_Tracker_2 (view)
Added: Chat_Banner_Broken-Broken_Tracker_1 (view)
Changed: You_Rekey-Normal (before) (after) (diff)
Changed: Text-Terminal_Comment_Documentation (before) (after) (diff)
Changed: Text-Body_Small_Secondary_Link_Announcements (before) (after) (diff)
Changed: Text-Body_Small_Italic_High_Risk (before) (after) (diff)
Changed: Colors-white_20_rgba_255_255_255_0_20 (before) (after) (diff)
Changed: Colors-red_ff_4_d_61 (before) (after) (diff)
Changed: Colors-orange_ff_6_f_21 (before) (after) (diff)
Changed: Colors-grey_cccccc (before) (after) (diff)
Changed: Colors-green_2_36_b_37_c (before) (after) (diff)
Changed: Colors-dark_Blue_4_103_c_64 (before) (after) (diff)
Changed: Colors-blue_5_F_8_FAFD (before) (after) (diff)
Changed: Colors-blue_3_a_8_d_7_ff (before) (after) (diff)
Changed: Colors-blue_3_60_rgba_168_215_255_0_6 (before) (after) (diff)
Changed: Colors-black_10_rgba_0_0_0_0_10 (before) (after) (diff)
Changed: Colors-black_000000 (before) (after) (diff)
Changed: Choice_List-Two_Choices (before) (after) (diff)
Changed: Buttons-Secondary_small_waiting (before) (after) (diff)
Changed: Buttons-Secondary_full_Width (before) (after) (diff)
Changed: Buttons-Secondary_disabled (before) (after) (diff)
Changed: Buttons-Primary_waiting (before) (after) (diff)
Changed: Buttons-Primary_full_Width (before) (after) (diff)
Changed: Buttons-Follow_small_waiting (before) (after) (diff)
Changed: Buttons-Follow_small (before) (after) (diff)
Changed: Buttons-Danger_full_Width (before) (after) (diff)
Changed: Buttons-Danger (before) (after) (diff)
Changed: Avatar-Normal_x_64 (before) (after) (diff)
Changed: Avatar-Normal_x_40 (before) (after) (diff)
Changed: Avatar-Normal_x_24 (before) (after) (diff)
Changed: Avatar-Mutual_Follow_x_80 (before) (after) (diff)
Changed: Avatar-Mutual_Follow_x_48 (before) (after) (diff)
Changed: Avatar-Mutual_Follow_x_176 (before) (after) (diff)
Changed: Avatar-Follows_You_x_80 (before) (after) (diff)
Changed: Avatar-Follows_You_x_176 (before) (after) (diff)
Changed: Avatar-Following_x_24 (before) (after) (diff)
Changed: Avatar-Following_x_176 (before) (after) (diff)
Changed: Avatar-Fallback_x_40 (before) (after) (diff)
Changed: Avatar-Fallback_x_24 (before) (after) (diff)


Vimeo Fullscreen ratio problem

Expected behaviour
Fullscreen 1:1 ratio as set in the player options
Actual behaviour
In fullscreen the vimeo video is cropped.
Demo:
https://app.fitmit5.de/video-test-plyr.html
Thanks for helping!

Duplicate of https://github.com/sampotts/plyr/issues/854


Question: How to add server-side rendering cache?

Trying to figure out how to add SSR cache. Is it possible with the custom handler or does it need some changes?

+1
I am also interested in an example of how to add SSR.

I am also interested in seeing an example of SSR with dynamic routing.


Support for more file extensions

Hi! 👋
Firstly, thanks for your work on this project! 🙂
Today I used patch-package to patch<EMAIL_ADDRESS>for the project I'm working on.
I am using React in my lambda function and needed my file to use .tsx and I realised it wasn't supported by the nodeBuilder
Here is the diff that solved my problem:
diff --git<EMAIL_ADDRESS><EMAIL_ADDRESS>index ced3615..8abeeb1 100644
---<EMAIL_ADDRESS>+++<EMAIL_ADDRESS>@@ -100,9 +100,13 @@ function builder(builderProps) {
     const tsconfig = path.join(srcPath, "tsconfig.json");
     const hasTsconfig = fs.existsSync(tsconfig);
     // Check entry path exists
-    let entryPath = path.join(srcPath, builder_1.addExtensionToHandler(handler, ".ts"));
-    if (!fs.existsSync(entryPath)) {
-        entryPath = path.join(srcPath, builder_1.addExtensionToHandler(handler, ".js"));
+    const exts = ['.ts', '.tsx', '.js', '.jsx'];
+    let entryPath = ''
+    for(let ext of exts) {
+        entryPath = path.join(srcPath, builder_1.addExtensionToHandler(handler, ext));
+        if(fs.existsSync(entryPath)){
+            break;
+        }
     }
     if (!fs.existsSync(entryPath)) {
         throw new Error(`Cannot find a handler file at ${entryPath}".`);
diff --git<EMAIL_ADDRESS><EMAIL_ADDRESS>index ec42838..8dc6fab 100644
---<EMAIL_ADDRESS>+++<EMAIL_ADDRESS>@@ -124,9 +124,13 @@ export function builder(builderProps: BuilderProps): BuilderOutput {
   const hasTsconfig = fs.existsSync(tsconfig);

   // Check entry path exists
-  let entryPath = path.join(srcPath, addExtensionToHandler(handler, ".ts"));
-  if (!fs.existsSync(entryPath)) {
-    entryPath = path.join(srcPath, addExtensionToHandler(handler, ".js"));
+  let entryPath = ''
+  const extensions = ['.ts', '.tsx', '.js', '.jsx'];
+  for(let ext of extensions) {
+    entryPath = path.join(srcPath, addExtensionToHandler(handler, ext));
+    if (fs.existsSync(entryPath)) {
+      break;
+    }
   }

   if (!fs.existsSync(entryPath)) {

I would like to make this fix if no one else is working on it.
This issue body was partially generated by patch-package.

Hey @geekmidas, the patch looks good. Can you open a PR with the change?
Also, it'd be great if you can attach an example of a .jsx or .tsx handler. I'd like to add it to the tests.

@fwang Where should I add the example? And what is the standard on branch naming when working on a feature?

You can just paste it here, or link to a gist. Really what is convenient for you.
We don't have a strict naming currently, but I often prefix the branch with either bug- or feature-.

@fwang
import React from 'react';
import ReactDOMServer from 'react-dom/server';

function User(props: Event) {
   return (
    <>
        name: {props.name)
    </>
  )
}
export async function handler(event: Event){
  const  { name } = event;
  const text = ReactDOMServer.renderToStaticMarkup(<User name={name} />);

  return {
    text
  }
}

@fwang I am also not allowed to push code in order to make a PR.

@geekmidas Released v0.33.0.


It is possible to add or adjustment the bottom bar on obsidian mobile?

Describe the feature
obsidian mobile bottom bar is very helpful, but currently it does not support any customization, hope to develop this part of the function.
Does this fix a problem? If so, specify.
There is some demands:
https://www.reddit.com/r/ObsidianMD/comments/10uimwm/is_it_possible_to_add_commands_to_this_bottom_bar/
https://forum.obsidian.md/t/mobile-bottom-bar/39786
Did you consider other alternatives?
No response
Screenshots and recordings

Yeah. It would be really helpful! I hope this too.

I would like to see this too.

This looks like a duplicate of #43


Adding sessionStorage - API options

Would like to add useSessionStorage.
Options API-wise:

Just copy-paste useLocalStorage and s/local/session
In useLocalStorage.ts, add a parameter called storageKey that defaults to 'localStorage' and have useSessionStorage just call that. Then in useLocalStorage, s/localStorage/window[storageKey]

What would you prefer?

Probably better to copy-paste. Although, I don't have strong opinion on that if options 2 works out smoothly.
There is storage event one can listen on window, that could be added to useLocalStorage, don't know how it works with session storage.

I like copy-paste here, too. Opening a  PR, thanks.


Ability to specify tags for worker security groups

Is your request related to a problem? Please describe.
When using Karpenter, it scans and automatically selects a security group that has the kubernetes.io/cluster/<cluster-name> tag to apply to the launch template it creates. But, since EKS automatically creates another security group with the same tag (and any automatically created by load balancers), there's a good chance that it doesn't select the right one. This obviously causes nodes to launch with the incorrect role and can't connect to the cluster, talk to each other, etc.
Describe the solution you'd like.
I'd like the ability to specify tags specifically for the worker security group. But, I know that's not something this module has generally supported (one-off tags). And it doesn't make sense to specify it in the higher-level tags variable, as I don't need to add something to every security group.
Describe alternatives you've considered.
We've thought about simply managing our own security group and replicating all of the security group rules. But, it would be nice if we didn't need to maintain that ourselves.
Additional context
I'm happy to submit a PR based on any sort of direction/input on how you'd like to solve this.

This issue has been resolved in version 18.0.0 :tada:


OP_CODESEPARATOR bug fix

This took about 16 hours to find 😫
Problem
The problem is that when using ARC to broadcast transactions, go-bt interpreter is used. Therefore the tx below is rejected because the signature will not validate. This is caused by the preimage being wrong within the interpreter around OP_CODESEPARATOR. It should slice off the previous parts of the script including the OP_CODESEPARATOR itself.
Transactions like this will broadcast via WoC and the nodes accept it, but ARC thinks it invalid.
0100000001abdbd5873fbda1b08c19d899993301fd44c0aa735064ebb2248260b7adadf795000000006b483045022100e7813394c7a55941c1acf3c7032046c2aa5bf3a506b4ee09e4cb5761c1850f960220154769af29eef81d56d69eba1d7a5ab37eed15beb9eadcd2cb608ff2e09b3147c321035941a219bcd9688318028afeef55183634f010a933de9d8469ff6e702d96c238ffffffff010271000000000000220687623971234575ab76a914fbcf31b659334eeb086693fc3b4005ce29e1c21788ac00000000

ARC responds:
{
	"detail": "Transaction is malformed and cannot be processed",
	"extraInfo": "arc error 461: script execution failed: false stack entry at end of script execution",
	"instance": null,
	"status": 461,
	"title": "Malformed transaction",
	"txid": "d25ba24ceabf3e6a57010a250225b0e5b80b2140d59dd77a8ac87eb63fb8d317",
	"type": "https://arc.bitcoinsv.com/errors/461"
}

Solution
Off by one bug, the subscript does not include the opcode separator itself, so the slice of the script should be from just after the op code separator - not before.

Codecov Report
Patch coverage: 100.00% and project coverage change: +0.01% :tada:

Comparison is base (29189f4) 80.61% compared to head (2bbd51b) 80.63%.
 Consider uploading reports for the commit 4669dcd to get more accurate results

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #164      +/-   ##
==========================================
+ Coverage   80.61%   80.63%   +0.01%
==========================================
  Files          38       38
  Lines        4112     4115       +3
==========================================
+ Hits         3315     3318       +3
  Misses        546      546
  Partials      251      251

Files Changed
Coverage Δ

bscript/interpreter/thread.go
94.35% <100.00%> (+0.04%)
:arrow_up:

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

Noticing this block here which conditionally removes the OPCODESEPARATOR afterwards but is conditional on NON-forkID sighashes:
// Remove the signature since there is no way for a signature
// to sign itself.
if !t.hasFlag(scriptflag.EnableSighashForkID) || !shf.Has(sighash.ForkID) {
    subScript = subScript.removeOpcodeByData(fullSigBytes)
    subScript = subScript.removeOpcode(bscript.OpCODESEPARATOR)
}

We find in the ABC documentation:
scriptCode
In this section, we call script the script being currently executed. This means redeemScript in case of P2SH, or the scriptPubKey in the general case.

If the script does not contain any OP_CODESEPARATOR, the scriptCode is the script serialized as scripts inside CTxOut.
If the script contains any OP_CODESEPARATOR, the scriptCode is the script but removing everything up to and including the last executed OP_CODESEPARATOR before the signature checking opcode being executed, serialized as scripts inside CTxOut.

Notes:

Contrary to the original algorithm, this one does not use FindAndDelete to remove the signature from the script.
Because of 1, it is not possible to create a valid signature within redeemScript or scriptPubkey as the signature would be part of the digest. This enforces that the signature is in sigScript .
In case an opcode that requires signature checking is present in sigScript, script is effectively sigScript. However, for reason similar to 2, it is not possible to provide a valid signature in that case.


Webhook Configuration Rework

A user has requested the ability to send activity to multiple discord webhooks.

The number of Discord webhooks is increasing gradually too. Perhaps a re-work to solve both issues: Have the ability to create as many webhooks as you like, and allocate them to the various functions. Perhaps a tabular layout:

Name
Webhook URL
BGS
TW
FC Materials
FC Operations
CMDR Information

DCoH
https://discord.com/api/webhooks/xxxxxxxx
☐
☒
☐
☐
☐

My Squadron BGS and TW
https://discord.com/api/webhooks/xxxxxxxx
☒
☒
☐
☐
☐

My Squadron Fleet Carrier
https://discord.com/api/webhooks/xxxxxxxx
☐
☐
☒
☒
☐

My Squadron CMDR Info
https://discord.com/api/webhooks/xxxxxxxx
☐
☐
☐
☐
☒

Add Webhook

Need to handle the 'Activity to Include' options. Currently we have:

BGS
Thargoid War
Both

Where Both posts  a combined report to the BGS channel.
This is not really logical with the new multi-channel setup, because posting TW and/or BGS activity can be directly controlled by setting up (or not setting up) Discord channels for those activities.
Two options:

Remove these options completely, with all channel setup being done using the new multi-channel configurator. Only downside is that if you do both BGS and TW activity, you will get two posts rather than a single combined post. This is probably fine.
Replace these options with a single 'combine BGS and TW' option. This is fine if the user only sets up a BGS channel but it could be confusing to the user sets up separate BGS and TW discord channels yet BGST would post all activity to one of them...


Introducing ability to control replication from certain DCs

This commits adds the ability to make an admin request to a single storage server to control replication from certain (or all DCs) for certain (or all) partitions.

Codecov Report

Merging #717 into master will increase coverage by 0.31%.
The diff coverage is 84.12%.

@@             Coverage Diff              @@
##             master     #717      +/-   ##
============================================
+ Coverage      65.7%   66.02%   +0.31%
- Complexity     3757     3790      +33
============================================
  Files           327      328       +1
  Lines         25013    25119     +106
  Branches       3138     3151      +13
============================================
+ Hits          16434    16584     +150
+ Misses         7703     7644      -59
- Partials        876      891      +15

Impacted Files
Coverage Δ
Complexity Δ

...m.github.ambry.replication/ReplicationMetrics.java
75.52% <ø> (+0.78%)
15 <0> (+1)
:arrow_up:

...hub.ambry.protocol/AdminRequestOrResponseType.java
100% <100%> (ø)
1 <0> (ø)
:arrow_down:

...in/java/com.github.ambry.server/ServerMetrics.java
94.73% <100%> (+0.32%)
2 <0> (ø)
:arrow_down:

...m.github.ambry.replication/ReplicationManager.java
37.7% <31.25%> (+0.45%)
11 <0> (ø)
:arrow_down:

...ambry.protocol/ReplicationControlAdminRequest.java
88.57% <88.57%> (ø)
12 <12> (?)

...va/com.github.ambry.replication/ReplicaThread.java
69.66% <90%> (+15.6%)
46 <7> (+18)
:arrow_up:

...in/java/com.github.ambry.server/AmbryRequests.java
65.56% <95.23%> (+1.35%)
42 <0> (+3)
:arrow_up:

...github.ambry.rest/AsyncRequestResponseHandler.java
88.52% <0%> (-2.3%)
23% <0%> (ø)

.../src/main/java/com.github.ambry.store/Journal.java
89.65% <0%> (-1.73%)
19% <0%> (-1%)

...ava/com.github.ambry.router/NonBlockingRouter.java
81.66% <0%> (-0.84%)
34% <0%> (ø)

... and 9 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 870f12c...682f451. Read the comment docs.

@nsivabalan fixes for bugs - please review

@nsivabalan @xiahome Please review when you have time

@xiahome @nsivabalan reminder to review

@xiahome @nsivabalan Comments addressed

@nsivabalan comments addressed


feat(Searchbar) - expose Focus and Blur events

Added code to expose the blur and focus events of the input field via EventEmitters (same as "ionInput" emitter).
An example use case for this: using searchbar for the Google Places autocomplete together with a native Google Maps from @ionic-native. One has to disable / enable the map taps based on whether the searchbar is in focus  or not (otherwise all clicks on the Google Places suggestions dropdown get hijacked by the map). Also, there was a question about this functionality on StackOverflow: http://stackoverflow.com/questions/43756290/how-to-detect-onfocus-and-blur-event-of-ion-searchbar-in-ionic2
Short description of what this resolves:
I added two Output() event emitters to searchbar which emit on focus and on blur, respectively. I tested it locally, it worked as expected.
Changes proposed in this pull request:

Add ionFocus and ionBlur Outputs to searchbar
call ionBlur.emit() and ionFocus.emit() whenever searchbar loses or gains focus

Ionic Version: 1.x / 2.x / [[ 3.x ]]
Fixes: #11670

No need for this anymore. As pointed out to me by @manucorporat, ionBlur and ionFocus events are already exposed.


[backend] Default SECRET_KEY

this litle fix can do run more simple
SECRET_KEY = os.environ.get('SECRET_KEY') if not DEBUG else '<< DEFAULT SECRET_KEY  >>'
dont forget what manag.py too need this key (for exmaple in Pycharm IDE, so need not empty any key!)

We don't want to provide a default secret key as people will inevitably forget to set one and will end up using the default key in production which poses a security threat.

default key can safe use in DEBUG mode
more danger when DEBUG=true on production

also you can do:

settings.py
if DEBUG:
MIDDLEWARE.append(
'debug_toolbar.middleware.DebugToolbarMiddleware')
INSTALLED_APPS.append('debug_toolbar')
INSTALLED_APPS.append('django_extensions') # add this
add to requirenemets.txt

django-extensions
Werkzeug
and run project by command line
manage.py runserver_plus
Werkzeug - webSGI very quick server, some soft for example Odoo use this for default, try
and Werkzeug have PIN protected panel (we can access to him after enter PIN code)... and can use for 404 pages handle
please see: https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=video&cd=3&cad=rja&uact=8&ved=0ahUKEwiSqYLlodHcAhUEMZoKHTTkBUAQuAIILjAC&url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DOPUkm-6sTzU&usg=AOvVaw0ibZMUB7oFOT3NPDsqXUk1

If we change the token between restarts then some things will break including sessions, password reset emails, signed cookies and tokens.

I agree with @patrys here; we should not set any SECRET_KEY by default. I also don't find it particularly problematic to require setting a single env variable when setting up the project.


Trying to implement restore settings on Exception

I'm writing a script that collects readings, makes settings and upon exiting the script or exception it attempts to restore the intitial setting. I feel like the code below should work, but when the outermost finally block executes and tries to restore, it says the the current DPMContext no longer has an entry for the specified tags [17 -37]. I'm guessing this is because the DPMContext is now dead because an exception was raised in the async dpm reply loop. I've been able to create the desired functionallity by having the finally block create a new DPMContext and then perform the settings but it is unreliable as a good portion of the time the attempt to create another DPMContext so soon after the first one died I get either a [1 -34] or [1-6] timeout or busy error.
Any thoughts how to implement restore on exception reliably?
async def run(connection):
    async with acsys.dpm.DPMContext(connection, dpm_node=None) as dpm:
        try:
            await dpm.enable_settings(role="testing")

            for i, device in enumerate(self.devices):
                await dpm.add_entry(i, "%s.SETTING@%s" % (device["name"], self.iteration_event))

            await dpm.start()

            iteration = 0

            async for reply in dpm:
                if isinstance(reply, ItemData):
                    logger.debug("%s %d %s: %.4f" % (reply.stamp, reply.tag, reply.meta["name"], reply.data))

                    #Calculate new bounded random setting
                    current_device_setting = reply.data
                    new_device_setting = random.random()*(self.devices[reply.tag]["max"]-self.devices[reply.tag]["min"]) + self.devices[reply.tag]["min"]

                    #Fill array of device initial settings for restore, once filled it stays filled
                    if np.isnan(self.devices_settings[reply.tag]["initial"]):
                        self.devices_settings[reply.tag]["initial"] = current_device_setting

                    #Fill array of device current settings for logging current readings, cleared after each bulk setting
                    if np.isnan(self.devices_settings[reply.tag]["current"]):
                        self.devices_settings[reply.tag]["current"] = current_device_setting

                    #Fill array of device new settings for bulk setting of all devices at once, cleared after each bulk setting
                    if np.isnan(self.devices_settings[reply.tag]["new"]):
                        self.devices_settings[reply.tag]["new"] = new_device_setting

                    #Send new setting
                    if not np.isnan(np.asarray([device_settings["new"] for device_settings in self.devices_settings])).any():
                        if self.iteration_count != None and iteration >= self.iteration_count:
                            raise Exception("Desired iteration count met")

                        settings = []

                        for i, device_settings in enumerate(self.devices_settings):
                            settings.append((i, device_settings["new"]))

                        await dpm.apply_settings(settings)

                        logger.info(self.devices_settings)

                        for i, device_settings in enumerate(self.devices_settings):
                            device_settings["current"] = np.nan
                            device_settings["new"] = np.nan

                        iteration += 1

                elif isinstance(reply, ItemStatus):
                    if reply.status.isFatal:
                        logger.crtical(reply)
                        raise Exception("Fatal status returned from ACNET")
                    elif reply.status.isWarning:
                        logger.warning(reply)
        except Exception as e:
            if not isinstance(e, KeyboardInterrupt):
                logger.critical(traceback.print_exc())
        finally:
            try:
                if True: #self.restore_devices_on_exit:
                    logger.info("Restoring initial device settings...")

                    settings = []

                    for i, device_settings in enumerate(self.devices_settings):
                        settings.append((i, device_settings["initial"]))

                    await dpm.apply_settings(settings)

                    logger.info("Initial device settings restored.")
            except Exception as e:
                logger.critical("Failed to restore all settings!")
                logger.critical(traceback.print_exc())
            finally:
                logger.info("Device de-tuner stopped.")

acsys.run_client(run)

EDIT: Add "Python" to code block for syntax highlighting - @beauremus

Thanks for the '''Python tip @beauremus

Seems like you should be able to do something like this:
async def run(connection):
    async with acsys.dpm.DPMContext(connection) as dpm:
        await dpm.enable_settings(role="testing")

        # Add DRF entries.
        await dpm.add_entry(...)

        # start acquisition
        await dpm.start()

        try:
            # Handle incoming data
            async for reply in dpm.replies():
                # Process each packet (saving old state to restore later.)
                update(orig_settings, packet)

                # test for condition that exits the loop
                if condition():
                    break;
        finally:
            await dpm.apply_settings(orig_settings)

acsys.run_client(run)

Of course the real world is more complicated; what if the for-loop exited due to a network error? Then the finally clause would fail to restore the settings.
I've opened #35 to fix the library if it can't be used this way. Use that issue to discuss desired features.

Yes, the code example above works if one breaks out of the loop. However, on Exception or ctrl-c (KeyboadInterupt exception) the DPMContext is destroyed somehow. asyncio throws a CancelledError when an Exception occurs within the async for loop which could be what destroys the context?

Yes, the code example above works if one breaks out of the loop. However, on Exception or ctrl-c (KeyboadInterupt exception) the DPMContext is destroyed somehow. asyncio throws a CancelledError when an Exception occurs within the async for loop which could be what destroys the context?

Yup, it's more complicated in the asyncio world. Your code between await statements runs to completion. Once you block on an await, control is moved back to the event loop where it tries to run a task that can proceed. This means your code is mostly blocked waiting for the next event to occur so keyboard exceptions are handled by the event loop and would rarely occur in your code.
To make sure resources are cleaned up, when acsys.run_client() exits due to an exception in the event loop, it calls .cancel() on your async function so that the CanceledError gets propagated to all the active async tasks. If you get a CanceledError, it means the system is going down.
It shouldn't have killed your DPMContext, though, unless you let the exception rise past the with-statement.

This is where exceptions are being caught and where the .cancel() is being issued.
https://github.com/fermi-controls/acsys-python/blob/73ec2a25f96172407919870bf9e38aed059686b4/acsys/__init__.py#L816-L825

I dont understand how the cancel() is being called if exceptions are being caught inside the run_client() target function, but obviously its getting there. The code correctly never exits the run_client target function but somehow the DPMContext has been cleaned up. Is there a function/property for looking at the current entries in the DPMContext so I can verify all entries are now missing?

I don't understand how the cancel() is being called if exceptions are being caught inside the run_client() target function, but obviously its getting there.

Keyboard exceptions (i.e. Ctrl-C) are being caught by the event loop, which is being run in .run_until_complete(). You're never continuously "running" in your async function. The event loop briefly runs your function. When your function reaches an await statement, the event loop puts your function in a queue and monitors what'll wake it up (e.g. a timer expiring or data on a socket.) While your function is on the "blocked" queue, the event loop finds another async function that can make progress. So your function is only briefly running between instances of await statements. Most of the time the CPU is running in the event loop scheduler deciding which function can make further progress.
So Ctrl-C doesn't generate an exception in your function. It kills the .run_to_completion() function and all the async tasks are idle, sitting in a scheduler's queue.
.run_client() then calls .cancel() on the top-level future, which will send the Cancel exception down to the lowest futures in the tree. The Cancel exception then percolates up and the code can clean the resources properly.
So your code won't see a KeyboardInterrupt (or whatever) but it'll see a CanceledError.

The code correctly never exits the run_client target function but somehow the DPMContext has been cleaned up. Is there a function/property for looking at the current entries in the DPMContext so I can verify all entries are now missing?

DPMContext can only be cleaned up if control leaves the async-with statement. DPMContext doesn't have anything interesting. The dpm object it provides, however, has lots of interesting stuff. Since Python doesn't support data-hiding, you're free to look at all the internal properties (dpm._dev_list, for instance)

dir(dpm) will show you all the available properties.

Thanks, its clear to me now why the CanceledError is propogating. I think this is inherent to the async loop that Exceptions will propogate to the try/catch inside run_client(). Perhaps this is more on an issue for #35, I think the dpm being killed upon caguht exception in the async for loop is not the desired behavior.


AppImageUpdate and appimageupdatetool not working out of the box on opensuse tumbleweed

Basically I got this error message every time I try to update some AppImage using AppImageUpdate or appimageupdatetool from this repo. For simplicity I run appimageupdatetool with self update flag.
$ ./appimageupdatetool-x86_64.AppImage --self-update
Checking for updates...
Fetching release information for tag "continuous" from GitHub API.
GitHub API request failed!
Could not find any artifacts in release data. Please contact the author of the AppImage and tell them the files are missing on the releases page.
ZSync URL not available. See previous messages for details.
Update check failed, exiting!

Try running with CURLOPT_VERBOSE=1 but the error still the same.

I try to get some hint by adding this line of code.
diff --git a/src/updater.cpp b/src/updater.cpp
index 3c47704..4dc313a 100644
--- a/src/updater.cpp
+++ b/src/updater.cpp
@@ -346,6 +346,8 @@ namespace appimage {
                             int downloadUrlLines = 0;
                             int matchingUrls = 0;

+                           issueStatusMessage(response.error.message);
+
                             // continue only if HTTP status is good
                             if (response.status_code >= 200 && response.status_code < 300) {
                                 // in contrary to the original implementation, instead of converting wildcards into

Then I build using docker.
env ARCH=x86_64 DIST=xenial bash -ex ci/build-in-docker.sh

I try to run the appimageupdatetool again and get this new error.
$ ./appimageupdatetool-x86_64.AppImage ~/osu/osu.AppImage
Checking for updates...
Fetching latest release information from GitHub API
error setting certificate verify locations:
  CAfile: /etc/ssl/certs/ca-certificates.crt
  CApath: /etc/ssl/certs
GitHub API request failed!
Could not find any artifacts in release data. Please contact the author of the AppImage and tell them the files are missing on the releases page.
ZSync URL not available. See previous messages for details.
Update check failed, exiting!

You can see I got new error
error setting certificate verify locations:
  CAfile: /etc/ssl/certs/ca-certificates.crt
  CApath: /etc/ssl/certs

After some investigation, this happen because this tools is using CPR to perform request and CPR itself using local ssl certificate to fetch https request.
Because the appimage is built using ubuntu image, CPR assume the location of certificate is in that location. While opensuse using different ssl certificate location.
I worked around this issue by symlink my local certificate.
sudo ln -s /var/lib/ca-certificates/ca-bundle.pem /etc/ssl/certs/ca-certificates.crt

Now I run appimageupdatetool again and it's working.
appimageupdatool local build
$ ./appimageupdatetool-x86_64.AppImage --self-update
Checking for updates...
Fetching release information for tag "continuous" from GitHub API.

... done!
Starting update...

Fetching release information for tag "continuous" from GitHub API.
0% done

Updating from GitHub Releases via ZSync
0% done
zsync2: /home/gpr/gitgud/AppImageUpdate/appimageupdatetool-x86_64.AppImage found, using as seed file
zsync2: Target file: /home/gpr/gitgud/AppImageUpdate/appimageupdatetool-x86_64.AppImage
zsync2: Reading seed file: /home/gpr/gitgud/AppImageUpdate/appimageupdatetool-x86_64.AppImage
zsync2: Usable data from seed files: 72.583105%
zsync2: Renaming temp file
zsync2: Fetching remaining blocks
72.58% done (4.65 of 6.40 MiB)...
zsync2: Downloading from https://objects.githubusercontent.com/github-production-release-asset-2e65be/84325774/f3797ada-8143-499c-ae10-2aac8be1fb3e?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20211116%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20211116T084739Z&X-Amz-Expires=300&X-Amz-Signature=249bc72c9a71f6b92b90b600c16bb5c01a627698df55c137e5dc94d091284434&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=84325774&response-content-disposition=attachment%3B%20filename%3Dappimageupdatetool-x86_64.AppImage&response-content-type=application%2Foctet-stream
zsync2: optimized ranges, old requests count 7, new requests count 3

99.91% done (6.40 of 6.40 MiB)...
zsync2: Verifying downloaded file
100.00% done (6.40 of 6.40 MiB)...
zsync2: checksum matches OK
zsync2: used 4874240 local, fetched 1903808
100.00% done (6.40 of 6.40 MiB)...
Validation warning: AppImage not signed
Update successful. New file created: /home/gpr/gitgud/AppImageUpdate/appimageupdatetool-x86_64.AppImage

appimageupdatool from this repo
$ ./appimageupdatetool-x86_64.AppImage --self-update
Checking for updates...
Fetching release information for tag "continuous" from GitHub API.
... done!
Update not required, exiting.

Probably this is also the reason of some update failed in other distro because their ssl certificate is located in different location.

From https://github.com/openssl/openssl/issues/7481#issuecomment-449299263, these are some location of certificate on different distro.
"/etc/ssl/certs/ca-certificates.crt",     // Debian/Ubuntu/Gentoo etc.
"/etc/pki/tls/certs/ca-bundle.crt",       // Fedora/RHEL
"/etc/ssl/ca-bundle.pem",                 // OpenSUSE
"/etc/pki/tls/cacert.pem",                // OpenELEC
"/etc/ssl/certs",                         // SLES10/SLES11, https://golang.org/issue/12139
"/usr/share/ca-certs/.prebuilt-store/"    // Clear Linux OS; https://github.com/knapsu/plex-media-player-appimage/issues/17#issuecomment-437710032
"/system/etc/security/cacerts"            // Android

Also in that issue also discuss how to handle different certificate location when using AppImage.
Of course this problem is not directly AppImage update issue, but more like CPR issue. From CPR repo, there's this issue https://github.com/libcpr/cpr/issues/445 but I don't know if they will handle distro specific certificate or not in the future.
Also this project is using it's own CPR fork from zsync2 to submodule. Maybe it's easier to add some patch to that fork for this issue :thinking:

tl;dr: AppImageUpdate and appimageupdatetool from this repo is not working on opensuse tumbleweed (and probably on some other distro) because of ssl certificate location issue.
Workaround for opensuse tumbleweed
sudo ln -s /var/lib/ca-certificates/ca-bundle.pem /etc/ssl/certs/ca-certificates.crt

For other distro, try symlink your distro ssl certificate to /etc/ssl/certs/ca-certificates.crt or built the AppImageUpdate locally in your machine.

I hope this issue can be resolved because my expectation when running AppImage is it will run out of the box on any distro and sorry for the long post.
Thank you! :smile:

This was my exact problem with Fedora, thanks for the workaround.


Guard against unused colour definitions

This slipped in unnoticed. Since ASN.1 is classified as "data", there's no reason for it to have a colour assigned.
Should we add a test for this to stop this happening again...?

Automated tests are good!

Should we add a test for this to stop this happening again...?

:+1: why not.

Working on it. :) Will revise this PR.

Done! Sorry, that took longer than I thought it would... couldn't figure out why the license-checks were failing, and it ended up being an issue with local submodules (as always).
@arfon I updated the ASN.1 submodule because of, well, this.
Maybe we should guard against adding grammars with .DS_Store files too? 😂

Maybe we should guard against adding grammars with .DS_Store files too? 😂

Lol. Bane. Of. My. OS X macOS. Life.

I think we could go even further.  If a languages is grouped under another language, its colour will never show in the bar.

Hadn't thought of that, actually. I admit I forgot that "grouped" languages weren't shown...

I'm on it.


Are there any plans to migrate away from using the deprecated GoogleApiClient and adopting the newer GoogleApi-based APIs?

I'm trying to track down a rare crash and it seems to be related to disconnecting from Google Fit but it's not easily reproduced.
When the crash occurs, I'm seeing:
11-06 15:27:49.240 23911 26801 E AndroidRuntime: java.lang.NullPointerException: Attempt to invoke virtual method 'void com.google.android.gms.common.api.internal.GoogleApiManager$zaa.zag(com.google.android.gms.common.ConnectionResult)' on a null object reference

I've already tried wrapping the disconnect() call that happens in the GoogleFitManager class (v0.14.0) in a try/catch and a few other defensive coding additions and it's not getting caught.
I have to wonder if it might not be caused by the fact that the latest version of react-native-google-fit is using a deprecated way of interacting with the GoogleAPIs.
See:

https://android-developers.googleblog.com/2017/11/moving-past-googleapiclient_21.html

The reason why I made a big rewrite to the current codes is to migrate all the deprecated apis eventually.
I have to understand the current auth logic and why some of "trivial" codes exists before I do any migrations,  since I am not an android dev or java expert .
If you desperately want to fix the issue probably you can make a PR to help improve this lib.

@aboveyunhai thanks for the explanation

I am getting this error every time the app is freshly installed.
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.app.Activity.startIntentSenderForResult(android.content.IntentSender, int, android.content.Intent, int, int, int)' on a null object reference
    at com.google.android.gms.common.ConnectionResult.startResolutionForResult
    at com.reactnative.googlefit.GoogleFitManager$1.onConnectionFailed(GoogleFitManager.java:172)
    at com.google.android.gms.common.internal.GmsClientEventManager.onConnectionFailure
    at com.google.android.gms.common.api.internal.zzav.zzc
    at com.google.android.gms.common.api.internal.zzaj.zze
    at com.google.android.gms.common.api.internal.zzaj.zza
    at com.google.android.gms.common.api.internal.zzaj.zza
    at com.google.android.gms.common.api.internal.zzar.zzaq
    at com.google.android.gms.common.api.internal.zzbe.zzc
    at com.google.android.gms.common.api.internal.zzbf.handleMessage
    at android.os.Handler.dispatchMessage(Handler.java:106)
    at android.os.Looper.loop(Looper.java:193)
    at android.app.ActivityThread.main(ActivityThread.java:6718)
    at java.lang.reflect.Method.invoke(Method.java)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)


[api] Fixes QaServingTranslator output format

Description
Brief description of what this PR is about

If this change is a backward incompatible change, why must this change be made?
Interesting edge cases to note here

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
Attention: Patch coverage is 68.00000% with 8 lines in your changes missing coverage. Please review.

Project coverage is 58.91%. Comparing base (b6656ed) to head (ee2ecb3).
Report is 9 commits behind head on master.

Files with missing lines
Patch %
Lines

...l/modality/nlp/translator/QaServingTranslator.java
40.00%
6 Missing :warning:

...anslator/TokenClassificationServingTranslator.java
0.00%
1 Missing :warning:

...rc/main/java/ai/djl/ndarray/BytesSupplierImpl.java
50.00%
1 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@              Coverage Diff              @@
##             master    #3500       +/-   ##
=============================================
- Coverage     72.52%   58.91%   -13.62%
+ Complexity     7394     5856     -1538
=============================================
  Files           672      674        +2
  Lines         32909    33042      +133
  Branches       3501     3523       +22
=============================================
- Hits          23868    19467     -4401
- Misses         7400    12093     +4693
+ Partials       1641     1482      -159

Flag
Coverage Δ

?

Flags with carried forward coverage won't be shown. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


feat: prevent selection of past dates in hotel booking

Description:
Issue Summary:
Users are currently able to select past dates when booking hotels on the /hotels route, which can lead to confusion and potential booking errors. This functionality needs to be corrected to ensure a logical and user-friendly booking experience.
Objective:
The goal is to enhance the date selection process within the hotel booking flow by preventing users from choosing dates that have already passed. Additionally, we aim to provide immediate feedback when a past date is selected, informing users to choose valid future dates.
Implementation Details:

Date Validation:

Within the HotelBookingDetailsCard.jsx component (located at src/routes/hotel-details/components/hotel-booking-details-card), implement a validation check in the date selection logic (handling of dateRange state variables) to verify that the selected dates are not in the past.

Error Messaging:

If a user selects a past date, do not update the dateRange state with the invalid selection. Instead, display an error message directly below the date and time selection area. Use a <small> HTML tag for the message, stating "Please select valid dates."
Style the error message in red to attract attention, utilizing Tailwind CSS for styling. An example class for this purpose could be text-red-500.

State Management for Error Message:

Introduce a new state variable to manage the visibility and content of the error message. Ensure that this error state is cleared and the message is hidden once the user selects a valid date range.

Screenshots

If I do not update the dateRange state when past dates are selected, won't it be selecting the valid dates all the time? And if so then what is the point of showing the error msg. Instead of that can't we just do like this?

If I do not update the dateRange state when past dates are selected, won't it be selecting the valid dates all the time? And if so then what is the point of showing the error msg. Instead of that can't we just do like this?

We should probably implement #1 so that users always select valid dates. Previous dates in the date picker could be completely disabled with a background indicating the disabled state for those dates, or we could simply not show previous dates at all.
We can disregard points #2 and #3 entirely, as they become irrelevant once we implement only #1 a more intuitive date selection process.

Then should we just disable the previous dates and ignore the #2 and #3 like this?

Then should we just disable the previous dates and ignore the #2 and #3 like this?

Yes.

should I create a pull request then?

should I create a pull request then?

Yes, sure!