Don't get prompted for rclone mount name after configuring rclone (and other issues)

Hi, upgrading from Gooby to OmniStream today :)
When I do the rclone step, I say 'yes' to configure, then 'q' to quit the rclone config since I already have a 'gdrive' mount there.
However it doesn't then ask me to confirm the name of the mount, so OmniStream seems to know nothing about it. I've tried going back through a few times, but it definitely isn't prompting me after 'q' the rclone config to confirm my mount name :(
The omnimount status is constantly 'restarting'.
Any ideas?
I've only re-enabled Plex (the hw one as I have hw transcoding available), but this isn't working either - I chose Cloudflare as all my DNS is through them, but I just get a privacy error on visiting my plex domain address - invalid SSL certificate. Grateful for any ideas, thank you for all the hard work!
Not sure if it's related to anything above, but I also see an error every time I use any of the omni commands:
jq: error (at <stdin>:0): Cannot iterate over null (null)

Right, so Plex won't work until your OmniMount is healthy - to prevent it from "removing" all your content :) So that part is easy to answer.
Rclone: if you type omni configs and check the content of the folder omnimount, does it contain the rclone.conf file and is it populated with the mount information?

Haha thank you!
rclone.conf is there, but if I try to open it as my user account that's running OmniStream it gives me access denied.
If I check the contents as root, it has my gdrive one listed, with client ID, secret and access token.
I took a bit of a cheeky guess and did a chmod 777 on rclone.conf, though I can now see it as my "Omni" user it's still saying restarting on the omnimount (tried Omni down and up). Doh :)

I'm hoping these logs help:
thunderstorm@ss-ex42deb:~$ omni logs
omnimount  | rclone v1.59.2
omnimount  | - os/version: debian 11.5 (64 bit)
omnimount  | - os/kernel: 4.19.0-18-amd64 (x86_64)
omnimount  | - os/type: linux
omnimount  | - os/arch: amd64
omnimount  | - go/version: go1.18.6
omnimount  | - go/linking: static
omnimount  | - go/tags: none
omnimount  |
omnimount  | mergerfs version: 2.33.5
omnimount  |
omnimount  | Starting vnstat
omnimount  | basename: missing operand
omnimount  | Try 'basename --help' for more information.
omnimount  |
omnimount  | Configuration:
omnimount  | MERGEMOUNT=cloud
omnimount  | RCLONESERVICE=
omnimount  | RCLONEMOUNT=
omnimount  | UNSYNCED=unsynced
omnimount  | UPLOADCACHE=uploadcache
omnimount  | MEDIA=Media
omnimount  | TURBOMAX=20
omnimount  | One or more critical environment variables left undefined.
omnimount  | rclone v1.59.2
omnimount  | - os/version: debian 11.5 (64 bit)
omnimount  | - os/kernel: 4.19.0-18-amd64 (x86_64)
omnimount  | - os/type: linux
omnimount  | - os/arch: amd64
omnimount  | - go/version: go1.18.6
omnimount  | - go/linking: static
omnimount  | - go/tags: none
omnimount  |
oauth      | time="2022-10-08T20:27:25Z" level=info msg="Listening on :4181"
omnimount  | mergerfs version: 2.33.5
omnimount  |
omnimount  | Starting vnstat
omnimount  | basename: missing operand
omnimount  | Try 'basename --help' for more information.
omnimount  |
omnimount  | Configuration:
omnimount  | MERGEMOUNT=cloud
omnimount  | RCLONESERVICE=
omnimount  | RCLONEMOUNT=
omnimount  | UNSYNCED=unsynced
omnimount  | UPLOADCACHE=uploadcache
omnimount  | MEDIA=Media
omnimount  | TURBOMAX=20
omnimount  | One or more critical environment variables left undefined.
omnimount  | rclone v1.59.2
omnimount  | - os/version: debian 11.5 (64 bit)
omnimount  | - os/kernel: 4.19.0-18-amd64 (x86_64)
omnimount  | - os/type: linux
omnimount  | - os/arch: amd64
omnimount  | - go/version: go1.18.6
omnimount  | - go/linking: static
omnimount  | - go/tags: none
omnimount  |
omnimount  | mergerfs version: 2.33.5
omnimount  |
omnimount  | Starting vnstat
omnimount  | basename: missing operand
omnimount  | Try 'basename --help' for more information.
omnimount  |
omnimount  | Configuration:
omnimount  | MERGEMOUNT=cloud
omnimount  | RCLONESERVICE=
omnimount  | RCLONEMOUNT=
omnimount  | UNSYNCED=unsynced
omnimount  | UPLOADCACHE=uploadcache
omnimount  | MEDIA=Media
omnimount  | TURBOMAX=20
omnimount  | One or more critical environment variables left undefined.
omnimount  | rclone v1.59.2
omnimount  | - os/version: debian 11.5 (64 bit)
omnimount  | - os/kernel: 4.19.0-18-amd64 (x86_64)
omnimount  | - os/type: linux
omnimount  | - os/arch: amd64
omnimount  | - go/version: go1.18.6
omnimount  | - go/linking: static
omnimount  | - go/tags: none
omnimount  |
omnimount  | mergerfs version: 2.33.5
omnimount  |
omnimount  | Starting vnstat
omnimount  | basename: missing operand
omnimount  | Try 'basename --help' for more information.
traefik    | time="2022-10-08T21:27:25+01:00" level=info msg="Configuration loaded from flags."
omnimount  |
omnimount  | Configuration:
omnimount  | MERGEMOUNT=cloud
omnimount  | RCLONESERVICE=
omnimount  | RCLONEMOUNT=
omnimount  | UNSYNCED=unsynced
omnimount  | UPLOADCACHE=uploadcache
omnimount  | MEDIA=Media
omnimount  | TURBOMAX=20
omnimount  | One or more critical environment variables left undefined.
omnimount  | rclone v1.59.2
omnimount  | - os/version: debian 11.5 (64 bit)
omnimount  | - os/kernel: 4.19.0-18-amd64 (x86_64)
omnimount  | - os/type: linux
omnimount  | - os/arch: amd64
omnimount  | - go/version: go1.18.6
omnimount  | - go/linking: static
omnimount  | - go/tags: none
omnimount  |
omnimount  | mergerfs version: 2.33.5
omnimount  |
omnimount  | Starting vnstat
omnimount  | basename: missing operand
omnimount  | Try 'basename --help' for more information.
omnimount  |
omnimount  | Configuration:
omnimount  | MERGEMOUNT=cloud
omnimount  | RCLONESERVICE=
omnimount  | RCLONEMOUNT=
omnimount  | UNSYNCED=unsynced
omnimount  | UPLOADCACHE=uploadcache
omnimount  | MEDIA=Media
omnimount  | TURBOMAX=20
omnimount  | One or more critical environment variables left undefined.
omnimount  | rclone v1.59.2
omnimount  | - os/version: debian 11.5 (64 bit)
omnimount  | - os/kernel: 4.19.0-18-amd64 (x86_64)
omnimount  | - os/type: linux
omnimount  | - os/arch: amd64
omnimount  | - go/version: go1.18.6
omnimount  | - go/linking: static
omnimount  | - go/tags: none
omnimount  |
omnimount  | mergerfs version: 2.33.5
omnimount  |
omnimount  | Starting vnstat
omnimount  | basename: missing operand
omnimount  | Try 'basename --help' for more information.
omnimount  |
omnimount  | Configuration:
omnimount  | MERGEMOUNT=cloud
omnimount  | RCLONESERVICE=
omnimount  | RCLONEMOUNT=
omnimount  | UNSYNCED=unsynced
omnimount  | UPLOADCACHE=uploadcache
omnimount  | MEDIA=Media
omnimount  | TURBOMAX=20
omnimount  | One or more critical environment variables left undefined.
omnimount  | rclone v1.59.2
omnimount  | - os/version: debian 11.5 (64 bit)
omnimount  | - os/kernel: 4.19.0-18-amd64 (x86_64)
omnimount  | - os/type: linux
omnimount  | - os/arch: amd64
omnimount  | - go/version: go1.18.6
omnimount  | - go/linking: static
omnimount  | - go/tags: none
omnimount  |
omnimount  | mergerfs version: 2.33.5
omnimount  |
omnimount  | Starting vnstat
omnimount  | basename: missing operand
omnimount  | Try 'basename --help' for more information.
omnimount  |
omnimount  | Configuration:
omnimount  | MERGEMOUNT=cloud
omnimount  | RCLONESERVICE=
omnimount  | RCLONEMOUNT=
omnimount  | UNSYNCED=unsynced
omnimount  | UPLOADCACHE=uploadcache
omnimount  | MEDIA=Media
omnimount  | TURBOMAX=20
omnimount  | One or more critical environment variables left undefined.
omnimount  | rclone v1.59.2
omnimount  | - os/version: debian 11.5 (64 bit)
omnimount  | - os/kernel: 4.19.0-18-amd64 (x86_64)
omnimount  | - os/type: linux
omnimount  | - os/arch: amd64
omnimount  | - go/version: go1.18.6
omnimount  | - go/linking: static
omnimount  | - go/tags: none
omnimount  |
omnimount  | mergerfs version: 2.33.5
omnimount  |
omnimount  | Starting vnstat
omnimount  | basename: missing operand
omnimount  | Try 'basename --help' for more information.
omnimount  |
omnimount  | Configuration:
omnimount  | MERGEMOUNT=cloud
omnimount  | RCLONESERVICE=
omnimount  | RCLONEMOUNT=
omnimount  | UNSYNCED=unsynced
omnimount  | UPLOADCACHE=uploadcache
omnimount  | MEDIA=Media
omnimount  | TURBOMAX=20
omnimount  | One or more critical environment variables left undefined.
omnimount  | rclone v1.59.2
omnimount  | - os/version: debian 11.5 (64 bit)
omnimount  | - os/kernel: 4.19.0-18-amd64 (x86_64)
omnimount  | - os/type: linux
omnimount  | - os/arch: amd64
omnimount  | - go/version: go1.18.6
omnimount  | - go/linking: static
omnimount  | - go/tags: none
omnimount  |
omnimount  | mergerfs version: 2.33.5
omnimount  |
omnimount  | Starting vnstat
omnimount  | basename: missing operand
omnimount  | Try 'basename --help' for more information.
omnimount  |
omnimount  | Configuration:
omnimount  | MERGEMOUNT=cloud
omnimount  | RCLONESERVICE=
omnimount  | RCLONEMOUNT=
omnimount  | UNSYNCED=unsynced
omnimount  | UPLOADCACHE=uploadcache
omnimount  | MEDIA=Media
omnimount  | TURBOMAX=20
omnimount  | One or more critical environment variables left undefined.
omnimount  | rclone v1.59.2
omnimount  | - os/version: debian 11.5 (64 bit)
omnimount  | - os/kernel: 4.19.0-18-amd64 (x86_64)
omnimount  | - os/type: linux
omnimount  | - os/arch: amd64
omnimount  | - go/version: go1.18.6
omnimount  | - go/linking: static
omnimount  | - go/tags: none
omnimount  |
omnimount  | mergerfs version: 2.33.5
omnimount  |
omnimount  | Starting vnstat
omnimount  | basename: missing operand
omnimount  | Try 'basename --help' for more information.
omnimount  |
omnimount  | Configuration:
omnimount  | MERGEMOUNT=cloud
omnimount  | RCLONESERVICE=
omnimount  | RCLONEMOUNT=
omnimount  | UNSYNCED=unsynced
omnimount  | UPLOADCACHE=uploadcache
omnimount  | MEDIA=Media
omnimount  | TURBOMAX=20
omnimount  | One or more critical environment variables left undefined.
omnimount  | rclone v1.59.2
omnimount  | - os/version: debian 11.5 (64 bit)
omnimount  | - os/kernel: 4.19.0-18-amd64 (x86_64)
omnimount  | - os/type: linux
omnimount  | - os/arch: amd64
omnimount  | - go/version: go1.18.6
omnimount  | - go/linking: static
omnimount  | - go/tags: none
omnimount  |
omnimount  | mergerfs version: 2.33.5
omnimount  |
omnimount  | Starting vnstat
omnimount  | basename: missing operand
omnimount  | Try 'basename --help' for more information.
omnimount  |
omnimount  | Configuration:
omnimount  | MERGEMOUNT=cloud
omnimount  | RCLONESERVICE=
omnimount  | RCLONEMOUNT=
omnimount  | UNSYNCED=unsynced
omnimount  | UPLOADCACHE=uploadcache
omnimount  | MEDIA=Media
omnimount  | TURBOMAX=20
omnimount  | One or more critical environment variables left undefined.
omnimount  | rclone v1.59.2
omnimount  | - os/version: debian 11.5 (64 bit)
omnimount  | - os/kernel: 4.19.0-18-amd64 (x86_64)
omnimount  | - os/type: linux
omnimount  | - os/arch: amd64
omnimount  | - go/version: go1.18.6
omnimount  | - go/linking: static
omnimount  | - go/tags: none
omnimount  |
omnimount  | mergerfs version: 2.33.5
omnimount  |
omnimount  | Starting vnstat
omnimount  | basename: missing operand
omnimount  | Try 'basename --help' for more information.
omnimount  |
omnimount  | Configuration:
omnimount  | MERGEMOUNT=cloud
omnimount  | RCLONESERVICE=
omnimount  | RCLONEMOUNT=
omnimount  | UNSYNCED=unsynced
omnimount  | UPLOADCACHE=uploadcache
omnimount  | MEDIA=Media
omnimount  | TURBOMAX=20
omnimount  | One or more critical environment variables left undefined.

First thing:  OmniMount definely won't work with rcloneservice and rclonemount undefined.  So, let's start there.
Can you run:
omni down
sudo chown -R $USER:$USER ~/.config
sudo chown -R $USER:$USER $OMNIHOME/configs

This will make sure you, the user, own these files and not root. The rclone.conf that is under the home/.config directory is used solely for setup purposes though it is copied into the $OMNIHOME/configs/omnimount/ path for use by OmniStream.
Since you already have an rclone file, run omni menu and choose 3 Setups Menu then rerun rclone setup then choose no and OK.. Verify that this is correct and that there aren't any additional characters or lines added from a previous cut and paste job.  Save and exit the editor.
You should now be presented with the choice of the services you saw in the editor.  Choose the one that contains your media.  After that, exit the menus and see if you can start OmniStream now with omni up.

Thank you for your reply @kelinger . I've followed all your steps to the letter and ran into the same issue I had originally - I never get promoted to choose the services I see in the editor. My rclone.conf loads, but once I save and exit (I use ctrl + x as nothing needs changing, I can see my remote with client ID/secret etc), I just get bumped back to the Omni setup menu.
There's still a weird jq error coming up e.g. when running Omni down:

Then when I do the re run of rclone, this is what happens.
Choose 'no' to check file:

Editing file:

Press ctrl+x to edit and then I just get bumped immediately here, no prompt to select mount name:

So close and yet so far! Something seems funky with the menus not quite working right - I know the exact prompt you mention as I remember Gooby doing it as well.

Ok so I thought let's just do it all again from scratch. Wiped server, restored Gooby, verified all is working (rclone included!). Then started the upgrade again.
Still going to have the same issue I think - when I get to open up existing rclone.conf then exit editor, the installer never asks me to confirm the mount name.
I checked your install guide and it's specifically this that never comes up for me:

It just progresses onto the next steps.
Is there something about my rclone.conf it can't process?! There's only my gdrive in there and a mostly empty looking "local" (screenshot of my conf file in previous reply above).

Can you post a screenshot of your rclone.conf file? Of COURSE with the actual codes masked but it might give us an idea of what could be going on... ^_^

Sure it was in my previous response above, but here it is :)

Ps. Sorry all my images come out big, I'm replying on mobile with screenshots taken on phone.

Ok I managed to update them manually via Omni edit. As soon as I set the missing RCLONESERVICE and RCLONEMOUNT variables to gdrive, move my rclone.conf manually to the omnimount folder, then did an omni down / omni up the mount was working :) I did have to poke around the scripts to figure out what it would normally do after closing the conf file to figure these bits out!
Anyway hooray I now have Plex back (and Emby and Tautulli!). One question I hope is an easier answer - I use cloudflare for DNS so set that up with the API key. However I found that I needed to turn off proxying through Cloudflare and only use DNS for Plex and Emby, as otherwise had intermittent buffering issues with 4K playback.
With Gooby and managing DNS manually I could just turn off proxying and all still good. But Omni will overwrite that setting as it seems to default to proxying. Please tell me there's a way I can toggle that :) I see in the DNS script to create records there's an input variable for it, but I don't know where that gets called from or how to change the input - is it in the docker files? Divert to you experts as I don't want to break stuff - a variables file is one thing but this feels more likely to go wrong if I'm guessing ;)

Sorry, I missed that information. Very weird indeed!!! But at least it now works for you...
As for managing the DNS, of course @kelinger facilitated that ^_^ All you need to do is copy the content of your Plex yaml to the 8xx range and change one line:
      - "omni=${PLEXNAME},${MYDOMAIN},yes,yes,yes"
This tells the start/stop process the name and domain used and whether it should be added to Cloudflare on startup, removed from Cloudflare on shutdown, and whether it should be cached (“orange cloud”) by Cloudflare.
So, in your case, change it to
      - "omni=${PLEXNAME},${MYDOMAIN},yes,yes,no"
That should create the entry in CloudFlare without the cache feature!

Thank you for the info.  I'll definitely be exploring the "why" part of why your Rclone configuration didn't pop up in the confirmation part of the setup when you are choosing the volume to mount.  The expectation is that you should see another dialog box with a list of the drive(s) defined in your rclone.conf under ~/.config/rclone/rclone.conf.  If the setup script cannot read or access this file (or it is missing) that would be the first obvious thing to fix but it sounds like this is not the case.
As for disabling the cache, what @TechPerplexed described is accurate.  In its current implementation, the 800-900 range of service definitions is reserved for any customization you want.  So disable the Plex service, copy it to a new definition in the 801-899 range, edit it accordingly, and then activate it.  From the perspective of OmniStream, this will act as any other component that was included.  But, when OmniStream updates, it won't run into issues seeing a different "101-plex-hw.yaml" file than the one included.
Future potential:  I've seen several other requests regarding the enabling/disabling of CF caching and may look to find a way to split that off so that it can be more readily tweaked by the end user.  There's a fine line between "customization" and "config files that are hundreds of lines" and when we talk about each service having variable authentication, caching, GPU hardware-enabling/disabling, the ability to preconfigure all combinations gets rather lengthy.  So, for now, this is the best way.

No, do NOT create a public port.  Traefik takes care of all that. However, Plex, in its infinite wisdom, does NOT assume that https://mydomain.com = port 443 so you have to specify it in "remote access"

While under network/advanced, you just need https://plex.mydomain.com (no port)
Since Traefik handles the certificates, you do not need to specify one in Plex.

To add, my settings almost match yours - with the exception of "enable delay" (it's unchecked on mine). I too have this custom certificate and it's working just fine.
Also, as @kelinger already mentioned, remove the port behind your domain in custom certificate domain.

I don't know if I've blocked myself out of something by trying too many times with Omni down and up- my Plex domain won't work at all now. After I remove the certificate and changed the port to 443, app.plex.tv lost my server completely and apps don't find it either :( says it's offline, and I can't go to plex.mydomain.com either it just gives me this site can't be reached immediately.
Would recreating the containers and DNS stuff everytime on down/up have done such a thing?
I'm completely confused by this, as domain aside, it definitely didn't like 443! Is that the same as you too @TechPerplexed - do you also have 443?

Man, Plex is horrid. I got things working in the end, but I firstly go with the new domain, then had to delete my Preferences.xml file to force a reclaim of the server. Then I managed to sneakily recompile Preferences.xml with the old server IDs to make it think it was the original one (otherwise after a reclaim, have to reshare with everyone..!).
The remote access is now correctly configured with 443, and the Plex apps are working everywhere on all devices thank god - in Plex web, it does still seem to flit between green and red, but as it's now working and not sat there hanging and then showing 'indirect' I think we're good!
Thank you for your assistance with stuff by the way!
In a similar fashion to the rclone setup not prompting for the remote name used, I also noticed if you choose to edit advanced config during install, the config file doesn't open either. Maybe a similar problem. Or perhaps it's just these Hetzner boxes :)
One final question - (sorry!) - what is the default user/pass for Prowlarr?
I added it via the standard OmniStream config YAML file selected through the menus, and it's been created, but it prompts (in a generic looking pop up) for user/pass. Thanks and sorry for my frustrated ramblings - I think I was battling some obscure Plex-isms unique to my app data.

Heh, yes kelinger and I often joke that if we have an issue, anywhere, any problem at all, first blame Plex. Then blame Plex some more and after that, look further 🤣
But yes, I remember that I had that 443 issue too. You'd think that opening Plex to the correct port would make things better, not worse, yet here we are. In fact when we started troubleshooting your issues here, I had external access set to disabled. However I opened it yesterday in conjunction with removing the certificate and Plex stayed up, so I think you might have been right that the frequent up/down might have triggered some sort of ban temporarily.
Prowlarr: I use it too and I don't remember having to enter an initial password for that. I'll try a fresh installation a little later and  will get back to you on that one.
No worries about the frustrated ramblings - setting up a new system that involves Plex in any way tends to have that effect of wanting to pull out all your hair - been there, done that🧑🦲

I couldn't believe how painful Plex was. Everything else works 😂. I discovered that Prowlarr wanted "admin" and the Traefik password I set up on install. Noticed this container and some others (like Radarr) have an extra Traefik line in the compose yaml files for auth so guessing that's it!

I'm sorry I'm late on this. For my Plex server remote access, I personally just manually set it to port 32400. It will initially say fully connected then it often changes to say it isn't but I've not had any connection issues - local or remote to the service. Unfortunately I'm getting to the point where I'm not a fan of all the bloat Plex has been adding as they grow.  I'm primarily Emby now and thanks to @kelinger and @TechPerplexed the recent watchstate server keeps everything in line if I need to switch over for any reason to Jellyfin or Plex.

I'm sorry I'm late on this. For my Plex server remote access, I personally just manually set it to port 32400. It will initially say fully connected then it often changes to say it isn't but I've not had any connection issues - local or remote to the service. Unfortunately I'm getting to the point where I'm not a fan of all the bloat Plex has been adding as they grow.  I'm primarily Emby now and thanks to @kelinger and @TechPerplexed the recent watchstate server keeps everything in line if I need to switch over for any reason to Jellyfin or Plex.

Thanks for your comments @shadowsbane0 . I completely agree with the direction Plex has been taking, it's infuriating having to explain to users that no, "Movies and TV on Plex" which is a pile of ad driven crap isn't my stuff 😂. I run Emby and Jellyfin as well alongside and personally use Plex and Emby quite equally.
The main thing I wish for in Emby is something like PlexMetaManager, as I really like having most popular movies/TV collection rows on front page alongside a bunch of others that can generate. If they ever make Emby support or someone else does I'm off for good! :)

Make that three for jumping between Plex, Emby and (to a much lesser degree), Jellyfin. Thank goodness for Watchstate which makes switching virtually seamless!
And with that, let me archive this thread since I get the impression everything is sorted... for now. As always, feel free to reopen/add as you guys see fit ^_^


Remove EG

Task/Issue URL: https://app.asana.com/0/488551667048375/1206920646035588/f
Description
No-op EG, see asana task
Steps to test this PR
EG doesn't trigger any UX (see asana task)

#4363  👈
develop

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

Join @aitorvs and the rest of your teammates on  Graphite


Error when adding an item to the db

Hi I just tried to install properly the bot via docker / and in a local env but I'm getting the same error everytime I run the add cmd:
Ignoring exception in command add:
Traceback (most recent call last):
  File "/home/user/.local/lib/python3.7/site-packages/discord/ext/commands/core.py", line 85, in wrapped
    ret = await coro(*args, **kwargs)
  File "bot.py", line 36, in add
    if((doesItExist(url) == False) and (amIThere(url) == False)):
  File "/home/user/notion/Notion-DiscordBot/Bot/duplicateCheck.py", line 31, in amIThere
    with open("./Bot/dataUploaded.txt") as log:
FileNotFoundError: [Errno 2] No such file or directory: './Bot/dataUploaded.txt'

I decided to remove the "Bot/"  in line 31 in Bot/duplicateCheck.py
I replaced with open("./Bot/dataUploaded.txt") as log: to with open("./dataUploaded.txt") as log: and now everything is working fine.
Regards

Were you running this in a container?

Yes and the error still occured without using docker

Yeah actually this was an issue
thanks for letting us know!
Will fix it!

The issue has been fixed so will be closing the issue.
Thanks for letting us know!


aria-describedby or aria-labelledby not getting added

Hi,
I'm using Tippy in a React component and the aria-describedby or aria-abelledby attributes are not getting added to the element.
Here's how I'm using it:
<Tippy
  content="Edit Location"
  interactive={true}
  placement="bottom"
>
  <a href="/">
    <svg
      width="17"
      height="18"
      xmlns="http://www.w3.org/2000/svg"
    >
      <path
        d="M16.532 4.843a1.591 1.591 0 000-2.254L14.536.593a1.597 1.597 0 00-2.254 0l-1.53 1.53 3.685 3.686a.399.399 0 00.564 0l1.53-1.53v.564zM9.436 3.44L.717 12.158l-.704 4.034a.798.798 0 00.923.923l4.035-.707 8.719-8.72-3.686-3.685a.403.403 0 00-.568 0V3.44zM2.922 14.203h1.594v1.205l-2.142.376-1.033-1.033.376-2.142h1.205v1.594z"
        fillRule="nonzero"
      />
    </svg>
  </a>
</Tippy>

I've tried it with both a button and a link element, as well as with and without the inline svg.

For interactive tippies, by default the content shouldn't be / isn't announced.
But there are cases where you may need it to be (e.g. selectable text), so if you need it to be announced, you can add/remove this attribute in the onMount + onHide lifecycle:
onMount={instance => {
  instance.reference.setAttribute('aria-describedby', `tippy-${instance.id}`);
}
onHide={instance => {
  instance.reference.removeAttribute('aria-describedby');
}

(This is configurable in the next version so this won't be necessary 😓)

Thanks, that works perfectly! Glad to hear it will be resolved in the next version.


TensorFlow-Slim

Tensorflow has a new higher level abstraction similar to Lasagne (for Theano) now. It would be great if the conversion to tensorflow can use this new format to make the models much more neat/slim.
https://github.com/tensorflow/models/tree/master/inception/inception/slim

Using a higher-level library like TensorFlow-Slim could definitely make things a bit cleaner. However, there are a few reasons I'd like to avoid it (at least for now):

It would introduce a new dependency (of course, on the other hand, it could be an optional thing)
The current wrapper (network.py) deals with some of the idiosyncrasies of Caffe/TensorFlow. Something equivalent would still be required.

Besides these, the auto-generated code is limited by Caffe's source prototxt. In many cases (eg: GoogLeNet), a hand-written version compatible with the converted weights would be much cleaner than any auto-gen version.

Yes, and as of now, TF-Slim hasn't been merged with tensorflow/contrib main repo.


Style change via CSS without using !important

We have two types of avatars, normal and primary (as in material term).
Normal ones are grey/boring, and primary avatars stand out. Each has its uses.

I do not want to set styles in HTML or TS -- this duplicates code, since all other app styles are set in SCSS.
So setting bgColor and fgColor as Angular props is out of question.
My SCSS of the wrapper component currently looks like this
@import '../variables';

:host {
  ::ng-deep {
    .avatar-container {
      .avatar-content {
        font-family: $font-family !important;
        font-weight: bold !important;
        background-color: $bg-control !important; // normal
        color: $text-color !important;
      }
    }
  }

  .primary ::ng-deep .avatar-content {
    background-color: $primary-color !important; // primary
    color: $primary-text-color !important;
  }
}

Notice the need for !important everywhere.
There should be a way to clear styles on the element and let developer customize via CSS. Please implement, much needed.

Hi @vzakharov-rxnt
Sorry for the late reply, but I will look into this in the following days and come back to you as soon as possible if I can


Hover style on list view item (block quote with speaker)

We need to add special style on hover state of the list view item, so its clear what is going to be selected.

Done


Show planned market changes on charts

Story
As a console user
When I am doing my analysis
I want to know when an approved market update is planned to take place
So that I have visibility of what's happening with the market, when, and can assess how it might effect my trading decisions
Acceptance Criteria

[ ] I can see on the chart any approved market updates planned to take place during the time period I am viewing
[ ] When I zoom out in the chart to see a longer time period I can see all approved market updates planned to take place during the time period I am viewing
[ ] When I zoom out in the chart to see a longer time period, I can see all enacted market updates that have already taken place during the time period I am viewing
[ ] There is a way to get to the details of the approved market update (in the governance dapp)

Question that need to be answered...

How we visually represent the update in the context of time as we don't know how long it would actually take (would it be instant?) and would need it to stand out visually on the chart regardless of what time period you were viewing so that it gets noticed

Tasks

[ ] Finalise UX and copy
[ ] Visual design
[ ] Implement
[ ] QA test (Verify meets acceptance criteria, exploratory testing for bugs, check adherence to visual design, add automated regression tests for the A/Cs)
[ ] Release

Sketch
Additional details / background info
This ticket is similar in nature to one about showing planned network upgrade proposals on charts

@johnwalley thers another ticket somewhat similar to this which is about showing network upgrades on charts. Additionally we might want to show auction periods on charts.
Perhaps we need a more generic ticket for pennant to allow for showing a shaded 'Region' aea in the chart, both for the x axis and the y axis?


nms_cuda signature update

Updated nms_cuda signature to accept detections and scores as separate tensors. This makes the function signature consistent as well as avoids making temporary tensors and wasting memory as a result.
This required updating the indexing in the NMS CUDA kernel.
Also made the iou_threshold parameter name consistent across implementations.

@fmassa this is the PR that I mentioned as part of the review of #826

Codecov Report

Merging #945 into master will increase coverage by 0.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #945      +/-   ##
==========================================
+ Coverage   60.13%   60.15%   +0.01%
==========================================
  Files          63       63
  Lines        5019     5019
  Branches      748      748
==========================================
+ Hits         3018     3019       +1
+ Misses       1797     1796       -1
  Partials      204      204

Impacted Files
Coverage Δ

torchvision/transforms/transforms.py
81.89% <0%> (-0.65%)
:arrow_down:

torchvision/transforms/functional.py
71.12% <0%> (+1.21%)
: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 b3cb86f...05ca439. Read the comment docs.


git reset -p : Reset line per line (and maybe per block too)

it would be super nice to have the equivalent of git reset -p.
We can add and remove selectively what we want to be in staging or not, but I haven't find an option to reset lines/blocks.
Thanks for VSC, it's awesome :heart: !

Actually, looks like it does exist! https://github.com/Microsoft/vscode/issues/10782#issuecomment-241966057
Closing as a duplicate of #6516, but lmk if you meant something different, an we can reopen.

@mousetraps I read the links you gave me but the working part are about stage/unstage.
But you can't reset a line https://github.com/Microsoft/vscode/issues/10782#issuecomment-241966520 https://github.com/Microsoft/vscode/issues/10782#issuecomment-241966057 .
I think this needs to be reopened, let me know if you have this option in your VSC but I couldn't find anything else than unstage.


request headers support for  both plain object and  Symbol.iterator: IterableIterator<[string, string]>

I have a nodejs Apollo gateway app which uses node-fetch. I am trying use got-fetch but got-fetch doesn't support reqeust.headers type as Symbol.iterator map  https://github.com/node-fetch/node-fetch/blob/master/%40types/index.d.ts#L25-L54
it will be great to have support for both plain object and Symbol.iterator map in createFetch https://github.com/alexghr/got-fetch/blob/master/src/lib/fetch.ts#L64-L69

I am thinking something this solution
if (bodyHeaders || request.headers) {
      let reqHeaders: any = {};
      if (request.headers instanceof Headers) {
        // to fix read headers from Headers instance
        request.headers?.forEach((value, key): void => {
          reqHeaders[key] = value;
        });
      } else {
        reqHeaders = reqHeaders.headers;
      }
      gotOpts.headers = {
        ...bodyHeaders,
        ...reqHeaders,
      };
    }


Add Calendar Downloads

Once all of the details have been finalized, add a link to add the events to a guest's calendars.

This is unnecessary


Unable to save draft before publishing - Customisable ID breaks autosave

Link to reproduction
No response
Describe the Bug
When I create a new item in a collection, there is no 'save' button, only a 'publish' button. I suspect this is because I have overridden the 'id' field, so the autosave feature breaks, as it cannot save without an id.
There are a few possible ways to provide a solution:

Don't autosave until an id is provided
Allow for an id to be default generated even if it is overridden by a custom id

To Reproduce
Have a collection with a customisable ID field, with the version settings as:
  versions: {
    drafts: {
      autosave: true,
    },
  },

Customisable id:
    {
      name: "id",
      label: "Slug",
      type: "text",
      required: true,
    }

Payload Version
2.26.0
Adapters and Plugins
db-mongodb, autosave, versions

Hello, same problem with postgres adaptater


Bug: Autocomplete does not kick in until you type in at least two characters

When starting from scratch, the autocomplete won't trigger until the user types in at least two characters into the raw query field:
https://user-images.githubusercontent.com/2376619/147106053-b1cede68-53f8-475d-9091-157893aba6d0.mov
Once the autocomplete triggers for the first time, it works just fine afterwards.
This bug started to appear when the custom language was introduced with this line: https://github.com/grafana/google-bigquery-datasource/commit/4386003cf7ce970d8280f2aee5846cccda68d922#diff-f711c358ee23cd55c48b49dad5ec8ae6ab32504caac666cc0ae24ce9677649e4R78

hi, i tested it with current grafana, and this seems to work correctly now: as soon as i press S in the raw query editor, i get autocomplete suggestions. closing the issue. if you think it's not fixed yet, please respond back and we can reopen the issue.


Print statement outside loop

Small fix to finally put print statement outside main loop! Also, I have been using desktop version of this script for quite a while now as there's something up with the ifiscripts version being pulled down. Going to finally sort this out too.

Hey, thanks for this. If there's a issue with updating the as11fixity file via update.py, then it's because the version of as11fixity.py within ifigit/ifiscripts has been edited at some point since the last git pull.
Also it looks like you're working from a very old version of as11fixity, as I rewrote it to be more PEP-08 compliant a while back.
https://github.com/kieranjol/IFIscripts/pull/224
I think the functionality was identical, it was just the style that was made more in line with ifiscripts.
Which ingest station was having the issue?

Both of them I think but different issues I think. This is a old issue that I really should have gotten around to before. If I delete the as11fixity.py file from both ifigit folders and then do a new git pull, should this fix the issue?

Yes, that'll fix it, then you can see if there's still an issue with that print statement outside the loop and you can send an updated Pull Request. Cheers Eoin.

Hey, checking in on this and if this PR is still relevant after sorting out the outdated script issue?


Update README

The REST API has been changed a bit lately. The README with examples should be updated to reflect these changes.

Fixed in #14


[Improving code] WARNING: learning too big, removing some parts. Please report if this results in a crash

Expected Behavior
No crash
Current Behavior
Crash after improving existing files.
Failure Information
I used the latest version (after commit #772) and let gpt-engineer improve two files. After it was done gpt-engineer crashed with the following error information:
WARNING: learning too big, removing some parts. Please report if this results in a crash
/content/gpt-engineer/gpt-engineer/gpt_engineer/cli/collect.py:93 in         │
│ collect_learnings                                                            │
│                                                                              │
│    90 │   │   model, temperature, steps, dbs, steps_file_hash=steps_file_has │
│    91 │   )                                                                  │
│    92 │   try:                                                               │
│ ❱  93 │   │   send_learning(learnings)                                       │
│    94 │   except RuntimeError as e:                                          │
│    95 │   │   # try to remove some parts of learning that might be too big   │
│    96 │   │   # rudderstack max event size is 32kb
Information about the failure, including environment details, such as LLM used.
 Seems like the problem somehow still occurs. Since the "learning" part of gp-engineer is more of a good-to-have than a core component but is causing some problems, a very pragmatic solution would be to make a nested try/except inside the existing except clause (learning too big) so that the present crash instead just leads to no learning sent?


[swagger-ui] fix collapsible General Information

Examine why the General Information in the api doc of the branch swagger-ui-new does not collapse and fix this.

The swagger-ui-branch was merged into the master, but this bug is still there.

This is no bug, it has to be (re-)implemented: the collapse functionality for the other tag groups collapses only the list of endpoints, not the description of these. @jnehring should we expand the collapse functionality to the tag descriptions? This would implement this issue with at least efford.

@jnehring should we expand the collapse functionality to the tag descriptions?

sounds good

@jnehring it collapses again, please have a look.

Looks good! I also re-added the "show/hide" buttons to each section. So this issue is finished.


Scroll to recently added item

Hello
When a dashboard layout is filled tight by items and a new item is added it's usually placed at the bottom of the dashboard. Its not evident to a user that the new item was successfully added therefore I wanted to add simple animated scrolling to the added item when adding completes but I can't figure out how to get item's position/offset for scrolling.
I see that there's some private property called ItemCurrentPosition in DashboardItemWidget which looks like encapsulates coordinate-related stuff of dashboard's item placement but can't find any public access to it.
Could you navigate me how to do this correctly?
double offset = 0;
_scrollController.animateTo(offset, duration: const Duration(milliseconds: 400), curve: Curves.easeIn);

Done #31


fix(#464): hide showcase links for kits with no showcase

This PR closes #464
"View Showcase" links were previously visible on kits that did not have a showcases.
Links are now properly rendered based on hasShowcase value set in each kit's package.json file.
In the example picture below, qwik-tailwind-graphql kit does not have a showcase so the link does not display.

I tested this out locally and everything is working on my end. The only thing I think is missing is letting future contributors know that they should add the hasShowcase key in the package.json. I can see developers forgetting to add that and for ones that have a showcase it won't show without that key set to true.
I don't know if we want to add something in the readme or a checklist item in a PR template(which we should probably have anyway) but that is something for us to think about in the future. 👍

@jdwilkin4 Yes! Good point and thank you for reminding me! I meant to add a note in the readme then completely forgot about it.. will update in another commit 👍


Improve message indicating Module.function_name/arity and positional argument

When having multiple function calls and arguments, it is hard to tell which one is bringing up the issue.
As of now, i need to read the docs for both functions involved in that line to see which one is the one the message refers to
.
lib/ex_doc/language/elixir.ex: The function call on line 95 is expected to have type nonempty_list(A) but it has type string()
94   defp doc?({{_, name, _}, _, _, :none, _}, _type) do
95     hd(Atom.to_charlist(name)) != ?_
96   end

It will be nice if the message would say:
lib/ex_doc/language/elixir.ex: The function call Atom.to_charlist/1 line 95 is expected to have type nonempty_list(A) as its argument, but it has type string()
If the function has more than one argument it should read "as its 2nd argument"

That would be a good enhancement, indeed :+1: Otherwise, I think the relevant part of the expression could be underlined/highlighted to make it unambiguous which part is expected to have the mentioned type.


Head stabilization over complex terrain

Description
Test head stabilization over complex terrain
Types of changes

[ ] Bugfix
[x] New feature
[x] Refactor / Code style update (no logical changes)
[ ] Build / CI changes
[ ] Documentation Update
[ ] Other (explain)

Does this address any currently open issues?
[list open issues here]

Working out pretty well!
TODO for tomorrow:

[ ] Visualization: Compare model performance using different subsets of input
[ ] Implementation: Adapt closed-loop deployment of trained model
[ ] Visualization: Compare visual experience with or without head stabilization

Added box plot showing stats for feature ablation test.


Fix parsing for Hermes Bytecode Version 84

Fixed hbctool/hbc/hbc84/data/opcode.json, removing the Inc and Dec opcodes that were added by commit bfa2540 (Merge pull request #22 from hugohabicht01/draft/hbc-v85, 2022-10-25) and not applicable to v84

Fixed hbctool/hbc/hbc84/data/structure.json to include segmentID and functionSourceCount in the header structure. Also added the FunctionSourceTable description.

Fixed hbctool/hbc/hbc84/parser.py to read the "Function Source Table" data. This data is only read to advance the pointer in the reader... nothing is done with it.

Ohh, I miss this. Thank you for your contribution.

Maybe because the Python PIP repository is not up to date. I am trying to manually put the new files of this project in C:\Users\Max\AppData\Local\Programs\Python\Python310\Lib\site-packages\hbctool.
I deleted all files inside this directory and cloned this project there.
Now I got another new error:
>hbctool disasm index.android.bundle test_hasm
Traceback (most recent call last):
  File "C:\Users\Max\AppData\Local\Programs\Python\Python310\lib\runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "C:\Users\Max\AppData\Local\Programs\Python\Python310\lib\runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "C:\Users\Max\AppData\Local\Programs\Python\Python310\Scripts\hbctool.exe\__main__.py", line 4, in <module>
ImportError: cannot import name 'main' from 'hbctool' (unknown location)

Any kind of suggestions and help would be great. Thanks in advance.


Improve README

It would be nice to have a README just outlining what this library is about, example usage, etc.

readme can definitely be improved (and probably should be)!
it would also be nice to have all the goreportcard badges, go.dev links, etc and examples


hangs when trying  tree command from /

Not as fast as native terminal in ubuntu. Try using tree command from / , it hangs and makes native terminal Laugh on hyper slowness.

I should post it on hyper.

makes native terminal Laugh on hyper slowness.

thats not the best attitude, just so you know


toDataURL error

When clicking the button "Download Hi-Res" it enlarges the image but doesn't download it and throws an error in the console:

Which website was this on?
I will take a look at the issue now, but it looks like SmartFrame updated their DRM from what I'm seeing.

Finally had some time to take a look at it — yes, they had updated their DRM. They now use 'closed shadow DOMs', which are a unique little feature designed to be totally inaccessible to JS code. It took me a while to figure out how to bypass this, especially given I'm trying to break a feature written by someone smarter than me.
Nonetheless, I have a solution:
The button appears as normal but clicking it results in a refresh, and on refresh, the shadow DOM code is hijacked, resulting in every shadow DOM being 'open'. They can't be accessed normally (so the code needed a little updating), but they can be accessed, so it now works :D.
I've tested it on the sample websites in the readme — coventry.digital and the Historic England archive. Let me know if it works for you on whatever site you were using, and if it does, I will close the issue.


MPI make issues

Summary:
The current MPI make commands fail on systems with spaces in its paths and can fail when order of arguments is wrong.
Description:
When the path to the stan-math contains spaces these are not correctly handled. Moreover, on some linkers the order of things matter more than for others (http://www.network-theory.co.uk/docs/gccintro/gccintro_18.html). Both issues seem to pop up currently on develop.
Reproducible Steps:
The space problem can be tickled with place stan-math in a sub-folder (on a mac) which has spaces and then trying to build the MPI stuff.
mkdir some\ space
mv math some\ space
# then enable MPI and build it => it will fail

Reproducing the linker order thing is hard, but has happened here: http://d1m1s1b1.stat.columbia.edu:8080/blue/organizations/jenkins/Math Pipeline/detail/PR-857/6/pipeline
Current Output:
It fails.
Expected Output:
It should work.
Additional Information:
Provide any additional information here.
Current Version:
v2.17.0

this one is fixed by https://github.com/stan-dev/math/pull/896


Add autoRecursiveDerivation config option

Resolves #2126
This adds an autoRecursiveDerivation: Boolean config option that controls whether derivation should auto-recurse when it encounters a nested type with a Mirror instance. The default behavior is unchanged -- derivation will auto-recurse. When the config option is set to false, auto-recursion will only happen for types with a Mirror.Singleton instance, i.e. case objects. This allows for code like this to still compile:
sealed trait Foo
case object Bar extends Foo

given conf: Configuration = Configuration.default.withoutAutoRecursiveDerivation

// Compiles even though we haven't defined an `Encoder[Bar.type]`
Encoder.derivedConfigured[Foo]

Note on binary compatibility
The change to Configuration is currently not binary compatible -- is this an issue? If so, I think there are ways to get it to be binary compatible but they'd likely be verbose

This doesn't work as intended unfortunately -- if (conf.autoRecursiveDerivation) would need to be an inline if, which would mean that users would have to define their Configurations as inline givens.
Closing this and will follow up with a different approach.


TypeError: 'Structure' object is not subscriptable

After opening a server at webrtc.nirbheek.in I tried to run sendrecv.py and got the error:
(env) pi@raspberrypi:~/experiments/webrtc/gstwebrtc-demos/sendrecv/gst $ python webrtc-sendrecv.py --server wss://webrtc.nirbheek.in:8443 '7484'
entrou 1 <__gi__.GstWebRTCBin object at 0xb5697d50 (GstWebRTCBin at 0x209a118)>

** (python:30009): CRITICAL **: 02:08:13.665: file gstdtlsagent.c: line 192 (gst_dtls_agent_init): should not be reached

** (python:30009): CRITICAL **: 02:08:13.665: gst_dtls_agent_set_property: assertion 'self->priv->ssl_context' failed

** (python:30009): CRITICAL **: 02:08:13.665: gst_dtls_connection_set_property: assertion 'priv->ssl' failed

** (python:30009): CRITICAL **: 02:08:13.666: gst_dtls_connection_set_property: assertion 'priv->ssl' failed

** (python:30009): CRITICAL **: 02:08:13.674: gst_dtls_agent_get_certificate_pem: assertion 'GST_IS_DTLS_CERTIFICATE (self->priv->certificate)' failed

** (python:30009): CRITICAL **: 02:08:13.674: _generate_fingerprint_from_certificate: assertion 'certificate != NULL' failed

** (python:30009): CRITICAL **: 02:08:13.675: gst_dtls_connection_set_property: assertion 'priv->ssl' failed

** (python:30009): CRITICAL **: 02:08:13.676: gst_dtls_connection_set_property: assertion 'priv->ssl' failed

** (python:30009): CRITICAL **: 02:08:13.681: gst_dtls_agent_get_certificate_pem: assertion 'GST_IS_DTLS_CERTIFICATE (self->priv->certificate)' failed

** (python:30009): CRITICAL **: 02:08:13.681: _generate_fingerprint_from_certificate: assertion 'certificate != NULL' failed
!!! <Gst.Structure object at 0xb5693308 (GstStructure at 0xb1870970)>
Traceback (most recent call last):
  File "webrtc-sendrecv.py", line 54, in on_offer_created
    offer = reply['offer']
TypeError: 'Structure' object is not subscriptable

I'm running the following OS:
No LSB modules are available.
Distributor ID:	Raspbian
Description:	Raspbian GNU/Linux 10 (buster)
Release:	10
Codename:	buster

With Ubuntu 18.04, I encounter the same
File "webrtc-sendrecv.py", line 54, in on_offer_created
offer = reply['offer']
TypeError: 'Structure' object is not subscriptable
With the webrtc-sendrecv.py
But the corresponding webrtc-sendrecv binary built from webrtc-sendrecv.c works fine.
@miguelwon Maybe you can try to build the C version

I tried but also got a bunch of errors...

I tried but also got a bunch of errors...

Would you try the following one line patch?
https://github.com/centricular/gstwebrtc-demos/pull/142/commits/41d9b0ed32027592de69fa5100bbf04037af8cdb
In my environment, the python version works with the above patch

You need a new enough version of gst-python to be able to subscript GstStructures.

@ystreet Thanks for your insight:)


Feature/eks 1.21 250cloudinsights

Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Small updates to readme and images


[ABSL] Use absl::Substitute in rigid_transform debug messages.

it is at least readable.

@wally-the-cartographer merge

Merge requested by authorized user pifon2a. Merge queue now has a length of 1.


🐛框选的时候如果滚动选中，超出一屏选中的数据不完整，onDataCellBrushSelection

🏷 Version

Package
Version

@antv/s2
1.31.0

@antv/s2-react
1.24.0

@antv/s2-vue

Sheet Type

[ ] PivotSheet
[ ] TableSheet
[ ] GridAnalysisSheet
[ ] StrategySheet

🖋 Description
表格有30行数据，一屏显示10行数据，框选从第一行开始，往下滚动框选到20行，刷选api回调数据只有10行

⌨ Code Snapshots

🔗 Reproduce Link

🤔 Steps to Reproduce

😊 Expected Behavior
😅 Current Behavior
💻 System information

确实有问题, 单元格是按需加载的, 移出可视范围后销毁了, 导致拿不到完整数据, 我们看看怎么处理

:tada: This issue has been resolved in version @antv/s2-v1.33.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This issue has been resolved in version @antv/s2-react-v1.30.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Provide modifier option for links

VS Code only follows links when ctrl is held. Support for this inside xterm.js would be useful, specifically:

If the modifier is set to ctrl, the link underline will only show up when ctrl is held
Events are ignored unless ctrl is held

Also consider the following scenario:

tmux
echo 'http://google.com'

Ideally no modifier mousedown/click events on the link would be handed by tmux, but ctrl+mousedown/click events would be handled by Linkifier. Currently (after https://github.com/sourcelair/xterm.js/pull/1022) no modifier mousedown/click events on a link will never make it to tmux even when ctrl is required to follow the link.

Makes total sense, but I am worried that we might be adding too much logic into the core that does not have to do with the terminal itself.
Maybe we could rethink pulling the linkifier into an add-on and implement all that functionality there? This would require exposing more APIs though, so I am not sure if it's a viable solution.

Yeah we should think about pulling this out, because links deal with UI (tooltip, underline) it's difficult to get it right without adding a bunch of API.

i agree. Does it make sense to bundle this with the Component API?

Potentially yeah


iOS 14.3 Sharedcache does not work

Describe the bug
Using dyldsharedcache of iOS 14.3, from iPhone 11, unable to extract framework. Note, this is arm64e
The framework is unable to be extracted. The error message is as follows:
$ python extractor.py -f SPFinder ./dyld_shared_cache_arm64e Extracting SPFinder 16:59:43:074 Structure.py [CRITICAL] : Structure.parse offset is negative Traceback (most recent call last):   File "/iphone11-ios14.3/extractor.py", line 150, in <module>     extractImage(dyldFile, dyldFile.images[targetImageData[0]], "binaries\\"+targetImageData[1])   File "/iphone11-ios14.3/extractor.py", line 74, in extractImage     Converter.ObjCConverter(machoFile, dyld).convert()   File "/iphone11-ios14.3/DyldExtractor/Converter/ObjCConvertor.py", line 70, in convert     self.processSegments()   File "/iphone11-ios14.3/DyldExtractor/Converter/ObjCConvertor.py", line 149, in processSegments     self.processClassData(classObj.data)   File "/iphone11-ios14.3/DyldExtractor/Converter/ObjCConvertor.py", line 225, in processClassData     self.processMethodList(classData.baseMethods)   File "/iphone11-ios14.3/DyldExtractor/Converter/ObjCConvertor.py", line 244, in processMethodList     methList = ObjC.method_list_t.parse(self.dyldFile.file, methListOff, methListPtr)   File "/iphone11-ios14.3/DyldExtractor/ObjC.py", line 177, in parse     inst = super().parse(buffer, fileOffset, method_t, 0xffff0003, loadData=loadData)   File "/iphone11-ios14.3/DyldExtractor/ObjC.py", line 95, in parse     inst = super().parse(buffer, fileOffset, loadData=loadData)   File "/iphone11-ios14.3/DyldExtractor/Structure.py", line 85, in parse     buffer.seek(offset) OSError: [Errno 22] Invalid argument
To Reproduce

iOS 14.3
iPhone 11 12,1
python extractor.py -f SPFinder ./dyld_shared_cache_arm64e
(it seems like all of the frameworks are failing)

Additional context
This is arm64e instead of arm64 maybe that means something

arm64e is really really broken. I know this isn't exactly a fix but can you try it with an arm64 cache?

Hey! Version 3 is out, let me know how it goes.


add optional error log

The debug log can be quite verbose, so provide an
option for logging just error messages to a
separate file for easier review.

LGTM
I wonder it it would be useful to log everything >= WARNING instead >= ERROR?

That might be a good idea. We could come back and do that if we find warnings useful?


[Request] Sound that loops while push to talk or toggle talk is on.

Currently, there are options in MicMute to add custom sounds for muting and unmuting the microphone.
I think adding an option for a custom sound that loops for the duration that the microphone is unmuted would be a fun feature.
Not really necessary and important, just a fun feature I thought of.

I'm sorry but I won't do this.


Support gcc 5.2

Support for user-built gcc 5. Will also build with gcc 4. clang and visual studio targets should be unaffected by these changes.
When we upgrade to distros that ship with gcc 5 (i.e. ubuntu 15.10), we can remove most of these edits. We will need to remove the _GLIBCXX_USE_CXX11_ABI flag for sure.
@miguelportilla @ximinez

Blows up in Windows.
$ scons -j 8 debug
scons: Reading SConscript files ...
WindowsError: [Error 2] The system cannot find the file specified:
  File "C:\Dev\rippled-merge\SConstruct", line 848:
    config_env(toolchain, variant, env)
  File "C:\Dev\rippled-merge\SConstruct", line 405:
    stderr=subprocess.STDOUT).strip()
  File "c:\Python27\lib\subprocess.py", line 566:
    process = Popen(stdout=PIPE, *popenargs, **kwargs)
  File "c:\Python27\lib\subprocess.py", line 710:
    errread, errwrite)
  File "c:\Python27\lib\subprocess.py", line 958:
    startupinfo)

I've got Python 2.7.8.

Also blows up in Ubuntu 14.04 with boost 1.59.0. Different problem, though:
scons -j1 gcc.debug
scons: Reading SConscript files ...
scons: done reading SConscript files.
scons: Building targets ...
/usr/bin/g++ -o build/gcc.debug/src/ripple/unity/app_ledger.o -c -Wall -frtti -std=c++11 -Wno-invalid-offsetof -pthread -Wno-sign-compare -Wno-char-subscripts -Wno-format -g "-isystem /home/eah/boost_1_59_0" -Wno-unused-but-set-variable -Wno-deprecated -Wno-unused-local-typedefs -O0 -DOPENSSL_NO_SSL2 -DDEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER -DHAVE_USLEEP=1 -DSOCI_CXX_C11=1 -D_SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS -DDEBUG -D_DEBUG -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -Isrc -Isrc/beast -Ibuild/proto -Isrc/soci/src -Isrc/soci/include src/ripple/unity/app_ledger.cpp
In file included from src/ripple/protocol/PublicKey.h:25:0,
                 from src/ripple/protocol/Indexes.h:26,
                 from src/ripple/protocol/STLedgerEntry.h:23,
                 from src/ripple/ledger/TxMeta.h:23,
                 from src/ripple/app/ledger/Ledger.h:23,
                 from src/ripple/app/ledger/AcceptedLedgerTx.h:23,
                 from src/ripple/app/ledger/AcceptedLedger.h:23,
                 from src/ripple/app/ledger/AcceptedLedger.cpp:21,
                 from src/ripple/unity/app_ledger.cpp:22:
src/ripple/protocol/STExchange.h: In static member function ‘static void ripple::STExchange<ripple::STBlob, ripple::Slice>::get(boost::optional<ripple::Slice>&, const ripple::STBlob&)’:
src/ripple/protocol/STExchange.h:75:11: error: ‘class boost::optional<ripple::Slice>’ has no member named ‘emplace’
         t.emplace (u.data(), u.size());
           ^
src/ripple/protocol/STExchange.h: In static member function ‘static void ripple::STExchange<ripple::STBlob, ripple::Buffer>::get(boost::optional<ripple::Buffer>&, const ripple::STBlob&)’:
src/ripple/protocol/STExchange.h:98:11: error: ‘class boost::optional<ripple::Buffer>’ has no member named ‘emplace’
         t.emplace (
           ^
In file included from src/ripple/protocol/Indexes.h:26:0,
                 from src/ripple/protocol/STLedgerEntry.h:23,
                 from src/ripple/ledger/TxMeta.h:23,
                 from src/ripple/app/ledger/Ledger.h:23,
                 from src/ripple/app/ledger/AcceptedLedgerTx.h:23,
                 from src/ripple/app/ledger/AcceptedLedger.h:23,
                 from src/ripple/app/ledger/AcceptedLedger.cpp:21,
                 from src/ripple/unity/app_ledger.cpp:22:
src/ripple/protocol/PublicKey.h: In static member function ‘static void ripple::STExchange<ripple::STBlob, ripple::PublicKey>::get(boost::optional<ripple::PublicKey>&, const ripple::STBlob&)’:
src/ripple/protocol/PublicKey.h:148:11: error: ‘class boost::optional<ripple::PublicKey>’ has no member named ‘emplace’
         t.emplace (Slice(u.data(), u.size()));
           ^
In file included from src/ripple/unity/app_ledger.cpp:27:0:
src/ripple/app/ledger/Ledger.cpp: In function ‘std::tuple<std::shared_ptr<ripple::Ledger>, unsigned int, ripple::base_uint<256ul, void> > ripple::loadLedgerHelper(const string&)’:
src/ripple/app/ledger/Ledger.cpp:666:53: error: ‘class boost::optional<long unsigned int>’ has no member named ‘value_or’
         rangeCheckedCast<std::uint32_t>(ledgerSeq64.value_or (0));
                                                     ^
src/ripple/app/ledger/Ledger.cpp:682:48: error: ‘class boost::optional<long unsigned int>’ has no member named ‘value_or’
                                       totDrops.value_or(0),
                                                ^
src/ripple/app/ledger/Ledger.cpp:683:51: error: ‘class boost::optional<long unsigned int>’ has no member named ‘value_or’
                                       closingTime.value_or(0),
                                                   ^
src/ripple/app/ledger/Ledger.cpp:684:55: error: ‘class boost::optional<long unsigned int>’ has no member named ‘value_or’
                                       prevClosingTime.value_or(0),
                                                       ^
src/ripple/app/ledger/Ledger.cpp:685:50: error: ‘class boost::optional<long unsigned int>’ has no member named ‘value_or’
                                       closeFlags.value_or(0),
                                                  ^
src/ripple/app/ledger/Ledger.cpp:686:55: error: ‘class boost::optional<long unsigned int>’ has no member named ‘value_or’
                                       closeResolution.value_or(0),
                                                       ^
scons: *** [build/gcc.debug/src/ripple/unity/app_ledger.o] Error 1
scons: building terminated because of errors.

I think the problem is at https://github.com/ripple/rippled/pull/1286/files#diff-cc8093822b396591a5530a463c87d048R390. Note especially that part of the gcc command line. My guess is that the command line is wrong (especially because double-quotes are involved) and so gcc is falling back to the Ubuntu libboost 1.55 package that's installed at the system level.

@ximinez I pushed a change that should fix the issues you found. However, I decided to try to get rid of that ABI flag if I can. Don't waste your time reviewing this until I finish determining if I can remove that flag, thanks.

@ximinez Can you try your linux test again? I apt-get installed boost on my linux system, and isystem worked for me. Unfortunately, I am no longer able to test with gcc 4 on my linux system (shakes fist as protobuf).

Linux build is working.
I know you didn't ask, but I also tried Windows build. It got further than last time, but still failed. Red flag: I don't see any mention of boost on that command line.
$ scons -j1 debug
scons: Reading SConscript files ...
scons: done reading SConscript files.
scons: Building targets ...
cl /Fobuild\msvc.debug.nounity\src\ripple\core\impl\Config.obj /c src\ripple\cor
e\impl\Config.cpp /TP /nologo /bigobj /EHa /fp:precise /Gd /Gm- /GR /Gy- /FS /MP
 /openmp- /Zc:forScope /Zi /errorReport:none /nologo /W3 /WX- /wd"4018" /wd"4244
" /wd"4267" /wd"4800" /GS /MTd /Od /RTC1 /DOPENSSL_NO_SSL2 /DDEPRECATED_IN_MAC_O
S_X_VERSION_10_7_AND_LATER /DHAVE_USLEEP=1 /DSOCI_CXX_C11=1 /D_SILENCE_STDEXT_HA
SH_DEPRECATION_WARNINGS /DDEBUG /D_DEBUG /D_WIN32_WINNT=0x6000 /D_SCL_SECURE_NO_
WARNINGS /D_CRT_SECURE_NO_WARNINGS /DWIN32_CONSOLE /D_CRTDBG_MAP_ALLOC /Isrc\soc
i\src\core /Isrc\sqlite /IC:\openssl-VC-64\include /Isrc /Isrc\beast /Ibuild\pro
to /Isrc\soci\src /Isrc\soci\include /Isrc\protobuf\src /Isrc\protobuf\vsproject
s
Config.cpp
c:\Dev\rippled-merge\src\ripple/basics/BasicConfig.h(25): fatal error C1083: Can
not open include file: 'boost/lexical_cast.hpp': No such file or directory
scons: *** [build\msvc.debug.nounity\src\ripple\core\impl\Config.obj] Error 2
scons: building terminated because of errors.

Windows scons build works! :+1:

@ximinez And sorry for the windows pain. I had erroneously assumed that if scons vcxproj made no changes I was good to go.

@seelabs No worries. That's why we have reviews.

I tested this with a new Ubuntu 15.04 installation, GCC 5.2 and Boost 1.59 (built with gcc 4.92). Works fine. Requires setting up some environment variables that we have documented in confluence. I also tested a scons build on Windows using VS 2015 and Boost 1.59 which worked fine.
:+1:

@ximinez @miguelportilla Please review the last commit. It changes .travis.yml to support gcc 5. Both gcc and clang targets successfully build in my tests.

@seelabs On first pass, that looks awesome!

@seelabs On second pass, it looks like you could pretty easily support a GCC 4.8 build alongside 5 if you wanted to by adding something like
matrix:
  include:
[...]
    - compiler: gcc
      env: GCC_VER=4.8 TARGET=debug
      addons: &ao_gcc48
        apt:
          sources: ['ubuntu-toolchain-r-test']
          packages: *gcc48_pkgs

    - compiler: gcc
      env: GCC_VER=4.8 TARGET=debug.nounity
      addons: *ao_gcc48

Then we'd get 6 builds:

gcc 5, debug nounity
gcc 5, coverage
clang, debug
clang, debug.nounity
gcc 4.8, debug
gcc 4.8, debug.nounity

However, that's contingent on it actually being a good idea. Either way, I give this a :+1:

@ximinez Good idea - added gcc 4.8 support. I assume we'll drop 4.8 support when we start adding c++ 14 features, but until then let's keep it.

Love it! :+1: :100:

:+1:

Merged with 0.29.1-b11.


Validate image passed to ukvm is in ELF format

When a qcow2 image is passed to ukvm, it went past load_code, and crashed later in vcpu_loop with KVM_EXIT_SHUTDOWN.
Thanks to debugging help from @ricarkol and @rean, root cause was determined to be unsupported image format. The image i passed to ukvm was qcow2 (which happens to be the default image format for OSv), which ukvm proceeded to load as ELF without issues.
It would be good to validate image format in load_code itself in order to preempt vcpu_loop execution for code bound to crash. Also, it would be good to inform end user reason for failure. Will send PR for the validation change.

Fixed by #89.


feat: Add a flag to hide the description

This commit adds a flag to not show any of the event descriptions, like a summary view.
Some calendars have really long event descriptions containing links and all sorts of garbage. It's super handy to just see the event name. Consider:
╰→ calio buffalo-city-block-1.ics --hide-desc
Sun Jun 11 2023
    16:00-18:00 🔌BuffaloCityBlock1 Stage 4 😣

Mon Jun 12 2023
    21:00-00:00 🔌BuffaloCityBlock1 Stage 3 😟

Wed Jun 14 2023
    16:00-18:00 🔌BuffaloCityBlock1 Stage 3 😟
    18:00-19:00 ⚠  End of schedule

versus the full version:
╰→ calio buffalo-city-block-1.ics

Sun Jun 11 2023
    16:00-18:00 🔌BuffaloCityBlock1 Stage 4 😣
                This event shows that there will be loadshedding on Sunday from 16:00 to Sunday at 18:00 in the load shedding area buffalo-city-block-1.

                When new loadshedding schedules are announced, your calendar will be automatically updated to show when your power will be off.

                While these new schedules are calculated immediately, it can sometimes take a bit of time for your calendar app (ie Google Calendar, Apple iCalendar, or Outlook) to fetch the updated schedules. Often you can set the update frequency in the settings of your calendar app.

                ---

                Incorrect? Open an issue here: https://github.com/beyarkay/eskom-calendar/issues/new

                Generated by Boyd Kane's eskom-calendar: https://eskomcalendar.co.za/ec?calendar=buffalo-city-block-1.ics.

                National loadshedding information scraped from https://twitter.com/Eskom_SA/status/1667876251464335361.

                Calendar compiled on Sunday 11 Jun 2023 at 13:31:03 (UTC+02:00) by run https://github.com/beyarkay/eskom-calendar/actions/runs/5235724964.

                eskom-calendar version: https://github.com/beyarkay/eskom-calendar/tree/5cdc7ed3c3648a456d42af8728075b09af5ec019

Mon Jun 12 2023
    21:00-00:00 🔌BuffaloCityBlock1 Stage 3 😟
                This event shows that there will be loadshedding on Monday from 21:00 to Tuesday at 00:00 in the load shedding area buffalo-city-block-1.

                When new loadshedding schedules are announced, your calendar will be automatically updated to show when your power will be off.

                While these new schedules are calculated immediately, it can sometimes take a bit of time for your calendar app (ie Google Calendar, Apple iCalendar, or Outlook) to fetch the updated schedules. Often you can set the update frequency in the settings of your calendar app.

                ---

                Incorrect? Open an issue here: https://github.com/beyarkay/eskom-calendar/issues/new

                Generated by Boyd Kane's eskom-calendar: https://eskomcalendar.co.za/ec?calendar=buffalo-city-block-1.ics.

                National loadshedding information scraped from https://twitter.com/Eskom_SA/status/1667876251464335361.

                Calendar compiled on Sunday 11 Jun 2023 at 13:31:03 (UTC+02:00) by run https://github.com/beyarkay/eskom-calendar/actions/runs/5235724964.

                eskom-calendar version: https://github.com/beyarkay/eskom-calendar/tree/5cdc7ed3c3648a456d42af8728075b09af5ec019

Wed Jun 14 2023
    16:00-18:00 🔌BuffaloCityBlock1 Stage 3 😟
                This event shows that there will be loadshedding on Wednesday from 16:00 to Wednesday at 18:00 in the load shedding area buffalo-city-block-1.

                When new loadshedding schedules are announced, your calendar will be automatically updated to show when your power will be off.

                While these new schedules are calculated immediately, it can sometimes take a bit oftime for your calendar app (ie Google Calendar, Apple iCalendar, or Outlook) to fetch the updated schedules. Often you can set the update frequency in the settings of your calendar app.

                ---

                Incorrect? Open an issue here: https://github.com/beyarkay/eskom-calendar/issues/new

                Generated byBoyd Kane's eskom-calendar: https://eskomcalendar.co.za/ec?calendar=buffalo-city-block-1.ics.

                National loadshedding information scraped from https://twitter.com/Eskom_SA/status/1667876251464335361.

                Calendar compiled onSunday 11 Jun 2023 at 13:31:03 (UTC+02:00) by run https://github.com/beyarkay/eskom-calendar/actions/runs/5235724964.

                eskom-calendar version: https://github.com/beyarkay/eskom-calendar/tree/5cdc7ed3c3648a456d42af8728075b09af5ec019

    18:00-19:00 ⚠  End of schedule
                This is the end of the known loadshedding schedule.

                Unfortunately only a few days worth of loadshedding schedules are released at a time. An update to the loadshedding schedule is usually announced a day or two before the previous schedule runs out, so this event will move in your calendar as new schedules are announced.

                You don't have to do anything, but just know that there might be loadshedding after this point, but there also might not. It's impossible to say for sure.

                Incorrect? Open an issuehere: https://github.com/beyarkay/eskom-calendar/issues/new

                ---
                Generated by Boyd Kane's eskom-calendar: https://github.com/beyarkay/eskom-calendar/tree/5cdc7ed3c3648a456d42af8728075b09af5ec019

                Calendar compiled at 2023-06-11T13:31:03.330216061+00:00

The former is quite a bit more readable.

Thanks for the tool!


Add original twine stories to help learning cradle

Can you attach the twine stories that you import in so we can use it to learn this library?

Original story found under cradle/Examples/Clockwork/
The file is: Clockwork.html


⚠ Jenkins Plugins Artifactory has degraded performance

In 930a237, Jenkins Plugins Artifactory (https://get.jenkins.io/plugins/artifactory/) experienced degraded performance:

HTTP code: 200
Response time: 1287 ms

Resolved: Jenkins Plugins Artifactory performance has improved in b995c58 after 28 minutes.


Audit Events filter now working- GET /v3/audit_events?created_ats[lt]=2020-01-02T00:00:00Z&created_ats[gt]=2019-12-31T23:59:59Z

Thanks for submitting an issue to cloud_controller_ng. We are always trying to improve! To help us, please fill out the following template.
Issue
Audit Events time interval not working. Need this to retrieve all the events for a time interval thru our scheduler.
GET /v3/audit_events?created_ats[lt]=2020-01-02T00:00:00Z&created_ats[gt]=2019-12-31T23:59:59Z
Context
Should be able to get a list of events for a certain time interval.
Steps to Reproduce
GET /v3/audit_events?created_ats[lt]=2020-01-02T00:00:00Z&created_ats[gt]=2019-12-31T23:59:59Z
Expected result
with list of resources in the response.
Current result
{
"errors": [
{
"detail": "The query parameter is invalid: Unknown query parameter(s): 'created_ats'",
"title": "CF-BadQueryParameter",
"code": 10005
}
]
}
[include relevant logs]
Possible Fix
[not obligatory, but suggest fixes or reasons for the bug]
name of issue screenshot
Audit Events issue

Hi @rchalapaka ,
I've run the curl command you listed, GET /v3/audit_events?created_ats[lt]=2020-01-02T00:00:00Z&created_ats[gt]=2019-12-31T23:59:59Z, and was able to successfully curl the endpoint against the most recent capi-release version.
Could you check the cloud controller version you are using? Audit event filtering by created_ats was introduced in capi-release 1.97.0, which corresponds to Cloud Controller v3 API version 3.87.0, so earlier versions will not be able to successfully complete the request.
You can check your Cloud Controller API version by curling the API root url, e.g. api.system_domain, and looking for the cloud_controller_v3.meta.version field.

Thanks for the response. We are using the v3.80 and that could be the reason why it didn't work.

Sounds like that's the issue. I'm going to close this out, feel free to reopen it if you continue to have trouble once you're on a version where filtering audit events by created_ats is supported.


Some computestorage.FormatWritableLayerVhd breakage in master vs 0.9.2?

I was attempting to rebase https://github.com/containerd/containerd/pull/4419 onto https://github.com/microsoft/hcsshim/pull/901 to verify it, and this involves upgrading hcsshim from v0.9.2 to master (+my PR).
I noticed a couple of unrelated test failures in containerd, and so I put together a branch that was just the hcsshim upgrade (specific commit in CI) and it produces the same test failures, which are different failures for the same test in Windows Server 2019 and Windows Server 2022.
The failing test is pkg/os TestResolvePath line 153, and on Windows Serve 2019 it reports:
=== FAIL: pkg/os TestResolvePath (0.50s)
    os_windows_test.go:153: failed to format VHD: failed to attach virtual disk: Incorrect function.

while on Windows Server 2022 it reports
=== FAIL: pkg/os TestResolvePath (0.22s)
    os_windows_test.go:153: failed to format VHD: failed to attach virtual disk: The process cannot access the file because it is being used by another process.

My guess is that there's some conflict between the RS5 workaround for disk handle vs VHD handle in containerd and the same workaround in hcsshim master which wasn't present in v0.9.2.
That said, since neither workaround should be active on Windows Server 2022, perhaps there's something else going on.
I haven't tested it (I might quickly do so by removing the workaround from containerd), but perhaps the function should be renamed or have its type changed in some way to highlight to callers that the API behaviour has changed and now always expects the VHD Handle, never the disk handle?

Okay, that's fun. I tried the obvious fix and now on Windows Server 2019, we get
=== FAIL: pkg/os TestResolvePath (0.42s)
    os_windows_test.go:81: failed to format VHD: failed to attach virtual disk: The process cannot access the file because it is being used by another process.

and on Windows Server 2022 we get
=== FAIL: pkg/os TestResolvePath (0.21s)
    os_windows_test.go:81: failed to format VHD: failed to attach virtual disk: The process cannot access the file because it is being used by another process.

i.e. both fail the way Windows Server 2022 did earlier, which means that something has changed elsewhere. The earlier Incorrect function error was the double-workaround causing the hcsshim workaround to receive a Disk Handle when it expected a VHD Handle to turn into a disk Handle.
On Windows Server 2019, this might be another behaviour change, that the hcshim API expects the VHD to not be attached now, but used to expect the VHD to be attached? Actually, looking closer, this is probably also related to the workaround lowering, since the containerd-level workaround didn't attach the VHD first, because the calling code already did. The comment on computestorage.FormatWritableLayerVhd says "If the VHD is not mounted it will be temporarily mounted." but I suspect right now the actual state is "The VHD must not be mounted, as it will be temporarily mounted", but this might be a factor of the Windows Server 2019 workaround codepath.
Oddly enough, failed to attach virtual disk suggests that it's hitting the osversion.Build() < osversion.V19H1 codepath in both cases, which means perhaps osversion.Build() is coming in too low, which suggests that something's not manifested correctly.
I do note that the containerd version of the workaround explicitly avoided relying on being manifested correctly, so perhaps the issue was that (without my quick-fix) on Server 2019 the workaround was being applied twice instead of once, and on Windows Server 2022 irrespective of my quick-fix, the workaround is being applied once instead of nonce.

@TBBle It's likely because containerd isn't manifested as you mentioned in the end. I believe we'll always enter the if statement as it'll return windows 8's build num. I think doing the same build number check as we do in the test might make sense for this package to avoid anyone using it to manifest, but maybe the right move is to just manifest containerd like we do for docker. Let me think about this

I'm mildly concerned about hcsshim now requiring its callers to be manifested when they aren't using hcsshim/osversion.Build() directly,

I'm not ecstatic about this either 😔 I was hoping we could find a way around or converge on changing osversion to not use GetVersion; I hear conflicting opinions internally on what's the safe way to version check. My ideal world is anything that has branching behavior based on version differences and is just a library we expose should grab a version number in a different manner, but that might not be the "right" way.

@TBBle I still think the easiest route here is finding what the downsides are of swapping osversion to a non GetVersion approach, but we'll see. Glad this didn't slip into a released tag though thankfully

Took me a while, but the discussion I was thinking of was https://github.com/containerd/containerd/pull/6697#discussion_r830393516, for which you already have context. ^_^

@TBBle Reached out to some peeps internally to try and close on this, waiting to hear back. Using the build number for feature detection is generally frowned upon but sometimes it's the easiest route.. so it'd be nice to not require manifesting your application because of leakage of the osversion pkg to others in this repo.

#ugh...

#ugh...

Isn't this fun 😌

@TBBle Well the internal vote has been cast and.. manifesting is still the only supported approach 😐 Looks like we'll have to manifest our friend Containerd it seems

I opened https://github.com/containerd/containerd/issues/6896 for the containerd side of this discussion.

A passing thought: How would we feel about panicking if osversion.Build() sees Windows 8? There was no HCS on Windows 8, so is there ever a time that's a useful return value, and not a "You forgot to manifest the binary" situation?

@TBBle Not a bad idea, I was almost thinking for cases like this to make it more flexible on our side for APIs that call it internally, we just have a constant for the build number that will be returned if it's not manifested. So for computestorage we can grab the build number and if it's the non-manifested number, we just take the handle as is and hope the caller handled things. wdyt?

e.g.
// Not the final naming 😆
if build := osversion.Build(); build == osversion.PleaseManifest {
   // Don't do anything fancy if we were going to
} else if build < osversion.V19H1 {
   // Do stuff
}

@jterry75 I'm curious on your thoughts on the above also

I kinda feel it's bordering on too much to worry about, but needing to do the dance for FormatWritableLayerVhd yourself because of an OS breaking change is also gross. I think ideally we should handle it for you

Do any of the HCS API's that check for capabilities return the OS version? Could we proxy the call to the HCS basically, get the result, and then act in our code base. Do it in a once call so that after the process knows it's always the same?

@jterry75 We might be able to do something with grabbing the current supported schema version, but the internal docs for RS5 for what this returns are a bit odd. It looks like at one point it started off at a lower version and then got bumped (probably from a KB, or the docs are wrong lol). I also don't know if they ever plan to bump schema versions on past OS'. Trying to get an answer here

Ok, horrid answer, what if we do a once shell out to cmd to get the answer, then cache. So our process incurs only one awful awful hack, but then nobody needs to be manifested?

@jterry75 @helsaawy Actually had this idea also 😆 Are you suggesting this for the osversion package in general or just for the computestorage call

The osversion in general. It will all be in the same process, so if we fix it there we fix it everywhere. And honestly, Windows processes start so fast anyways.... we wont even notice the change


Patch for #366: Separate FileSegment interface from AbstractFileSegment impl

Patch for issue #366
Also cleaned up Javadoc. All docs in collection package no read consistently.

@Peilin-Yang yes I agree it's a bit confusing but not that bad...

A user is unlikely going to be using more than one collection at once, so I think it's okay that all the collection inner classes have the same name.
From the perspective of the Indexer, it only needs to care about the interface.

I don't like FileSegmentImpl because then we should have DocumentImpl to be consistent, which is kinda ugly.
How's this?

AbstractFileSegment -> BaseFileSegment per your suggestion.
Foo.FileSegment -> Foo.Segment: since they are under the collection class, it's clear that they are file segments. In principle we could have MemorySegment or even StreamSegment later?

So Segment will always refer to concrete impl in the context of various collections, and FileSegment will unambiguously refer to the abstraction?

I feel it should be the other way around - Segment as the name of the interface and FileSegment inside each collection. MemorySegment and StreamSegment are other types of Segment.

Okay, Segment interface, BaseFileSegment, and FileSegment inner classes?

LGTM


vscodebot on GitHub incorrectly marks every issue as being 'integrated terminal'

Issue Type: Bug
For example...

... this one.

... this one.

I think the bot uses ML and guesses the tags based on the contents of the issue. I don't think it's expected to be 100% accurate, but it helps reduce the effort for humans to do.
I suspect it tagged this one because you wrote "integrated terminal" in the subject, and it's learned that most issues that contain that phrase end up being tagged as it. I suspect the reason your previous issue was tagged with it is that it talks about PATH, and that probably comes up frequently in integrated terminal cases.

Thanks @dantup. I see what you're saying about a feedback loop, to add to that: the bad behavior started started with #47940 - which doesn't mention the terminal in any way. I have mentioned terminal in some of the previous issues, but the signalling seems to be off.
Does it tag everything for you with 'integrated terminal'?

That one mentions emoji - and there have been a lot of emoji issues tagged as integrated-terminal:
https://github.com/Microsoft/vscode/issues?q=emoji+label%3Aintegrated-terminal
I wouldn't worry about tags - the Code team will reassign them as they see fit (and the bot will learn as they fix them).

Does it tag everything for you with 'integrated terminal'?

It does not - and if you scan the recently opened issues, you'll see it's not doing it much either. I think you just happened to open issues that contained terms that had been in terminal issues, so the maths worked out that it seemed a good choice.

OK. It's annoying for submitters - but if the bot to learns from the reassignments as you say (@chrmarti ?) it should go away on it's own. Thanks Dan.

It's annoying for submitters

I think you should just ignore the labels and assume they either mean nothing, or they will be fixed by a human when they get to it :-)

if the bot to learns from the reassignments as you say

I don't know the details because it's not open source (I wish it was :-)) but I would guess that it's being retrained periodically, so if an issue is re-tagged by a human, that would eventually be fed back into it. It's all speculation though (and some of it, like certain assignments seem to just be simple rules).

All the labels really do is assign someone, so it ends up coming to me for me to triage. I'd say the success rate is over 50%, I could opt out of the assignment but it seems like it does more good than bad.


prevents unwanted opening of the soft keyboard

Ghost clicks are busted but the corresponding form elements are still focused. This means that for example on smartphones the soft keyboard will be opened. This pull request prevents the unwanted opening of the soft keyboard.

Heads up, in the following scenario:

    <textarea ng-model="foo.bar"></textarea>

when I click the text area on a mobile device, like iOS safari, the keyboard does not open at all when I would expect it to.


Remapped F-Keys Not Working  [ F1/F24 ]

Description:
In the current version of WinJump v<IP_ADDRESS>, remapping keys to F-Keys (e.g., F1, F2, etc.) does not work as expected. While remapping with Alt and Ctrl keys functions correctly (e.g., "alt+d1"), attempting to remap with F-Keys (e.g., "F22+d1") fails to produce the desired action.
Expected Behavior:
Remapping keys to F-Keys should allow users to navigate between virtual desktops using the specified key combinations.

I'll take a look, thanks

Unfortunately in version 2.0.14 the keys F14-24 still don't work. But they still worked in version 2.0.7


Improve description of notify.dismiss() binding

I got confused by the description and thought it deleted the history of notifications so I never tried it. Went to add a keymap and it turned out this one did what I wanted already, but I think calling it "Dismiss" is more clear.

thanks!


20230601 v0.9.13 dec 4822 dec 6166

New Prod config
Self check-list:

[x] I have checked the lstchain config, in particular for:

[x] az_tel instead of sin_az_tel if data to be analyzed have been produced with lstchain <= v0.9.7
[x] "increase_nsb" and "increase_psf" are provided in "image_modifier" (if used)

[x] I have checked the environment in the lstmcpipe config and it is the one used to analyse DL>1 data
[x] I have provided the command (in README), or script (in additionnal .py file) used to produce the lstmcpipe config

Prod_ID
20230601_v0.9.13_dec_4822_dec_6166
Short description of the config
Create a production with lstchain-v0.9.13 with all testing nodes for dec_4822 and dec_6166 with sin_az_tel. The stage r0_to_dl1 is the only stage used because this production will be used as the base prod. to latter tune the NSB.
Why this config is needed
Processing of source 7 with MC processed with lstchain-v0.9.13 for dec. bands dec_4822 and dec_6166 with all available testing nodes.

🚀


Refine the other operator related names

Changes

After the PR Rename Shipwright components away from "operator": https://github.com/shipwright-io/build/pull/610
There are still some codes and comments which uses operator which may make end user or new developer confusion.
If we decide to swtich build operator to Shipwright build controller, we should review all codes and switch them all.

Still keep operator-sdk related words as before
Modify the code and related properties, etc ...
Modify in the documents
Modify in the test codes
Update the version of the Shipwright build controller from 0.0.1 to 0.3.0

/kind cleanup
Submitter Checklist

[ n ] Includes tests if functionality changed/was added
[ n ] Includes docs if changes are user-facing
[ y ] Set a kind label on this PR
[ y ] Release notes block has been filled in, or marked NONE

See the contributor guide
for details on coding conventions, github and prow interactions, and the code review process.
Release Notes
Renamed "build operator" to "build controller" in code and documentation.

/kind cleanup

@zhangtbj you currently have a release-note set but with no text
was your intent to have a release note, or to not have one?  Or is determining that part of the work in progress?

Hi @gabemontero my mistake.
It doesn't require the release notes. Just the internal fix for the renaming.
I remove the release-notes label.
Thanks!

Note: If possible it would be nice if https://github.com/shipwright-io/build/pull/632 can go first, that PR should have higher priority in general, but no strong opinions if that doesnt happen. Thanks for this missing enhancements @zhangtbj

Note: If possible it would be nice if #632 can go first, that PR should have higher priority in general, but no strong opinions if that doesnt happen. Thanks for this missing enhancements @zhangtbj

@zhangtbj @qu1queee Quick question: Since we removed any "operator" references from the End to End test anyway in #632, we could also consider removing any changes done here in the test/e2e directory from this PR.

@HeavyWombat thats a question for @zhangtbj

Hi @HeavyWombat and @qu1queee ,
After the PR is merged: https://github.com/shipwright-io/build/pull/632
I rebased this PR and remove the E2E related code change.
Please review again. Thanks!

/retest

/retest

Seems the ci/prow/4.4-unit test hangs, but I cannot see the logs or the content in the link (network issue), is there any way to rerun or restart it?

/retest


Demo need more content

I just click on demo to see sticky footer but there is nothing more than two line content .So please be clear with demo.

Sticky Footer pushes the footer down to the bottom of the page if there's not enough content to otherwise do so. There's literally nothing else to show in the demo.


Getting 'undefined is not an object' error when trying to use MST.

What's going on?
I have created a model in MST that can be used to store time. The model looks like this:
export const TimeObject = types.model('TimeObject', {
  id: types.identifier,
  hour: types.string,
  minutes: types.string,
  amOrPm: types.enumeration(['AM', 'PM']),
  timeStamp: types.number,
  numOfDrugs: types.number,
});

export const TimeStore = types
  .model('TimeStore', {
    time: types.map(TimeObject),
  })
  .actions(self => ({
    addTime(json) {
      const ids = [];

      json.forEach(timeJson => {
        if (!timeJson.id) {
          timeJson.id = uuid.v1();
        }

        ids.push(timeJson.id);
        self.time.put(timeJson);
      });

      return ids;
    },
  }));

However when I import the model in a screen to use it:
const { timeStore } = useStores();

const timeId = timeStore.addTime([
  {
    hours,
    mins,
    amOrPm,
    timeStamp: timeStamp.getTime(), //With correct values given for inputs
  },
]);

I get the undefined error. I am not sure what I'm doing wrong. I am testing this on Storybook, is there a different procedure to import it there?
Steps to reproduce

Create a new model and store
Import it to a screen and call an action.

npx ignite-cli doctor results:
  platform           win32
  arch               x64
  cpu                8 cores          Intel(R) Core(TM) i7-10510U CPU @ 1.80GHz
  directory          KinMobileApp_2   C:\Users\khann\OneDrive\Desktop\TestApp

JavaScript (and globally-installed packages)
  node                 14.11.0      C:\Program Files\nodejs\node.EXE
  npm                  6.14.8       C:\Program Files\nodejs\npm.CMD
    @aws-amplify/cli   4.32.1
    @nestjs/cli        7.5.3
    expo-cli           3.27.4
    nest               0.1.6
    react-native-cli   2.0.1
    worm-scraper       4.4.0
  yarn                 1.22.5       C:\Program Files (x86)\Yarn\bin\yarn.CMD

Ignite
  ignite-cli         7.0.8        C:\Users\khann\AppData\Roaming\npm-cache\_npx\5236\ignite.CMD
  ignite src         build        C:\Users\khann\AppData\Roaming\npm-cache\_npx\5236\node_modules\ignite-cli\build

Android
  java               15           C:\Program Files\Common Files\Oracle\Java\javapath\java.EXE
  android home       -

Hey @sankomil, could you share the code showing how you are instantiating this store? I assume you're adding it to the RootStore -- can you share the RootStore?
(BTW, adding tsx after your initial backticks will give your code blocks syntax highlighting in Github.)

Hi @jamonholmgren thanks for the tip! Currently I am instantiating it as so:
export const RootStoreModel = types.model('RootStore').props({
  timeStore: types.optional(TimeStore, {
    time: {},
  }),
});

/**
 * The RootStore instance.
 */
export interface RootStore extends Instance<typeof RootStoreModel> {}

/**
 * The data of a RootStore.
 */
export interface RootStoreSnapshot extends SnapshotOut<typeof RootStoreModel> {}

(Wow that does look a lot better)
Other than this I haven't made any changes to setupRootstore and other related functions.

I was able to solve this by just changing the order of ToggleStorybook and RootStoreProvider in app.tsx so that it now looks like this:
<RootStoreProvider value={rootStore}>
      <ToggleStorybook>
        <SafeAreaProvider initialMetrics={initialWindowMetrics}>
          <RootNavigator
            ref={navigationRef}
            initialState={initialNavigationState}
            onStateChange={onNavigationStateChange}
          />
        </SafeAreaProvider>
      </ToggleStorybook>
</RootStoreProvider>

I think because Storybook was toggled it never went to the RootStore and was thus unable to access it inside Storybook components but this method works now.


Deduplicate logic in Zig.Sdk.Cross.*.targets

We can probably generate these files based on a template at build time.

These files have intentionally diverged somewhat since they were created, so this probably isn't worth the effort anymore.


Error on page read, when field is present but empty

In some of my markdown files with frontmatter, I created them before netlify-cms with a template consisting of all usable fields being present but blank. I am using this widget to adjust a tags: list that has no entries yet, and upon opening the post edit page, I receive an error:
TypeError: e is null
Source: render, https://unpkg.com/netlify-cms-widget-create-select@^1.1.0:10

I believe this is from an unhandled exception to an empty read of that field.

Thank you for filing a pull request. The commit 87df5cfa69ded123184670f00f581dc7ee36bbcb should have fixed the issue.

Great, but now I'm getting a strange interaction with my preview template (once again only when there is an empty list field)
I don't know too much about React, but in a custom class which has been registered as a preview template, I am calling this.props.entry(["data", "FIELDNAME"], []), Every other widget, if unsuccessful or empty, uses that empty array as null fallback.
With your widget, upon an empty list field an error is still thrown entry.getIn(...) is null
I have fixed this by wrapping the function call in another fallback but I though you should know.
My temporary fix: (this.props.entry(["data", "FIELDNAME"], []) || [])

I will have a look on this.

Do you have a minimal working example?

Please disregard! I couldn't make this error repeatable reliably and its not isolated to this widget either. Thanks for your assistance!

I did a major refactor in version in 1.1.5 also aiming to solve the problem you gave. I think you not being able to reproduce it is a sign of it being fixed. Thank you for the pull request.