Istio's 1.8 multi-cluster multi-primary multi-network not working properly

Bug description
After configuring two clusters, each one in it's own pod network and own control plane, traffic is not properly load-balanced between the two clusters.
My guess:
When verifying installation (as in https://preliminary.istio.io/latest/docs/setup/install/multicluster/verify/), I can see that traffic is flowing OK within the same cluster, but some requests fail with upstream connect error.
Apparently endpoints are correctly detected for local & remote endpoints. Load balancing is, apparently, happening OK. For failed requests, I can see that sidecar logs show the IP address of remote pods. So, I think the sidecar is trying to push traffic as in a flat-network topology instead of routing traffic through the eastwest ingress gateway.
[x] Docs
[x] Installation
[x] Networking
[ ] Performance and Scalability
[ ] Extensions and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
Expected behavior
Istio should use eastweast ingress gateways for cross-cluster communications.
Steps to reproduce the bug
Used instructions in https://preliminary.istio.io/latest/docs/setup/install/multicluster/multi-primary_multi-network/.
Version (include the output of istioctl version --remote and kubectl version --short and helm version if you used Helm)
$ istioctl version --remote
client version: 1.8.0-alpha.0
control plane version: 1.8.0-alpha.0
data plane version: 1.8.0-alpha.0 (4 proxies)

$ kubectl version --short
Client Version: v1.18.2
Server Version: v1.18.10

How was Istio installed?
Used instructions in https://preliminary.istio.io/latest/docs/setup/install/multicluster/multi-primary_multi-network/.
Environment where bug was observed (cloud vendor, OS, etc)
Bare metal.

Could you dump the endpoints on a source pod from each cluster by hitting <IP_ADDRESS>:15000/clusters or using istioctl proxy-config endpoint <pod>.<namespace>?

@stevenctl Yes... using  <IP_ADDRESS>:15000/clusters very large file!
Attaching: endpoints.txt

Just ran through the steps again myself on GKE and could not reproduce this.
Can you confirm the following outputs each cluster's network?
for  CTX in "$CTX_CLUSTER1" "$CTX_CLUSTER2"; do
    kubectl --context="$CTX" -n istio-system get svc istio-eastwestgateway -ojsonpath='{.metadata.labels.topology\.istio\.io/network}'
done

My concerns is that the step to deploy the eastwest gateway may have some issue or another and continue. One example is if the command isn't run in the wrong directory (samples isn't available). We'll continue to do istioctl generate without the eastwest yaml.

Hi, @stevenctl
Not, using contexts, but different KUBECONFIG files. But yes, the command on each cluster is outputting the right networks:
% kubectl get nodes && kubectl -n istio-system get svc istio-eastwestgateway -ojsonpath='{.metadata.labels.topology\.istio\.io/network}'
NAME       STATUS   ROLES    AGE    VERSION
kukulcan   Ready    master   2d9h   v1.18.3
network1%

then the other node:
% kubectl get nodes && kubectl -n istio-system get svc istio-eastwestgateway -ojsonpath='{.metadata.labels.topology\.istio\.io/network}'
NAME    STATUS   ROLES    AGE    VERSION
tzotz   Ready    master   2d3h   v1.18.3
network2%

I'm curious... and also giving some more context...
In that same section you pointed (the step to deploy the eastwest gateway), there is the mention to wait for the IP address of the east-west gw. I have this:
kubectl get nodes && kubectl -n istio-system get svc istio-eastwestgateway
NAME       STATUS   ROLES    AGE    VERSION
kukulcan   Ready    master   2d9h   v1.18.3
NAME                    TYPE           CLUSTER-IP      EXTERNAL-IP      PORT(S)                                                           AGE
istio-eastwestgateway   LoadBalancer   <IP_ADDRESS>   <IP_ADDRESS>   15021:31911/TCP,15443:31238/TCP,15012:30960/TCP,15017:32645/TCP   7h17m

...and the other node...
kubectl get nodes && kubectl -n istio-system get svc istio-eastwestgateway
NAME    STATUS   ROLES    AGE     VERSION
tzotz   Ready    master   2d16h   v1.18.3
NAME                    TYPE           CLUSTER-IP      EXTERNAL-IP      PORT(S)                                                           AGE
istio-eastwestgateway   LoadBalancer   <IP_ADDRESS>   <IP_ADDRESS>   15021:32030/TCP,15443:31932/TCP,15012:32376/TCP,15017:31232/TCP   20h

You can see that in both cases, there is an external IP and it's reachable between clusters.
However, in other setup scenarios, the docs use the loadbalancer IP to get the public endpoint. Like in the remote-primary case, you give this command:
export DISCOVERY_ADDRESS=$(kubectl \
    --context="${CTX_CLUSTER1}" \
    -n istio-system get svc istio-eastwestgateway \
    -o jsonpath='{.status.loadBalancer.ingress[0].ip}')

I'm wondering if Istio strictly needs the IP to be allocated by a LoadBalancer for this to work??? I'm asking because the output of this previous command is blank in my setup and is expected because I'm assigning IPs using the externalIPs stanza of the kubernetes Service. My setup is bare-metal and I don't have LoadBalancers. So, if gateway external IP detection is based on LoadBalancers, I don't think MC will will work property for the multi-network scenario. Perhaps, I'll need to somehow manually feed Istio with the IPs of the gateways and not rely on IP auto-discovery.
FWIW, the following command gives the externalIP on my setup:
kubectl get nodes && kubectl -n istio-system get svc istio-eastwestgateway -ojsonpath='{.spec.externalIPs[0]}'

Ah, that would explain it. For the time being inn your use-case you'll need to configure meshNetworks.
You can either edit the istio config map in istio-system or reinstall putting the following yaml under global in your installation yaml.
meshNetworks:
       network1:
         endpoints:
           - fromRegistry: cluster1
         gateways:
           - address: <externalip>
             port: 15443
       network2:
         endpoints:
           - fromRegistry: cluster2
         gateways:
           - address: <externalip>
             port: 15443

I think we can add support for auto-detecting externalIP although I don't know if it will make the initial 1.8 release.

@stevenctl OK, let me try.
Do I have to specify both networks on both clusters?

Yes, this config needs to be identical in all primary clusters.

Support for externalIPs will be included in 1.8

Support for externalIPs will be included in 1.8

That's nice :)
And FWIW, manually configuring meshNetworks works fine!

I'm closing, as I think there is no work left.
I'll try without the meshNetworks configuration once the final 1.8 is released (or a new alpha is released, whatever comes first)
Thanks for your help!


Release27

This is a PR for Release 26.
Status:

[x] In development
[ ] In testing at NRK
[ ] Finalize and merge

Release 27 overall status: https://github.com/nrkno/Sofie-TV-automation/issues/23

Codecov Report

Merging #362 into master will decrease coverage by 0.51%.
The diff coverage is 38.13%.

@@            Coverage Diff             @@
##           master     #362      +/-   ##
==========================================
- Coverage   67.31%   66.80%   -0.52%
==========================================
  Files         189      192       +3
  Lines       12799    12945     +146
  Branches     3007     3042      +35
==========================================
+ Hits         8616     8648      +32
- Misses       4113     4227     +114
  Partials       70       70

Impacted Files
Coverage Δ

meteor/lib/api/peripheralDevice.ts
97.47% <ø> (ø)

meteor/lib/api/playout.ts
100.00% <ø> (ø)

meteor/lib/api/userActions.ts
100.00% <ø> (ø)

meteor/lib/collections/AsRunLog.ts
100.00% <ø> (ø)

meteor/lib/collections/Blueprints.ts
100.00% <ø> (ø)

meteor/lib/collections/Buckets.ts
100.00% <ø> (ø)

meteor/lib/collections/Evaluations.ts
100.00% <ø> (ø)

meteor/lib/collections/ExpectedMediaItems.ts
100.00% <ø> (ø)

meteor/lib/collections/ExpectedPlayoutItems.ts
100.00% <ø> (ø)

meteor/lib/collections/ExternalMessageQueue.ts
100.00% <ø> (ø)

... and 69 more

Continue to review full report at Codecov.

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


Add Sitavana Birken Forest Monastary to the List

This adds the Birken forest monastary to the list.

Thanks!


Refactor Pipeline code

See #45 for more information.
Generally, the issue is that there are a lot of functions that are duplicated across. We need to refactor to clean up the code.
Copying Alex's description here:
In this capsule: https://codeocean.allenneuraldynamics.org/capsule/9216710/tree (NWB-Packaging-FiberPhotometry-Base-Capsule)

The functions in util should live in a library that can be imported, otherwise its very difficult to run these functions outside of code ocean, and if we want to re-use those functions in another capsule we have to copy the code manually.

In fact, code is already being manually copied into https://github.com/AllenNeuralDynamics/aind-fip-dff ! We should absolutely not have the exact same functions in two capsules in the same pipeline.

The code in util.aligned_fiber_to_nwb.py has lots of commented out blocks of code, and needs a general cleaning/linting

In this repo https://github.com/AllenNeuralDynamics/aind-fip-dff, there are a lot of mentions of "old" and "new" processing methods. These should be replaced with descriptive versions of how the code works. No one will remember in a year what old and new mean.

Util functions should be moved to this repo: https://github.com/AllenNeuralDynamics/aind-fib-utils

I've moved NWB util functions to the util repo, I am not sure if preprocessing functions should exist here or stay within the dff capsule, however. Should be easy to move them in either case.

I recall @rachelstephlee did some work on the utils after my PR was merged, is my help still needed on this?

I didn't touch this, so if you think all the refactoring is completed, we can close this.


Toggle to change camera view.

Not sure if it's possible, but if it is then I am suggesting to add a toggle that can change the camera view. For example, when toggled on, the camera view in acnh will be able to move any direction rather than just up and down. This could be really useful in a lot of things, like building, pictures, or even placing buildings, bridges, or inclines. I have also seen mods that change the camera view so it could be possible and also make it easier for users if there is a toggle on pokercore. Thank you!

Camera mod is booted when the game is started. To have the app turn on and off a mod might not be likely. Poker changes in game info the fill pocket, place items and such.

I'm just talking about the mod to say that a change of camera view is possible, so if devs are able to create a camera view changer then they can put it on pokercore and have a toggle for it if that makes sense.

I understand what you are saying. Mods like the camera mod are loaded when the game boots. So to make poker toggle a feature like change camera view you require the game exiting and re-loading. Poker changes things within the game and not external things like mods (camera view would be a mod).

So things like collision toggle are not mods? And if not what are they considered?


Timer does not start with felling axe no logs

Felling axe provides a 20% chance to not receive a log, if this happens for your first 'cut' the timer will not start.
Trigger event is probably inventory related instead of xp related - this may also be the case for infernal axe (untested)

Good catch! Yup it's currently when you get the chat message that you received a log (same way that the RuneLite Woodcutting plugin tracks logs chopped). I'll change it to XP that seems better.

You can track the release of this fix here.
Thank you for reporting!


Use Regex to identify we are in the testeff table

Done, but tested only with the dat file you gave me for LST (since I can't install sim_telarray yet). I assume it should be fine for all files though, it's very simple.

I cannot checkout testeff_table and it doesn't show up when I do git branch -a
Any idea?

No idea, when I follow the steps here it looks OK.

In my tests flashcam, nectarcam, lst and sst-1m worked.
sst-gct and astri didn't but I don't know if we should worry about it.
We need to set the name for the new SST (Camera + Structure), which will probably be "SST", right? This should be done in another PR, not here.

Yes, I would say SST would be good.
I do worry though about gct and astri, considering those are the ones composing the SST...
Why didn't it work? Because of the new reader? That would be surprising.

Also, can you please copy paste the results you get for the various telescopes (the new printout I added)? I would like to compare to Konrad's results.
(I will try work on installing sim_telarray locally, but it's a little beyond me the compiler issues it produces.)

The branch: it was just a matter of updating my local repository. Basic git stuff that I'm still learning

The error with astri is this:
Traceback (most recent call last):
File "applications/validate_camera_efficiency.py", line 68, in
ce.analyze(force=True)
File "/home/prado/Work/Projects/CTA_MC/gammasim-tools/simtools/camera_efficiency.py", line 296, in analyze
self._logger.info('Spectrum weighted reflectivity: {}'.format(self.calcReflectivity()))
File "/home/prado/Work/Projects/CTA_MC/gammasim-tools/simtools/camera_efficiency.py", line 404, in calcReflectivity
c1ReducedWL = self._results['C1'][
File "/home/prado/anaconda3/envs/gammasim-tools-dev/lib/python3.7/site-packages/astropy/table/table.py", line 1602, in getitem
return self.columns[item]
File "/home/prado/anaconda3/envs/gammasim-tools-dev/lib/python3.7/site-packages/astropy/table/table.py", line 239, in getitem
return OrderedDict.getitem(self, item)
KeyError: 'C1'

I'm debugging it now.

I think it doesn't find the table. self._results is empty

No no, the simtel output is empty. It might be a model issue then.

OK, will wait to see what the issue is and see the comparison between our results and Konrad's.

See attached log files for astri and flashcam.
camera-efficiency-MST-FlashCam-za20.0_validate-camera-efficiency.log
camera-efficiency-SST-2M-ASTRI-za20.0_validate-camera-efficiency.log

Astri model points to funnel_perfect.dat file, is that right?
Error: Table with 4 rows has been read from file funnel_perfect.dat

Ok, that is correct. sim_telarray is probably not finding the file, which is in cfg/common, not in cfg/CTA

It's all fine with that. Sorry about the live debugging. I'll stop now and come back after I fix it.

Yes, that is all correct, funnel_perfect is used for cameras without funnels and indeed it is not in cfg/CTA. I had to copy it to the dat files directory as well to avoid such issues. Don't worry about live debugging, if I read your messages live, I could have saved you a step or two.

Ok, I found the bug now.
For mirror_class = 2, the mirror_list is 'none' in the model and testeff was breaking trying to find a file called 'none'.
Now, if mirror_class=2, I will skip the fmir option of testeff. Everything seems to be working now.
I'll send the results next.

ASTRI
Spectrum weighted reflectivity: 0.9158008881525233
Camera nominal efficiency with gaps (B-TEL-1170): 0.44009439940018713
Telescope total efficiency with gaps (was A-PERF-2020): 0.5207902797289903
Total telescope Cherenkov light eff./sqrt(NSB total eff.) (A-PERF-2025/B-TEL-0090): 0.44525389993400766
GCT
Spectrum weighted reflectivity: 0.7350884458200477
Camera nominal efficiency with gaps (B-TEL-1170): 0.4329047908875005
Telescope total efficiency with gaps (was A-PERF-2020): 0.4202935538843951
Total telescope Cherenkov light eff./sqrt(NSB total eff.) (A-PERF-2025/B-TEL-0090): 0.3972117799569855
SST-1M
Spectrum weighted reflectivity: 0.8875238265648399
Camera nominal efficiency with gaps (B-TEL-1170): 0.3409135439548363
Telescope total efficiency with gaps (was A-PERF-2020): 0.3046226544250746
Total telescope Cherenkov light eff./sqrt(NSB total eff.) (A-PERF-2025/B-TEL-0090): 0.5336877233590326

MST-FlashCam
Spectrum weighted reflectivity: 0.9438313601918018
Camera nominal efficiency with gaps (B-TEL-1170): 0.25462112488771294
Telescope total efficiency with gaps (was A-PERF-2020): 0.25823221883585074
Total telescope Cherenkov light eff./sqrt(NSB total eff.) (A-PERF-2025/B-TEL-0090): 0.4853092750049995
MST-NectarCam
Spectrum weighted reflectivity: 0.9438313601918018
Camera nominal efficiency with gaps (B-TEL-1170): 0.25050809231458204
Telescope total efficiency with gaps (was A-PERF-2020): 0.25387964483561665
Total telescope Cherenkov light eff./sqrt(NSB total eff.) (A-PERF-2025/B-TEL-0090): 0.4795888960251189

@orelgueta , you can merge the PR if you think everything is fine now.

Thanks for fixing the issue and the results.
FlashCam and NectarCam agree with Konrad's values up to a few per-mill. I guess this is good enough.
SST-1M and GCT agree with the Prod4 values as well, not surprising.
ASTRI is quite off though, in particular, the reflectivity is much higher than it was in prod4 (91% to 77%). Can you check if something went wrong there? Is there a chance the mirror reflectivity wasn't taken into account at all?

Yes, something did go wrong:
Error in line 12 of file transmission_astri_window_new.dat (expcting 2 values, found 0).
Warning: Quantum efficiency not dropping to zero for long wavelengths.
Interpolation error.
Interpolation error.
Interpolation error.
Interpolation error.
(...)

The file is in a very different format than  transmission_astri_window_average.dat.
Any idea?

OK that's actually important since this is also used for the CHEC on ASTRI setup. This file uses a 2D transmission which should be turned on automatically when sim_telarray detects #@RPOL@ in the beginning of the file.

How does your command to run testeff compare with
bin/testeff -nm -alt 2150 -fatm atm_trans_2150_1_10_0_0_2150.dat -flen 2.15 -fcur 4.3 -spix 0.620 -fmir fake_astri_mirrorpos.dat -fref ref_astri_2017-06_T0.dat -m2 -teltrans 0.92362 -camtrans 1 -fflt transmission_astri_window_average.dat -fang funnel_perfect.dat -fwl none -fqe PDE_V_4.4V_LVR5_ext.txt 300 550 300 26 20?

bin/testeff -nm -nsb-extra -alt 2150. -fatm atm_trans_2150_1_10_0_0_2150.dat -flen 2.15191 -fcur 4.3 -spix 0.6975 -fref ref_astri-2d_2018-01-17.dat -m2 -teltrans 0.92362 -camtrans 1 -fflt transmission_astri_window_new.dat -fang funnel_perfect.dat -fwl none -fqe PDE_V_4.4V_LVR5_ext.txt 200 1000 300 1 20 2>/home/prado/Work/Projects/CTA_MC/gammasim-tools/simtools-files/validate-camera-efficiency/camera-efficiency/camera-efficiency-SST-2M-ASTRI-za20.0_validate-camera-efficiency.log >/home/prado/Work/Projects/CTA_MC/gammasim-tools/simtools-files/validate-camera-efficiency/camera-efficiency/camera-efficiency-SST-2M-ASTRI-za20.0_validate-camera-efficiency.dat

hmm, my best guess is that testeff doesn't know to use the 2D interpolation like sim_telarray. So Konrad used the average transmission rather than the 2D one. I will write to ask him.

Ok

Should we merge this PR then?

I would wait to hear from Konrad. If testeff cannot handle 2D interpolation, we need to add a case for that in the code for now, and use a 1D transmission, no?

Ok, no problem.

I don't remember exactly what we concluded about this PR. I'll implement the astri case. It will be ugly but hopefully we can do it better in the future.

We concluded that you implement the ASTRI case, post the values with the correction and if they agree with Konrad's values, we can merge this PR and close #36 .

@orelgueta, see below results for ASTRI using the average camera filter file.
Spectrum weighted reflectivity: 0.9158008881525233
Camera nominal efficiency with gaps (B-TEL-1170): 0.4012759008175439
Telescope total efficiency with gaps (was A-PERF-2020): 0.41392735330742664
Total telescope Cherenkov light eff./sqrt(NSB total eff.) (A-PERF-2025/B-TEL-0090): 0.5044666732521034

The spectrum weighted reflectivity didn't change:
Old: Spectrum weighted reflectivity: 0.9158008881525233
New: Spectrum weighted reflectivity: 0.9158008881525233

Also, did you run ASTRI? Or ASTRI plus CHEC (i.e., SST)?

I ran ASTRI

The spectrum weighted reflectivity didn't change:
Old: Spectrum weighted reflectivity: 0.9158008881525233
New: Spectrum weighted reflectivity: 0.9158008881525233

Was it suppose to? Are Konrad's number for prod5 as well?

OK, so we need ASTRI+CHEC (the ASTRI part is where the issue is, but we have the latest ASTRI+CHEC numbers).
And yes, it should change. The spectrum weighted reflectivity should be around 0.77 (see - https://www.mpi-hd.mpg.de/hfm/CTA/MC/Prod4/Config/Efficiencies/p4eff_ASTRI+CHEC-S.pdf)
The values for prod4 and prod5 should be almost identical, there were no changes since prod4.

Ok. ASTRI+CHEC = SST-Structure + SST-Camera, right?
I'll prepare the names to run the new SST soon.

Yes, that is correct. If you prefer to a do a quick test first just to check your fix, running ASTRI is OK. I would expect the spectrum weighted reflectivity to be around 0.77 regardless of the camera or which production we are using (unless there's a very big change I am missing).

SST out of the box is still not fine.
Spectrum weighted reflectivity: 0.9158008881525233
Camera nominal efficiency with gaps (B-TEL-1170): 0.3947204512676613
Telescope total efficiency with gaps (was A-PERF-2020): 0.40716522312120085
Total telescope Cherenkov light eff./sqrt(NSB total eff.) (A-PERF-2025/B-TEL-0090): 0.5003290917049251

From simtel log:
Warning: Quantum efficiency not dropping to zero for long wavelengths.
Interpolation error.
Interpolation error.
Interpolation error.
(...)
I'll keep debugging it tomorrow.

Interesting, I assume it is still a 2D optical issue since the spectrum weighted average is still almost 15% too high. Did you exchange the ref_astri-2d_2018-01-17.dat you used before to the one-dimensional ref_astri_2017-06_T0.dat?

Interesting, I assume it is still a 2D optical issue since the spectrum weighted average is still almost 15% too high. Did you exchange the ref_astri-2d_2018-01-17.dat you used before to the one-dimensional ref_astri_2017-06_T0.dat?

Now I did. It seems to be working now, see below.
Spectrum weighted reflectivity: 0.7747220257059302
Camera nominal efficiency with gaps (B-TEL-1170): 0.3947204512676613
Telescope total efficiency with gaps (was A-PERF-2020): 0.3472310477169944
Total telescope Cherenkov light eff./sqrt(NSB total eff.) (A-PERF-2025/B-TEL-0090): 0.4501101459606101

Yes, now the differences are at the per-mill level. We can merge this PR then. I will let you do that and I will close #36.

Great =)
It wasn't a beautiful solution, but we can do it better in the future.


downloading NSD/VNFD from marketplace should not be allowed while using unsupported VIM plugins

Clicking download NSD from marketplace while having a PoP registered using a non openstack plugin (for instance test), generates an error displayed on the dashboard as:

An error occured and could not be handled properly, please, report to us and we will fix it as soon as possible

on the NFVO logs:
`2017-03-28 11:18:52.377 ERROR 14 --- [http-nio-8080-exec-9] o.a.c.c.C.[.[.[/].[dispatcherServlet]    : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is java.lang.UnsupportedOperationException] with root cause
java.lang.UnsupportedOperationException: null
at org.openbaton.vim_impl.vim.TestVIM.add(TestVIM.java:117)
at org.openbaton.nfvo.core.api.VNFPackageManagement.handleImage(VNFPackageManagement.java:524)
at org.openbaton.nfvo.core.api.VNFPackageManagement.onboard(VNFPackageManagement.java:179)`
Therefore, download from marketplace should be allowed only for VIM supporting this functionality.

Problem here is that the VNFPackage metadata is not containing the "vim_types". so the NFVO cannot check if it is possible to add an image.
@gc4rella Should i put this field mandatory?


Detached editor disappears when dragged to another monitor (MacOS)

System information:

Operating system (distribution) and version: MacOS Monterey 12.4
DBeaver version: Version <IP_ADDRESS>206051253
Additional extensions: none

Connection specification:
Does not pertain to issue
Describe the problem you're observing:
When I create a new SQL editor tab in DBeaver, either by opening an existing script or creating a new script, if I then detach the tab and drag it to an external monitor, it disappears and cannot be brought back.
Steps to reproduce, if exist:

Create a new SQL editor, for example by opening an existing SQL script or creating a new SQL script using the "SQL" button near the upper left of the DBeaver GUI.
(This problem occurs whether the editor is associated with a database connection or not.)

Right-click on the SQL editor tab and select "Detach" from the menu.

Drag the new detached window that is produced onto a different monitor from the monitor which displays the main DBeaver gui.

As soon as the left mouse button which is depressed during the window "dragging" process is released, the detached window disappears and cannot be found. It may be closed, or it may be somehow "hidden" and unable to be brought to the foreground and viewed, I cannot tell which is the case.

This problem occurs on my mac; I have no way of testing whether it occurs on other systems.
Include any warning/errors/backtraces from the logs

Hello @iron0012,
Thanks for the bug report. It's a known Eclipse issue.
Try disabling the Displays have separate Spaces option under the Mission Control in the system preferences.

Any update on this? I don't want to disable the the Displays have separate Spaces option.

There are no updates, unfortunately. We can't fix it ourselves, so we're awaiting the Eclipse community to fix it.


Upload for multiple sequence files into single location

Unable to upload when multiple sequence of files comes for a single date. When the first sequence is  uploaded the INGESTION_COMPLETE flag is set and the upload of next sequence fails

@SamRoberts can you please take a look at this.

It's a known issue.

Can you discuss with @maxmithun to either fix it or come up with a work around. It is affecting the remediation work for CDH5.

Sure

a fix for this has been merged into master


Series playback with Ads removes the item from the Episode list.

Describe the bug
Playing a Series Episode with Ads removes the Episode from the Episodes list if the playback is stopped.  It re-appears if the channel is restarted.  This does NOT happen if Ads are not requested.
To Reproduce
Steps to reproduce the behavior:

Enable USE_RAF
Play a Series Episode.
Stop the playback.
The selected Episode is removed from the list.

Expected behavior
The Episode would not be removed from the Episode list.
Screenshots
N/A
Version number:

Version <IP_ADDRESS>

Additional context
N/A

Resolved in <IP_ADDRESS>.


Issue #3698: Fixed wrong Y property in case of Tile Object in TMX map

This fixes issue 3698.

Can you please resolve the merge conflicts so we can merge this?

There you go :)

Thanks

You forgot to close issue #3698, @MobiDevelop


HSEARCH-2065 Progress on faceting with Elasticsearch

The main limit atm is that the faceting is done on the indexed fields (see Car.java used by the WebShopTest for an example of what is the current limitation). IMHO, we should build fields specific to the faceting.
We cannot do so for now as the LuceneDocument does not contain enough information to reconstruct the desired values of the facets - especially for numerics as the values are transformed as binary and strings by the Lucene faceting code.
It is linked to a discussion we had with Gunnar about a major overhaul of how the documents are built.
Another point I'd like to mention is that currently HS considers that the document type of a given Java type is fixed. This is not really the case as Dates are stored as Longs with Lucene but as Strings with Elasticsearch.

Nice stuff, @gsmet! My understanding of the entire faceting code is a bit limited, so maybe you could provide some more details on the following:

The main limit atm is that the faceting is done on the indexed fields (see Car.java used by the WebShopTest for an example of what is the current limitation). IMHO, we should build fields specific to the faceting.
We cannot do so for now as the LuceneDocument does not contain enough information to reconstruct the desired values of the facets - especially for numerics as the values are transformed as binary and strings by the Lucene faceting code.

What exactly are the limitations in the car example? What fields do we build and which ones would we need instead?

It is linked to a discussion we had with Gunnar about a major overhaul of how the documents are built.

Indeed, the current retrieval from Lucene Document structures is just a quick hack for getting started. I'd only like to better understand the limitations in the faceting case.

Another point I'd like to mention is that currently HS considers that the document type of a given Java type is fixed. This is not really the case as Dates are stored as Longs with Lucene but as Strings with Elasticsearch.

Where/when is that exactly a problem? It's still "fixed" for a given backend/configuration. Are there assumptions on dates always being stored as date in core?

What exactly are the limitations in the car example? What fields do we build and which ones would we need instead?

See this facet definition:
	@Field(name = "cubicCapacity", analyze = Analyze.NO, bridge = @FieldBridge(impl = IntegerBridge.class))
	@Facets({
			@Facet(name = "cubicCapacity", forField = "cubicCapacity", encoding = FacetEncodingType.STRING),
			@Facet(name = "cubicCapacity_Numeric", forField = "cubicCapacity", encoding = FacetEncodingType.LONG)
	})
	private int cubicCapacity;

With the current code, the faceting is based on the field and only the field. So you can facet on cubicCapacity, except it's a numeric instead of a string.
The test currently failing is the one using cubicCapacity_Numeric as we don't have a field with this name in the Elasticsearch index. I thought about trying to rebuild it from the Lucene Document but it's not that easy as the Lucene facet code transforms the facet fields to something barely usable and you can't use the values indexed in the field itself as you might have a fieldBridge transforming the values.

Where/when is that exactly a problem? It's still "fixed" for a given backend/configuration. Are there assumptions on dates always being stored as longs in core?

See AnnotationMetadataProvider#determineFacetEncodingType :
		else if ( Date.class.isAssignableFrom( indexedType ) || Calendar.class.isAssignableFrom( indexedType ) ) {
			facetEncodingType = FacetEncodingType.LONG;
		}

I think the only problem with it is in DocumentBuilderIndexedEntity#addFacetDocValues where I added the workaround for now.

The test currently failing is the one using cubicCapacity_Numeric as we don't have a field with this name in the Elasticsearch index.

Ok, I see. Thanks for the thorough explanation, that's much appreciated! I need to think about this a bit.

The test currently failing is the one using cubicCapacity_Numeric as we don't have a field with this name in the Elasticsearch index.

Couldn't we just add this field? It can be retrieved in ElasticsearchIndexWorkVisitor.convertToJson(Document, Class<?>), it's just that we exclude all doc value fields (it escapes me right now why). Maybe you can try and change that?

Yeah, well, that's what I thought and then I opened FacetHandling, I saw return facetConfig.build( doc ) and I discovered that Lucene is rewriting all the faceted fields in a different way (see FacetsConfig.build(TaxonomyWriter taxoWriter, Document doc)) :).
I don't think we can really exploit the result of the Lucene mangling. You end up with binary and strings.

Hum, ok. I can get the numeric value for cubic capacity from the facet doc
value field, but I suppose it may not be working for other types.

From the field returned by Lucene after the FacetsConfig.build() call? Where did you find a numeric value?

We also need a way to make the difference between a numeric (LONG or DOUBLE) facet and a string facet.

In ElasticsearchIndexWorkVisitor#convertToJson() I am seeing a
NumericDocValuesField whose value I can get via numericValue().

OK, I'll take another look next week!

@gunnarmorling done. The difficulty was for the String facets but I think I got it. All the faceting tests now runs, except the ones using a non existing field.

Hey @gsmet, Looks good to me apart from that hashCode()/equals() anomaly. Once that's fixed, I'll merge it. Thanks a lot, great to see this one tackled!

Hi @gunnarmorling . We should be good to go now. I fixed the last infelicities.

Rebased and applied; Many thanks, @gsmet!

Great, I'll merge the other one as soon as you rebase it.
On Wed, 24 Feb 2016 13:26 Gunnar Morling<EMAIL_ADDRESS>wrote:

Rebased and applied; Many thanks, @gsmet https://github.com/gsmet!
—
Reply to this email directly or view it on GitHub
https://github.com/hibernate/hibernate-search/pull/981#issuecomment-188254155
.

Just rebased and force-pushed the feature branch.


Add coherent versioning

Semantic versioning?
https://semver.org/

Sounds good to me. The latest stable commit (not sure which) could be 0.0.1


Request for data  - Reputation Caps

Just a feedback issue to help me (the author) collect reputation data for new P2 items.
In P2 there are 3 new levels of waylaid supplies

30
35
40

These in turn create 3 new full shipments (all itemlevel 40 but distinct from one another)
The question I would like some help answering is:
Do any of the L30 waylaid supplies and their resulting full shipments stop rewarding reputation at some level of faction.
For example Heavy Hide, Fadeleaf, Wintersbite, Green Iron Bracers, Solid Grinding Stones etc.
Are you unable to gain reputation if you are above Honored or a specific standing (for example 6k/12k)
Let me know below if any of the new waylaid supplies stop rewarding reputation before hitting revered (which we assume is the P2 cap)

Early comments for some of the L30 supplies indicated these might be "catchup" rather than able to progress Honored+
Example: https://www.wowhead.com/classic/item=215413/waylaid-supplies-formal-white-shirts#comments
I'd appreciate confirmation if all new supplies (30,35,40) award rep all throughout Honored or stop at some point.

While we are at it. Do the previous phase highest supplies (L25) stop at start of Honored?

My character is 20/12000 into Honored.
I had an unfilled box with "Waylaid Supplies: Formal White Shirts" (level 30).
The tooltip on it said it was too low to turn in.
I filled it, and it turned into a level 40 "Supply Shipment" box.
Now the tooltip says: +500 Rep, +300XP, 50s
I was able to turn it in and got:
770 Rep (I'm human), +1600XP, 50s
So tooltip on the filled box was also off. It should have said +700 Rep, +1600XP

What level was your character when you turned it in if you remember.
Exp is not a fixed amount it scales with level.

My character was level 26 when I turned it in.

Char level 25 (dwarf)
Filled Supply Shipment (ilvl 25)
Tooltip: +650 Rep, +0 XP, 20s
Turn in gave:
+650 Rep, +180 XP, 20s

Char level 34 (night elf)
Waylaid Supplies: Bronze Bars (ilvl 25)
Unfilled tooltip: +500 Rep, 20s
Filled Supply Shipment tooltip: +500 Rep, +0 XP, 15s
Actual reward: +500 Rep, +15 XP, 15s

Char level 34 (night elf), Friendly rep
Waylaid Supplies: Gold Bars (ilvl 35)
Unfilled tooltip: +850 Rep, 1g50s
Filled Supply Shipment tooltip: +850 Rep, +1550 XP, 1g50s
Actual reward: +850 Rep, +1543 XP, 1g50s

Char level 34 (night elf), Friendly rep
Waylaid Supplies: Heavy Hide (ilvl 30)
Unfilled tooltip: +700 Rep, 50s
Filled Supply Shipment tooltip: +700 Rep, +850 XP, 50s
Actual reward: +700 Rep, +834 XP, 50s

Thanks all of those are very useful.
So, conclusion sofar is.

I was linked a blue post that said P1 shipments would give 0 exp to players 25 level and higher, that's apparently not the case.
All other quests give full exp (rep is unaffected by level difference anyway) when they are green+, with reduced exp for gray; this is also apparently not the case for these

Other than that, data seems mostly correct.
I will likely remove the anti-hoard zeroing of P1 boxes or 25+ characters and denote that exp is ~ (approximate)

Char level 26 (dwarf), Friendly rep
Waylaid Supplies: Ornate Spyglass (ilvl 25)
Unfilled tooltip: +800 Rep, 30s
Filled Supply Shipment tooltip: +800 Rep, +0 XP, 30s
Actual reward: +800 Rep, +206 XP, 30s


Incomplete changelog

Description
The changelog is incomplete in my opinion because it can happen that code using chrono data structures compiled in 0.8 that does not compile in 0.9.
The problem is that the with-chrono feature flag becomes explicit rather than implicit.
Steps to Reproduce
Upgrade from 0.8 to 0.9, following just the changes of CHANGELOG.md
Expected Behavior
Still works.
Actual Behavior
Does not compile without changing feature flags.
Reproduces How Often
always.
Versions
0.9, postgres, rustc 1.62.0
Additional Information
Example code/config that compiles on 0.8 but doesnt on 0.9.
Cargo.toml:
[package]
name = "entity"
version = "0.1.0"
edition = "2021"

[dependencies]
sea-orm = { version = "^0.8", features = [ "sqlx-postgres", "runtime-tokio-rustls", "macros"], default-features = false }
serde = { version = "^1.0", features = [ "derive" ]}
chrono = { version="0.4", features = ["serde"]}

lib.rs:
pub use sea_orm;

use chrono::NaiveDateTime;
use sea_orm::entity::prelude::*;
use serde::{Deserialize, Serialize};

#[derive(Clone, Debug, PartialEq, PartialOrd, DeriveEntityModel, Deserialize, Serialize)]
#[sea_orm(table_name = "whatever")]
pub struct Model {
    #[sea_orm(primary_key)]
    #[serde(skip_deserializing)]
    pub id: i32,
    pub test: NaiveDateTime,
}

#[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)]
pub enum Relation {}

impl ActiveModelBehavior for ActiveModel {}

I see what you mean. It's because we adopted the new ? notation in Cargo. Trying to write something about that

https://github.com/SeaQL/sea-orm/commit/db538917f12e114f45134f8a6781d1e42278a724
Thank you for the input. Feel free to open a PR to improve our docs, btw.

FYI: https://github.com/SeaQL/sea-orm/compare/0.8.0...0.9.0#diff-2e9d962a08321605940b5a657135052fbcef87b5e360662bb527c96d9a615542


Sample camera and its driver

The lab's webcam needs a driver to take photos.

The webcam idea has been removed as the buffer rack was removed.
Currently trying to find a way to install a remote webcam based on raspberry pi and collaborate with the furnace arm to take pictures.

@bernardusrendy can we close this


unreads: mark a chat as read when we hear that fact on unreads subscription

Fixes LAND-1354 by marking a chat as read via useChatStore's read method if we hear a fact telling us that the chat is read. Previously we just called the unread function from useChatStore no matter what on hearing an unread fact about a chat channel.

Just pushed a similar fix for DMs

I still see the same behavior I noticed before the DMs fix.
Steps:
Ship1 Talk client is open in two browsers.
Ship1 develop: pointing to the develop moon at hash pqft6.
Ship1 local: used to test this fix, is pointing to localhost on branch po/land-1354-mark-chats-as-read-when-we-hear-fact

Ship2 sends a 1:1 message
Ship1 sees blue dot next to Ship2's name in Talk sidebar from both browsers
Ship1 develop opens the chat, blue dot is cleared
Expected: blue dot in Ship1 local is also cleared without the user opening the chat


کاهش حجم برنامه

I used electron-builder instead of electron-forge and I did following tricks to reduce size:

The reason of this problem is, when you package the software, all packages (like redux, react ...) in node_modules is included in installer exe.
The solution is to devide your software in two section (or project). elecron part and react part. and delete all front packages from electron related package.json file.
And then build your react and put production code it electron app.

Add  "afterPack": "./utils/removeLocales.js" to delete all extra locales.

  "build": {
    "appId": "com.electron.electron-serial",
    "productName": "electron-serial",
    "afterPack": "./utils/removeLocales.js",

removeLocales.js:
//https://www.electron.build/configuration/configuration#afterpack
exports.default = async function(context) {
    //console.log(context)
    var fs = require('fs');
    var localeDir = context.appOutDir+'/locales/';

    fs.readdir(localeDir, function(err, files){
        //files is array of filenames (basename form)
        if(!(files && files.length)) return;
        for (var i = 0, len = files.length; i < len; i++) {
            var match = files[i].match(/en-US\.pak/);
            if(match === null){
                fs.unlinkSync(localeDir+files[i]);
            }
        }
    });
}

I used electron-builder instead of electron-forge and I did following tricks to reduce size:

The reason of this problem is, when you package the software, all packages (like redux, react ...) in node_modules is included in installer exe.
The solution is to devide your software in two section (or project). elecron part and react part. and delete all front packages from electron related package.json file.
And then build your react and put production code it electron app.
Add  "afterPack": "./utils/removeLocales.js" to delete all extra locales.

  "build": {
    "appId": "com.electron.electron-serial",
    "productName": "electron-serial",
    "afterPack": "./utils/removeLocales.js",

removeLocales.js:
//https://www.electron.build/configuration/configuration#afterpack
exports.default = async function(context) {
    //console.log(context)
    var fs = require('fs');
    var localeDir = context.appOutDir+'/locales/';

    fs.readdir(localeDir, function(err, files){
        //files is array of filenames (basename form)
        if(!(files && files.length)) return;
        for (var i = 0, len = files.length; i < len; i++) {
            var match = files[i].match(/en-US\.pak/);
            if(match === null){
                fs.unlinkSync(localeDir+files[i]);
            }
        }
    });
}

hey, What was the output size? and can you send pull request?

I got 70 mb for windows .msi file (I think it's normal for electron app).
I do not have exprience with electron-forge as it uses very specific starter boilerplate.


[Docs] Add link to CONTRIBUTING.md in the Readme

Current State:
The README file lacks a link to CONTRIBUTING.md.
Desired State:
The README file has a link to CONTRIBUTING.md in the appropriate place (right after Installation Guidelines).

I think this issue was resolved by #47  , can be closed

Just merged? Lol

@san-coding I still don't see it there

Yeah , sorry

Hi, I'd like to work on this issue!

Hey @radiantly. You can go ahead 🎉

@radiantly Great job


Create CSV version of ClaimReview/MediaReview dataset

For the Fact-Check Insights download, we want to make the dataset available as CSV.
Some commentary about implementation here: https://github.com/TechAndCheck/zenodotus/issues/274

[ ] CSV: Handling of firstAppearance

[ ] CSV: Missing author.sameAs


[core] Update lerna to fix dep security

Update Lerna to 5.1.8 to fix https://github.com/mui/material-ui/security/dependabot/77. Node >= 14 is needed to upgrade lerna to v5

https://github.com/lerna/lerna/releases/tag/v5.1.8
https://github.com/IonicaBizau/git-url-parse/releases/tag/12.0.0

[x] I have followed (at least) the PR section of the contributing guide.

Closed in favor of #33635


Detection of assert when assert_equal was intended

Is your feature request related to a problem? Please describe.
I was wondering why some unit tests weren't failing after code changes. Turns out they were written like this:
assert([], result.errors)

The test should have use assert_equal (or maybe assert_empty without the first argument), but since the empty array is trueish, this test always passes, regardless of the value of result.errors, which is only used as the additional (optional) message parameter.
Describe the solution you'd like
I would like Rubocop-Minitest to find this error
Additional context
I have absolutely no idea how this error could be detected by Rubocop. In case a third parameter is added, this could be used to detect errors:
assert([], result.errors, 'Expected no errors')

But this is pretty pointless, since it would result in runtime errors anyway.
If anybody has an idea on how to detect this, I could probably implement it. If it appears to be impossible, we shouldn't attempt to implement it ;)

This seems to be a cop when the following conditions are satisfied about how to use assert method.

Two arguments are specified for assert method.
An empty literal is used as the first argument in assert method.

The following is an example.
# bad
assert([], result.errors)

# good
assert_empty(result.errors)
assert_empty(result.errors, 'Expected no errors')

Hash literals may also be targeted to cop. Also, I think that automatic correction is unsafe because it is a correction to an incompatible method.
For example, I considered AssertEmptyLiteral cop as the name of cop, but naming is difficult :-)

Ah, I forgot the important point. This issue should first be opened in The Minitest Style guide. So, I will transfer this issue to The Minitest Style Guide repo.

This issue can still happen when doing something like
assert(1, User.count)
assert("OK", response.body)

The intent was to do assert_equal but it's common to do assert instead, and then tests will pass no matter what.
Would you be open to consider updating the cop to include any literal (or number and strings t least)? I'd be happy to make a PR if so.
And in that case, it might be worth considering renaming too, to something like AssertWithLiteral.


Make impl Debug for Header much easier to read

Before:
[INFO  h3_test_server] got request [Header([58, 109, 101, 116, 104, 111, 100], [71, 69, 84]), Header([58, 115, 99, 104, 101, 109, 101], [104, 116, 116, 112, 115]), Header([58, 97, 117, 116, 104, 111, 114, 105, 116, 121], [49, 50, 55, 46, 48, 46, 48, 46, 49, 58, 49, 51, 52, 48]), Header([58, 112, 97, 116, 104], [47, 115, 105, 109, 112, 108, 101, 46, 104, 116, 109, 108]), Header([117, 115, 101, 114, 45, 97, 103, 101, 110, 116], [113, 117, 105, 99, 104, 101])] on stream id 0

After:
[INFO  h3_test_server] got request [:method: GET, :scheme: https, :authority: <IP_ADDRESS>:1340, :path: /simple.html, user-agent: quiche] on stream id 0

The failure on stable is due to a new clippy lint that got added, and I fixed over at #1265


Parallel download (-N) breaks server "Last modified" mtime

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

[X] I understand that I will be blocked if I remove or skip any mandatory* field

Checklist

[X] I'm reporting a bug unrelated to a specific site
[X] I've verified that I'm running yt-dlp version 2022.11.11 (update instructions) or later (specify commit)
[X] I've checked that all provided URLs are playable in a browser with the same IP and same login details
[X] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[X] I've searched the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue

Provide a description that is worded well enough to be understood
If I download a video using yt-dlp https://example.com/example.mpd, everything works - the resulting "Last modified" timestamp of the downloaded file is set to the server's "Last Modified" time reported by the server (usually the date a video was uploaded).
If I use -N 8 for faster downloads, that no longer works - the downloaded file will have the current date and time as "Last modified".
I am running yt-dlp 2022.11.11 from pip (8b64402).
Is there a way I can download faster, with multiple threads, while still keeping the correct file time from the server? The help section for --concurrent-fragments doesn't mention anything like that. Even when I explicitly set --mtime (which is the default according to the help), the timestamp is still the time of download, and not the server time.
Example:
Running yt-dlp https://dash.akamaized.net/dash264/TestCasesIOP33/adapatationSetSwitching/5/manifest.mpd creates a file that's timestamped to 2017-11-28 (which is when that mpd file was "created" on the server) - which is what I'd like to get.
Running yt-dlp -N 8 https://dash.akamaized.net/dash264/TestCasesIOP33/adapatationSetSwitching/5/manifest.mpd creates a file that's timestamped to today, and ignores the server's timestamp.
Provide verbose output that clearly demonstrates the problem

[X] Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
[X] Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output
[debug] Command-line config: ['-vU', '-N', '16', 'https://dash.akamaized.net/dash264/TestCasesIOP33/adapatationSetSwitching/5/manifest.mpd']
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version 2022.11.11 [8b64402] (pip)
[debug] Python 3.8.10 (CPython x86_64 64bit) - Linux-5.13.0-52-generic-x86_64-with-glibc2.29 (OpenSSL 1.1.1f  31 Mar 2020, glibc 2.31)
[debug] exe versions: ffmpeg N-109005-g649d7cbda8 (fdk,setts), ffprobe N-109005-g649d7cbda8, rtmpdump 2.4
[debug] Optional libraries: Cryptodome-3.12.0, brotli-1.0.7, certifi-2<IP_ADDRESS>, mutagen-1.45.1, pyxattr-0.6.1, secretstorage-3.3.1, sqlite3-2.6.0, websockets-10.0
[debug] Proxy map: {}
[debug] Loaded 1723 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
Latest version: 2022.11.11, Current version: 2022.11.11
yt-dlp is up to date (2022.11.11)
[debug] [generic] Extracting URL: https://dash.akamaized.net/dash264/TestCasesIOP33/adapatationSetSwitching/5/manifest.mpd
[generic] manifest: Downloading webpage
WARNING: [generic] Falling back on generic information extractor
[generic] manifest: Extracting information
[debug] Identified a DASH manifest
[debug] Formats sorted by: hasvid, ie_pref, lang, quality, res, fps, hdr:12(7), vcodec:vp9.2(10), channels, acodec, filesize, fs_approx, tbr, vbr, abr, asr, proto, vext, aext, hasaud, source, id
[debug] Default format spec: bestvideo*+bestaudio/best
[info] manifest: Downloading 1 format(s): 4+5
[debug] Invoking dashsegments downloader on "https://dash.akamaized.net/dash264/TestCasesIOP33/adapatationSetSwitching/5/manifest.mpd"
[dashsegments] Total fragments: 369
[download] Destination: manifest [manifest].f4.mp4
WARNING: The download speed shown is only of one thread. This is a known issue and patches are welcome
[download] 100% of  180.90MiB in 00:00:13 at 13.19MiB/s
[debug] Invoking dashsegments downloader on "https://dash.akamaized.net/dash264/TestCasesIOP33/adapatationSetSwitching/5/manifest.mpd"
[dashsegments] Total fragments: 372
[download] Destination: manifest [manifest].f5.m4a
WARNING: The download speed shown is only of one thread. This is a known issue and patches are welcome
[download] 100% of    2.99MiB in 00:00:07 at 428.17KiB/s
[Merger] Merging formats into "manifest [manifest].mp4"
[debug] ffmpeg command line: ffmpeg -y -loglevel repeat+info -i 'file:manifest [manifest].f4.mp4' -i 'file:manifest [manifest].f5.m4a' -c copy -map 0:v:0 -map 1:a:0 -movflags +faststart 'file:manifest [manifest].temp.mp4'
Deleting original file manifest [manifest].f4.mp4 (pass -k to keep)
Deleting original file manifest [manifest].f5.m4a (pass -k to keep)

can reproduce

Related #3224

Workaround https://github.com/bradenhilton/yt-dlp-FixupMtime


feedback and admin form

created the admin and feedback form.
Admin form contains the ID, NAme, Email-ID, Password, Event Name, Event desciption, Event Date, Event organizer fields.
feedback form contains name, email id, rating, comment about event, suggestion for improving fields.

@all-contributors please add @Ashu-strange for code


[ISSUE #539]🔨Optimize Auto Comment on PR

Which Issue(s) This PR Fixes(Closes)

Fixes #issue_id
Brief Description

How Did You Test This Change?

@coderabbitai review Please review this PR.


New version: LinwoodDev.Flow.Nightly version 0.3.1

Pull request has been created with WinGet Releaser v2 :rocket:
Microsoft Reviewers: Open in CodeFlow

Automatic Validation ended with:

Installation failed with exit code -1978334972
2024-11-18 03:00:11.929 [CLI ] No suitable installer found for manifest Microsoft.VCRedist.2015+.x64 with version 14.42.34433.0

Automated error analysis suggests -1978334972 may mean This package has a dependency missing from your system.
(Automated response - build 897.)

Why doesnt it merge?

Automatic Validation ended with:

Installation failed with exit code -1978334972
2024-11-18 03:00:11.929 [CLI ] No suitable installer found for manifest Microsoft.VCRedist.2015+.x64 with version 14.42.34433.0

Automated error analysis suggests -1978334972 may mean This package has a dependency missing from your system.
(Automated response - build 899.)

Why doesnt it merge?

A known situation (bug?) in the validation pipelines is that they are overly strict about matching architecture and scope of dependency with the main package. Here, I believe the dependency only has a machine scope, and the error above is for the user scope. But my VMs do not have this restriction. So this package will need manual validation in the future.


autocomplete issues with react-form-hooks

after switching over to the the react-form-hooks based inputs from https://ui.shadcn.com/docs/forms/react-hook-form I have noticed that autocomplete for anything except username and password is not working.
based on the MDN doc: https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete I am unable to determine what is missing for it to activate.

Note: In order to provide autocompletion, user-agents might require <input>\<select>\<textarea> elements to:

Have a name and/or id attribute

Be descendants of a <form> element

The form to have a submit button

any thoughts on this?

Hm, React Hook Form doesn't do anything except potentially potentially pass down your field name as a name prop. Additionally, the underling Input component is the same

This issue has been automatically closed because it received no activity for a while. If you think it was closed by accident, please leave a comment. Thank you.


Add chcon command in function install(group) and setup_modprobe(group)

Description
When you install Kubernetes on a system with SELinux 3.5 version, you have a problem... kubelet.service doesnt start. It happens because the file of unit kubelet hasnt context systemd_unit_file_t  in attributes. Also after a reboot of any nodes of the cluster module br_netfilter is absent for the same reason - file in /etc/modules-load.d/ hasn`t required context.
Solution
In function install(group) in kubemarine/kubemarine/__init__.py, in line 338, add command to change context from user_tmp_t  to systemd_unit_file_t. Likewise in function setup_modprobe(group) in kubemarine/system.py, in line 503, add change context from temp to etc_t. This solution has backward compatible with the previous version because this flag used to all of the system unit files in SELinux.
Tests in OS with different versions of SELinux

OS Centos 7.9 package policycoreutils-2.5
OS Oracle Linux 9.1 package policycoreutils-3.4
OS Oracle Linux 9.2 package policycoreutils-3.5

Checklist

[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] Integration CI passed
[ ] Unit tests. If Yes list of new/changed tests with brief description
[x] There is no merge conflicts

Which exact OS version do you use ?

Which exact OS and k8s version do you use ?

Oracle Linux 9.2

This hotfix isn`t correct.


Add integration test with the go testing framework

This is an example on how integration tests can be run with the Go testing framework. In order to run this test, run the following command in cmd/restic:
$ go test -v -tags integration -test.datafile ../../testsuite/fake-data.tar.gz

Sample output:
$ go test -v -tags integration -test.datafile ../../testsuite/fake-data.tar.gz
=== RUN TestBackup-4
created restic backend 558fe89396 at /tmp/restic-test-358226688/repo
Please note that knowledge of your password is required to access the repository.
Losing your password means that your data is irrecoverably lost.
scan [/tmp/restic-test-358226688/testdata]
scanned 14 directories, 1224 files in 0:00
[0:00] 100.00%  0B/s  19.074 MiB / 19.074 MiB  1239 / 1238 items  0 errors  ETA 0:00
duration: 0:00, 40.21MiB/s
snapshot b08fe909 saved
--- PASS: TestBackup-4 (2.54s)
    integration_test.go:22: repository initialized at /tmp/restic-test-358226688/repo
    integration_test.go:27: backing up [/tmp/restic-test-358226688/testdata]
PASS
ok      github.com/restic/restic/cmd/restic     2.549s

What do you think? Is this the way to go for the integration tests?

:+1: I like the idea (testing the cmd things in Go, not in sh) in general. I think we need to discipline ourselves to not use system() too much unless it's really necessary (and abstract it away so it's invisible and discouraged), otherwise we will just end up with a Go test that looks like a shell script :-)

Sure, i agree. I just needed a quick way to test this approach. Looks good to me.

For later reference: This PR is related to / part of https://github.com/restic/restic/issues/171.

I've just rebased the commits to master. Once #194 is merged, the messages about the 'orphaned' data blobs will vanish. I'll refactore the other integration tests in a bit.

I've split out three minor refactorings into #196.

This is finally done, thanks for all your patience ;)

Closes #87 and #171?

Indeed, thanks for pointing it out!


Updated aws-iam-authenticator to v0.5.12 for 1.21+

Issue #, if available:
Description of changes:

Updated aws-iam-authenticator to v0.5.12 for 1.21+
Update to golang 1.19, which they're building with

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/hold I want to confirm the go version

/retest

/retest

Closing in favor of https://github.com/aws/eks-distro/pull/1526


masked_cross_entrophy_nar_objective missing when testing on WOD

Hi @Yihanhu , thank you for sharing this great work!
I was able to build and run your docker container, and I downloaded the checkpoint from https://storage.googleapis.com/93935945854-us-central1-blueprint-config/gptm_wod.ckpt. I ran the caching scripts and was able to train successfully on WOD, however, when I try and run test_wod_model.sh I get a ModuleNotFoundError for masked_cross_entrophy_nar_objective when trying to load the checkpoint. I will include the traceback below.
Traceback (most recent call last):
  File "/root/workspace/GUMP/nuplan_extent/planning/script/run_training.py", line 114, in <module>
    main()
  File "/usr/local/lib/python3.9/dist-packages/hydra/main.py", line 49, in decorated_main
    _run_hydra(
  File "/usr/local/lib/python3.9/dist-packages/hydra/_internal/utils.py", line 367, in _run_hydra
    run_and_report(
  File "/usr/local/lib/python3.9/dist-packages/hydra/_internal/utils.py", line 214, in run_and_report
    raise ex
  File "/usr/local/lib/python3.9/dist-packages/hydra/_internal/utils.py", line 211, in run_and_report
    return func()
  File "/usr/local/lib/python3.9/dist-packages/hydra/_internal/utils.py", line 368, in <lambda>
    lambda: hydra.run(
  File "/usr/local/lib/python3.9/dist-packages/hydra/_internal/hydra.py", line 110, in run
    _ = ret.return_value
  File "/usr/local/lib/python3.9/dist-packages/hydra/core/utils.py", line 233, in return_value
    raise self._return_value
  File "/usr/local/lib/python3.9/dist-packages/hydra/core/utils.py", line 160, in run_job
    ret.return_value = task_function(task_cfg)
  File "/root/workspace/GUMP/nuplan_extent/planning/script/run_training.py", line 100, in main
    my_ckpt = torch.load(my_ckpt_path, map_location='cpu')
  File "/usr/local/lib/python3.9/dist-packages/torch/serialization.py", line 1025, in load
    return _load(opened_zipfile,
  File "/usr/local/lib/python3.9/dist-packages/torch/serialization.py", line 1446, in _load
    result = unpickler.load()
  File "/usr/local/lib/python3.9/dist-packages/torch/serialization.py", line 1439, in find_class
    return super().find_class(mod_name, name)
ModuleNotFoundError: No module named 'nuplan_extent.planning.training.modeling.objectives.masked_cross_entrophy_nar_objective'

It seems that there may be a module in the checkpoint that is not included in this branch?

please try this https://storage.googleapis.com/93935945854-us-central1-blueprint-config/gptm_wod_test.ckpt


Missing requirement and some requirement dependency issues

numpy==1.13.3

conflicts with tensorflow and matplotlib

scipy==1.0.0

function that are used are missing in this version

torch

isn't even there

numba==0.48

missing functions in new version required by librosa

resampy==0.3.1

I forgot which module requires this but it works

I encountered the same problem. How did you make it?


Selecting all rows gives a console error

for the versions mentioned below, on select of all rows (the checkbox which does a select all), the page crashes with a react error

Expected Behavior

On clicking select all checkbox, the callback function is selected
Current Behavior

On click of the selectAll checkbox, the page crashes with a stacktrace
Steps to Reproduce (for bugs)

Use 2.0.0-beta-23 version
Click on select all checkbox
code crashes
Use 2.0.0-beta-19 version, same scenario, the webpage doesnt crash
https://codesandbox.io/s/v0llp0j0m0

Your Environment

Tech
Version

Material-UI
1.0.0

MUI-datatables
2.0.0-beta-23

React
16.3.2

browser
Chrome

etc

This was an issue with version 23, upgrading to 25 solved the problem. Hence closing the issue


Import additional RNNCells in tf.contrib.rnn.init.py

Some RNNCells, like IntersectionRNNCell, NASCell, are implemented in tf.contrb.rnn.python.ops.rnn_cell. I would like to try these cells but found that these can't be used as the same way as LSTMCell, which I can import by from tf.contrib.rnn import LSTMCell. I checked the code found that these cells are not imported by tf.contrib.rnn.__init__.py .
Is there any way to try these cells? Or is it possible to import these cells in tf.contrib.rnn.__init__.py .
Thanks.

Yes, you have to add a reference in the docstring. Feel free to send a PR and CC @ebrevdo

PR, https://github.com/tensorflow/tensorflow/pull/9327

Thanks!


The python version does not correspond to the version of the package required in evodiff

The recommended version of python on GITHUB is 3.8.5, but the package in evodiff requires a version greater than or equal to 3.9, and numpy requires 2.x version in evodiff, but the latest version of numpy is 1.24.4, is there any solution?

@colbyford generously maintains a docker image (outlined in the README) which I recommend using if you are having installation issues https://hub.docker.com/r/cford38/evodiff

Thanks for the recommendation!
The Docker image that is in the repo (and on Docker Hub) uses the pytorch/pytorch:2.0.1-cuda11.7-cudnn8-runtime base image, which has Python 3.10.11.


Bootstrap 5 Tooltip with inline SVG

I've been testing the Bootstrap v5 tooltips (https://v5.getbootstrap.com/docs/5.0/components/tooltips/) but having an issue using them with inline SVGs. The tooltip triggers off when hovering over the SVG - resulting in a flicker of the tooltip showing/hiding.
Simplified test-case CodePen here:
https://codepen.io/coliff/pen/JjXpOJY
The same code works fine with Bootstrap v4.
https://codepen.io/coliff/pen/VwadMKX
(side note; as a stop-gap fix adding the css svg {pointer-events: none} fixes the issue).
This issue was discussed in a bit more detail at: https://github.com/twbs/bootstrap/discussions/31618

Any thoughts @Johann-S?

I made a CodePen with Bootstrap 5 using jQuery and the same problem occur, see: https://codepen.io/Johann-S/pen/dyMqBdq
So AFAIK it seems a CSS related issue to me since the Tooltip JS side changed a bit in v5 but not that much 🤔 Maybe in v4 we use pointer-events and not in v5

Seems fixed in Alpha 3 see: https://codepen.io/Johann-S/pen/rNLPpMv

Slating this for Beta 1 so we can work in a recommended fix.

it seems fixed to me we can close this issue

Oh my bad, great!

The issue is still present:

(I've used https://codepen.io/Johann-S/pen/dyMqBdq and changed width="64" height="64" + <path fill="red" to make the issue more visible)

Yeah, you can see the issue on our docs too.

Could I grab this issue if no one is working on it yet?

@Gurinderp
Yes, I wanted to to it but I lack time. How I see it:

Understand why it works with Bootstrap v4
The resolution is probably about adding "pointer-events: none"

https://stackoverflow.com/questions/37902708/google-charts-tooltip-flickering
https://www.google.com/search?q=flicker+tooltip+svg

It got something to do with how v5 is handling events vs how jQuery does.
In particular it is related to the mouseenter event. The current implementation doesn't use mouseenter but mouseover instead, which does bubble unlike mouseenter.
You can see the difference in the dev-tools as well. If you hover over the icon and check the DOM you can see that in v5 it's adding data-original-title to the svg/path elements without any values, which isn't the case in v4.
This got something to do with the implementation checking for the event.target element, which isn't the anchor but rather the svg (because of event bubbling). This causes it to initialize a second tooltip instance on the svg and thus adding those attributes.

It got something to do with how v5 is handling events vs how jQuery does it.
In particular it is related to the mouseenter event. The current implementation doesn't use mouseenter but mouseover instead, which does bubble unlike mouseenter. Also it currently does dispatch an event everytime the mouse moves over descendant elements.

Hope BS-B2 will be fixed, getting stopped all SVG tooltip.

Hope BS-B2 will be fixed, getting stopped all SVG tooltip.

@twbs/css-review Do we include the pointer-events change as suggested in the opening comment here, or is this something to be tackled in our JS?

@twbs/css-review Do we include the pointer-events change as suggested in the opening comment here, or is this something to be tackled in our JS?

This should be done, won't be enough I guess: as stated on MDN pointer-events page:

In addition to indicating that the element is not the target of pointer events, the value none instructs the pointer event to go "through" the element and target whatever is "underneath" that element instead.

Note that preventing an element from being the target of pointer events by using pointer-events does not necessarily mean that pointer event listeners on that element cannot or will not be triggered. If one of the element's children has pointer-events explicitly set to allow that child to be the target of pointer events, then any events targeting that child will pass through the parent as the event travels along the parent chain, and trigger event listeners on the parent as appropriate. Of course any pointer activity at a point on the screen that is covered by the parent but not by the child will not be caught by either the child or the parent (it will go "through" the parent and target whatever is underneath).

Elements with pointer-events: none will still receive focus through sequential keyboard navigation using the Tab key.

So it'd need to be applied to svg and svg *, and might still break for some events or when navigating with keyboard (though I don't know about the edge cases here).
@alecpl comment is very helpful: bubbling event is the real issue here, and using pointer-events seems useful but not a solution.
Does anyone know why we're using mouseover now? ping @twbs/js-review

This should be done, won't be enough I guess: as stated on MDN pointer-events page:

In addition to indicating that the element is not the target of pointer events, the value none instructs the pointer event to go "through" the element and target whatever is "underneath" that element instead.

Note that preventing an element from being the target of pointer events by using pointer-events does not necessarily mean that pointer event listeners on that element cannot or will not be triggered. If one of the element's children has pointer-events explicitly set to allow that child to be the target of pointer events, then any events targeting that child will pass through the parent as the event travels along the parent chain, and trigger event listeners on the parent as appropriate. Of course any pointer activity at a point on the screen that is covered by the parent but not by the child will not be caught by either the child or the parent (it will go "through" the parent and target whatever is underneath).

Elements with pointer-events: none will still receive focus through sequential keyboard navigation using the Tab key.

So it'd need to be applied to svg and svg *, and might still break for some events or when navigating with keyboard (though I don't know about the edge cases here).
@alecpl comment is very helpful: bubbling event is the real issue here, and using pointer-events seems useful but not a solution.
Does anyone know why we're using mouseover now? ping @twbs/js-review

@mdo imo this should be solved by JS. The problem, as I mentioned earlier, is within the implementation of the mouseenter event in v5. Natively mouseenter doesn't dispatch an event when hovering over descendent elements, but the current implementation simply replaces it with mouseover instead, which behaves a bit different.
See
https://github.com/twbs/bootstrap/blob/bb19b08fbe41157c5a6e8238ecefda064adda318/js/src/dom/event-handler.js#L21-L24
https://github.com/twbs/bootstrap/blob/bb19b08fbe41157c5a6e8238ecefda064adda318/js/src/dom/event-handler.js#L149-L153
Using pointer-events might work in this case, but it feels like a workaround rather than a fix. The jQuery (v3) implementation also works a bit different. It actually uses mouseover under the hood but is doing some event delegation to prevent descendent elements from triggering.
Not exactly sure what's the reasoning behind this. The the support for mouseenter is quite good according to https://caniuse.com/mdn-api_element_mouseenter_event. Although MDN mentions some perfomance issues on deep nested hierarchies https://developer.mozilla.org/en-US/docs/Web/API/Element/mouseenter_event#usage_notes and https://bugzilla.mozilla.org/show_bug.cgi?id=432698#c48.
On Chrome I can't confirm this though - Tried on an element that is nested 100 levels deep:
Mouseover:

Mouseenter:

@mdo imo this should be solved by JS. The problem, as I mentioned earlier, is within the implementation of the mouseenter event in v5. Natively mouseenter doesn't dispatch an event when hovering over descendent elements, but the current implementation simply replaces it with mouseover instead, which behaves a bit different.
See
https://github.com/twbs/bootstrap/blob/bb19b08fbe41157c5a6e8238ecefda064adda318/js/src/dom/event-handler.js#L21-L24
https://github.com/twbs/bootstrap/blob/bb19b08fbe41157c5a6e8238ecefda064adda318/js/src/dom/event-handler.js#L149-L153
Using pointer-events might work in this case, but it feels like a workaround rather than a fix. The jQuery (v3) implementation also works a bit different. It actually uses mouseover under the hood but is doing some event delegation to prevent descendent elements from triggering.
Not exactly sure what's the reasoning behind this. The the support for mouseenter is quite good according to https://caniuse.com/mdn-api_element_mouseenter_event. Although MDN mentions some perfomance issues on deep nested hierarchies https://developer.mozilla.org/en-US/docs/Web/API/Element/mouseenter_event#usage_notes and https://bugzilla.mozilla.org/show_bug.cgi?id=432698#c48.
On Chrome I can't confirm this though - Tried on an element that is nested 100 levels deep:
Mouseover:

Mouseenter:

Hi
Please take care about this issue.
I also checked bootstrap 5 beta1 tooltip example. But I face same problem here.
Check here it's not working. See svg with tooltip section.
Please anyone give me a solution.
Thanks in advance.

Combining the answers above, this worked for me as a temporary solution:
CSS:
svg, svg * {   pointer-events: none; }
As stated before this might break other things. At the moment is seems to be good enough
till we have a clean(er) solution.

@mdo sure, I will have a look. IMO the easiest way to fix this would be to just allow the native mouseenter or mouseleave events. Is there any particular reason why it was decided to not use them?

Just checked the Beta 2 version but the problem with tooltips changed but it's still here! Now when the pointer enters an element with a tooltip on the same side of the tooltip, as a result the tooltip and the arrow are broken and divided, the main tooltip body is positioned outside in a wrong position or disappears.

Sorry I got infected with Covid lately so I wasn't able yet to really have a look. But to give some little update.
It's actually not as easy as I considered this to be with just enabling mouseenter or mouseleave at least not for the delegated handlers. Will continue to try finding a way/place to patch in the neccessary functionality.

Another update. I partly managed to make EventHandler properly handle mouseenter and mouseleave events. on, trigger and off (with or without delegation) behave more or less like the native counterparts. One problem I'm facing now is with one not removing the handler properly because it tries to remove it based on event.type which in that case is mouseover or mouseout. event.type is readonly so I cannot overwrite it in the handler and I'm not sure how to proceed with that.
I don't feel like it would be a good thing to do some bigger refactoring at this state because we are at beta but
IMO the event system implementation is quite complex as it is right now and could need some improvements.
While this is likely to somewhat improve the problem with SVGs because there would be less events triggered, during testing I recognized there is a problem with the tooltip plugin in general that wouldn't be solved by this I'm afraid. I just checked the issues and I guess I should maybe spend time on this https://github.com/twbs/bootstrap/issues/32372 instead. This could solve both issues but we should create some follow up ticket on the event handling. @XhmikosR what you think?


Source releases & cleos/nodeos version print may not be expected

Source releases (.tar.gz) do not have a .git directory. So the logic that formulates the output to cleos version client may not do what we expect.
if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/../../.git)
  find_package(Git)
  if(GIT_FOUND)
    execute_process(
      COMMAND ${GIT_EXECUTABLE} rev-parse --short=8 HEAD
      WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/../.."
      OUTPUT_VARIABLE "cleos_BUILD_VERSION"
      ERROR_QUIET
      OUTPUT_STRIP_TRAILING_WHITESPACE)
    message(STATUS "Git commit revision: ${cleos_BUILD_VERSION}")
  else()
    set(cleos_BUILD_VERSION 0)
  endif()
else()
  set(cleos_BUILD_VERSION 0)
endif()

It appears that cleos version client will just print 0 due to this logic. I would expect we should forumate something based on
set(VERSION_MAJOR 3)
set(VERSION_MINOR 0)
set(VERSION_PATCH 0)

or such
This is loosely related to issue #2178

Closing because tarball releases will probably never be supported due to github's tarballs not including submodules


Initial attempt at conditions for kni-operator

@djzager I assume we should close this one?

yup.


5 TLDs missing on tld_lib.yml

The following 5 TLDs are missing from https://github.com/twitter/twitter-text/blob/master/conformance/tld_lib.yml

Domain
Type
TLD Manager

.charity
generic
Corn Lake, LLC (Donuts)

.inc
generic
Intercap Holdings Inc.

.llc
generic
Afilias plc

.sport
generic
Global Association of International Sports Federations (GAISF)

.招聘
generic
Dot Trademark TLD Holding Company Limited

As the library seems to be used for Twitter, domains like gymnastics.sport are not recognized there.
Please update the TLD listing listing as quickly as possible or automate the update by drawing the content from the DNS root zone or from https://www.iana.org/domains/root/db
Regards,
Werner Staub

Thanks for this report. These new TLDs will be added to the next version (code is merged to our local repo). I'm going to leave this ticket open until the next package is formally released.


Add the ability to use the Java HttpClient as the default HttpClientE…

…ngine.

This is great!

Thank you. I'm not sure why these tests are failing as they pass, at least on Linux, for me locally. I'm on a new laptop so I need to get a new Windows VM setup to test there.

It seems like some random async problems.

It seems like some random async problems.

Yes, in some cases it looks like the connection gets closed so it could be a real issue. I just have been able to reproduce it.

Please also see the discussion https://github.com/resteasy/resteasy/discussions/3743


Error using GetImplicitValence

Description:

RDKit Version: 2019.03.1
Platform: Windows 10

Mol = Chem.MolFromSmarts('[CH3;X4]')

for atom in Mol.GetAtoms():
    print(atom.GetImplicitValence())

0

Implicit valence is a property that is perceived based on standard chemistry rules for normal atoms. These rules do not apply for atoms constructed from SMARTS.

Somehow for the following setup it works:

Version: 2017.09.3
Platform: Windows 10
Python 2.7

mol = Chem.MolFromSmarts('[CH3;X4]')
mol.UpdatePropertyCache(strict = False)
mol.GetAtomWithIdx(0).GetImplicitValence() #returns 4

That behavior was changed as part of this PR: https://github.com/rdkit/rdkit/pull/1716
It is still possible to get the RDKit to assign implicit Hs to atoms constructed from SMARTS if the atom doesn't contain any type of H query:
In [11]: m = Chem.MolFromSmarts('[C;X4]')

In [12]: m.UpdatePropertyCache(strict=False)

In [13]: m.GetAtomWithIdx(0).GetImplicitValence()
Out[13]: 4

I view this is a bug, but we won't ever be able to catch every possible "you're doing something you shouldn't do" case.
It is, almost always, a bad idea to do chemistry perception on molecules constructed from SMARTS.

@greglandrum
Is there an rdkit way to get the implicit valence of an atom from a molecule constructed based on a SMARTS ignoring the Hs in the query? Obviously I could try to parse it myself, but maybe there is a more elegant way to do it.

I'm not sure I understand the first question.
What would you expect the implicit valence of the first atom in this SMARTS to be?
[C]N
What about this one:
[C;$(C(=O)O)]N

[C]N : I would expect 3
[C;$(C(=O)O)]N: I would expect 0

As for the conditional example, you are right, it is not possible to say in these cases.
@agdecm and I are working on a project together were we need to know the number of available bonds. That is actually our goal.
e.g.
[CH3;X4] => 1
[BrH0] => 1
[CH0](=O)[OH0] = > 2
[CH0]=[CH0] => 4

This is actually also related to what I found on issue: #1978

@simonmb The queries you've provided are all relatively simple; the problem may be solvable here.
Do all of your SMARTS look like that or do you have more complex examples that include or queries (i.e. commas) or recursion?

We have decided not to support or queries. But we have recursion.
e.g.
[$(Cl[C]=[C])]
[OH0;!$(OC=O);!R][CH2;!R][CH2;!R][OH]

The recursion is going to be harder to manage, but for the others you can use the DescribeQuery() method on atoms and then parse that (easy) to figure out if there's an H query:
>>> m = Chem.MolFromSmarts('[CH3;X4][$(OCO)]')
>>> a0 = m.GetAtomWithIdx(0)
>>> a1 = m.GetAtomWithIdx(1)
>>> print(a0.DescribeQuery())
AtomAnd
  AtomAnd
    AtomType 6 = val
    AtomHCount 3 = val
  AtomTotalDegree 4 = val

for recursion you're probably going to have to do something like this:
>>> sma = a1.GetSmarts()
>>> print(sma)
[$(OCO)]
>>> nsma = re.search(r'\$\((.*?)\)',sma).groups()[0]
>>> print(nsma)
OCO
>>> nmol = Chem.MolFromSmarts(nsma)
>>> na0 = nmol.GetAtomWithIdx(0)

and then work with that.
To figure out the "accounted for" valence you'll need to call m.UpdatePropertyCache(strict=False) and then use the GetExplicitValence() method on the atoms. This is mostly safe with SMARTS since it doesn't require chemistry perception. The biggest risk with this is that contributions of unspecified bonds to the explicit valence. In SMARTS an unspecified bond is "single or double". The RDKit mostly handles this properly, but it's very easy to find cases where it's wrong.
>>> m2 = Chem.MolFromSmarts('ccc')
>>> m2.UpdatePropertyCache(strict=False)
>>> m2.GetAtomWithIdx(1).GetExplicitValence()
3
>>> m3 = Chem.MolFromSmarts('CCC')
>>> m3.UpdatePropertyCache()
>>> m3.GetAtomWithIdx(1).GetExplicitValence()
2
>>> m4 = Chem.MolFromSmarts('cCc')
>>> m4.UpdatePropertyCache()
>>> m4.GetAtomWithIdx(1).GetExplicitValence()
2

That was a bunch of information, hopefully it points in the right direction and has some useful bits... follow up if not.

Thanks, we had been developing something similar also iterating over the atoms, but your way is a bit safer. Especially about how to get the number of Hs in a query.
Have you been able to look into the related issue #1978? If I understand correctly, this should be fixable in a similar manner.

I’ve dealt with a similar issue in the past, we cheated and ran the queries on our internal dB and a sampling from pub chem and used the hydrogen counts of the hits as a proxy.
We then took the complicated ones and filtered them by hand to modify the original queries by looking at the h counts of the hits.  This is probably not what you want, but we found it 90+% effective.

But you are talking about SMILES, right? We are more interested in SMARTS.
Gesendet mit TypeApphttp://www.typeapp.com/r?b=14870
Am 14. Mai 2019, um 18:22, Brian Kelley <notifications<EMAIL_ADDRESS>schrieb:
I’ve dealt with a similar issue in the past, we cheated and ran the queries on our internal dB and a sampling from pub chem and used the hydrogen counts of the hits as a proxy.
We then took the complicated ones and filtered them by hand to modify the original queries by looking at the h counts of the hits. This is probably not what you want, but we found it 90+% effective.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://nam05.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Frdkit%2Frdkit%2Fissues%2F2448%3Femail_source%3Dnotifications%26email_token%3DABOVBK22S66NKGR6CA2XYGDPVLRN3A5CNFSM4HMRTLT2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODVMATTA%23issuecomment-492308940&data=02|01||06d8cc6bda9c4496f0cb08d6d8886ae1|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636934477750091701&sdata=Qf2ttRHE9gw70i48TjhXiCCYtsJu2%2Ff3ciuzCciX9es%3D&reserved=0, or mute the threadhttps://nam05.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FABOVBK3NMOPJG7RX3LZGHZ3PVLRN3ANCNFSM4HMRTLTQ&data=02|01||06d8cc6bda9c4496f0cb08d6d8886ae1|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636934477750111724&sdata=qr9jvSVuQIVS8mOIhdAq4Wq9u4lyWEu70IcHdGb7vDI%3D&reserved=0.

No, we took our smarts patterns, ran them against “real” molecules and then back propagated the implicit hydrogens of the matches.  This data was used to modify the smarts pattern’s acceptable Hs to only except the hits we liked.   I’m making an assumption of what you really want here, and I could easily be wrong.

( actually back propagated  both implicit and explicit )

I think the right answer here would really be to implement the atom-type fingerprints that are used in the SMARTS matching work from the Rarey group (this really is a nice piece of work). I believe the details of the algorithm are in the supplementary material. The paper has apparently been accepted; once it's online we can take a look and think about how much work it would be.

@simonmb: I haven't had a chance to look into #1978
I will try to do that today/tomorrow, but no guarantees.

Yes, since I am based in Hamburg, I have also been in contact with them and I know they will publish soon. It would be good if the Valence/Hydrogens could be set according to the SMARTS. In the case of conditional SMARTS have them return something like None or -1 or Unspecified and in the case the value can be calculated set the property to the correct value.
I am working on an algorithm that uses the calculated properties of the SMARTS, for example to match if one SMARTS is a subset of another SMARTS. Something also the Rarey group is working on. This is the relation to #1978, as it also has to do with the correct setting of the Hs.

Description

Version: 2019.03.1
Platform: Windows 10
Python 3.7

I noticed the following while testing what you recommended:
m = Chem.MolFromSmarts('[C;X4]')
m.UpdatePropertyCache(strict=False)
m.GetAtomWithIdx(0).GetImplicitValence()
returns 4

However, the following behaves differently:
m = Chem.MolFromSmarts('[CH;X4]')
m.UpdatePropertyCache(strict=False)
m.GetAtomWithIdx(0).GetImplicitValence()
returns 0

How can I get the implicit valence in the second case?

If anything I think the first result is the problem here.
Atoms in a SMARTS really shouldn't have implicit valences.

Just for your Info, the paper by Rarey's group is out:
https://pubs.acs.org/doi/10.1021/acs.jcim.9b00250
Another one interesting:
https://pubs.acs.org/doi/10.1021/acs.jcim.8b00704

Please move further questions to the "discussion" tab.


Logback: Add the possibility to supply User information through MDC

Changes:

Added properties to allow for the definition of keys in the MDC that will be used to retrieve user information
In case the keys are set and there is data the Appender will add an instance of UserInterface to the EventBuilder
The data that has been added to the UserInterface will not be added to ExtraInfo

The fields might be not be optimally named and I am open to any suggestions there (or anywhere else for that matter, I was not able to find much information about contribution guidelines - the Sentry ones were not much help here).

Thanks for this, I definitely want something similar. The two issues I see are:

We like to maintain feature parity between all logging backends, so I'll need to make this work for the others.
I wonder if the MDC style is too "heavy" -- we probably want to do this for more than just the User interface. I need to think about easier ways to do this, but maybe MDC is the only way?

I am more than willing to make it work for the other backends when the pattern is established for one
I am unsure of another style to use here instead. Introducing an additional ThreadLocal instance for user storage seems too heavy handed. The MDC is meant to convey the context of the thread (thus the user is also part of the context), so that was why I used it here.

We currently have an incompatible and less generic solution in use in our project (we only used one MDC field for the whole user) and this one seems more flexible and less problematic.
Using a ThreadLocal instance might be viable, as it would allow for a "User" interface to be passed instead. I can do an exploratory branch for a ThreadLocal option if you want. The MDC does limit you to passing strings which might be a detriment here.

So we have the notion of a Context, it hasn't been put to much use outside of Breadcrumbs yet: https://github.com/getsentry/raven-java/blob/master/raven/src/main/java/com/getsentry/raven/RavenContext.java
We could add a real User class that could be set on the Context and pulled out when events are built?

I will try that out. Thanks for the pointer.

Superseded by: #303


Fix: enable ZSTD codec only if index.codec is set to ZSTD.

The new ZSTD compression codec adds ZSTD to the existing compression codecs (default, best_compression, and lucene_default). This PR allows the compression codec to give a custom-codec service factory only when index.codec is set to ZSTD or ZSTDNODICT.

Description
Fixes issue #7012 by explicitly avoiding the creation of a custom codec service unless the index.codec value is either ZSTD or ZSTDNODICT .
Issues Resolved
[#7012]
Check List

[ ] New functionality includes testing.

[ ] All tests pass

[ ] New functionality has been documented.

[ ] New functionality has javadoc added

[x ] Commits are signed per the DCO using --signoff
[ ] Commit changes are listed out in CHANGELOG.md file (See: Changelog)

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

dec is not custom

@dblock Do you mean requiring the user to specify all custom codecs as, for example, index.codec: CUSTOM:ZSTD instead of just index.codec: ZSTD? And then return a custom CodecServiceFactory only if(codec.startsWith('CUSTOM:'))?

One comment, if an index sets this value to use the custom codec and from another plugin the codec is coming lets say a k-NN index, which codec will be picked up? or it will lead to failures?
Example(might result in failure, can we check this case):
PUT my-knn-index-1
{
  "settings": {
    "index": {
      "knn": true,
      "knn.algo_param.ef_search": 100,
      "codec": "ZSTD"
    }
  },
  "mappings": {
    "properties": {
        "my_vector1": {
          "type": "knn_vector",
          "dimension": 2,
          "method": {
            "name": "hnsw",
            "space_type": "l2",
            "engine": "nmslib",
            "parameters": {
              "ef_construction": 128,
              "m": 24
            }
          }
        },
        "my_vector2": {
          "type": "knn_vector",
          "dimension": 4,
          "method": {
            "name": "hnsw",
            "space_type": "innerproduct",
            "engine": "faiss",
            "parameters": {
              "ef_construction": 256,
              "m": 48
            }
          }
        }
    }
  }
}

I have created this issue: https://github.com/opensearch-project/OpenSearch/issues/7032 tries to explore the possible solution.
One suggestion I have is can we add java doc on top of this plugins and also on the EnginePlugin class which provides this interface that if an index tries to use 2 codec this can lead to failures in creating the index.

I reviewed the code again to see if I could do it without overriding the existing code service factory, and I can. So, I have removed the CodecService classes altogether.
Note that the custom compression codecs are registered by calling org.apache.lucene.codecs.Codec ctor here. The index.codec setting will get the custom compression codecs by calling Codec.availableCodecs().contains(s) here in EngineConfig.
@dblock The names for custom compression codecs, ZSTD and ZSTDNODICT, cannot contain non-alphanumeric characters; Lucene's NamedSPILoader forbids it.
@navneet1v @martin-gaievski Can you check if this also addresses #7032?

Codecov Report

Merging #7037 (a76ed95) into main (53b128f) will increase coverage by 0.03%.
The diff coverage is 0.00%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@             Coverage Diff              @@
##               main    #7037      +/-   ##
============================================
+ Coverage     70.78%   70.82%   +0.03%
- Complexity    59269    59308      +39
============================================
  Files          4823     4820       -3
  Lines        283985   283962      -23
  Branches      40953    40952       -1
============================================
+ Hits         201026   201112      +86
+ Misses        66403    66334      -69
+ Partials      16556    16516      -40

Impacted Files
Coverage Δ

...ch/index/codec/customcodecs/CustomCodecPlugin.java
0.00% <ø> (ø)

...customcodecs/Lucene95CustomStoredFieldsFormat.java
25.00% <ø> (ø)

...opensearch/index/codec/customcodecs/ZstdCodec.java
80.00% <ø> (ø)

.../index/codec/customcodecs/ZstdCompressionMode.java
84.09% <ø> (ø)

...arch/index/codec/customcodecs/ZstdNoDictCodec.java
80.00% <ø> (ø)

.../codec/customcodecs/ZstdNoDictCompressionMode.java
76.71% <ø> (ø)

...ter/snapshots/get/TransportGetSnapshotsAction.java
41.58% <0.00%> (ø)

... and 525 files with indirect coverage changes
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

I reviewed the code again to see if I could do it without overriding the existing code service factory, and I can. So, I have removed the CodecService classes altogether.

Now you have removed all CodecSeviceFactory , I want to know how the codec is now getting used or getting attached to a particular index?
is it like if someone specify the index.codec: ZSTD the ZstdCodec would be picked up if already present?

is it like if someone specify the index.codec: ZSTD the ZstdCodec would be picked up if already present?

@navneet1v Yes.
Lucene's setCodec(new ZstdCodec())  is called, just like setCodec(new Lucene95Codec(Lucene95Codec.Mode.BEST_COMPRESSION))  is called for a index.codec: best_compression.

I reviewed the code again to see if I could do it without overriding the existing code service factory, and I can. So, I have removed the CodecService classes altogether.

This is awesome, @mulugetam , basically the standard service loader mechanism is purely sufficient here, rigth?

This is awesome, @mulugetam , basically the standard service loader mechanism is purely sufficient here, right?
@reta yes.

@reta I have also upgraded the zstd-jni version from 1.5.4-1 to 1.5.5-1. Version 1.5.5-1 is based on ZSTD version 1.5.5 that addresses the rare corruption bug described here: https://github.com/facebook/zstd/releases/tag/v1.5.5


Upload files VS Code extension fails due to path escaping

Select the SuiteCloud tool where you encountered the issue
SuiteCloud Extension for VSCode
Version of the SuiteCloud Tool
v1.4.3
Operating system
Windows 11 Pro, 21H2
Node Version / VSCode Version
v20.4.0/1.80.2
JAVA Version
17.0.7+8-LTS-224
Bug description
When using the SuiteCloud Extension for Visual Studio Code and trying to update a file to the SuiteScript folder in the file cabinet, VS Code shows the successful upload prompt however looking at the output for VS Code, the file upload fails due to the folder being incorrectly classified as a restricted folder. From the image below, it appears that when the file path is checked, the path has double slashes instead of single which is making the path invalid.

Steps To Reproduce

Open a valid file to upload in the editor window
Press CTRL+SHIFT+P and choose the SuiteCloud: Upload File option.

Actual Output

Expected Output
The file uploads successfully.
Anything else?
Uploading the file using the cli works perfectly.

still no update regarding this issue 🥲, I'm having same error. @lohart13, have you fix yours?

@ALPHAMUM Are you also on windows?
In case you are still having issues, you can use suitecloud cli while we investigate this! https://www.npmjs.com/package/@oracle/suitecloud-cli

@alii-gator yes I'm using windows. currently I'm upload my codes manually. I'll check this suitecloud cli thanks.

the suitecloud CLI works, Thanks @alii-gator

Another workaround is to use JDK version 17.0.2
You will have to also install with auto_updates=disabled.
Create a configuration file with the following content:
AUTO_UPDATE=DisableINSTALL_SILENT=Enable
Run the Installer with the Configuration File:
jdk-installer-name.exe INSTALLCFG=path\to\jdk-config.txt
Verify
java -version

@alii-gator Thanks for the SuiteCloud CLI idea...  it works just not as well as SuiteCloud Extension.  Any updates on this issue?  Just making sure I'm not the only one still having this issue.

Hi @vantiago ,
Have you tried the workaround for java 17.0.2?
It is also explained in another ticket:
https://github.com/oracle/netsuite-suitecloud-sdk/issues/711

Thanks @tourajvaziri!  That did the trick!

I'm also facing the same issue right now, it is still not fixed

We have released the fix for this issue in last version of the CLI1.9.0 and  VsCode extension 1.6.0
Please check it out and If you are still experiencing this issue, please reopen this ticket.
Thanks


Video continuously playing when we navigate to other screen

Video continuously playing when we navigate to other screen

this issue is on IOS

Hello @Haris-teach
Can you provide a reproducible example? Thank you!

I just managed to reproduce this, but I think it's rather a react-nativei-video issue. Maybe this was fix in a current alpha version? You can try yarn add react-native-video@next

You can try this for solved your problem:

Add ref
let videoPlayer = useRef<Video | null>(null);

2)Add useEffect
useEffect(() => {
return () => {
videoPlayer.current = null;
};
}, []);
3)Add ref to Player

Needs more info to reproduce. perhaps a reproduction repository?


drivers: dma: stm32 dma driver support repeated start/stop

To support the repeated start/stop, the stm32 dma driver is returning 0 if the channel is already started/stopped.
This is not done at the dmamux level if any.
This is required by the https://github.com/zephyrproject-rtos/zephyr/pull/53504
Then running the test_loop_repeated_start_stop testcase of the tests/drivers/dma/loop_transfer :
- PASS - [dma_m2m_loop.test_dma_m2m_loop_repeated_start_stop] duration = 0.605s
Signed-off-by: Francois Ramu<EMAIL_ADDRESS>

Introduce a stm32_dma_is_enabled_stream() function to match all the stm32cube LL dma driver

for the dma of type V1 where the stm32cube LL function is LL_DMA_IsEnabledStream
for other dma types, the stm32Cube function is LL_DMA_IsEnabledChannel

Thanks for the quick turn around on this!


How to get the current (pageItems) items (after sort, filter & search)

Is there any way to get the current result items? Hope the update-filter only works on the filter. Can we create a similar one for update-items

please update to the latest version 1.5.28, then you can use updatePageItems event like:
<DataTable
  :headers="headers"
  :items="items"
  @update-page-items="updateItems"
/>

<script>
const updateItems = (items) => {
  console.log(JSON.stringify(items));
};
</script>

@HC200ok Thank you for adding the feature. It works with 1.5.28 but not working with the latest release 1.5.29 (https://codesandbox.io/s/red-currying-54g2dx?file=/package.json)

Please update to the latest version 1.5.30

@HC200ok Thank you... it working fine.