Allow specifying chrome to run without a sandbox and re-usable chrome options

Trello: https://trello.com/c/PlDX9ps8/180-run-govuk-docker-containers-as-root-to-allow-application-specific-mounts
We have an issue configuring Docker volumes in govuk-docker when containers aren't running as root, we have configured our Ruby containers to run as a non-root user so that we can run Google Chrome for browser tests. To resolve these problems this allows an env var GOVUK_TEST_CHROME_NO_SANDBOX to specify no-sandbox as a Chrome argument to allow running the tests as root.
This also provides a public method of .chrome_selenium_options which can be used to access the base arguments for Google Chrome (including whether or not there is a sandbox). This has been provided so we don't have to re-define these arguments when Chrome is used in other contexts (such as Jasmine tests).
(lots) more info in the commits

Sure @benthorner that pattern is nicer but does have a few complications. I've applied it now with a couple of the trade offs documented in the (rather long) commit.

Thanks for trying it out! Just one thing that's confusing me: how come we need to memoise at all?

Thanks for trying it out! Just one thing that's confusing me: how come we need to memoise at all?

If we don't memoise it then you end up with the confusing approach where you can do:
GovukTest.configure { |selenium_options| selenium_options.add_option(:window_size, "1366,768") }
GovukTest.chrome_selenium_options
=> # different options lacking your window_size configuration.

Ah, I see. I think that may depend on your point of view, and perhaps the naming of the method: that wouldn't be an surprise for me (or it might be ambiguous, and I'd have to check). We could go with something like base_chrome.... I thought I'd mention in case it helps to simplify further, noting we only want to break it once.

I'm wondering if we can make it a bit simpler

I guess this would mean simplifying the simplified 😇.

Ah, I see. I think that may depend on your point of view, and perhaps the naming of the method: that wouldn't be an surprise for me (or it might be ambiguous, and I'd have to check). We could go with something like base_chrome.... I thought I'd mention in case it helps to simplify further, noting we only want to break it once.

I'm wondering if we can make it a bit simpler

I guess this would mean simplifying the simplified 😇.

Sure, thanks. Hmm I'm not delighted about a base_ method it seems to simplify code to complicate the actual system. I think in general I'm not that confident in the need for these options and it seems like it's gradually getting more complex/nuanced.
I think the simplest thing would be to remove options or yield to GovukTest.configure and if someone really wants to change options they can re-register the driver. For example:
Capybara.register_driver :headless_chrome do |app|
  Capybara::Selenium::Driver.new(
    ## ...
  )
end

So the functionality is still available if you need to but you can do it separately to GovukTest rather than intermingling.
Since the only app that makes use of the option is https://github.com/alphagov/datagovuk_find/blob/76a78a6470ed6953864a432e6f5912b852f0beb9/spec/support/govuk_test.rb#L1 which shouldn't need it anymore (I don't think it needs the w3 option) and the other app that probably could/should use is GovukTest is publishing-e2e-tests, which also uses desiredCapabilities which means, to keep it as is, would need further configuration: https://github.com/alphagov/publishing-e2e-tests/blob/43ac18bba872c8f73e5a543190cfc787a86c38bb/spec/spec_helper.rb#L117-L130
How's that grab you?

Sure, that's a good suggestion - I agree it's a bit strange to expose the config in two different ways. Thanks for sticking with my minor suggestion (as a tangent of another minor suggestion).

Thanks @benthorner I've updated this now.

8,000 force pushes later (sorry if you got an email for everyone) it should be all good now.


Use the pairs and fromOneStep functions from Kiama 2.1.0-RC2

Those did not exist in Kiama 2.1.0-RC1.

fixed with #82


perf: opt version context

Closes #26

:tada: This PR is included in version 0.0.7 :tada:
The release is available on:

v0.0.7
GitHub release

Your semantic-release bot :package::rocket:


Fix linux builds with separate debug symbols file when there is a space in the path.

Building the engine in linux with symbols fails if the repo is at a path with spaces in any of the parent folder names.
Black autoformatter breaks this string when applying the autoformat, that's why I add the lines that disable black from formatting those lines.

Black autoformatter breaks this string when applying the autoformat, that's why I add the lines that disable black from formatting those lines.

How does it break it? I get this formatting, which seems correct to me:
def make_debug_linuxbsd(target, source, env):
    dst = str(target[0])
    os.system('objcopy --only-keep-debug "{0}" "{0}.debugsymbols"'.format(dst))
    os.system('strip --strip-debug --strip-unneeded "{0}"'.format(dst))
    os.system('objcopy --add-gnu-debuglink="{0}.debugsymbols" "{0}"'.format(dst))

How does it break it?

It leaves it exactly as it is in master at the moment. If you try to push it, the CI will complain and will tell you to leave it how it was before.
Last time I tried was a some months ago, I think I tried single quotes but it would correct it back to double quotes with the wrong formatting. I will try again now to confirm if it is really the case.

Thanks!


Second run of setupv2.sh needed to not leak the ISP_IP

Testrun on RaspiBlitz aarch64 v1.8.0rc2
Error:
Checking wireguard installation...
Installing wireguard...
> wireguard installed

Error: ipv4: FIB table does not exist.
Flush terminated
Copy wireguard conf file to /etc/wireguard and apply network rules...

Full logs:
redacted the ISP_IP TUNNELSATS_VPN_IP VPN_PORT
admin@<IP_ADDRESS>:~/download/tunnelsats ₿ sudo bash setupv2.sh

###############################
         TunnelSats v2
         Setup Script
         Version:
         v0.0.5
###############################

Looking for WireGuard config file...
> tunnelsatsv2.conf found, proceeding.

RaspiBlitz detected, lnd conf safety check removed

Checking and installing requirements...
Updating the package repositories...

Checking cgroup-tools...
Installing cgroup-tools...
> cgroup-tools installed

Checking nftables installation...
> nftables found

Checking wireguard installation...
Installing wireguard...
> wireguard installed

Error: ipv4: FIB table does not exist.
Flush terminated
Copy wireguard conf file to /etc/wireguard and apply network rules...
> tunnelsatsv2.conf copied to /etc/wireguard/
> network rules applied

Creating cgroup tunnelsats-create-cgroup.sh file in /etc/wireguard/...
> /etc/wireguard/tunnelsats-create-cgroup.sh created.

> tunnelsats-create-cgroup.sh created, executing...
> Successfully added cgroup net_cls subsystem
> Successfully added Mark for net_cls subsystem
> Created tunnelsats cgroup successfully

Creating cgroup systemd service...
Created symlink /etc/systemd/system/multi-user.target.wants/tunnelsats-create-cgroup.service → /etc/systemd/system/tunnelsats-create-cgroup.service.
> tunnelsats-create-cgroup.service: systemd service enabled and started

Creating tunnelsats-splitting-processes.sh file in /etc/wireguard/...
> /etc/wireguard/tunnelsats-splitting-processes.sh created
> tunnelsats-splitting-processes.sh created, executing...
> 2 Process(es) successfully excluded
> tunnelsats-splitting-processes.sh successfully executed

Creating tunnelsats-splitting-processes systemd service...
> tunnelsats-splitting-processes.service created
> tunnelsats-splitting-processes.timer created
Created symlink /etc/systemd/system/multi-user.target.wants/tunnelsats-splitting-processes.service → /etc/systemd/system/tunnelsats-splitting-processes.service.
> tunnelsats-splitting-processes.servicee: systemd service enabled and started
Created symlink /etc/systemd/system/timers.target.wants/tunnelsats-splitting-processes.timer → /etc/systemd/system/tunnelsats-splitting-processes.timer.
> tunnelsats-splitting-processes.timer: systemd timer enabled and started

> lnd.service updated now starts in cgroup tunnelsats

> backup saved under /etc/systemd/system/lnd.service.bak

> lnd.service restarting ...

> lnd.service restarted

Initializing the service...
Created symlink<EMAIL_ADDRESS>→<EMAIL_ADDRESS>> wireguard systemd service enabled and started

Verifying tunnel ...
> Tunnel is active
      Your ISP external IP: ISP_IP
      Your Tunnelsats external IP: TUNNELSATS_VPN_IP

Checking for firewalls and adjusting settings if applicable...
> ufw detected. VPN port rule added

______________________________________________________________________

These are your personal VPN credentials for your lightning configuration.

LND:
#########################################
[Application Options]
listen=<IP_ADDRESS>:9735
externalip=TUNNELSATS_VPN_IP:VPN_PORT
[Tor]
tor.streamisolation=false
tor.skip-proxy-for-clearnet-targets=true
#########################################

CLN:
###############################################################################
Umbrel 0.5+
(edit /home/umbrel/umbrel/app-data/core-lightning/docker-compose.yml file
in section 'lightningd' - 'command' as follows):
comment out the following line:
#- --bind-addr=:9735
add the following lines:
- --bind-addr=<IP_ADDRESS>:9735
- --announce-addr=TUNNELSATS_VPN_IP:VPN_PORT
- --always-use-proxy=false

Native CLN (config file):
bind-addr=<IP_ADDRESS>:9735
announce-addr=TUNNELSATS_VPN_IP:VPN_PORT
always-use-proxy=false
###############################################################################

Please save them in a file or write them down for later use.

A more detailed guide is available at: https://blckbx.github.io/tunnelsats/
Afterwards please restart LND / CLN for changes to take effect.

VPN setup completed!

The was no error on the second run and the CLN logs show the change:
INFO    PEER_1-channeld-chan#77: Peer connection lost
INFO    PEER_1-chan#77: Peer transient failure in CHANNELD_NORMAL: channeld: Owning subdaemon channeld died (62208)
INFO    PEER_1-chan#77: Peer transient failure in CHANNELD_NORMAL: Reconnected
INFO    PEER_2-channeld-chan#78: Peer connection lost
INFO    PEER_2-chan#78: Peer transient failure in CHANNELD_NORMAL: channeld: Owning subdaemon channeld died (62208)
INFO    lightningd: Peer says it sees our address as: ISP_IP.132:53888
INFO    PEER_3-channeld-chan#79: Peer connection lost
INFO    PEER_3-chan#79: Peer transient failure in CHANNELD_NORMAL: channeld: Owning subdaemon channeld died (62208)
INFO    lightningd: Peer says it sees our address as: ISP_IP.132:40076
INFO    PEER_1-channeld-chan#77: Peer connection lost
INFO    PEER_1-chan#77: Peer transient failure in CHANNELD_NORMAL: channeld: Owning subdaemon channeld died (62208)
INFO    PEER_2-channeld-chan#78: Peer connection lost
INFO    PEER_2-chan#78: Peer transient failure in CHANNELD_NORMAL: channeld: Owning subdaemon channeld died (62208)
INFO    lightningd: Peer says it sees our address as: TUNNELSATS_VPN_IP:53890
INFO    PEER_3-channeld-chan#79: Peer connection lost
INFO    PEER_3-chan#79: Peer transient failure in CHANNELD_NORMAL: channeld: Owning subdaemon channeld died (62208)
INFO    lightningd: Peer says it sees our address as: TUNNELSATS_VPN_IP:40078

Surpisingly:
$ curl api.ipify.org

still shows the ISP_IP
$ nc -zv TUNNELSAT_VPN_IP VPN_PORT

port [tcp/*] succeeded!

Thanks for reporting:
to your first error:
will be fixed happens bc we do not check for the routing table to exist before flusing it
ip route flush table 51820
to your second command why curl ifconfig.me still reports your ISP address:
thats normal wie only tunnel lnd traffic, so to see your tunnelsats ip do
sudo cgexec -g net_cls:splitted_processes curl ifconfig.me

maybe you could change the title, ISP leakage does not happen bc we change the service file

@ziggie1984 to be clear after the first run, my peer picked up the ISP_IP which should have never happened (no real worries as the node is behind a VPN router anyway).
I get it now that the simple curl is not going though the VPN, so no issue there.

Should be solved by breaking the script on the error so there is false impression of that the CLN config is read to be changed.
What is needed for lightningd to start in the right cgroup?
I did restart ligthningd after the first setup run with the changed config -> ISP_IP in logs
Restarted the whole node -> still  ISP_IP in logs
Ran the setup again -> the the IP changed to TUNNELSATS_VPN_IP without a restart

will lightnind renamed to cln.serivce in the next blitz version ? @openoms

will lightnind renamed to cln.serivce in the next blitz version ? @openoms

no. Will remain ligthningd.service as is it is the name of the binary.
FYI for testnet and signet it is: tligthning and slightningd.service, but doubt that you would need to deal with those.

yes we modify the lightning.service or lnd.service but safe a backup for the uninstall script in case you want to revert changes

yeah testnet and signet can be modified in the script for raspiblitz by exchange every lnd.service with for example tlnd.service and the lnd.check.sh with the corresponding one. But we are not planning distinguishing between them in production.

Running the uninstallv2.sh  from main I got again:
INFO    lightningd: Peer says it sees our address as: ISP_IP.132:53888
INFO    lightningd: Peer says it sees our address as: ISP_IP.132:40076

lightningd needs to be restarted with always-use-proxy=false before deactivating the VPN.
Related both #3 and #6

Thank you for following through with all this.
Tested once again the uninstallv2 and setupv2.sh and no problems found.
Solid work!


finish supporting schema 1.3.0

support 1.3.0 for yield and lending. Lmk if there's anything else that needs to be updated

Great! Thanks.
Also totalPoolCount as shown here: https://github.com/messari/subgraphs/pull/330.
Not sure how you are diffing the schema versions but the 1.3.0 upgrade PR is missing lots of changes as we've iterated on it a couple times. For a complete set of changes, probably good to diff between the commit before the 1.3.0 PR vs the current graphql file, or you can refer to this doc, which should contain a complete list of all changes: https://github.com/messari/subgraphs/blob/master/CHANGES.md#schema-update-130

Ah I was diffing from only the main PR. I'll get in the rest 👍


Include minified version (tinymce.min.js) into bower component

Like most components usually do, it would be nice to have an up-to-date minified version bundled into angular-ui-tinymce's package.

That is a good idea. I will try to get to it soon.
Please feel free to put out a PR if you want.


Fix filter quotes wraped insert completion options

Do not query new competion when filtering file pathes, node pathes and signals
Fix #31425

Isn't it possible to fix the issue without reintroducing quotes?

@KoBeWi It does not reintroducing quotes.

Needs a rebase, otherwise seems fine to merge.

@akien-mga  Rebased.

Thanks!


Failed to connect to server

I followed all instructions but I get a "Failed to connect to server" when I try to join what it looks like a perfectly online server. Here is a GIF showing how it looks:

Question: is there a way to see the logs of the server?

Hi José,
Hi, can you tell me a little more about your setup? Which instructions are you following to set up and launch the server? Are you using a Mac? Are you able to connect to IPython?
The instructions on this page are the most reliable: http://python-minecraft.readthedocs.org/en/latest/other-setups/vagrant.html.
Mike

Hi Mike,  I think it was a problem with the client side,  I reinstalled minecraft  and everything seems to be working fine now.
Thank you very much for this awesome project, cheers from Córdoba, Argentina.


[Question] Can we enable piped style middleware router for ZF MVC just like in Expressive?

I've tried mapping routes to middleware just like in the docs but as of the moment it can only invoke one middleware action.
Is there a way we can integrate the piped style middleware router like in Zend Expressive? Or this feature is for the Router?

Can probably produce a middleware pipe from the factory responsible of dispatching a certain middleware. Needs some fiddling, but you'd implement a middleware that wraps a set of middlewares, basically.

how sad T_T
still hoping for this to happen soon :)


Repeat animation forever

Is there a way to repeat an animation indefinitely? I tried a very large number but it seems to crash immediately on iOS. It would be nice to be able to pass something like -1 to have it repeat forever.

That is a valid request. What number did you use on iOS?

I think the number used was like 100000. It locked up the UI initially and I am not certain why as it doesnt on Android.

Ok thanks for letting us know. @patrykmol is there a hard limit on the repeats?

None that I know of. I will investigate this.

@sergioradovcic Can you provide a snippet that reproduces this bug?

Any progress on this feature?

@patrykmol Could you investigate what happens with the 100000 repeats?


Fine-tuning TinyLLaVA-Phi-2-SigLIP-3.1B

Thanks for your great work. I could not find the details to fine-tune the latest model TinyLLaVA-Phi-2-SigLIP-3.1B. Before I was following this to fine-tune the model using lora. But that script does not work with the latest branch. Could you please update the readme to include the details on how to fine-tune TinyLLaVA-Phi-2-SigLIP-3.1B on custom dataset?

Hi, thanks for your suggestion!
please see here
https://github.com/TinyLLaVA/TinyLLaVA_Factory/blob/main/CUSTOM_FINETUNE.md

Hi.
No matter it is trained through custom finetune or through normal training, all of the models trained by TinyLLaVA Factory have the same evaluation procedure. Please see here,
https://tinyllava-factory.readthedocs.io/en/latest/Evaluation.html

Actually, TinyLLaVA factory codebase already supports the evalution  for lora-tuned model.

If you have any other questions with custom trained lora model on evalutaion, feel free to ask us.

Thanks for your prompt response. I will explain in more detail

I modified tinyllava/train/custom_finetune.py to include model.tokenizer = tokenizer at line 33. This change was necessary to avoid an error related to saving the model, as indicated in this line of lora_recipe.py

After training, my folder structure appears as shown below, with config.json containing "llm_model_name_or_path": "microsoft/phi-2"

For inference, I followed the inference instructions provided here.

When running the inference script, the language model is loaded using this line in load_model.py. However, it loads the "microsoft/phi-2" model instead of the fine-tuned TinyLLaVA model.
I tried modifying the code to: model.language_model = model.language_model.from_pretrained(os.path.join(model_name_or_path,"language_model"),torch_dtype=model_config.text_config.torch_dtype) However, this results in weird outputs.
There seem to be some issues in loading the language model. I would really appreciate it if you could have a look at this issue.

Since I am only tuning the LLM model with LoRA and keeping the connector and vision encoder frozen, replacing the model loading code with the following gave me expected results:
model = AutoModelForCausalLM.from_pretrained('tinyllava/TinyLLaVA-Phi-2-SigLIP-3.1B', trust_remote_code=True)
model_config = model.config
from peft import PeftModel
print("Loading LoRA weights...")
model = PeftModel.from_pretrained(model, model_name_or_path)
print("Merging LoRA weights...")
model = model.merge_and_unload()
print("Model is loaded...")

Hi, thanks for your sharing. We have fixed the bug. Please pull the latest version, hope that can fix your problem as well.

Everything seems to work well now, thanks!
I have couple of other questions as well

Is TinyLLaVA trained on a single-turn conversation dataset? Is it possible to train it on multi-turn conversations?
Can TinyLLaVA accept multiple images instead of just one?

Everything seems to work well now, thanks! I have couple of other questions as well

Is TinyLLaVA trained on a single-turn conversation dataset? Is it possible to train it on multi-turn conversations?
Can TinyLLaVA accept multiple images instead of just one?

Hi. 1. TinyLLaVA's trainingset is the same with that of LLaVA1.5 or ShareGPT4v, so it is trained on multi-turn conversations during finetuning stage.

Everything seems to work well now, thanks! I have couple of other questions as well

Is TinyLLaVA trained on a single-turn conversation dataset? Is it possible to train it on multi-turn conversations?
Can TinyLLaVA accept multiple images instead of just one?

Hi. 1. TinyLLaVA's trainingset is the same with that of LLaVA1.5 or ShareGPT4v, so it is trained on multi-turn conversations during finetuning stage.

Currently it does not accept multiple images, but in future we will make it so.


fix: :green_heart: Change the github action to ignore all forks of this template as long as the template name is the same

fixes #13

Great!
I need this also on python-project-template and flask-project-template
Thanks

I am going to ignore that linter error happening on mac os only


params: forest planted bug

intensity turns on sounds even if plant? is set to ‘no’

after numerous testing  - there is no bug on my end. Closed for now


migration: match SELinux level of source pod on target pod

What this PR does / why we need it:
When VMIs use RWX disks based on some storage classes, like cephfs, both the source and target pods of a migration need to have access to the files.
There are 2 ways to achieve that:

either remove the SELinux categories on the files for the duration of  the migration (see https://github.com/kubevirt/kubevirt/pull/9190)
or match the source categories of the source pod on the target pod

Both solutions have negative security implications, but they're the only way to deal with shared resources.
I believe this is the best approach, as it doesn't mess with the disk and doesn't expose files to the entire node/cluster for the duration of the migration.
The only downside here is that the target node could (have) create(d) a pod with the same categories.
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer:
Release note:

Fixed migration issue for VMIs that have RWX disks backed by filesystem storage classes.

/retest

/retest-required

A functest was added and this is now ready for reviews!

/retest

Looks good!
This does not happen in the RWX Block case, right? I am just trying to understand why this was never an issue with our CI lanes running ceph rbd migrations

This is actually specifically for RWX, but it's needed only for FS CSIs (at least from what I've seen so far). Ceph rbd shouldn't need this.

Looks good!
This does not happen in the RWX Block case, right? I am just trying to understand why this was never an issue with our CI lanes running ceph rbd migrations

This is actually specifically for RWX, but it's needed only for FS CSIs (at least from what I've seen so far). Ceph rbd shouldn't need this.

Yeah I am just trying to understand why this isn't a problem for ceph rbd, interesting

Looks good!
This does not happen in the RWX Block case, right? I am just trying to understand why this was never an issue with our CI lanes running ceph rbd migrations

This is actually specifically for RWX, but it's needed only for FS CSIs (at least from what I've seen so far). Ceph rbd shouldn't need this.

Yeah I am just trying to understand why this isn't a problem for ceph rbd, interesting

Don't quote me on that, but I think dev nodes for the block volumes get their own label inside the pod mount namespace thanks to overlayfs.
However, for FS volumes, the labels are handled at the filesystem level inside each volume, and there's not much k8s/overlayfs can do there.
As you can probably see I'm no k8s storage expert, but hopefully that helps!

/lgtm

Hey @jean-edouard ,
Did you have a chance to explore how this works in Kubernetes? I mean what happens if I want ReplicaSet with shared pvc? Will only one of these Pods get to read and write to pvc?
Also how is possible we did hit this only now? Is it possible this is a problem specific to a subset of CSIs?
Sorry for the delay I should be more available moving forward.

Hey @jean-edouard , Did you have a chance to explore how this works in Kubernetes? I mean what happens if I want ReplicaSet with shared pvc? Will only one of these Pods get to read and write to pvc?

With cephfs, I believe so yes. Unless some privileged entity auto-relabels new files with the level s0 (removing the categories).

Also how is possible we did hit this only now? Is it possible this is a problem specific to a subset of CSIs?

Yes, so far this issue has only been seen with cephfs. It is discussed here:
https://github.com/ceph/ceph-csi/issues/3562

I'm a bit confused as well... does this issue only exist with cephfs?
We had tests that were running with NFS and we didn't see such issues with migration. Perhaps we shouldn't support cephfs for live-migration?

Issues have only been seen with cephfs so far, but in general, it just makes sense for target virt-launchers to share the same SELinux permissions as the source ones, as they do communicate and share data (and trust each other). I'm actually more concerned about the CSIs that's don't currently fail!

This may shed some light on our questions
https://github.com/kubernetes/enhancements/blob/master/keps/sig-storage/1710-selinux-relabeling/README.md?plain=1#L122-L131

This might be solved by context mount in the future but a CSIs needs to implement it. Therefore I think we should do it right now and revisit the need in the future.

/test pull-kubevirt-e2e-k3d-1.25-sriov

/hold Just to give some time for response

/restest

/retest

/retest-required

@jean-edouard ping

uploader PR needed to be merged - https://github.com/kubevirt/kubevirt/pull/9733
/retest-required

/retest

/retest

/retest

/hold cancel

/lgtm

@jean-edouard - just a heads up. It looks like the SRIOV lane has never passed on this PR so there might be an issue there.
https://prow.ci.kubevirt.io/pr-history/?org=kubevirt&repo=kubevirt&pr=9246
Not sure if there is a point in leaving this to just retest.

/lgtm

@jean-edouard maybe we can introduce helpers for this so we don't get this wrong again in future

@jean-edouard maybe we can introduce helpers for this so we don't get this wrong again in future

@xpivarc good idea, ok to do in a later PR and unhold this one? Thanks you!

/hold cancel
@jean-edouard Sorry I have missed the hold!

/test pull-kubevirt-e2e-kind-1.27-sriov

/retest


The coreclr CI-build for FreeBSD should have PAL-tests enabled.

With test-failures now fixed in master, we should try to enable PAL-tests for the coreclr FreeBSD CI-build, to prevent future regressions.
@mmitche Is this something you can handle on your own, or will I need to issue  a PR?

I can handle it

Feel free to run a tentative run and if you experience any issues, do give me a shout :)

@josteink Will do

If I'm reading the config correctly, the PAL tests are now enabled, and I guess this issue can be closed? :)
https://github.com/dotnet/dotnet-ci/blob/master/jobs/dotnet_coreclr_freebsd_debug/config.xml#L47
https://github.com/dotnet/dotnet-ci/blob/master/jobs/dotnet_coreclr_freebsd_release/config.xml#L47

Yep :)


Not setting an id in update object results in 500 status code

When an update object does not have an id set, a ClientException is thrown with status code 500. Client exceptions should throw a 4xx level exception.

No longer pertinent


Query parameter in tyrus websocket.

Environment Details

Helidon Version:
Helidon SE
JDK version: 11
OS: macOS Bigsur

Problem Description
In helidon Tyrus WebSocket connection I can send the data as path param but not as query param is there a way to send the data as query param?
Is there any API to get the query param?
Inside modify Handshake request.getQueryString() is returning null, request.getParameterMap() this api contains only path param
Steps to reproduce
Register the wss connection in the helidon webserver server router
.register("/websocket",
    TyrusSupport.builder().register(
          ServerEndpointConfig.Builder.create(WssEndpoint.class, "/{token}")
                  .configurator(new WssEndpoint.WSSEndpointConfigurator())
                  .build())
           .build())

WSSEndpointConfigurator class extends ServerEndpointConfig.Configurator inside this class override modifyHandshake method, inside that method we have the access to the server "request" from there I have to access the query parameter

This looks like a bug in the integration code with Tyrus, where query params are being dropped by accident.

Is it correct to assume that post the fix, TyrusSession.getRequestParameterMap API would also be carrying the same query params for reference within Endpoint.onOpen post successful handshake response?

Is it correct to assume that post the fix, TyrusSession.getRequestParameterMap API would also be carrying the same query params for reference within Endpoint.onOpen post successful handshake response?

Yes, I think so. Should have a PR for this later today.

PR #4624


default_lb: Enrich comments & docstrings

The DefaultPolicy is a complex machinery. In order to grasp it fully, extensive comments are essential.
Some internal functions' names were changed, to make them more better reflect the functions' semantics.
Pre-review checklist

[ ] I have split my patch into logically separate commits.
[x] All commit messages clearly explain what they change and why.
[ ] I added relevant tests for new features and bug fixes.
[ ] All commits compile, pass static checks and pass test.
[x] PR description sums up the changes and reasons why they should be introduced.
[ ] I have provided docstrings for the public items that I want to introduce.
[ ] I have adjusted the documentation in ./docs/source/.
[ ] I added appropriate Fixes: annotations to PR description.

v1.1: justified why latency awareness is not recommended.

I propose the following, lmk what you think:

Wonderful, I'll include it in the PR.

v1.2: added  DefaultPolicyTargetComparator docstring.

v1.2.1: clippy fixes.


Extremely generic exception observed and logged and only hint of what happened is AppInsights User Flows

I have been seeing these null exceptions and thought it was my code and I have been going crazy trying to find it. Well today I finally got a little bit more info from App Insights and it seems to hint that the null reference is in App Insights itself? The User Flow from app insights shows the actions directly before and after are App Insights related. This might be a false positive though. I copied over the exception message and the stack trace itself but they are pretty useless since they are just a generic Aggregate Exception from an uncaught Task exception.
A Task's exception(s) were not observed either by Waiting on the Task or accessing its Exception property. As a result, the unobserved exception was rethrown by the finalizer thread. Object reference not set to an instance of an object.
System.AggregateException:
System.NullReferenceException:
   at System.Web.ThreadContext.AssociateWithCurrentThread (System.Web, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a)
   at System.Web.HttpApplication.OnThreadEnterPrivate (System.Web, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a)
   at System.Web.HttpApplication.System.Web.Util.ISyncContext.Enter (System.Web, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a)
   at System.Web.Util.SynchronizationHelper.SafeWrapCallback (System.Web, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a)
   at System.Threading.Tasks.Task.Execute (mscorlib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b77a5c561934e089)

User Flow:

Hello,
We have been experiencing the same behaviours, since we added the following nuget packages to our (classic) Cloud Service.
  <package id="Microsoft.ApplicationInsights.Web" version="2.14.0" targetFramework="net461" />   <package id="Microsoft.ApplicationInsights.WindowsServer" version="2.14.0" targetFramework="net461" />   <package id="Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel" version="2.14.0" targetFramework="net461" />   <package id="Microsoft.AspNet.TelemetryCorrelation" version="1.0.7" targetFramework="net461" />
System.AggregateException: System.NullReferenceException:    at System.Web.ThreadContext.AssociateWithCurrentThread (System.Web, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a)    at System.Web.HttpApplication.OnThreadEnterPrivate (System.Web, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a)    at System.Web.HttpApplication.System.Web.Util.ISyncContext.Enter (System.Web, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a)    at System.Web.Util.SynchronizationHelper.SafeWrapCallback (System.Web, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a)    at System.Threading.Tasks.Task.Execute (mscorlib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b77a5c561934e089)
User Flow:

I am currently having the exact same issue

same here

Is there any there any update to this, we're getting around 600 of these in 24 hours ?


More complete included records

As part of the updates to https://github.com/metanorma/metanorma-ietf/issues/95 , I am implementing IETF RFC rendering of references that include other references, such as IETF BCP 9.
For the rendering to be grammatical, two elements are mandatory for the included references:

A title
An author

Neither are currently present; e.g. for BCP 9:
<bibdata type="standard" schema-version="v1.2.8">
...
  <relation type="includes">
    <bibitem>
      <formattedref format="text/plain">RFC2026</formattedref>
      <docidentifier type="IETF" primary="true">RFC 2026</docidentifier>
    </bibitem>
  </relation>
...

Ideally, the complete record should be included; RFC XML expects it. Is it possible to include the title and publisher, at least, of the included bibitems?

I have put in a workaround of setting missing title as [TITLE] and author as empty, but the [TITLE] at least needs to be addressed. This is how BCP 9 is currently rendering:
   [a]        "[TITLE]", RFC 2026.
             "[TITLE]", RFC 5657.
              "[TITLE]", RFC 6410.
              "[TITLE]", RFC 7100.
              "[TITLE]", RFC 7127.
              "[TITLE]", RFC 7475.
              "[TITLE]", RFC 8789.
              "[TITLE]", RFC 9282.
              <https://www.rfc-editor.org/info/bcp9>

@opoudjis we have 3 IETF datasets: relaton-data-ids, relation-data-rfc, and relation-data-rfcsubseries. The IETF BCP 9 reference that you mentioned is in the relation-data-rfcsubseries. Do we need to include title and publisher into relation for all 3 datasets?
FYI only relaton-data-rfc has publishers. The relation-data-ids has only authors. The relation-data-rfcsubseries doesn't have contributors at all.

What xml2rfc ends up doing is breaking up the IETF BCP document into its constituent RFC references, printing them all in sequence, and printing "BCP 9" to the left of the first one, to indicate that all those RFC documents belong to the one BCP 9 document.
The  multi-document standards are IETF BCP and IETF STD documents. That's a question for you, but I would assume that it's only relation-data-rfc  documents (RFCs) being included in multi-document standards within relation-data-rfcsubseries (BCP, STD). Authors in the constituent RFC documents from relation-data-rfc are needed, and so is the RFC publisher. I don't think anything else is needed.

The relaton-data-rfcsubseries is updated:
$ relaton fetch --no-cache 'BCP 9'
[relaton-ietf] (BCP 9) Fetching from Relaton repository ...
[relaton-rss] Downloaded index from https://raw.githubusercontent.com/relaton/relaton-data-rfcsubseries/main/index-v1.zip
[relaton-ietf] (BCP 9) Found: `BCP 9`
<bibdata type="standard" schema-version="v1.2.8">
  <fetched>2024-01-15</fetched>
  <title format="text/plain" language="en" script="Latn">Best Current Practice 9</title>
  <uri type="src">https://www.rfc-editor.org/info/bcp9</uri>
  <docidentifier type="IETF" primary="true">BCP 9</docidentifier>
  <docnumber>BCP0009</docnumber>
  <language>en</language>

  <relation type="includes">
    <bibitem type="standard">
      <title type="main" format="text/plain">The Internet Standards Process -- Revision 3</title>
      <uri type="src">https://www.rfc-editor.org/info/rfc2026</uri>
      <docidentifier type="IETF" primary="true">RFC 2026</docidentifier>
      <docidentifier type="DOI">10.17487/RFC2026</docidentifier>
      <docnumber>RFC2026</docnumber>
      <date type="published">
        <on>1996-10</on>
      </date>
      <contributor>
        <role type="author"/>
        <person>
          <name>
            <completename language="en" script="Latn">S. Bradner</completename>
          </name>
        </person>
      </contributor>
      <contributor>
        <role type="publisher"/>
        <organization>
          <name>RFC Publisher</name>
        </organization>
      </contributor>
      <contributor>
        <role type="authorizer"/>
        <organization>
          <name>RFC Series</name>
        </organization>
      </contributor>
      <language>en</language>

      <abstract format="text/html" language="en" script="Latn">

This memo documents the process used by the Internet community for the standardization of protocols and procedures. It defines the stages in the standardization process, the requirements for moving a document between stages and the types of documents used during this process. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.

      </abstract>
      <series>
        <title format="text/plain">BCP</title>
        <number>9</number>
      </series>
      <series>
        <title format="text/plain">RFC</title>
        <number>2026</number>
      </series>
      <series type="stream">
        <title format="text/plain">IETF</title>
      </series>
      <keyword>Protocols</keyword>
      <keyword>copyrights</keyword>
      <keyword>intellectual</keyword>
      <keyword>property</keyword>
    </bibitem>
  </relation>
  <relation type="includes">
    <bibitem type="standard">
      <title type="main" format="text/plain">Guidance on Interoperation and Implementation Reports for Advancement to Draft Standard</title>
      <uri type="src">https://www.rfc-editor.org/info/rfc5657</uri>
      <docidentifier type="IETF" primary="true">RFC 5657</docidentifier>
      <docidentifier type="DOI">10.17487/RFC5657</docidentifier>
      <docnumber>RFC5657</docnumber>
      <date type="published">
        <on>2009-09</on>
      </date>
      <contributor>
        <role type="author"/>
        <person>
          <name>
            <completename language="en" script="Latn">L. Dusseault</completename>
          </name>
        </person>
      </contributor>
      <contributor>
        <role type="author"/>
        <person>
          <name>
            <completename language="en" script="Latn">R. Sparks</completename>
          </name>
        </person>
      </contributor>
      <contributor>
        <role type="publisher"/>
        <organization>
          <name>RFC Publisher</name>
        </organization>
      </contributor>
      <contributor>
        <role type="authorizer"/>
        <organization>
          <name>RFC Series</name>
        </organization>
      </contributor>
      <language>en</language>

      <abstract format="text/html" language="en" script="Latn">

Advancing a protocol to Draft Standard requires documentation of the interoperation and implementation of the protocol. Historic reports have varied widely in form and level of content and there is little guidance available to new report preparers. This document updates the existing processes and provides more detail on what is appropriate in an interoperability and implementation report. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.

      </abstract>
      <relation type="updates">
        <bibitem>
          <formattedref format="text/plain">RFC2026</formattedref>
          <docidentifier type="IETF" primary="true">RFC2026</docidentifier>
        </bibitem>
      </relation>
      <series>
        <title format="text/plain">BCP</title>
        <number>9</number>
      </series>
      <series>
        <title format="text/plain">RFC</title>
        <number>5657</number>
      </series>
      <series type="stream">
        <title format="text/plain">IETF</title>
      </series>
      <keyword>rfc2026</keyword>
      <keyword>2026</keyword>
      <keyword>guidance</keyword>
      <keyword>interoperation</keyword>
      <keyword>implementation</keyword>
      <keyword>reports</keyword>
      <keyword>advancement</keyword>
      <keyword>draft standard</keyword>
    </bibitem>
  </relation>
  <relation type="includes">
    <bibitem type="standard">
      <title type="main" format="text/plain">Reducing the Standards Track to Two Maturity Levels</title>
      <uri type="src">https://www.rfc-editor.org/info/rfc6410</uri>
      <docidentifier type="IETF" primary="true">RFC 6410</docidentifier>
      <docidentifier type="DOI">10.17487/RFC6410</docidentifier>
      <docnumber>RFC6410</docnumber>
      <date type="published">
        <on>2011-10</on>
      </date>
      <contributor>
        <role type="author"/>
        <person>
          <name>
            <completename language="en" script="Latn">R. Housley</completename>
          </name>
        </person>
      </contributor>
      <contributor>
        <role type="author"/>
        <person>
          <name>
            <completename language="en" script="Latn">D. Crocker</completename>
          </name>
        </person>
      </contributor>
      <contributor>
        <role type="author"/>
        <person>
          <name>
            <completename language="en" script="Latn">E. Burger</completename>
          </name>
        </person>
      </contributor>
      <contributor>
        <role type="publisher"/>
        <organization>
          <name>RFC Publisher</name>
        </organization>
      </contributor>
      <contributor>
        <role type="authorizer"/>
        <organization>
          <name>RFC Series</name>
        </organization>
      </contributor>
      <language>en</language>

      <abstract format="text/html" language="en" script="Latn">

This document updates the Internet Engineering Task Force (IETF) Standards Process defined in RFC 2026. Primarily, it reduces the Standards Process from three Standards Track maturity levels to two. This memo documents an Internet Best Current Practice.

      </abstract>
      <relation type="updates">
        <bibitem>
          <formattedref format="text/plain">RFC2026</formattedref>
          <docidentifier type="IETF" primary="true">RFC2026</docidentifier>
        </bibitem>
      </relation>
      <series>
        <title format="text/plain">BCP</title>
        <number>9</number>
      </series>
      <series>
        <title format="text/plain">RFC</title>
        <number>6410</number>
      </series>
      <series type="stream">
        <title format="text/plain">IETF</title>
      </series>
    </bibitem>
  </relation>
  <relation type="includes">
    <bibitem type="standard">
      <title type="main" format="text/plain">Retirement of the "Internet Official Protocol Standards" Summary Document</title>
      <uri type="src">https://www.rfc-editor.org/info/rfc7100</uri>
      <docidentifier type="IETF" primary="true">RFC 7100</docidentifier>
      <docidentifier type="DOI">10.17487/RFC7100</docidentifier>
      <docnumber>RFC7100</docnumber>
      <date type="published">
        <on>2013-12</on>
      </date>
      <contributor>
        <role type="author"/>
        <person>
          <name>
            <completename language="en" script="Latn">P. Resnick</completename>
          </name>
        </person>
      </contributor>
      <contributor>
        <role type="publisher"/>
        <organization>
          <name>RFC Publisher</name>
        </organization>
      </contributor>
      <contributor>
        <role type="authorizer"/>
        <organization>
          <name>RFC Series</name>
        </organization>
      </contributor>
      <language>en</language>

      <abstract format="text/html" language="en" script="Latn">

This document updates RFC 2026 to no longer use STD 1 as a summary of "Internet Official Protocol Standards". It obsoletes RFC 5000 and requests the IESG to move RFC 5000 (and therefore STD 1) to Historic status.

      </abstract>
      <relation type="updates">
        <bibitem>
          <formattedref format="text/plain">RFC2026</formattedref>
          <docidentifier type="IETF" primary="true">RFC2026</docidentifier>
        </bibitem>
      </relation>
      <series>
        <title format="text/plain">BCP</title>
        <number>9</number>
      </series>
      <series>
        <title format="text/plain">RFC</title>
        <number>7100</number>
      </series>
      <series type="stream">
        <title format="text/plain">IETF</title>
      </series>
    </bibitem>
  </relation>
  <relation type="includes">
    <bibitem type="standard">
      <title type="main" format="text/plain">Characterization of Proposed Standards</title>
      <uri type="src">https://www.rfc-editor.org/info/rfc7127</uri>
      <docidentifier type="IETF" primary="true">RFC 7127</docidentifier>
      <docidentifier type="DOI">10.17487/RFC7127</docidentifier>
      <docnumber>RFC7127</docnumber>
      <date type="published">
        <on>2014-01</on>
      </date>
      <contributor>
        <role type="author"/>
        <person>
          <name>
            <completename language="en" script="Latn">O. Kolkman</completename>
          </name>
        </person>
      </contributor>
      <contributor>
        <role type="author"/>
        <person>
          <name>
            <completename language="en" script="Latn">S. Bradner</completename>
          </name>
        </person>
      </contributor>
      <contributor>
        <role type="author"/>
        <person>
          <name>
            <completename language="en" script="Latn">S. Turner</completename>
          </name>
        </person>
      </contributor>
      <contributor>
        <role type="publisher"/>
        <organization>
          <name>RFC Publisher</name>
        </organization>
      </contributor>
      <contributor>
        <role type="authorizer"/>
        <organization>
          <name>RFC Series</name>
        </organization>
      </contributor>
      <language>en</language>

      <abstract format="text/html" language="en" script="Latn">

RFC 2026 describes the review performed by the Internet Engineering Steering Group (IESG) on IETF Proposed Standard RFCs and characterizes the maturity level of those documents. This document updates RFC 2026 by providing a current and more accurate characterization of Proposed Standards.

      </abstract>
      <relation type="updates">
        <bibitem>
          <formattedref format="text/plain">RFC2026</formattedref>
          <docidentifier type="IETF" primary="true">RFC2026</docidentifier>
        </bibitem>
      </relation>
      <series>
        <title format="text/plain">BCP</title>
        <number>9</number>
      </series>
      <series>
        <title format="text/plain">RFC</title>
        <number>7127</number>
      </series>
      <series type="stream">
        <title format="text/plain">IETF</title>
      </series>
      <keyword>Guidance</keyword>
      <keyword>Standards</keyword>
      <keyword>Standards Process</keyword>
      <keyword>Advancement</keyword>
      <keyword>Proposed Standard</keyword>
    </bibitem>
  </relation>
  <relation type="includes">
    <bibitem type="standard">
      <title type="main" format="text/plain">Increasing the Number of Area Directors in an IETF Area</title>
      <uri type="src">https://www.rfc-editor.org/info/rfc7475</uri>
      <docidentifier type="IETF" primary="true">RFC 7475</docidentifier>
      <docidentifier type="DOI">10.17487/RFC7475</docidentifier>
      <docnumber>RFC7475</docnumber>
      <date type="published">
        <on>2015-03</on>
      </date>
      <contributor>
        <role type="author"/>
        <person>
          <name>
            <completename language="en" script="Latn">S. Dawkins</completename>
          </name>
        </person>
      </contributor>
      <contributor>
        <role type="publisher"/>
        <organization>
          <name>RFC Publisher</name>
        </organization>
      </contributor>
      <contributor>
        <role type="authorizer"/>
        <organization>
          <name>RFC Series</name>
        </organization>
      </contributor>
      <language>en</language>

      <abstract format="text/html" language="en" script="Latn">

This document removes a limit on the number of Area Directors who manage an Area in the definition of "IETF Area". This document updates RFC 2026 (BCP 9) and RFC 2418 (BCP 25).

      </abstract>
      <relation type="updates">
        <bibitem>
          <formattedref format="text/plain">RFC2026</formattedref>
          <docidentifier type="IETF" primary="true">RFC2026</docidentifier>
        </bibitem>
      </relation>
      <relation type="updates">
        <bibitem>
          <formattedref format="text/plain">RFC2418</formattedref>
          <docidentifier type="IETF" primary="true">RFC2418</docidentifier>
        </bibitem>
      </relation>
      <series>
        <title format="text/plain">BCP</title>
        <number>9</number>
      </series>
      <series>
        <title format="text/plain">RFC</title>
        <number>7475</number>
      </series>
      <series type="stream">
        <title format="text/plain">IETF</title>
      </series>
    </bibitem>
  </relation>
  <relation type="includes">
    <bibitem type="standard">
      <title type="main" format="text/plain">IETF Stream Documents Require IETF Rough Consensus</title>
      <uri type="src">https://www.rfc-editor.org/info/rfc8789</uri>
      <docidentifier type="IETF" primary="true">RFC 8789</docidentifier>
      <docidentifier type="DOI">10.17487/RFC8789</docidentifier>
      <docnumber>RFC8789</docnumber>
      <date type="published">
        <on>2020-06</on>
      </date>
      <contributor>
        <role type="editor"/>
        <person>
          <name>
            <completename language="en" script="Latn">J. Halpern</completename>
          </name>
        </person>
      </contributor>
      <contributor>
        <role type="editor"/>
        <person>
          <name>
            <completename language="en" script="Latn">E. Rescorla</completename>
          </name>
        </person>
      </contributor>
      <contributor>
        <role type="publisher"/>
        <organization>
          <name>RFC Publisher</name>
        </organization>
      </contributor>
      <contributor>
        <role type="authorizer"/>
        <organization>
          <name>RFC Series</name>
        </organization>
      </contributor>
      <language>en</language>

      <abstract format="text/html" language="en" script="Latn">

This document requires that the IETF never publish any IETF Stream RFCs without IETF rough consensus. This updates RFC 2026.

      </abstract>
      <relation type="updates">
        <bibitem>
          <formattedref format="text/plain">RFC2026</formattedref>
          <docidentifier type="IETF" primary="true">RFC2026</docidentifier>
        </bibitem>
      </relation>
      <series>
        <title format="text/plain">BCP</title>
        <number>9</number>
      </series>
      <series>
        <title format="text/plain">RFC</title>
        <number>8789</number>
      </series>
      <series type="stream">
        <title format="text/plain">IETF</title>
      </series>
      <keyword>process</keyword>
      <keyword>publication</keyword>
    </bibitem>
  </relation>
  <relation type="includes">
    <bibitem type="standard">
      <title type="main" format="text/plain">Responsibility Change for the RFC Series</title>
      <uri type="src">https://www.rfc-editor.org/info/rfc9282</uri>
      <docidentifier type="IETF" primary="true">RFC 9282</docidentifier>
      <docidentifier type="DOI">10.17487/RFC9282</docidentifier>
      <docnumber>RFC9282</docnumber>
      <date type="published">
        <on>2022-06</on>
      </date>
      <contributor>
        <role type="author"/>
        <person>
          <name>
            <completename language="en" script="Latn">B. Rosen</completename>
          </name>
        </person>
      </contributor>
      <contributor>
        <role type="publisher"/>
        <organization>
          <name>RFC Publisher</name>
        </organization>
      </contributor>
      <contributor>
        <role type="authorizer"/>
        <organization>
          <name>RFC Series</name>
        </organization>
      </contributor>
      <language>en</language>

      <abstract format="text/html" language="en" script="Latn">

In RFC 9280, responsibility for the RFC Series moved to the RFC Series Working Group and the RFC Series Approval Board. It is no longer the responsibility of the RFC Editor, and the role of the IAB in the RFC Series is altered. Accordingly, in Section 2.1 of RFC 2026, the sentence "RFC publication is the direct responsibility of the RFC Editor, under the general direction of the IAB" is deleted.

      </abstract>
      <relation type="updates">
        <bibitem>
          <formattedref format="text/plain">RFC2026</formattedref>
          <docidentifier type="IETF" primary="true">RFC2026</docidentifier>
        </bibitem>
      </relation>
      <series>
        <title format="text/plain">BCP</title>
        <number>9</number>
      </series>
      <series>
        <title format="text/plain">RFC</title>
        <number>9282</number>
      </series>
      <series type="stream">
        <title format="text/plain">IETF</title>
      </series>
      <keyword>Protocols</keyword>
      <keyword>copyrights</keyword>
      <keyword>intellectual</keyword>
      <keyword>property</keyword>
    </bibitem>
  </relation>
</bibdata>

I have put in a workaround of setting missing title as [TITLE] and author as empty, but the [TITLE] at least needs to be addressed. This is how BCP 9 is currently rendering:
   [a]        "[TITLE]", RFC 2026.
              "[TITLE]", RFC 5657.
              "[TITLE]", RFC 6410.
              "[TITLE]", RFC 7100.
              "[TITLE]", RFC 7127.
              "[TITLE]", RFC 7475.
              "[TITLE]", RFC 8789.
              "[TITLE]", RFC 9282.
              <https://www.rfc-editor.org/info/bcp9>

For the record, BCPs do not currently have titles. They may be assigned titles in the future, according to @rjsparks.
When there is no title, "BCP 9" or "Best Current Practice 9" should be the title.

BCPs do not have titles or authors. BCPs are collections and they are mutable. They contain RFCs (that are not).
We have been very hand-wavy with this over time, and have a long history of showing the title and authors for the only RFC that's in a BCP, but the practice does not generalize to all BCPs.
We have had BCPs "disappear" in the sense that they went to containing zero rfcs.
We have process BCPs that we refer to that have dozens of constituent RFCs. Egg-shell-walking around the issue has let us continue to refer (badly IMO) to them by the title and authors of one of the original constituent RFCs.
This is a reality to deal with. Changing that reality will be an arduous journey through the process stakeholder's approval paths.

@ronaldtse and @rjsparks I'm afraid you've both misunderstood the concern I raised, which is an internal one.
BCPs do indeed have no title, and there is no provision for such a title in RFC XML referencegroup. The titles and IDs supplied are of the included documents. The problem I was having was that our bibliographic tool was not passing on to me the titles of the standards included in the BCP, and that was why I needed to put in "[TITLE]".
This issue has now been fixed with this ticket: the BCP 9 reference is being generated from Metanorma input:
[bibliography]
== Bibliography
* [[[a,IETF BCP 9]]]

as
   [a]        "The Internet Standards Process - Revision 3", BCP 9, RFC
              2026, IETF.

              "Guidance on Interoperation and Implementation Reports for
              Advancement to Draft Standard", BCP 9, RFC 5657, IETF.

              "Reducing the Standards Track to Two Maturity Levels",
              BCP 9, RFC 6410, IETF.

              "Retirement of the "Internet Official Protocol Standards"
              Summary Document", BCP 9, RFC 7100, IETF.

              "Characterization of Proposed Standards", BCP 9, RFC 7127,
              IETF.

              "Increasing the Number of Area Directors in an IETF Area",
              BCP 9, RFC 7475, IETF.

              "IETF Stream Documents Require IETF Rough Consensus",
              BCP 9, RFC 8789, IETF.

              "Responsibility Change for the RFC Series", BCP 9, RFC
              9282, IETF.

              <https://www.rfc-editor.org/info/bcp9>

The inserted "BCP 9" is happening because it is, after all, a document identifier, but it is redundant, and I'm reopening https://github.com/metanorma/metanorma-ietf/issues/95 to get rid of it.

Say more about specifically what you are planning to get rid of?

The repeated "BCP 9" in the references enumerated under BCP 9, because it's redundant, and extraneous to the actual references; e.g. in
"The Internet Standards Process - Revision 3", BCP 9, RFC
              2026, IETF.

Please read the discussion and worked examples at ietf-tools/xml2rfc#1067 and make sure you are going the same direction.

aaaand from that ticket, I'm undoing that change. I see you're also expecting authors, DOIs, dates, and URLs; that sounds like we have to look at our population of BCP again.


[FEATURE] Configuration File

Goal

create clusters and other resources from configuration files

Setup/Thoughts
Configuration Source Priority
CLI flags/args > Environment Variables > Config File
Flow

CLI command (e.g. k3d cluster create --config /my/config.yaml)
[CMD] validate args and flags & bind values to config params
[pkg] generate the configuration & merge values from different sources
[pkg] validate configuration values
[pkg] apply configuration

Possible Config Files
Here are some possible configuration file variants that come to my mind. I'm not exactly sure what really makes sense here.

single cluster

kind: Cluster
name: mycluster
nodes:
  - name: my-server-0
    role: server
network:
  name: external-network

list of clusters

kind: ClusterList
- name: foo-cluster
  nodes: []
- name: bar-cluster
  nodes: []

simple CLI equivalent

kind: simple
servers: 1
agents: 2
ports:
  - "80:80@lodbalancer"

single resource

kind: Node
name: mynode
ports: []

@iwilltry42 since k3d is already using cobra from the spf13 crew, this should be pretty easy to implement with viper. I think it even supports kicking out the current config to a file, so people can do reproducible builds for their cluster.
Let me know if you want me to lend a hand or give an example for a limited subset of config options. We use a combo of cobra and viper all the time at work.

Hi @darkdragn , thanks for your input :)
There's a branch up, where I'm using viper already and I agree that it's probably the best tool for this job right here 👍
However, the flag binding is probably only suitable for the "simple" (3) config, right?
Then I'd generate that one from a given file, overriden by flags and translate it to a cluster config (+ options) for the Backend.

Sorry about the delayed response. I was unaware that there were any limitations for Viper's {WriteConfig,SafeWriteConfig,WriteConfigAs,SafeWriteConfigAs}. Let me know where you found that in the docs, since we may stumble into that causing a problem at work! Thanks for the info, and let me know if you need any help!
(The sprint for the last week at work was brutal, which is why I couldn't jump on here until now, >_< )

@darkdragn , no worries, I'm also a little blocked by my day job in the past few days/weeks :grimacing:
I don't think there's a limitation in the Viper implementation, it's just, that from CLI-Settings to the Cluster Config there's a lot of translation, etc. involved, where simple flag-binding doesn't work out. That's why I was going for the split of simple and cluster config files :+1:

This is  great idea because the command line can become very long and unreadable.

Currently it seems like the solution to this will force us to move to k3d v4, as it will introduce a lot of breaking changes to k3d as a module and to how it works internally.
Though it makes the interfaces from CLI to module way cleaner :+1:

We have this in v4.x :partying_face:

Would you have a link to the doc?

@Roming22
Hot off the press: https://k3d.io/usage/configfile/


replicator metadata reconcilation should handle deleted extents in remote

Here, remote means the origin zone.

if remote is in deleted state, and local doesn't have the extent, don't create the extent locally
if remote is in deleted state, local is in open/sealed, try sealing it in store
if remote doesn't have the extent, local is in open/sealed, seal it after 24 hrs

Coverage increased (+0.07%) to 55.893% when pulling f2f48a3fd89a1912d9acacdc37a62edc549ff0c4 on replicator_reconcile_issue into 7ef9c936bc5edb5585cc09dcb9428b38b8ec3e2e on master.

Coverage increased (+0.06%) to 55.889% when pulling f2f48a3fd89a1912d9acacdc37a62edc549ff0c4 on replicator_reconcile_issue into 7ef9c936bc5edb5585cc09dcb9428b38b8ec3e2e on master.

Coverage increased (+0.08%) to 55.906% when pulling bfcf8e5e472f2e0cc2efd510a96e856309f78c04 on replicator_reconcile_issue into 7ef9c936bc5edb5585cc09dcb9428b38b8ec3e2e on master.

Coverage increased (+0.1%) to 55.935% when pulling 3a4b193b66f70c251665e2f80d4e52e2c1bfec99 on replicator_reconcile_issue into 7ef9c936bc5edb5585cc09dcb9428b38b8ec3e2e on master.


first pass implement ML/target blending

There may be a cleaner way. And not sure if we should work into tests.

Oh, and please fix Flake8. I'd like for the tests to pass on main

Pull Request Test Coverage Report for Build<PHONE_NUMBER>2
Warning: This coverage report may be inaccurate.
This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

For more information on this, see Tracking coverage changes with pull request builds.
To avoid this issue with future PRs, see these Recommended CI Configurations.
For a quick fix, rebase this PR at GitHub. Your next report should be accurate.

Details

21 of 21 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.1%) to 94.986%

Totals

Change from base Build<PHONE_NUMBER>9:
0.1%

Covered Lines:
663

Relevant Lines:
698

💛  - Coveralls


create binds with non-mod-keys only.

Description
I have a very stupid mini-keyboard, not allowing me to rebind keys in any way, so i have to rely 100% on external software to do that. So i currently had my right menu key + f9-f11 bound to my media keys (because fn does not have that functionality).
Is there any way to bind for example menu + f10? because from what ive seen, only specific keys (like super, alt, etc) can be used for that. What i intend is using something like bind = , menu ssharp, exec, playerctl play-pause.

Found a way for this, using an external tool.

There's a good chance it was https://github.com/sezanzeb/input-remapper.

Sorry for not answering, my github mail notifications are doing all kinds of shenanigans at the moment.
It was this one: https://github.com/rvaiya/keyd
All i did in my case was just remapping the menu key ("compose" apparently) to "super", because it doesnt seem like keyd can work with actual key combinations


i18n(zh-TW): Update getting-started.mdx

Description (required)

Updated getting-started.mdx to more closely match native speaker usage.

Related issues & labels (optional)

Closes #
Suggested label: i18n

Discord username: snow_viktor

Hello! Thank you for opening your first PR to Astro’s Docs! 🎉
Here’s what will happen next:

Our GitHub bots will run to check your changes.
If they spot any broken links you will see some error messages on this PR.
Don’t hesitate to ask any questions if you’re not sure what these mean!

In a few minutes, you’ll be able to see a preview of your changes on Vercel 🥳

One or more of our maintainers will take a look and may ask you to make changes.
We try to be responsive, but don’t worry if this takes a few days.

Lunaria Status Overview
🌕 This pull request will trigger status changes.

Learn more
By default, every PR changing files present in the Lunaria configuration's files property will be considered and trigger status changes accordingly.
You can change this by adding one of the keywords present in the ignoreKeywords property in your Lunaria configuration file in the PR's title (ignoring all files) or by including a tracker directive in the merged commit's description.

Tracked Files

Locale
File
Note

zh-tw
concepts/why-astro.mdx
Localization changed, will be marked as complete.

Warnings reference

Icon
Description

🔄
The source for this localization has been updated since the creation of this pull request, make sure all changes in the source have been applied.

Hi @SnowViktor Thank you first PR. But you changed why-astro.mdx but PR title is  getting-started.mdx

Hi @SnowViktor,
Thanks for taking the time to submit this PR.
As @liruifengv pointed out, the commit message is also mismatched.

Hello, @mingjunlu .
Sorry for entering the wrong PR title before, it has been corrected now.
But I'm not good at using git, so I don't know how to correct the commit message and cause other commits to occur.
Thank you.

@SnowViktor Thanks for making those changes. Welcome to Team Docs!


Add new advancements

Suggestions from discord:

Die many times
Win in ctf without having a flag taken
Win KOTH with no other team having points
Win in normal with no base damage


Always push telemetry/event notifications

Motivation
This work is necessary to help address the problem described in https://github.com/Shopify/vscode-ruby-lsp/pull/85.
It's brittle to let the plugin tell the server if telemetry/event notifications should be pushed or not. It's more robust to always send the notifications and just let the plugin decide whether to discard or do something with them.
Implementation
Removed the check for whether telemetry was enabled or not and also removed the ignored requests logic. It's much simpler to just send everything to the plugin and let it decide.
Automated Tests
Added the extra assertions expected from always sending telemetry notifications.
Manual Tests

Start the plugin in debug mode using https://github.com/Shopify/vscode-ruby-lsp/pull/85 and this PR's branch for the server
Verify that telemetry events are printed in the debug console of the plugin window

@paracycle in the second commit, I have refactored the with_telemetry method a bit. Let me know what you think.


there is no destroy method

When I try to use the destroy method I get:

jquery.loading.min.js:9 Uncaught TypeError: Cannot read property 'apply' of undefined
at HTMLDivElement. (jquery.loading.min.js:9)
at Function.each (jquery-1.11.1.min.js:2)
at m.fn.init.each (jquery-1.11.1.min.js:2)
at m.fn.init.a.fn.loading (jquery.loading.min.js:9)
at :1:27

for reproduction, you can open the browser console on the demo page and type:
    $('#loading-light-theme').loading('destroy')

True, I get the same error. This is required as every time we call loading on a single page the loading div gets added in the DOM instead of reloading the previously created.

In fact the destroy method added with #10 was never released. Sorry for my mistake. The v1.3.0 was just released and should fix this.

Nice that makes it much better :) Thank you.


Options screen

[x] Options: Resolution. Full screen. General volume. Music volume, effects. Quality.

Final result in https://github.com/azsumas/HorrorShooter/commit/a27190c31b93b4f401341cc728446f3304f829d2 commit.

Unity
22 Nov: (https://github.com/azsumas/HorrorShooter/commit/c9266175e50fd513d653e983961bc03bf9000b91)

Full screen
Gamma
23 Nov: (https://github.com/azsumas/HorrorShooter/commit/643f68c23447fa9975f7eac56462be6dcbc1a36d)
Window mode
Resolution
Quality


Update dropbox-beta to 21.3.17

After making all changes to the cask:

[x] brew cask audit --download {{cask_file}} is error-free.
[x] brew cask style --fix {{cask_file}} left no offenses.
[x] The commit message includes the cask’s name and version.

Verified locally.


800a01b6 problem: property or method unsopported

if i try to launch squelk inside a windows scriptng engine (wsh in this case by Wscript or Cscript) the engine give this error:
800a01b6 property or method unsopported
in this line:
return ((function() {
in the block QueryBuilder.prototype.toString
can you explain me some solution?
Thanks

Closing this, assuming it's no longer an issue.


Different Fonts? Foreground Colour?

I am planning to extend this project by adding support for choosing fonts and selecting foreground colours! 😁
Let's rock it! 🤘🏻

@praveenscience One of my friend has sent a huge PR which covered a few new features. So please check before contributing.


Nonconformant arguments error if non-pivot starting vertex lies on boundary

Here the initial pivot is z == 1 (i.e. x == 1, y == 0), but the starting vertex z == -i also lies on the boundary (the unit circle). We get a nonconformant arguments error:
>> tumbling_trajectory ([1; 0; -i]);
error: starting_stepsize: operator /: nonconformant arguments (op1 is 1x1, op2 is 1x2)
error: called from
    starting_stepsize at line 55 column 8
    ode45 at line 192 column 25
    solve_rotation_ode at line 29 column 43
    tumbling_trajectory at line 56 column 51

No error occurs for tumbling_trajectory ([1; 0; -0.9i]).

We could manually set the pivot to -i in this instance (or re-order the vertices):
# No error
tumbling_trajectory ([-i; 1; 0]);

But in general, automatically handling weird pivot cases is non-trivial, since currently there are no restrictions on the placement of the initial vertices and the initial pivot. It is possible to construct pathological cases:
# Square which can't move,
# also results in nonconformant arguments error
tumbling_trajectory ([1; i; -1; -i], 2 * pi, 1);

# Also shouldn't be able to move, but motion tangential to the circle
# isn't detected as a collision with the boundary
tumbling_trajectory ([1; i; -1; -i], 2 * pi, 0);

We could manually set the pivot to -i in this instance (or re-order the vertices):
# No error
tumbling_trajectory ([-i; 1; 0]);

But in general, automatically handling weird pivot cases is non-trivial, since currently there are no restrictions on the placement of the initial vertices and the initial pivot. It is possible to construct pathological cases:
# Square which can't move,
# also results in nonconformant arguments error
tumbling_trajectory ([1; i; -1; -i], 2 * pi, 1);

# Also shouldn't be able to move, but motion tangential to the circle
# isn't detected as a collision with the boundary
tumbling_trajectory ([1; i; -1; -i], 2 * pi, 0);


[Python] ctypes.ArgumentError: argument 8

I get error below in same cases, not sure where is the problem:
Traceback (most recent call last):
File "search_44_test_jinak.py", line 216, in
prediction_valid = model.predict(matrix_valid, num_iteration = model.best_iteration)
File "/usr/local/lib/python3.5/dist-packages/lightgbm-0.1-py3.5.egg/lightgbm/basic.py", line 1539, in predict
return predictor.predict(data, num_iteration, raw_score, pred_leaf, data_has_header, is_reshape)
File "/usr/local/lib/python3.5/dist-packages/lightgbm-0.1-py3.5.egg/lightgbm/basic.py", line 297, in predict
predict_type)
File "/usr/local/lib/python3.5/dist-packages/lightgbm-0.1-py3.5.egg/lightgbm/basic.py", line 357, in __pred_for_np2d
preds.ctypes.data_as(ctypes.POINTER(ctypes.c_float))
ctypes.ArgumentError: argument 8: <class 'TypeError'>: Don't know how to convert parameter 8
Environment info
Operating System: Linux
C++/Python/R version: Python 3.5

pls provide a reproducible example

@wxchan I probably found the case. I set:
iteration = numpy.random.choice([3000, 5000, 10000])
then iteration is numpy.int64 type, which cause problem in model.predict() with best_iteration setting...
When I convert iteration with int() then it is OK...

@wxchan i think you can open a PR to fix this.

I am not sure what exactly the bug is. Cannot reproduce it.

@wxchan it seems is the passed parameter num_iteration in predict. It may be the numpy type.

I tried to pass np.int32 and np.int64 to num_iteration, met no bug. @gugatr0n1c can you provide a reproducible example here?

@wxchan @guolinke
I can reproduce it with this steps each time:

iteration set as numpy.int64, ie = 1000
use early stopping
but set learning_rate is small, that early_stopping is not applied and all iterations are used
use num_iteration = model.best_iteration inside predict:
model.predict(matrix_learn, num_iteration = model.best_iteration)

When early_stopping stops learning process it is working fine - no error.

still cannot reproduce it. I think in this case, model.best_iteration should be -1.

In this case yes, but I never know before when early_stopping will stop the learning process.
But when I transform it with int() it is working. So we can close this I guess.


Gsoc2021 double float chris modify and test

HI @sinandredemption CI has been worked over to go green
There were some issues regarding GCC's stricter/different interpretation of language adherence.
I also changed the name of your constructor test file to more closely be grouped with the other cpp_double_float test files alphabetically.
I did take the liberty of creating a PR for develop branch of our fork. You should merge this fork's develop into your branch before your next development push.
I have not yet fully taken the time to look into the deeper content of your changes. I will, however, do this presently. I also want to add more compilers to CI. This too I will address asap.
Good job @sinandredemption please keep going!

Hello @ckormanyos

There were some issues regarding GCC's stricter/different interpretation of language adherence.
Thank you for fixing these. It would have taken me a while to educate myself on the compiler differences and fix things.

Thank you for your appreciation!


Add support for array filters for update

See related Java issue in JIRA and use cases from core server.

I'm thinking a new method to UpdateOperations called
    arraySet(String pattern, Object newValue, ArrayFilter filters...)`

giving something like:
UpdateOperations<Root> op = ds.createUpdateOperations(Root.class)
                .arraySet("a.$[i]", newValue, new ArrayFilter("i", position);

or
UpdateOperations<Root> op = ds.createUpdateOperations(Root.class)
                .arraySet("a.$[i].c.$[j].d", 2, new ArrayFilter("i.b", 0), new ArrayFilter("j.d", 0));

but I'm a bit stuck on how to elegeantly handle
db.coll.update({}, {$set: {“a.$[i]”: 2}}, {arrayFilters: [{$or: [{i: 0}, {i: 3}]}]})

Maybe a helper ArrayFilter.or(new ArrayFilter(i,0), new ArrayFilter(i,3)) ?

Note to self: add tests for {multi:true} and not.

Also need support for stuff with more complex conditions from the docs like
db.students2.update(
   { },
   { $set: { "grades.$[elem].mean" : 100 } },
   {
     multi: true,
     arrayFilters: [ { "elem.grade": { $gte: 85 } } ]
   }
)

any news about this issue ?

I've picked this one up three times now only to set it back down.  I'm not exactly sure how that API should look (especially when trying to be consistent with the 2.0 CRUD API changes).  I think i'll bump this to 2.1 because I want to pull all the agg stuff from 2.1 here instead.

Looking forward to this feature!


[ACR] az acr --help: Update registry and webhook example names to be lowercase

Related command
Description
Registry names must be lowercase when using them in CLI commands. In the --help file, all uses of 'MyRegistry' were capitalized, which led to confusion among users and unnecessary errors. To be consistent with the examples used in documentation, also changed the 'MyWebhook' examples to be lowercase (https://learn.microsoft.com/en-us/azure/container-registry/container-registry-webhook).
Testing Guide

History Notes
[ACR] az acr [subgroup] [command] --help: Update registry and webhook example names to be lowercase

This checklist is used to make sure that common guidelines for a pull request are followed.

[x ] The PR title and description has followed the guideline in Submitting Pull Requests.

[x ] I adhere to the Command Guidelines.

[ x] I adhere to the Error Handling Guidelines.

ACR


[SPARK-14754][SPARK CORE] Metrics as logs are not coming through slf4j

What changes were proposed in this pull request?
Two changes need to be done :

Slf4jsink.scala
Added class name for logging. (Reference : https://dropwizard.github.io/metrics/3.1.0/manual/core/#man-core-reporters-slf4j )

log4j.properties.template
Added log configuration in log4j.properties.template for in support of above changes.

How was this patch tested?
It is tested with manual testing. I build spark with make-distribution.sh and then tried few example job to print Metrics in log files.

Can one of the admins verify this patch?

I have added 2 more commits and updated the pull request.
Please have a look.
Thanks

For Slf4jSink.scala :-
Its not about class path or class level in package. It is just a name. Ex.
If you keep name like Spark.log4j, it would still work. ( and use the
same Spark.log4j in log4j.properties).  So it won't matter even if we
move class to some other folder or package.

gentle ping @mihir6692

gentle ping @mihir6692


[SPARK-35578][SQL][TEST] Add a test case for a bug in janino

What changes were proposed in this pull request?

This PR adds a unit test to show a bug in the latest janino version which fails to compile valid Java code. Unfortunately, I can't share the exact query that can trigger this bug (includes some custom expressions), but this pattern is not very uncommon and I believe can be triggered by some real queries.
A follow-up is needed before the 3.2 release, to either fix this bug in janino, or revert the janino version upgrade, or work around it in Spark.
Why are the changes needed?

make it easy for people to debug janino, as I'm not a janino expert.
Does this PR introduce any user-facing change?

no
How was this patch tested?

N/A

cc @maropu @kiszk @dongjoon-hyun

Test build #139119 has started for PR 32716 at commit baf9690.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/43639/

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/43639/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/43639/

Test build #139119 has finished for PR 32716 at commit baf9690.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
       |class MyClass

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/139119/

Thank you so much, @cloud-fan !

Good catch!

@cloud-fan Thanks for sharing this test case! Okay, I'll look into the janino code to check if we could fix the bug there. Anyway, adding this test case into master looks fine to me.

Good catch and good producable test.

Merged to master.

I opened a PR to fix this bug in janino: https://github.com/janino-compiler/janino/pull/148

Thank you so much, @maropu !


Can't create SVG Selectors for Annotations

You cannot create a target for an Annotation with a SpecificResource that has a string value for selector (see https://iiif.io/api/cookbook/recipe/0261-non-rectangular-commenting/ for an example)
Expected behaviour:

SpecificResource would allow the SvgSelector construct
Observed behaviour:

The selector attribute gets omitted completely when the JSON is printed
Potential bug location(s):

https://github.com/iiif-prezi/iiif-prezi3/blob/main/iiif_prezi3/skeleton.py#L97-L103
SpecificResource currently requires either AnyUrl or an AnnoSelectorItem class, neither of which has the value property required by SvgSelector
Any other comments:

It looks like this construct was added to the schema (https://github.com/IIIF/presentation-validator/commit/6a3a9010d32240a327940c4bd3b78dd9b32887c7) but after the last skeleton regeneration - so hopefully a regeneration should fix things pretty easily.

Hi, sorry just checking, has there been any progress with this one?

@glenrobson did you get a chance to look at the RangeRef removal?
I am happy to put in a temporary hotfix for this using the skeleton modifier tool to allow the skeleton to be regenerated, which will add the SvgSelector and resolve Joe's issue.

I did and unfortunately it broke my automated tests. I think it would be better to move to this version of the schema: https://github.com/IIIF/presentation-validator/pull/155 but it requires some work as it moves to if / then / else rather than oneOfs. I'm part way through writing some code to replace if / then / else with oneOfs for the conversion.

I have done the above and as of Release 1.2.1 support for SvgSelector is now functional :)


Command to reset winget to vanilla state

Description of the new feature / enhancement
It'd be great with a Winget command to reset all settings, preferences, pinning, everything to a vanilla state. It could help solve strange, hard to troubleshoot problems, like the one I faced in #4219 where I ended up manually deleting %LOCALAPPDATA%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\pinning.db.
I'd be happy if I could just pass a command and start from scratch.
Edit: One way to do it currently:
Get-AppxPackage -Name 'Microsoft.DesktopAppInstaller' | Reset-AppxPackage

Proposed technical implementation details
> winget reset

Are you sure? This will delete all your preferences, pinned apps etc. Y/N: Y

Winget was successfully reset to vanilla state.

>

This might be an interesting option for the new WinGet Repair command.


Building llama3:8b-instruct on 4070super?

Hi all,
I have an RTX 4070super (12 GB of VRAM, ~9GB free), i9-14900K and 64 GB of RAM, Arch linux, tensorrt-llm 0.9.0 in docker (tried 0.8.0 as well)
I'm trying to build llama3:8b-instruct using the following command:
trtllm-build --checkpoint_dir ./tllm_checkpoint_1gpu_bf16  --output_dir ./tmp/llama/8B/trt_engines/bf16/1-gpu --gpt_attention_plugin bfloat16 --gemm_plugin bfloat16

But it doesn't fit into my GPU:
[05/15/2024-14:02:54] [TRT] [I] [MemUsageChange] Init cuBLAS/cuBLASLt: CPU +0, GPU +8, now: CPU 2245, GPU 3200 (MiB)
[05/15/2024-14:02:54] [TRT] [I] [MemUsageChange] Init cuDNN: CPU +2, GPU +10, now: CPU 2247, GPU 3210 (MiB)
[05/15/2024-14:02:54] [TRT] [W] TensorRT was linked against cuDNN 8.9.6 but loaded cuDNN 8.9.2
[05/15/2024-14:02:54] [TRT] [I] Global timing cache in use. Profiling results in this builder pass will be stored.
[05/15/2024-14:02:58] [TRT] [I] [GraphReduction] The approximate region cut reduction algorithm is called.
[05/15/2024-14:02:58] [TRT] [I] Detected 13 inputs and 1 output network tensors.
[05/15/2024-14:03:05] [TRT] [E] 2: [virtualMemoryBuffer.cpp::resizePhysical::155] Error Code 2: OutOfMemory (no further information)
[05/15/2024-14:03:05] [TRT] [E] 2: [virtualMemoryBuffer.cpp::resizePhysical::140] Error Code 2: OutOfMemory (no further information)
[05/15/2024-14:03:05] [TRT] [W] Requested amount of GPU memory<PHONE_NUMBER> bytes) could not be allocated. There may not be enough free memory for allocation to succeed.
[05/15/2024-14:03:05] [TRT] [E] 2:
[05/15/2024-14:03:05] [TRT] [E] 2: [globWriter.cpp::makeResizableGpuMemory::423] Error Code 2: OutOfMemory (no further information)

Are there any workarounds to make it work on my GPU?
Or maybe at least there are pre-built versions of this model?

Fixed with these parameters:
python3 examples/llama/convert_checkpoint.py --model_dir ./Meta-Llama-3-8B-Instruct \
            --output_dir ./tllm_checkpoint_1gpu_bf16 \
            --use_weight_only \
            --weight_only_precision int4 \
            --dtype bfloat16 \
            --load_model_on_cpu

trtllm-build --checkpoint_dir ./tllm_checkpoint_1gpu_bf16 \
            --output_dir ./tmp/llama/8B/trt_engines/bf16/1-gpu \
            --gpt_attention_plugin bfloat16 \
            --gemm_plugin bfloat16 \
            --weight_only_precision int4 \
            --max_batch_size 1

It is expected to encounter OOM under BF16 for 8B model because 8B model requires about 16GB memory to store the model weight under BF16.
Close this issue since the behavior is expected.


feat: Metrics update

[ ] #2087 (deferring this for later to unblock other priority work we need to move to)
[x] #2078
[x] #2085

This is solved now, just needs a release


[BUG]: Transactions don't show up in Braintree's Sandbox Dashboard

Is there an existing issue for this?

[X] I have searched the existing issues.

🐞 Describe the Bug
Using the BraintreePayPalButtons I am able to create a payment and get the nonce in onApprove, no errors showing. But at the same time there is no trace of the payment/transaction neither in my business PayPal account nor in my sandbox Braintree account. Before, I had a similar setup with PayPalButtons and the payments I created would show up in my business PayPal dashboard.
😕 Current Behavior
When I click "Pay with PayPal" button, a pop-up login window for PayPal appears and after logging-in and confirming the payment nothing happens.
🤔 Expected Behavior
When I click "Pay with PayPal" button, a pop-up login window for PayPal appears and after logging-in and confirming the payment I expect a payment/transaction to show up in my linked Braintree Sandbox account.
🔬 Minimal Reproduction
PayPal.tsx

const PayPal: React.FC = () => {

    const [token, setToken] = useState(null);

    const price = useSelector(getPrice);
    useEffect(() => {
        (async () => {
            const { token: braintreeToken } = await (await fetch("/api/paypal-token")).json();
            setToken(braintreeToken);
        })();
    }, []);

    if (!token) return null; // or loading

    return (
        <PayPalScriptProvider options={{ "client-id": process.env.NEXT_PUBLIC_PAYPAL_CLIENT_ID, "data-client-token": token, currency: 'EUR', }}>
            <BraintreePayPalButtons
                style={{ layout: "horizontal" }}
                forceReRender={[price]}
                fundingSource="paypal"
                createOrder={(data, actions) => {
                    return actions.braintree
                        .createPayment({
                            flow: "checkout",
                            amount: price,
                            currency: "EUR",
                            intent: "capture",
                        })
                        .then((orderId) => {
                            console.log(orderId)
                            // Your code here after create the order
                            return orderId;
                        });
                }}
                onApprove={(data, actions) => {
                    return actions.braintree
                            .tokenizePayment(data)
                            .then((payload) => {
                                console.log("payload")
                                console.log(payload)
                                // createSubscription(payload);
                            });
                }}

            />
        </PayPalScriptProvider>
    );
};

paypal-token.ts

import { NextApiRequest, NextApiResponse } from "next";
import braintree from "braintree";

const gateway = new braintree.BraintreeGateway({
    environment: braintree.Environment.Sandbox,
    merchantId: process.env.NEXT_PUBLIC_BRAINTREE_MERCHANT_ID,
    publicKey: process.env.NEXT_PUBLIC_BRAINTREE_PUBLIC_KEY,
    privateKey: process.env.NEXT_PUBLIC_BRAINTREE_PRIVATE_KEY
  });

export default async (req: NextApiRequest, res: NextApiResponse) => {
    gateway.clientToken.generate({}, function (err, response) {
        res.send(JSON.stringify({token: response.clientToken}));
    });
};

🌍 Environment
| Software         | Version(s) |
| ---------------- | ---------- |
| react-paypal-js  |   ^7.6.0   |
| Browser          |   Chrome   |
| Operating System |MacOS Monterey|

Relevant log output
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

➕ Anything else?
No response

Closed since I was missing a create transaction call in Braintree.


Problems to configure

I have installed google cartographer and I'm trying to build a tf for my sensor. But I don't know how to do it in the correct way. My rqt looks like this if I start backpack_3d.launch:

I wrote the base_link like in the tutorial for tf. And I mentioned my problem in a issue before that I don't know how to link it to my camera
This is my backpack_3d.lua:
options = {
  map_builder = MAP_BUILDER,
  trajectory_builder = TRAJECTORY_BUILDER,
  map_frame = "map",
  tracking_frame = "base_link",
  published_frame = "base_link",
  odom_frame = "odom",
  provide_odom_frame = true,
  publish_frame_projected_to_2d = false,
  use_odometry = false,
  use_nav_sat = false,
  use_landmarks = false,

  num_laser_scans = 0,
  num_multi_echo_laser_scans = 0,
  num_subdivisions_per_laser_scan = 1,
  num_point_clouds = 2,
  lookup_transform_timeout_sec = 0.2,
  submap_publish_period_sec = 0.3,
  pose_publish_period_sec = 5e-3,
  trajectory_publish_period_sec = 30e-3,
  rangefinder_sampling_ratio = 1.,
  odometry_sampling_ratio = 1.,
  fixed_frame_pose_sampling_ratio = 1.,
  imu_sampling_ratio = 1.,
  landmarks_sampling_ratio = 1.,
}
TRAJECTORY_BUILDER_3D.num_accumulated_range_data = 160
MAP_BUILDER.use_trajectory_builder_3d = true
MAP_BUILDER.num_background_threads = 7
POSE_GRAPH.optimization_problem.huber_scale = 5e2
POSE_GRAPH.optimize_every_n_nodes = 320
POSE_GRAPH.constraint_builder.sampling_ratio = 0.03
POSE_GRAPH.optimization_problem.ceres_solver_options.max_num_iterations = 10
POSE_GRAPH.constraint_builder.min_score = 0.62
POSE_GRAPH.constraint_builder.global_localization_min_score = 0.66
return options

And this is the rviz view I don't know why I have an error in the submaps:

I have changed the topic of PointCloud2 to /scan_matched_points2 but I don't get the sensor data
This is how my camera.launch looks like I did a remap there but it's not working properly i guess:

So instead of linking the camera with the base, I have to link the laser data of the camera?

Closing as answered / inactive.


build tt metal in docker in CI

Ticket
https://github.com/tenstorrent/tt-metal/issues/11762
Problem description
Unify tt-metal builds with docker
What's changed
build 20.04 and 22.04 on builder machines and push to relevant ghcr registry
Checklist

[ ] Post commit CI passes
[ ] Blackhole Post commit (if applicable)
[ ] Model regression CI testing passes (if applicable)
[ ] New/Existing tests provide coverage for changes

Realized that there is a need for 'build-docker' CI runner label.
This is due to the fact that we cannot push two docker images in parallel at the same time (which can occur if 2 runners which exist on the same host pick up the same jobs for 20.04 or 22.04)

Workflows
https://github.com/tenstorrent/tt-metal/actions/runs/10589074421
https://github.com/tenstorrent/tt-metal/actions/runs/10589077225
https://github.com/tenstorrent/tt-metal/actions/runs/10589078371
https://github.com/tenstorrent/tt-metal/actions/runs/10589093129
https://github.com/tenstorrent/tt-metal/actions/runs/10589094286
https://github.com/tenstorrent/tt-metal/actions/runs/10589095697


Graphite Emitter : unable to receive metrics via Pickle protocol

I'm using Druid version <IP_ADDRESS>, and enabled the Graphite Emitter.
Metrics are sent, but do not appear in Graphite because apparently Druid metrics' names include a forward slash and a colon, which are both not allowed in Graphite.
Has anyone encountered this issue?
Some details :
I'm using a hosted Graphite service, and since the events are pickled, I've configured the port to 2004.
My Druid settings for this are :
druid.emitter=graphite
druid.emitter.graphite.hostname=<hosted-graphite-host>
druid.emitter.graphite.port=2004
druid.emitter.graphite.eventConverter={"type":"all", "namespacePrefix": "<MY-API-KEY>.druid.test"}
I changed my Druid service log level to DEBUG, and it seems the data is actually sent to graphite, but doesn't appear there :
2016-09-29T08:29:07,327 INFO [GraphiteEmitter-0] io.druid.emitter.graphite.GraphiteEmitter - trying to connect to graphite server
...
2016-09-29T08:29:07,434 DEBUG [GraphiteEmitter-0] io.druid.emitter.graphite.GraphiteEmitter - sent [.druid.test.druid/coordinator.<my-coordinator-ip>:8081.segment/overShadowed/count] with value [0] and time [1475137718]
...
2016-09-29T08:29:07,451 DEBUG [GraphiteEmitter-0] com.codahale.metrics.graphite.PickledGraphite - Wrote 43 metrics

Just to test, I've replaced the current implementation of GraphiteEmitter.sanitize() with the following:
protected static String sanitize(String namespace)
{
    Pattern DOT_OR_WHITESPACE_OR_COLON = Pattern.compile("[\\s]+|[.]+|[:]+");
    String interimSanitizedStr = DOT_OR_WHITESPACE_OR_COLON.matcher(namespace).replaceAll("_");
    Pattern FORWARD_SLASH = Pattern.compile("[/]+");
    return FORWARD_SLASH.matcher(interimSanitizedStr).replaceAll(".");
}

And it seems to work as expected, which is - replacing ':' with '_' (e.g <IP_ADDRESS>:8081 with 127_0_0_1_8081) and '/' with '.' (e.g segment/count with segment.count).
Before I continue working in that direction: @b-slim, @himanshug - you were both involved in adding #1978. Does the above change makes sense to you?
Thanks!

@itaiy i don't think that's the issue. According to the carbon server doc . and   should be replaced but don't think you need to replace / or : it is working for me and also plenty of other ppls. I am wondering if you have a configuration issue with the carbon server ?

Thanks for the quick response, @b-slim!
As mentioned above, I'm using a hosted Graphite service, and they told me those characters are not allowed by Graphite.
I couldn't find something specific in Graphite's documentation, but here are some results from around the web that support this statement (at least for forward slash):

https://github.com/dropwizard/metrics/issues/637
http://stackoverflow.com/questions/29674488/whitespace-in-statsd-metric-name (the title says "whitespace" but it also refers to slash in the content).
https://answers.launchpad.net/graphite/+question/171766
http://mingbowan.blogspot.co.il/2012/08/enable-special-character-support-in.html
The last two links are also linked from the StackOverflow question mentioned above.

Given these results, I'm not sure how it even works...
Did you have to apply some specific configuration in your own Graphite to make it work?
Also - can you refer me to any specific documentation you've seen in regards to this issue?
Thanks again!

@itaiy i get your point but i am pretty sure with recent version of carbon sever it worked (as you can see the module has been used by other as well).
now it might be that the hosted version won't accept / and : so i guess the best way to fix this is to inject the pattern of the sanatize regex as part of the config. This will ensure that it is at least backward compatible. Will be happy to see the changes and review the PR ! Thanks for reporting the issue and looking forward for the fix !

btw / need to be replace by . thought ! since it will be part of metric path.

Just wanted to update on this issue :
So the hosted-graphite guys did some more research, and there seems to be a lot of ambiguity around this issue.
Bottom line - they decided to automatically convert forward slashes to periods in metric names (for Pickle protocol only at the moment), since in practice Graphite allows forward slashes.
Colons work fine BTW (as opposed to what we initially thought).
As this is the case and considering @b-slim's comment, I'm closing this issue.
Thanks @b-slim for your answers!

@itaiy great to hear that !


Copied output from BGP Route query appears as "[object Object]"

Bug Description
When I run a ping/traceroute query and click the "Copy Output" button, the text that gets copied to my clipboard is "[object Object]" instead of the results of the query.
Expected behavior
I expected to get something that at least kinda looks like the results of the query. I think a tab-separated table might be good?
Steps to Reproduce
Run a BGP Route query and then click the "Copy Output" button.
Local Configurations
I don't think this matters.
Environment
Server

OS: Centos 7
Python Version: 3.6.8
hyperglass Version: 1.0.0-beta.51

Client

OS & Version: Windows 10 1909
Browser: Chrome 83.0.4103.116 and Firefox 78.0.2

This is with Juniper & table output, correct? I'm able to reproduce that on my system. I'll figure out a way to fix this.

Yes, correct. Thanks!