Refactored 'test_integration.py' to use 'with open() as file' syntax

Description
Refactored the 'test_integration.py' file to use with open() as file syntax.
How Has This Been Tested?
The code has been tested by running all the unit tests using the command python -m unittest and validated the PEP 8 formatting using pycodestyle.

[x] Unit Tests
[x] PEP 8 Formatting Validation

Great work 🍷
with open() is definitely right thing to use. I am just curious, did you see any file close issues or you just realized, what existed before was not standard format and you should change it.

Yes @srgothi92, there were warnings as the files were not being closed after usage.

@srgothi92, I fixed the typos and squashed the changes into a single commit.


Hide terragrunt output

Is there a way/flag to disable terragrunt output and only see terraform output?

Currently, no, but we should move Terragrunt to a better logger (e.g., logrus) that lets us control log levels. In the meantime, you could redirect stderr to /dev/null, since Terragrunt does all of its logging to stderr. However, any logging from Terraform itself that goes to stderr would also be lost...

At the mean time I"ll just do something like this: terragrunt plan 2>&1 | grep -v 'terragrunt'

Not all of its logging goes to stderr...
bash-3.2$ terragrunt output Instance_ID 2>/dev/null
[INFO] Getting version from tgenv-version-name
[INFO] TGENV_VERSION is 0.25.5
...

@brikis98 I would like to create PR for this issue. Do you have any particular preferences for logger?
While it is possible to go with logrus, another possibility would be switching to github.com/hashicorp/go-hclog, which is used by terraform itself and by terraform providers (at least in v2 api). go-hclog would require less changes, as it is based on standard logger. It should make logging more consistent as well.

I don't have too strong of an opinion on Go logging libraries. logrus seems much more popular and we use it elsewhere, but I'm not dead set on it. @yorinasub17 @infraredgirl @bwhaley Any of you have strong opinions on Go logging?

I don't have too strong of an opinion on Go logging libraries. logrus seems much more popular and we use it elsewhere, but I'm not dead set on it. @yorinasub17 @infraredgirl @bwhaley Any of you have strong opinions on Go logging?

No strong opinion here.

No strong opinion here.

Same - no strong opinion on my side. go-hclog is consistent with Terraform so that seems like a sensible choice.

Same - no strong opinion on my side. go-hclog is consistent with Terraform so that seems like a sensible choice.

OK, given that no one has too strong of an opinion here, I'll make the call that we should go with logrus. Reasoning:

It's way more popular than go-hclog.
We already use it in https://github.com/gruntwork-io/gruntwork-cli, and we hope to move Terragrunt to use gruntwork-cli under the hood.

OK, given that no one has too strong of an opinion here, I'll make the call that we should go with logrus. Reasoning:

It's way more popular than go-hclog.
We already use it in https://github.com/gruntwork-io/gruntwork-cli, and we hope to move Terragrunt to use gruntwork-cli under the hood.

You can now set the log level: https://terragrunt.gruntwork.io/docs/reference/cli-options/#terragrunt-log-level

@brikis98 I can still see o/p related to TG_Env as mentioned in this comment: https://github.com/gruntwork-io/terragrunt/issues/246#issuecomment-731092784
While adding the flag did worked perfectly fine for logs like No double-slash (//) found in source URL but the version name is adding on every terragrunt run.
Since this o/p is colored this is interfering with Atlantis, and not giving a colored response while publishing it to git as comment.

Figured out these logs are coming from TGENV utility and not directly from terragrunt. https://github.com/cunymatthieu/tgenv/blob/dd720f62051bb748f75eee2d83d6768171d45830/libexec/tgenv-exec#L20

There should be a way to control this.
Error: <stdin>: syntax error

terragrunt graph-dependencies | grep -vi 'tfenv' | dot -Tsvg > graph.svg
# no error

TGENV_SILENT=true would be great, or only output that stuff if TGENV logging is enabled by default is even better.


Preview missing non styled content in a paragraph when there is any styled text in that paragraph

Jodit Version:  1.1.14
Browser:Chrome
OS:  Windows
Is React App:True
Code
Actual behavior:
When we format any word in paragraph tag content, only the formatted text in that paragraph tag is showing in preview, non-styled text are missing in preview.
Expected behavior:
Entire paragraph content should be shown in preview.
Editor content :

Preview Content :

Thank you for the fix @xdan


Missing CONTRIBUTING.md File

The repository currently lacks a CONTRIBUTING.md file, which is an important resource for guiding potential contributors on how to engage with the project effectively. A CONTRIBUTING.md file outlines the contribution guidelines, coding standards, and procedures for submitting pull requests, thus streamlining the contribution process and ensuring consistency across contributions.
Could you please assign this issue to me under GSSOC 24.

Actully i have created contribution.md but some how i  don't know someone has remove that file but i have added again you can create another issue because we have already contribution.md


Explicitly set variables to undef.

In Puppet 4 variables should be explicitly set to avoid warnings (or errors, in the case of strict mode).
Puppet Unknown variable: 'docker::params::service_config'. at /etc/puppetlabs/code/environments/development/modules/docker/manifests/init.pp:360:40
Puppet Unknown variable: 'docker::params::service_overrides_template'. at /etc/puppetlabs/code/environments/development/modules/docker/manifests/init.pp:362:40
Puppet Unknown variable: 'docker::params::storage_config'. at /etc/puppetlabs/code/environments/development/modules/docker/manifests/init.pp:357:40

There may be more, but these are the ones I see on Ubuntu.

Thanks @tdb


Add modal

Summary
Added Modal for writing kudos. Removed the sanWrite page.
Detail
Can update the page after submission.
Pictures / Gif

Checks

[ ] Bernard

I dont think you need the recipient, each person has a page and by right clicking the modal should only write to that person


Run RASA X on HTTPS

Hi,
I enable https of rasa core with the below command and rasa core is now running on HTTPS.
rasa run --ssl-certificate <.crt> --ssl-keyfile <.key> --enable-api -m models/
https://localhost:5005
But when I am trying to do the same stuff with rasa X
rasa x --ssl-certificate <.crt> --ssl-keyfile <.key>
then still its showing running on http://localhost:5002 not on HTTPS.

duplicate of #4703


vagrant up command fails during master step: [ERROR] Please allow iptables default FORWARD rule to ACCEPT

command run: vagrant up
in Kubernetes folder
running with Virtualbox 6.0 on Windows 10
[...]
master: Installed:
master:   iproute-tc.x86_64 0:4.16.0-1.0.5.el7     kubeadm.x86_64 0:1.12.7-1.2.3.el7
master:   kubectl.x86_64 0:1.12.7-1.2.3.el7        kubelet.x86_64 0:1.12.7-1.2.3.el7
master:
master: Dependency Installed:
master:   conntrack-tools.x86_64 0:1.4.4-5.el7_7.2
master:   kubernetes-cni.x86_64 0:0.6.0-2.2.1.el7
master:   kubernetes-cni-plugins.x86_64 0:0.7.5-1.0.1.el7
master:   libnetfilter_cthelper.x86_64 0:1.0.0-10.el7_7.1
master:   libnetfilter_cttimeout.x86_64 0:1.0.0-6.el7_7.1
master:   libnetfilter_queue.x86_64 0:1.0.2-2.el7_2
master:   socat.x86_64 0:<IP_ADDRESS>-2.el7
master: Complete!
master: net.bridge.bridge-nf-call-ip6tables = 1
master: net.bridge.bridge-nf-call-iptables = 1
master: Your Kubernetes VM is ready to use!
==> master: Running provisioner: shell...
master: Running: inline script
==> master: Running provisioner: shell...
master: Running: inline script
==> master: Running provisioner: shell...
master: Running: inline script
==> master: Running provisioner: shell...
master: Running: inline script
==> master: Running provisioner: shell...
master: Running: C:/Users/tomasz/AppData/Local/Temp/vagrant-shell20200112-15956-16puilw.sh
master: /tmp/vagrant-shell: Setup Master node -- be patient!
master: /tmp/vagrant-shell: kubeadm-setup.sh did not complete successfully
master: Last lines of kubeadm-setup.log:
master: Trying to pull repository container-registry.oracle.com/kubernetes/kube-proxy ...
master: v1.12.7: Pulling from container-registry.oracle.com/kubernetes/kube-proxy
master: Digest: sha256:f4f9e7b70a65f4f7d751da9b97c7536b21a7ac2b301155b0685778fc83d5510f
master: Status: Image is up to date for container-registry.oracle.com/kubernetes/kube-proxy:v1.12.7
master: container-registry.oracle.com/kubernetes/kube-proxy:v1.12.7
master: Checking whether docker can run container ...
master: Checking iptables default rule ...
master: [ERROR] Please allow iptables default FORWARD rule to ACCEPT
master:         the way to do it:
master:         # /sbin/iptables -P FORWARD ACCEPT
The SSH command responded with a non-zero exit status. Vagrant
assumes that this means the command failed. The output for this command
should be in the log above. Please read the output to determine what
went wrong.

The issue comes from the recently released docker 19.03 which resets the FORWARD policy...
Please note that this Vagrantfile is for Kubernetes 1.12 and earlier, for a more recent version you should use the OLCNE Vagrantfile from this repository.
If you really need to install Kubernetes 1.12, you can workaround the issue by using the previous docker version.
If you are using the vagrant-env vagrant plugin add the following to your .env file
DOCKER_VERSION=18.09.8.ol

Alternatively you can edit the Vagrantfile directly:
-  DOCKER_VERSION = default_s('DOCKER_VERSION', '')
+  DOCKER_VERSION = default_s('DOCKER_VERSION', '18.09.8.ol')


[otbn] Add ASSERT_KNOWN to done_o output from core

This signal doesn't make it out to top-level unless the interrupt is
enabled. Spotting X's here gives a rather more obvious symptom than
what did happen (a mismatch in the idle-checking interface).
@GregAC: This check was triggered by the mis-wired ECC stuff you fixed earlier and it showed up in the nightly tests. It would probably have been a little easier to diagnose if we'd had an assertion here too.

I wouldn't have thought we'd ever see that, though - imem_rvalid_i shouldn't ever have X's in it, I don't think?
To see a failing test, run  util/dvsim/dvsim.py hw/ip/otbn/dv/uvm/otbn_sim_cfg.hjson -i otbn_single --fixed-seed 69560870 on sha f69ff773c (last night's nightly). The failure is caused by the mis-wired ECC stuff.

Ah so the miswired ECC stuff was producing an X somewhere that resulted in an X in done_o? I'll take a quick look at the waves

Yep. It's fixed already, don't worry. This is just to make it easier to diagnose next time something like this happens.


Navigation

This submission is considerably more ambitious than the last. Headings were added to break up the text and call out individual topics and facts. A more complex table of contents was built from the headings. Portions of the text were adjusted slightly to accommodate the new organization, which included moving some text blocks for chronological or clarity reasons. (For example, I consolidated the extended discussions of some website "stories" to be adjacent to the initial summary of each story.) I removed the Isis-as-FBI-informant .jpg because it didn't contain the expected information. I added "Nick" to the section about the website. I also corrected at least one date.

If you like this latest update, I'm thinking that the next thing to do is unpack the references so that the original source and the date are easily discoverable. I'm thinking of superscript links and a list of notes along the lines of Wikipedia. This will make it very easy to adjust any remaining chronological puzzles, and it will allow readers to see the original sources without clicking first on a link to an archive.

I would definitely like to put in more headers since I've added some big paragraphs in the last few weeks and those need to be framed more.
The reason the victims from the website were originally in list format was due to the lack of information at the time but I agree those should be broken up into paragraphs. However on that change I think I'm going to wait until after Tor releases their report. There are eight profiles on the website and according to Gizmodo, Tor only interviewed 6 women total (including witnesses, so not even 6 alleged victims) and they may not even be the same people as the website. What I'll do there is move "Sam" and "Forest" down into the paragraphs of Macrina and Lovecruft because like Farr they've revealed themselves publicly, and the non-public ones will stay on the list format. When Tor releases their report, whether the other alleged victims go public or not, there might be more information, so I'll considering making them into paragraphs as well.
I also like your idea about making the references more discoverable. The only problem with using original links as Wikipedia does is that in many cases here, things were changed or deleted completely. I try to make all my links go to an archived version so that I don't have to check back for link-rot (which in an open-source intelligence piece would be a nightmare unless I added a script to alert me to it). I've tried to make up for that with images here and there so it's not just plain text.
Due to the number of changes and branch conflict, I'm not going to merge this one, but I'll model my upcoming changes after this format you made and link back to it for credit. Thanks!

This all makes good sense.
Concerning the references, I'm not thinking of actually copying the Wikipedia style, but of modifying it. WP insists on using vetted secondary sources as references, and archives don't really fit that requirement. When I made up a list of the leaked @ioerror documents on my own site, I came to the conclusion (as you did) that archives had to be used as insurance against the ephemeral nature of the original documents. WP would regard your timeline and my leak list as "original research," which is also not allowed.
A WP reference to a news website (for example) has this structure, where "XXX" means linked text:
[ Author (Date). ]  [ Title. ] [ Site/publication name. ] [ Retrieval date. ]
I would suggest using something more like this:
[ Author (Date). ] [ Title. ("Archived [date])" ] [ Site/publication name.  ] [ "Source:" URL  ]
Where:

Author may well be "Anonymous".
Title. is linked to the archived location.
URL is the original URL, spelled out and not hyperlinked.

This provides various advantages:

The date of the actual publication is given if known.
The link gives a name to the document and goes reliably to an archived version.
The original URL is provided as historical metadata but there is no need to confirm that it works anymore.

Otherwise, the style could follow the bidirectional superscript style WP uses, which makes it easy to check a reference and then jump back to where you are reading.

That sounds good to me. I did something similar (not with that reference formatting though) in my Apple vs. FBI investigation, mirrored the vital documents elsewhere in the repository and then linked to them on the write-up page. https://github.com/Enegnei/AppleVsFBI/blob/master/AppleVsFBI.md#mirror-links. I'm open to doing the mirroring again here as any page archived with Archive.is is downloadable as a zip file, but the organisation of folders for all that in the repo would have to be planned in advance or it could get super messy.


Added orders

Hello - I have added a GetOrders method to the GdaxClient that gets a list of orders.

Thanks for the PR! I merged master into this branch since there was another PR with a lot of work done as well. These changes should not be on nuget. :)

Brilliant - thanks. Nice work on adding the place order calls!


New website not loading

Website with the script won´t load. I tried Chrome and Opera.
https://davidarroyo1234.github.io/InstagramUnfollowers/

Able to access now. Thanks for the good job.


Metadata and Workflow adjustments

Changes

Adds the poetry-version-plugin to the development dependencies
Configures the publishing workflow to use the git tags directly from checkout using the poetry-version-plugin.
Adds Python3.8 and Python3.9 builds to the main CI workflow.
Adds Python classifiers for informational purposes on PyPI.

Discussion
I think this final change was maybe lost in the shuffle. This should be the end of the changes coming from me!

Going to merge this anyway, thank you for your work!


Allow forcing WebSocket as DialOption to address #35

As discussed, PR to enable WebSocket usage globally on Client creation via DialOption.
Example usage for a service called P4WNP1:
import pb "../proto/gopherjs" //refers to code generated by protoc-gen-gopherjs without further modifications

... snip ...

func main() {
    ...snip...
    cl := pb.NewP4WNP1Client(addr, grpcweb.ForceWebsocket) //client creation, forcing WebSocket usage
    ...snip...
}

The failing test on git diff --exit-codeis weird, because I can't spot anything in the results which was caused by my changes. Hope you can handle this for me

I changed it from a DialOption to a CallOption so it can be set per-call. In your case you could use it for that single call or you can use grpcweb.WithDefaultCallOptions(grpcweb.ForceWebsocketTransport()) when dialling. Also added some tests, and it works :).

Works well. Thx so much !


Assert.AreEqual switched cases

Summary of the Pull Request
Assert was switched in these instances, so I changed it to the "expected, actual".
PR Checklist

[x] CLA signed. If not, go over here and sign the CLA
[x] Tests added/passed
[ ] I've discussed this with core contributors already. If not checked, I'm ready to accept this work might be rejected in favor of a different grand plan. Issue number where discussion took place: #xxx

Info on Pull Request
I started to implement #6920 and I noticed some weird error messages. It looked liked the expected and actual were switched. This repairs it so the values will be in the right method position.
Validation Steps Performed
Use the tests.

@P-Storm
please open an issue for this PR. Thanks.

@P-Storm
please open an issue for this PR. Thanks.

Done, see #7148

/azp run


[LYNA] ➕ New Page: Asterius-Music

Hello and thank you for your contribution!
A moderator will check the links on your page within the next 48 hours.
© Tai Studio 2021/2022

Hello and thank you for your contribution!
A moderator will check the links on your page within the next 48 hours.
Preview link:  Asterius-Music
© Tai Studio 2021/2022


Statistics > Cost per user doesn't change

The cost per user should change according to the user's individual consumption like the other tabs do. but the pricing tab shows the price for all users.

Small addition: The costs are not displayed correctly, only when the selected user does not have any sessions.


Added camera reference

Just a quick fix for some differences in the video and the text. The text version's code doesn't show the camera variable declaration, but it does get used in the get_input() function

Thanks!


Expand/collapse RHS docs

Wasn't exactly sure where to put this, I added it to the replies and search sections.

+1, I committed minor tweaks to make it less wordy

+1


Chef 15 backport of Chef 16 knife cleanup

Backport of some of #9646 to make it so Chef-16 style knife plugins
can run on Chef-15.

🚧 notice: i had issues running the tests locally, so need to see what BK says.


feat: add videos section

Adds a videos section to docs and new pages for the 90-second overview and the new extended CLI walkthrough video.
For review:
https://pr-122-superface-docs.vercel.app/docs/videos
More videos to come. This just puts the section in place.

No longer relevant in same context, so closing this.


chore: move to self-published version of ldk-node

This will removes the last git dependency, allowing us to publish Fedimint to crates.io, which is a requirement for getting into nixpkgs.
To verify I ran
grep "source =" Cargo.lock | grep -v "registry+"

which did not output anything.
Fixes #3168

Successfully created backport PR for releases/v0.2:

#3720


feat(terminal): add Terminal::try_draw() method

This makes it easier to write fallible rendering methods that can use the ? operator
terminal.try_draw(|frame| {
    some_method_that_can_fail()?;
    another_faillible_method()?;
    Ok(())
})?;

Cool idea! LGTM! Curious what other people think.

@EdJoPaTo ?

This simplifies the rendering but I'm not sure how useful it actually might be. Ideally the same Render Widget or whatever its named trait should exist here too I think? That would reduce the differences. Especially as a context is of interest anyway and Frame would reduce the need for the context too.
And the current trait doesn't allow for a Result currently either? Not sure what the ideal way would be.

I regularly find myself using methods which return results and having to throw away the possible errors inside of the draw method by either crashing or ignoring them. This would make it possible to add more context to the errors (using anyhow / eyre), and have the app more gracefully crash.
This is a first point in making some of these future things more useful. We don't need to solve the entire problem, but this is a piece that is fine and necessary on its own.


High RAM usage when running for a long time

After running binja for about 2 weeks on my (Debian Linux 8 64-bit) the process uses about 14GB of RAM, even when no files are open.

Further information: opening a moderately sized (600kb) statically-linked ELF file causes binja to allocate roughly 1GB of RAM, which is not freed when the file is closed.
I can't share this specific sample unfortunately but I will attempt to reproduce it.

Can you validate this on the current dev build?

Closing this since the question has been outstanding for a while and I can't seem to replicate it. Please reopen this bug if the issue is still present.


Mandatory parameters for timeout values

We might be better to give parameters for clientstate or its timers as mandatory ones as pointed out in #127.
I thought of passing api.Configer to clientstate.NewProvider in defaultIncomingMessageHandler but unit tests like request-timeout_test.go is affected by this change (that seems complicated to me). So I'm not sure that it's a good direction or worth doing at this point.

I think we just need to pass the timeout duration to clientstate.NewProvider.

That's a simple way. I thought too serious to find an elegant way.


Image preprocessing

Can someone familiar with how the models were trained verify that the preprocessing in run_placesCNN_basic.py and run_placesCNN_unified.py are both correct?
In run_placesCNN_basic.py it's:
centre_crop = trn.Compose([
        trn.Scale(256),
        trn.CenterCrop(224),
        trn.ToTensor(),
        trn.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])
])

That is, rescaling the smaller edge of the image to 256 and then taking the center 224 pix?
In run_placesCNN_unified.py, it's:
    tf = trn.Compose([
        trn.Scale((224,224)),
        trn.ToTensor(),
        trn.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])
    ])

That is, squashing the image to 224x224.  Presumably the appropriate preprocessing should be the one that's closes to what was used for training.
Thanks

both of the preprocessing are fine. I used the second one because it could generate the Class Activation Mapping more easily.

Do you know how the network was trained? I wouldn't expect performance on
natural and squashed images to be the same, unless the model was trained on
a combination of both kinds of images.


test

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@85808e3). Click here to learn what that means.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main       #5   +/-   ##
=======================================
  Coverage        ?   97.67%
=======================================
  Files           ?        2
  Lines           ?      129
  Branches        ?        0
=======================================
  Hits            ?      126
  Misses          ?        2
  Partials        ?        1

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Status Bar On Multiple Display

I use multiple displays. Is it possible to make the status bar available on multiple displays?

You would have to create and initialize a status bar window for every connected display, and have it respond to display_removed, display_added events, as well as have all existing code that enables/disables or updates the status_bar operate on a collection of status_bars instead.
The code to draw the bar itself is already display agnostic. The main change with the exception of what I mentioned above would be to pass in an additional parameter to bar_create function that specifies which display the bar should draw to - instead of it fetching the main display.
I'm not interested in adding this upstream, but feel free to ask questions if you want to try and implement this in your own fork.

@koekeishiya I'd like to help here, could you tell me where I should start?

See my previous comment. The relevant files are src/bar.c, src/event.c and src/message.c. To retrieve a list of current displays, see functions defined in src/display_manager.c
Sent with GitHawk

is this closed because it's addressed or because it won't be addressed?

@benwr

is this closed because it's addressed or because it won't be addressed?

See the 2nd comment in this issue (emphasis mine).

I'm not interested in adding this upstream, but feel free to ask questions if you want to try and implement this in your own fork.

Ah, sorry I didn't read sufficiently carefully.

I've also got this uebersicht widget, which is very similar. Sometimes it seems to crash for unknown reasons though :/

That widget is great, thank you!

@noperator The configuration works well. Thanks for sharing.

Note that the widget might cause high CPU usage from yabai, as mentioned here: https://github.com/koekeishiya/yabai/issues/434#issuecomment-595075618. It could be helpful to limit the refresh rate of Übersicht.

Hi @x-ji, thanks for the heads up. That widget is currently configured to refresh every 100 ms just to ensure that it promptly updates whenever I switch between spaces. I saw your comment on the ticket you referenced:

Seems that constantly running the command /usr/local/bin/yabai -m query --spaces is having some performance impact.

Perhaps I'll find another way to update the spaces display that's less CPU intensive. Also, I found @koekeishiya's comment interesting since I've been having issues with mouse clicks not being recognized while using yabai:

Under certain circumstances (heavy load??)…a mouse-click event is not forwarded to the target application if yabai is intercepting it.

Perhaps this high Übersicht refresh rate puts a heavy load on yabai, which prevents it from properly forwarding mouse-click events to the target application. Anyway, just trying to make sense of multiple issues which may be related.

I tried the widget for some time, then I ends up using WhichSpace to display the desktop number directly on mac menu bar.
Because that widget doesn't support secondary monitor, I fork it and create another menu bar item to display secondary monitor desk space number with an alpha. Looks like this:

https://github.com/nuynait/WhichSpace

Perhaps this high Übersicht refresh rate puts a heavy load on yabai, which prevents it from properly forwarding mouse-click events to the target application. Anyway, just trying to make sense of multiple issues which may be related.

It shouldn't really be an issue. The events are processed fine, it's just consuming a higher cpu percentage, as it is doing work more frequent, instead of sleeping.

Perhaps I'll find another way to update the spaces display that's less CPU intensive.

You can use the yabai signal system to have yabai invoke a shell script or applescript (or w/e you want) after processing e.g a space_changed event, instead of having to poll every x ms. I don't exactly know how Übersicht widgets can be targetted, but there is a (not tested by me) sample for it in the yabai wiki in the tips and tricks section.

@nuynait Thanks for the tool 👍 . Though it seems that it currently doesn't work if there are more than 2 monitors? (my third monitor isn't shown on the status bar).

@nuynait Thanks for the tool 👍 . Though it seems that it currently doesn't work if there are more than 2 monitors? (my third monitor isn't shown on the status bar). I wasn't able to open an issue in your repo.

Now you can open the issue in the repo. I only use a seconday monitor. I can make the change for you if I have time this weekend.

Can confirm increasing that refresh time to 3 seconds makes a significant difference in yabai cpu usage. Dropped from around 4% to alternating between 0.1 and 1.8% during the refresh.

@nuynait Sure. Opened an issue in your repo.

For those interested—I updated my Übersicht spaces widget to indicate whether a given space has any windows assigned to it or not. In the following example:

Spaces 2 and 8 are currently visible on the first and second displays, respectively
Spaces 1, 5, 7, and 8 have windows assigned to them
Spaces 2, 3, 4, and 6 are empty


About rust lib

About rust lib:
I had seen Contact mario4tier on github if interested.
i wonder the progression about it.
tks a lot

Sorry no good news.
Unless someone shows up to lead this, it is unlikely to happen within 2024.
Personally, I should have enough experience with Rust by ~2025 (I am actively gaining experience with Rust app with another project while 2024).

@mario4tier Hello, I have extensive experience in Rust development. My idea is to wrap the TALIB library through Rust FFI. How can I contribute Rust code to talib?

Sure. You are welcome to contribute with a PR.
For FFI, ideally your change would be isolated into its own directory, therefore making it easier for others to review and merge "without worrying".
As an alternative to FFI, consider that TA-Lib are fairly simple array processing functions. It would be great to tweak tool/gencode to make the source code compatible to native Rust (in same way that the existing code builds in Java, C, C++ and managed C++ after running through a C preprocessor). It is more work, but a more solid contribution that should reward you for the next 25 years :smile: If you can pull this off... you would likely become an admin for TA-Lib (can more freely merge and maintain it).
One way or another, you are OK to proceed with your FFI solution (nobody else working on this approach right now).

@halohsu,
Chad (@chadfurman) is evaluating to generate native Rust. That would be ideal since it would eliminate all "C" tool dependencies for the Rust users... bringing us one step closer to generate a ta-lib-rs crate.
Feel free to join the Native Rust effort or keep going with FFI as an alternative.

Good news, hopefully we can all use secure rust code, I wrapped secure talib through ffi, which is time-consuming.

Looking forward to talib computing performance built with native rust code. I'm optimistic about the future. I use any infrastructure in the trading broker data center for free, including servers and switches. talib continues to generate revenue for me as strategy core code on low-latency trading systems and low-latency hardware (exanic and x2522). I wrapped talib with ffi just because I was worried about my ability to optimize my C project. Tongda Letter also has a library similar to talib, using C language development, although the performance is better than talib, but the use of a large number of macros, which leads to later optimization difficulties, I dare not adopt. For now, talib is the only choice and the right one, offering high enough performance and good code optimization. Expect execution latency and performance from talib built with native rust code.
Anyway, I wish all the best.

@halohsu, Thanks for the feedback.
Will be interesting to learn how Native Rust performance will compare to Rust/FFI/C. I do not dare to predict, may eventually need you to measure :wink:
** if you can share a few examples of your Rust API, it may inspire us to do the same.

It's going to be fun to see whether "rewrite it in Rust" or "rewrite it in Zig" wins this race. :-)

@mrjbq7, glad to see you :smile:
I recently fix gen_code and ta_regtest (now works with Linux/autoconf), and doing some refactoring to reduce the "ugliness".
@chadfurman is evaluating what needs to be done for Rust be generated in same way as done for Java.... so there is "hope" to have all the functions working at once. I estimate sometimes within 2025.
The other priority is continuous integration and scripted release (did gain some github actions experience the last ~2 years)... that should help keep all TA-Lib variants "fresher".

I like Mario's realistic, grounded approach and timeline estimates.
First target is something in rust.  Already doing some initial
experiments and expecting to dive deeper closer to EOY.  I've been looking
into pyo3 vs cython a bit also. Looks like performance should be
comparable. Biggest costs are around rust's memory safety, but
optimizations exist.
Excited to see all the excitement here.
On Wed, Nov 13, 2024, 17:28 Mario Fortier @.***> wrote:

@mrjbq7 https://github.com/mrjbq7, glad to see you 😄
I recently fix gen_code and ta_regtest (now works with Linux/autoconf),
and doing some refactoring to reduce the "ugliness".
@chadfurman https://github.com/chadfurman is evaluating what needs to
be done for Rust be generated in same way as done for Java.... so there is
"hope" to have all the functions working at once. I estimate sometimes
within 2025.
The other priority is continuous integration and scripted release (did
gain some github actions experience the last ~2 years)... that should help
keep all TA-Lib variants "fresher".
—
Reply to this email directly, view it on GitHub
https://github.com/TA-Lib/ta-lib/issues/13#issuecomment-2474951977, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAE3CITAGGJF3X4EMST2FHT2APHCFAVCNFSM6AAAAABP4PWVRKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINZUHE2TCOJXG4
.
You are receiving this because you were mentioned.Message ID:
@.***>

Is the goal of Rust to use PyO3?
What would that add that the current Python bindings aren’t providing?

The goal is to get to rust with all current indicators and no loss of
functionality. I was mostly just curious about pyo3 and polars native rust
extensions are also interesting and I'm curious about that comparison as
well.
On Wed, Nov 13, 2024, 18:43 John Benediktsson @.***>
wrote:

Is the goal of Rust to use PyO3?
What would that add that the current Python bindings aren’t providing?
—
Reply to this email directly, view it on GitHub
https://github.com/TA-Lib/ta-lib/issues/13#issuecomment-2475047580, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAE3CIWB2LYBHV6TIYFMCGD2APPYTAVCNFSM6AAAAABP4PWVRKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINZVGA2DONJYGA
.
You are receiving this because you were mentioned.Message ID:
@.***>

It would be interesting if polars and rust bindings would provide any efficiency gain versus cython taking polars objects and passing backing memory to the C functions.

@mrjbq7 Just to also confirm, the primary goal is a Rust native "Core" library.
Once we get that delivered, we can evaluate if/how it could be used as an "easier" dependency than the stumbling "C library" ( https://github.com/PyO3/maturin ? )
I do not desire stretching us into having multiple competing "high performance" python project. Instead, I feel an alternative installation procedure using only Pypi packages (with wheels) would be welcome by many... and this would ideally be done as part of the project/community you have built over the years.

I agree.
And regarding wheels, I should probably just do it. I’ve resisted for
awhile to separate the Python wrapper from the underlying C library. But it
seems like the community needs it. Mostly for windows users that don’t seem
as easily supported by their package managers.
It just felt like a giant matrix of binaries to build and test and support,
but I know GitHub actions can help us with the most common ones.
Also, a related issue is some of the Python users apply the “small numbers”
patch to their TA-Lib C library to allow doing technical analysis on crypto
which sometimes has small prices. And I didn’t want to orphan them by
building with the upstream C library that didn’t have that patch applied.

Also, a related issue is some of the Python users apply the “small numbers” patch to their TA-Lib C library to allow doing technical analysis on crypto which sometimes has small prices.

OK, will prioritize including this as a "0.6.0" release by EOY, with updated autoconf (+github to build windows 64-bits binaries). This release will be more about learning what still works or not on various platform.

@mrjbq7 Double checking that we are on the same page. The code in the TA-Lib repos already has that small numbers fix. What is missing is a new ".tar.gz" release. Correct?

===
On another subject, made a lot of progress on the Linux support. There is now a ta-lib-0.6.0-src.tar.gz "release candidate" in the directory "dist". Feel free to try, but do not change your installation instructions yet... (it will eventually be release as a Github binary asset).

Yes, I don’t personally use the small number patch but that’s my understanding also.  See for example this thread:
https://github.com/TA-Lib/ta-lib-python/issues/157
If you need any help testing or docs or other things for new releases let me know!


Update deposition UI to reflect Life Science Login

Various places in the deposition UI use the Elixir logo or make reference to Elixir login, this should be updated to reflect the new Life Science login. Once this is done, the user documentation can be updated.

Noting this (link & text) needs changing on the create submission page as well

Confirmed changes visible in production.


Testnet Bitcoin do not reach the wallet

I ´ve sent an amount of testnet BTC to my ZAP.
Synch has been fully completed. The balance does not change.
BTC Testnet Explorer shows confirmed tBTC on wallet´s adress.

@BitRixx  How long did you wait? Is it still not showing?

I made the transaction yesterday when ZAP synched to the network. I did several transactions but nothing arrives in the wallet. Might be usefull, to delete the LND AppData again an resynch.

In addition: After reinstalling and fully resynching ZAP + creating a new wallet passphrase i am still not able to reseive BTCt coins. While the BTCt Explorer shows all TX to my ZAP adress as confirmed.

I tried to generate some external mnemonics(IAN COLEMAN) in order to import them. ZAP is unable to import mnemonics (24words) the NEXT button is just not reacting. Maybe there´s an issue by generating wallets.

I have the same error, don't actually receive my testnet bitcoins from transaction...: 590e0dbbd1c86e5c29e7da63f924cb98ee46ad04f30184ee2cef77fc0b67bd60

same problem here with tx id : f5fd4d84e43967de161842463010e3b4b4f34ac321d91248b47d9d07425ee6ae

I noticed something ..
My bitcoin testnet address remains constant.
It used to change each time I opened the address form.

@mntetai that behaviour has been updated - It now only changes once the address has been used.

@mntetai could you make a backup of the files in ~/Library/Application Support/Zap and then remove that directory and try again please.

Since I am running on win10 pro it might be located on a different path ?

@mntetai - yes, it will be in C:\Users\...\AppData\Roaming\Zap

mmm no .. I don't think that the problem is related to the address of the wallet or the cache...
I would look in the direction of the btcd daemon . ( which relays the transactions to the wallet )

I did what  you told me to. No effect .

@mntetai after doing what I said, did you get a new wallet address when you opened up the wallet?

yes

Ok, great. Have you tried / can you try sending new coins to this new address please?

I just did .
I have tried it also with lndcli yesterday .. did not work :-(

Seems to me that since I am not the only one with this problem .. you might talk to @jackmallers - maybe the problem is with the btcd instance we connect to ( default mode ).
we can check this with a custom connection.

@mntetai if you jump into our slack room we can probably help you better.

I can confirm that this issue is a BTCD <-> LND (Neutrino) issue. 0.2.0 is a BTCD node that is manually patched as BTCD and Neutrino are being updated to match the recent changes in BIP 158.
I am currently working on a solution. If you'd like to use Zap beforehand I'd suggest using custom connection to your own BTCD<->LND in the meantime.

I have the same problem, don't actually receive my testnet bitcoins to my address
2N999A6HfL1zErB2VrNBcE7YhToYhRfpVos

This issue should be resolved with the latest 0.2.1 release.

I can confirm this is working in 0.2.1


HV-1366 Declaring the exact same value extractor twice in XML should throw an exception

https://hibernate.atlassian.net/browse/HV-1366

Merged with some minor adjustments!
Thanks!


Unable to sign in to Azure Account

Issue Type: Bug
Click Add An Account
It opens Microsoft Edge for Mac
URL:https://localhost:49996/signin?nonce=0TYhv7EBUrZ34FIRfw08RQ==
Edge shows The connection for this site is not secure
Localhost sent an invalid response
ERR_SSL_PROTOCO_ERROR
Try to do it in many other browsers and get same result.
Azure Data Studio version: azuredatastudio 1.30.0 (59c4b8e90cf2d3a24bed72623197f10f8d090fdc, 2021-06-16T18:57:01.467Z)
OS version: Darwin x64 20.5.0

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz (12 x 2600)

GPU Status
2d_canvas: enabledgpu_compositing: enabledmetal: disabled_offmultiple_raster_threads: enabled_onoop_rasterization: enabledopengl: enabled_onprotected_video_decode: unavailable_offrasterization: enabledskia_renderer: disabled_off_okvideo_decode: enabledwebgl: enabledwebgl2: enabled

Load (avg)
3, 3, 2

Memory (System)
16.00GB (2.29GB free)

Process Argv

Screen Reader
no

VM
0%

Extensions (4)

Extension
Author (truncated)
Version

agent
Mic
0.48.0

profiler
Mic
0.11.0

schema-compare
Mic
1.11.0

sql-database-projects
Mic
0.10.0

This is due to your browser automatically redirecting to https - see this thread for details and workarounds :
https://github.com/microsoft/azuredatastudio/issues/14493


Open MeshView with pre-configured pointcloud

MeshView has a new parameter, cloud:
https://www.nesys.uio.no/MeshView/meshview.html?atlas=ABA_root&cloud=3D_combined1.json
It's also supported to specify multiple JSON files to load:
https://www.nesys.uio.no/MeshView/meshview.html?atlas=ABA_root&cloud=3D_combined2.json&cloud=3D_combined3.json
Parameters are separated by ampersand (&).


Filters that works with two select type

Hello, i'm trying to filter my list with a combination of two select: one for category and one for sorting.
(In particular i've shop types and cities and the user will be able to filter: all 'Bars' of  'Toronto').
I've read issue #16, but i think that answered solution it refers on a old version of this script.
Thanks in advance,
Francesco

If I understand correctly you would like to use a select input instead of buttons to trigger the filtering.
Then you simply have to call the filterizr('filter', category) method on your Filterizr instance.
If you have a select <select class="fltr-select" ...>...</select> then you would have to do this within the onchange event:
var filterizr = $('.filtr-container').filterizr();

$('.filtr-select').on('change', function(event) {
   var val = $(event.currentTarget).val();
   filterizr.filterizr('filter', val);
});

Thanks @giotiskl for fast reply, now works like a charm!
Maybe for future release it will be great have a options for choice type of html filter (li, div, select, ...).
Thanks again,
Francesco

any way to get this to work with data-multifilter so i can use "and" rather than "or" for multiple select lists? Like filter once, then filter again to a smaller subset of the first filtered items.


epoch: Remove ptr-to-int casts

Use this hack to fix compatibility issues with Miri (see https://github.com/crossbeam-rs/crossbeam/pull/490#issuecomment-755435349 for details).
Due to the https://github.com/crossbeam-rs/crossbeam/issues/545, still not compatible with stacked borrows. This will be fixed by the subsequent PR (#871).
Note: this is a breaking change because changes API of Pointable and Pointer traits
Fixes #579

r? @RalfJung @jonhoo

Is there a specific question? I won't be able to do a review of the entire patch.

Sorry, I noticed I have no questions on this PR...

bors r+


nix-shell not working

Context & versions
I'm trying to run nix-shell on master  branch.
Operating System: Ubuntu 20.04.5 LTS (See nix-haskell-dev-vm for more details on the installation).
I've applied the contributing steps. In particular:
#> cat /etc/nix/nix.conf
max-jobs = 6
cores = 0
trusted-users = root curry
keep-derivations = true
keep-outputs = true
substituters = https://cache.nixos.org https://hydra.iohk.io https://iohk.cachix.org
trusted-public-keys = iohk.cachix.org-1:DpRUyj7h7V830dp/i6Nti+NEO2/nhblbov/8MW7Rqoo= hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ= cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=

Steps to reproduce

setup nix and nix.conf as per contributing.
git clone hydra-poc code
change to hydra-poc directory
run nix-shell

Actual behavior
nix-shell fails with the following error:
error: attribute 'groupBy' missing, at /nix/store/4c99f4nvcg87xxnpfm61cr24ahiaw25m-source/builder/shell-for.nix:103:9

Expected behavior
It works

Do other nix shells work on this machine? This error sounds like it's quite at the core of the nix installation. For example in any directory: nix-shell -p fortune --run "fortune | cowsay"

This resulted in the following error:
/tmp/nix-shell-1970-0/rc: line 1: cowsay: command not found

My nix version was too old it seems. Uninstalling and installing a fresh new version of nix solved the issue.


Mind if I setup travis for you?

so that you have CI in your prs?

Yeah I do in fact have circleCI running when I open my own prs but as you have noticed it seems to not be running for other people's PRs 🤔  https://circleci.com/gh/Rosey/markdown-draft-js
I just found a setting under the config called "build forked pull requests" that was previously turned off (I just turned it on!) so that may fix the issue

awesome :+1:


[request] Context Menu Buttons

hey, thank you for this lib first of all. it's amazing.
is there's any way to create this sort of "upper buttons" using current api or is this not possible just yet; would be cool feature to have.

ref: ChatGPT app

I am also looking for same I got this reply on reddit - https://www.reddit.com/r/reactnative/s/Oif9OjBuZ8
Also could you please update the title of your issue? (it's not very clear)


Upgrade pytest-xdist

Feature or Bugfix

Dependency upgrade

Detail
Upgrading pytest-xdist
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

AWS CodeBuild CI Report

CodeBuild project: GitHubCodeBuild8756EF16-4rfo0GHQ0u9a
Commit ID: bc6a3c10741a7f0c7e0e14bd8fbcd0fa6b4f55b4
Result: FAILED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubCodeBuild8756EF16-4rfo0GHQ0u9a
Commit ID: bc6a3c10741a7f0c7e0e14bd8fbcd0fa6b4f55b4
Result: FAILED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubCodeBuild8756EF16-4rfo0GHQ0u9a
Commit ID: bc6a3c10741a7f0c7e0e14bd8fbcd0fa6b4f55b4
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubCodeBuild8756EF16-4rfo0GHQ0u9a
Commit ID: 941e065a9b663c62ee98f4ce55bc801e5c3ff6cf
Result: FAILED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubCodeBuild8756EF16-4rfo0GHQ0u9a
Commit ID: 584ec62a42f81614a0c0150758d553ac097c3eea
Result: FAILED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubCodeBuild8756EF16-4rfo0GHQ0u9a
Commit ID: 584ec62a42f81614a0c0150758d553ac097c3eea
Result: FAILED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubCodeBuild8756EF16-4rfo0GHQ0u9a
Commit ID: 584ec62a42f81614a0c0150758d553ac097c3eea
Result: FAILED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubCodeBuild8756EF16-4rfo0GHQ0u9a
Commit ID: 584ec62a42f81614a0c0150758d553ac097c3eea
Result: FAILED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubCodeBuild8756EF16-4rfo0GHQ0u9a
Commit ID: 584ec62a42f81614a0c0150758d553ac097c3eea
Result: FAILED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository


 and  spacing

Would you consider a little additional space under an H3 class="content-block__title" and a little more space above a regular h3 in a content block?
We could stand a bit of separation in the busier modules, where things get crowded:

Looks tighter. Thanks.


Error

hi,
i keep getting an error message that says"Error! -port \.\COM# cant be opened".
i tried all the COM numbers and it doesnt open any of them. i have the software that came with the meter and its reading it on COM3, so im not sure whats causing it to  give that error. i had it working yesterday but it stopped
Thanks!

hi,
i keep getting an error message that says"Error! -port .\COM# cant be opened".
i tried all the COM numbers and it doesnt open any of them. i have the software that came with the meter and its reading it on COM3, so im not sure whats causing it to give that error. i had it working yesterday but it stopped
Thanks!

Hi, I had to download these drivers too https://ftdichip.com/wp-content/uploads/2021/02/CDM21228_Setup.zip

Might seem dumb, but I also fixed most of my errors by just pressing the RS232 button on the multimeter. I didn't realize I had to do that. Additionally, in the "Docs and Software" section of the webpage for the BK 393 (the model that replaces the 390A), you can install the software that allows for easy installation of the proper drivers. This also makes me wonder if the 393 model is compatible with this software.


Fixed markdown syntax problem

感谢您的拉取请求。在我们查看您的拉取请求之前，您需要签署一份贡献者许可协议 (CLA)。
📝 请按照https://git.k8s.io/community/CLA.md#the-contributor-license-agreement上的说明签署 CLA。
CLA 签名可能需要几分钟才能完全注册；之后，请在此处回复一条新评论，我们将进行验证。谢谢。

如果您已经签署了 CLA，则可能我们没有您的 GitHub 用户名，或者您使用的是其他电子邮件地址。检查您现有的 CLA 数据并验证您的电子邮件是否设置在您的 git commits 上。
如果您以公司身份签署 CLA，请使用您组织的凭据登录https://identity.linuxfoundation.org/projects/cncf以获得授权。
如果您已完成上述操作，但仍遇到被报告为未签名的 CLA 问题，请在 Linux 基金会帮助台上登记一张票：https : //support.linuxfoundation.org/
如果您在 Linux Foundation Helpdesk<EMAIL_ADDRESS>
此处提供了有关使用 PR 评论与我互动的说明。如果您对我的行为有任何疑问或建议，请针对kubernetes/test-infra存储库提出问题。我了解此处列出的命令。

Thanks for your pull request. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).
📝 Please follow instructions at https://git.k8s.io/community/CLA.md#the-contributor-license-agreement to sign the CLA.
It may take a couple minutes for the CLA signature to be fully registered; after that, please reply here with a new comment and we'll verify. Thanks.

If you've already signed a CLA, it's possible we don't have your GitHub username or you're using a different email address.  Check your existing CLA data and verify that your email is set on your git commits.
If you signed the CLA as a corporation, please sign in with your organization's credentials at https://identity.linuxfoundation.org/projects/cncf to be authorized.
If you have done the above and are still having issues with the CLA being reported as unsigned, please log a ticket with the Linux Foundation Helpdesk: https://support.linuxfoundation.org/
Should you encounter any issues with the Linux Foundation Helpdesk, send a message to the backup e-mail support address at<EMAIL_ADDRESS>
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

I have finished the CLA

The problem url:
https://kubernetes.io/zh/docs/concepts/configuration/manage-resources-containers/

$ ./scripts/lsync.sh content/zh/docs/concepts/configuration/manage-resources-containers.md
diff --git a/content/en/docs/concepts/configuration/manage-resources-containers.md b/content/en/docs/concepts/configuration/manage-resources-containers.md
index db2962180..5c30840f6 100644
--- a/content/en/docs/concepts/configuration/manage-resources-containers.md
+++ b/content/en/docs/concepts/configuration/manage-resources-containers.md
@@ -181,8 +181,9 @@ When using Docker:
   flag in the `docker run` command.

 - The `spec.containers[].resources.limits.cpu` is converted to its millicore value and
-  multiplied by 100. The resulting value is the total amount of CPU time that a container can use
-  every 100ms. A container cannot use more than its share of CPU time during this interval.
+  multiplied by 100. The resulting value is the total amount of CPU time in microseconds
+  that a container can use every 100ms. A container cannot use more than its share of
+  CPU time during this interval.

$ ./scripts/lsync.sh content/zh/docs/concepts/configuration/manage-resources-containers.md
diff --git a/content/en/docs/concepts/configuration/manage-resources-containers.md b/content/en/docs/concepts/configuration/manage-resources-containers.md
index db2962180..5c30840f6 100644
--- a/content/en/docs/concepts/configuration/manage-resources-containers.md
+++ b/content/en/docs/concepts/configuration/manage-resources-containers.md
@@ -181,8 +181,9 @@ When using Docker:
   flag in the `docker run` command.

 - The `spec.containers[].resources.limits.cpu` is converted to its millicore value and
-  multiplied by 100. The resulting value is the total amount of CPU time that a container can use
-  every 100ms. A container cannot use more than its share of CPU time during this interval.
+  multiplied by 100. The resulting value is the total amount of CPU time in microseconds
+  that a container can use every 100ms. A container cannot use more than its share of
+  CPU time during this interval.

/retitle "[zh] Fixed markdown syntax problem"
/assign @tengqm

/retitle [zh] Fixed markdown syntax problem

This PR is outdated. There are some other changes to be considered.
/close


dont decode uri before encoding it

Please help keep the CHANGELOG up to date by providing a one sentence summary of your change:
Fixes #1371
I wasn't sure if the solution was to remove the decode_uri at first because it caused a failing test in signature.rs. However after experimenting with boto3 and reading https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html#query-string-auth-v4-signin, I feel that it should be removed and that the failing test should be updated accordingly. I'll keep an eye out on the tests run by the CI but didn't run into errors locally.

Thanks for the PR!
I dug into the history of why we do this and found https://github.com/rusoto/rusoto/commit/cfca1294415c8ed0d685ed214a3a9e5e14f8581f . It seems there are times when we get already encoded data and times we don't.
A quick check of the percent_encoding docs doesn't show any function to see if something is already encoded, and I suppose that doesn't necessarily make sense - one could encode an already encoded string, then decode it twice to get back to what it was, I believe.
To make things more clear, let's add a documentation note in Rusoto saying we don't expect URIs to be already encoded. How about in the top level docs for rusoto_core::signature ?

Thanks for the PR!
I dug into the history of why we do this and found cfca129 . It seems there are times when we get already encoded data and times we don't.
A quick check of the percent_encoding docs doesn't show any function to see if something is already encoded, and I suppose that doesn't necessarily make sense - one could encode an already encoded string, then decode it twice to get back to what it was, I believe.
To make things more clear, let's add a documentation note in Rusoto saying we don't expect URIs to be already encoded. How about in the top level docs for rusoto_core::signature ?

Should have time for this today

Great, thank you!


deactivated icon in input pill, left sidebar and message feed

[x] Implements deactivated icon present in org settings inside the input pill
[x] Implements deactivated icon into left sidebar of direct messsages
[x] Implements deactived icon ( bottom right ) in sender avatar

Fixes: #26833
Uses the same fa-ban icon in organization settings with a hover tippy tooltip.
For direct messages, implemented is_deactivated which takes boolean from people.get_non_active_human_ids()
For sender, implemented sender_is_deactivated() function in people.ts (tests added)
Have added tests for all three.
Suggestions - this can be changed into a generic component to be used everywhere.
Before (Input Pill)

After(Input Pill )

(Deactivated icon in Direct Messages)

(Deactivated icon in sender avatar)

Self-review checklist

[x] Self-reviewed the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

[x] Explains differences from previous plans (e.g., issue description).
[x] Highlights technical choices and bugs encountered.
[x] Calls out remaining decisions and concerns.
[x] Automated tests verify logic where appropriate.

Individual commits are ready for review (see commit discipline).

[x] Each commit is a coherent idea.
[x] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[x] Visual appearance of the changes.
[x] Responsiveness and internationalization.
[x] Strings and tooltips.
[x] End-to-end functionality of buttons, interactions and flows.
[x] Corner cases, error conditions, and easily imagined bugs.

On the whole some good work here, @kehshiba, but seem my comments above. You'll also need to tidy up your commit history and follow our style outlined in https://zulip.readthedocs.io/en/latest/contributing/commit-discipline.html

Sure thanks @karlstolley. Will update the changes.


Appointment to visit workflow (OPD) - fulfill appointment, field changes

Expected behavior:

On any appointment listing page, change the button on the appointment line from "Add Visit" to "Check-in".
After pressing "Check-in", on the resulting New Visit page,  the final/billing diagnosis field can be dropped from that page.
Instead add a new field "Reason for visit".   Short text box.  Optional.
After clicking add on the New Visit page
4.1  Return to the Appointments listing page whence you came.
4.2  Update the corresponding Appointment to Status = Attended.   i.e. the appointment was fulfilled, and now an open visit is active.

Actual behavior:

appointment is not updated, and you can repeatedly "Add visits", which does not needed.

@jkleinsc


Transaction fee on history screen is incorrect when performing transaction from dApp

Describe the bug
Transaction fee on history screen is incorrect when performing transactions from dApp
Example: Send token from dApp or stake from moonbeam app
Actual: Show fee = 0 although fee # 0

Version test: https://file.cdmteck.com/s/4oimk9zDJ8R5Aai/download?path=%2F&files=./upgrade-ui-pr-1600-build-1.0.12-2023-07-04T11-19-14UTC.zip
Validation passed.


 Usually I must restart my computer to fix the issue.

Reproduces without extensions: Yes

@diminutivesloop we need more information to track down this performance issue, please see https://github.com/Microsoft/vscode/wiki/Performance-Issues for the information we are looking for.


Updated readme for CardReader

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: matthewle2020 sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.


Publish button doesn't use the Publish folder pref

When the Publish pref is defined, make sure the Publish button uses it, i.e. copies the ROM to that folder.
Also, the Project Settings dialog should makes this a little ambiguous.
It can specify a path, but it doesn't always show the full path.
Determine how to best use the Publish field.
Should it be empty by default and only be used to override the folder pref?
If no folder pref is defined, it simply creates a ROM in the project folder using the project name and ".nes" extension.

@ffhacksterex I struck out the description above because it doesn't describe how the publish button works.
The publish button is supposed to copy the working ROM to the file path defined by the Publish Path settings, not the Publish folder pref.
The folder pref is used by the Browse buttons on the Create Project and Project Settings dialogs.
Those appear to be working now that the bugs identified in #126 were addressed.
Closing this, reopen or submit a new issue if you spot any problems.


Add authentication

The API supports authentication, although at the moment the controllers allow anonymous.
This is fine running locally, but if this ever gets used by multiple users, we will want authentication.

Also - if you do this, the user's name should be displayed on recipes.
Batches should only be visible to the user who owns the batch, but recipes should be shared.


Efficient way to convert normal minibatch to Batch?

I am wondering what's the best way to convert a normal minibatch of points with shape (batch_size, num_feature, num_points_pre_batch) to the Batch data structure provided by PyG?
It seems that I need to convert the minibatch manually to multiple Data then call Batch.from_data_list to get a Batch.
Can I directly assign Batch.x, Batch.pos, and Batch.batch ?

All you need to do is to permute your points to shape (batch_size * num_points_per_batch, num_features).For creating batch, you can do the following:
batch = torch.arange(batch_size).view(-1, 1).repeat(1, num_nodes).view(-1)

All you need to do is to permute your points to shape (batch_size * num_points_per_batch, num_features).For creating batch, you can do the following:
batch = torch.arange(batch_size).view(-1, 1).repeat(1, num_nodes_per_batch).view(-1)

Cool.
Thanks for your reply.
Also, thank you for making this really good package.


withClickAction method

Hello,
I assume for sure this is not an issue, and i will be glad if any one guide me through this..
I'm using this great package, and i wonder how i can route my pages (Flutter - Getx) in case a notification tapped
Knowing that i'm passing an argument to withClickAction : ->withClickAction('/expressClue')
Using flutter..
Thank you.

I solved it
Now i can access to Click Action by this message.notification?.android?.clickAction


Fix deferred type for structref

Attempt to fix deferred type

Need to add testcase for https://gist.github.com/sklam/a0203c4afbe78989662d783566855766

Interesting. @sklam with this PR I get the same boxing error I get with the PR I made #6194, when I call the constructor for python mode. Why?
structref.py", line 376, in __new__
    return ctor(*args)
TypeError: _numba_box_() missing 2 required positional arguments: 'ty' and 'mi'

@rpopovici, not sure where the _numba_box_ error is coming from yet. When I look at your PR, I thought it's a problem with the self-reference but apparently not that it happened here with deferredtype.


Not mentioning what is not implemented

The readme should mention what cannot be tested at the moment. Some examples:

observable properties
events
adapting to protocol bindings

Thanks, points added to README.md


Expose adjustBlockDepthForContentState

Could we expose adjustBlockDepthForContentState somewhere?
My use case is to have list unindenting work like a typical word processor.
For example, let's say I have a list like this

Item 1

Subitem 1
|

The | represents the caret.
In a typical word processor, if I hit enter on a blank list item, the list item unindents.

Item 1

Subitem 1

|

If I hit enter again, the bullet is removed.

Item 1

Subitem 1

This last part I already have working. I can do the first part by manually writing all the same code as adjustBlockDepthForContentState, but it seems like it would be cleaner if I'm not replicating the code.

Yeah, I've been thinking that the full list of transaction functions should probably all be exposed in the top-level module.
I hadn't done it yet since I wasn't sure if it would be necessary, but they're useful building blocks so I figured it would probably make sense at some point.

Want to submit a PR to expose this?

There's a followup PR here so let's continue the discussion there - I'll close this issue.


Ecto.Query.API.type(true, :boolean) generates invalid MySQL query

Elixir version
1.15.2
Database and Version
MySQL 8.0
Ecto Versions
ecto 3.10.3, ecto_sql 3.10.1
Database Adapter and Versions (postgrex, myxql, etc)
myxql 0.6.3
Current behavior
A query that uses where([c], c.is_active == type(^true, :boolean)) generates an SQL query that contains WHERE (c0.is_active = CAST(? AS boolean)).
MySQL does not support casting to type boolean: https://dev.mysql.com/doc/refman/8.0/en/cast-functions.html#function_cast
I have built a minimal working example on the casting branch in this repo:  https://github.com/m1dnight/flop_bug/tree/casting
The readme contains the instructions to reproduce it using a docker container for the mysqldb.
Expected behavior
The cast is either not made, or a more complex if test is used to obtain the same behavior.
For example here: https://dba.stackexchange.com/questions/12569/how-to-cast-an-integer-to-a-boolean-in-a-mysql-select-clause

That I can do! Thanks

Btw, You can find tests under test/Ecto/adapters :)

Fixed by https://github.com/elixir-ecto/ecto_sql/pull/538


Update upgrade script with renamed branch

Q
A

Bug fix?
yes

New feature?
no

BC breaks?
no

Deprecations?
no

Tickets

License
MIT

I've noticed that upgrading was only going to 1.0.0-BETA30 because it was still checking against the "old" master branch instead of the renamed 1.x branch. User need to manually upgrade once to get this fixed version, after that bin/upgrade can be used again.

Good catch @acrobat

Good catch @acrobat


Added option to use Virtualenv python version instead Pyenv global one

Description
Currently, when you use Pyenv to manage python versions with Virtualenv, the prompt shows the Pyenv version, not the Virtualenv one, which is confusing.
This PR adds an option, SPACESHIP_PYENV_USE_VENV, which will enable a check if we are inside a Virtualenv and use its version instead Pyenv. This options defaults to false, which will not break any current setup.
This PR is related to PR #431.
Screenshot

Thank you for the PR @0x3333.
I would like to clear somethings from my perspective. This would be the expected behavior, While Pipenv uses binaries from pyenv to create virtual environments, It doesn't modify the values in pyenv and pyenv does't handle virtual environments. So still the version known by pyenv is the one set by it and not the one in current environment. Including version from virtual env into pyenv section breaks the rule of least surprise.
Honestly I don't much use pyenv and venv does the job for me. Both venv and pyenv sections serves different needs and users.

Thank you for the PR @0x3333.
Isn't this the expected behavior ? The version known by pyenv is the one set by it and not the one in current environment. Both venv and pyenv sections serves different needs and users. Including version from virtual env into pyenv section is against the rule of least surprise.

Well, regarding the expected behavior, I'd say that yes. pyenv section should care about pyenv not venv.
But I believe that current behavior is kind of weird.
If you are working in a virtualenv you should see the python version in this env not the default one, which by the way, could not be invoke in the venv.
I don't know if this is the best solution, but we could think about how to "fix" this issue.
I'm open to alternatives to implement.

But I believe that current behavior is kind of weird.

Agree on that and I don't use pyenv section.

We could "care" about pyenv/virtualenv/pipenv and more inside it instead having separated sections.

Most of the python projects are inside virtual environments and venv section handles them and some in conda section. Pipenv is addressed with venv section I believe.
May this is just me, unless python versions are globally switched frequently on dev setups, I don't see the purpose of pyenv section in prompt. It was introduced pretty early with #44 and #46, Both of them doesn't present any arguments. I'm aware about the use of pyenv by Pipenv for run time resolution, But it doesn't need to be shown on prompt.
// @SanketDG @tienthanh8490 @Deckon @JonyEpsilon

Most of the python projects are inside virtual environments and venv section handles them and some in conda section. Pipenv is addressed with venv section I believe.

Yep, pipenv is addressed by venv perfectly.

May this is just me, unless python versions are globally switched frequently on dev setups, I don't see the purpose of pyenv section in prompt.

I switch python version very often, some libs/progs are not compatible with some versions or I'm working in something else..

I'm aware about the use of pyenv by Pipenv for run time resolution, But it doesn't need to be shown on prompt.

You are right, I think that the issue here is using pyenv to show python version, and not pyenv itself.
My use case is to show the python version in use, inside/outside a venv.
The problem is that if we remove pyenv and add this option to venv, I'll lost the ability to see the python version in a folder with python files outside a venv.

Also, we could remove pyenv and create a python, which will show current python version(Invoking python instead pyenv), it would work inside and outside a venv.

This breaks existing behavior but sounds good. Hopefully we could address this with v4 release.

Well, I did implement the Python section and reverted pyenv.
I also changed pyenv to python as default in the documentation. Let me know if this is OK.
Also, I added a check for Pipfile the new requirements.txt for Python.
If you need more work on this just let me know. If it can't be up-streamed you can close this PR.

Well, I don't know if it should replace pyenv because it would cause breaking changes. That's why you see pyenv replaced by python in the documentation, this is not a leftover, I made python default, but did not removed pyenv.
The problem is that when inside a venv you can have a different python version than the global/shell version, and using pyenv section with venv you have a inconsistent information. See this screenshot: Issue 431 comment
In my screenshot, you can see that the global/shell is 3.7.0 but in the venv it is 3.6.6, this version shows the "correct" version of python when inside a venv.

With sections we either completely remove it or disable it with _SHOW variable. This PR was in the middle of that, pyenv was removed from prompt loading but options were kept in docs. Got me confused with the direction of this PR.
I was thinking about merging these sections into one and dropping pyenv section in favor of python section. This will only have one section regarding python version.

Variable
Value
Meaning

SPACESHIP_PYTHON_SHOW
always
Always display python version information.

SPACESHIP_PYTHON_SHOW
true (default)
Display python version only inside virtual environment or if either .python-version or pyenv-version file exists

SPACESHIP_PYTHON_SHOW
false
Don't display python version in prompt

With v4 we could deprecate pyenv and load python, Which would be acceptable with major release.

I see, looks good to me. What do you need me to do? Remove completely pyenv?
Is there a branch for 4.0 version or all the work in done in the master?

I'll add this to v4.0.0 milestone and it would be better if we wait for opinions from others about the suggested depreciation.

Is this closed by #431?

Is this closed by #431

Yes. python section would show python version inside virtual environment (optionally always) regardless of how it got there. It'll be available with our next release. Thank you @0x3333 for contributing.


Account settings API support

Added account settings API support. This will eventually replace the API request for cost type.

Self review


Linter rule process workflow

DONE AND TESTED:

State
Rule
Expected release
State
Bug or PR
Doc bug
Redirect link (when enabled)

DONE
adminusername-should-not-be-literal
(previous)
(previous)
(previous)

https://aka.ms/bicep/linter/adminusername-should-not-be-literal

DONE
outputs-should-not-contain-secrets
(previous)
(previous)
(previous)

https://aka.ms/bicep/linter/outputs-should-not-contain-secrets

DONE
protect-commandtoexecute-secrets
(previous)
(previous)
(previous)

https://aka.ms/bicep/linter/protect-commandtoexecute-secrets

DONE
secure-parameter-default
(previous)
(previous)
(previous)
(previous)
https://aka.ms/bicep/linter/secure-parameter-default

DONE
max-outputs
(previous)
(previous)

https://aka.ms/bicep/linter/max-outputs

DONE
max-params
(previous)
(previous)
(previous)

https://aka.ms/bicep/linter/max-params

DONE
max-resources
(previous)
(previous)
(previous)

https://aka.ms/bicep/linter/max-resources

DONE
max-variables
(previous)
(previous)
(previous)

https://aka.ms/bicep/linter/max-variables

DONE
no-hardcoded-location
(previous)
(previous)
(previous)

https://aka.ms/bicep/linter/no-hardcoded-location

DONE
no-loc-expr-outside-params
(previous)
(previous)
(previous)

https://aka.ms/bicep/linter/no-loc-expr-outside-params

DONE
no-unused-params
(previous)
(previous)
(previous)

https://aka.ms/bicep/linter/no-unused-params

DONE
no-unused-vars
(previous)
(previous)
(previous)

https://aka.ms/bicep/linter/no-unused-vars

DONE
no-unnecessary-dependson
(previous)
(previous)
(previous)

https://aka.ms/bicep/linter/no-unnecessary-dependson

DONE
prefer-interpolation
(previous)
(previous)
(previous)

https://aka.ms/bicep/linter/prefer-interpolation

DONE
simplify-interpolation
(previous)
(previous)
(previous)

https://aka.ms/bicep/linter/simplify-interpolation

DONE
no-hardcoded-env-urls
(previous)
(previous)
(previous)

https://aka.ms/bicep/linter/no-hardcoded-env-urls

DONE
use-stable-vm-image
(previous)
(previous)
(previous)

https://aka.ms/bicep/linter/use-stable-vm-image

DONE
explicit-values-for-loc-params
(previous)
(previous)
(previous)

https://aka.ms/bicep/linter/explicit-values-for-loc-params

DONE
artifacts-parameters
0.9

https://github.com/Azure/bicep/issues/7716
PR: https://github.com/MicrosoftDocs/azure-docs-pr/pull/206413, https://docs.microsoft.com/en-us/azure/azure-resource-manager/bicep/linter-rule-artifacts-parameters
https://aka.ms/bicep/linter/artifacts-parameters

DONE
no-unused-existing-resources
0.9

https://docs.microsoft.com/en-us/azure/azure-resource-manager/bicep/linter-rule-no-unused-existing-resources
https://aka.ms/bicep/linter/no-unused-existing-resources

DONE
use-stable-resource-identifiers
0.9

https://github.com/Azure/bicep/issues/7564
https://docs.microsoft.com/en-us/azure/azure-resource-manager/bicep/linter-rule-use-stable-resource-identifier
https://aka.ms/bicep/linter/use-stable-resource-identifiers

DONE
prefer-unquoted-property-names
0.9
https://github.com/Azure/bicep/issues/5542
https://github.com/Azure/bicep/issues/7003
https://docs.microsoft.com/en-us/azure/azure-resource-manager/bicep/linter-rule-prefer-unquoted-property-names
https://aka.ms/bicep/linter/prefer-unquoted-property-names

DONE
secure-secrets-in-params
0.9
https://github.com/Azure/bicep/issues/7224
https://github.com/Azure/bicep/issues/7718
PR approved: https://github.com/MicrosoftDocs/azure-docs-pr/pull/206413, https://docs.microsoft.com/azure/azure-resource-manager/bicep/linter-rule-secure-secrets-in-params, https://docs.microsoft.com/azure/azure-resource-manager/bicep/linter-rule-secure-secrets-in-parameters
https://aka.ms/bicep/linter/secure-secrets-in-params

DONE: MERGED WITH use-recent-api-version
apiVersions-Should-Be-Recent-In-Reference-Functions
0.10
TODO
https://github.com/Azure/bicep/issues/7227
-
-

DONE
secure-params-in-nested-deploy
0.10
https://github.com/Azure/bicep/issues/7223
https://github.com/Azure/bicep/issues/7746
https://github.com/Azure/bicep/issues/DONE:7746
https://docs.microsoft.com/azure/azure-resource-manager/bicep/linter-rule-secure-params-in-nested-deploy

DONE
IDs-Should-Be-Derived-From-ResourceIDs.test (use-resource-id-functions)
0.10
PR: https://github.com/Azure/bicep/pull/7907
https://github.com/Azure/bicep/issues/7228
doc bug: https://github.com/Azure/bicep/issues/8441
https://docs.microsoft.com/azure/azure-resource-manager/bicep/linter-rule-use-resource-id-functions

DONE
use-recent-api-version
0.10

https://github.com/Azure/bicep/issues/8455
https://docs.microsoft.com/azure/azure-resource-manager/bicep/linter-rule-use-recent-api-versions

IN PROGRESS:

State
Rule
Expected release
State
Bug or PR
Doc bug
Doc link
Redirect link (when enabled)

All completed


ApolloStore: remove(cascade = true) doesn't remove ApolloCacheReference from the corresponding record

Version
3.8.2
Summary
The current issue is an extension of https://github.com/apollographql/apollo-kotlin/issues/4932
The fixed version of remove(cascade = true) works better in fact but what is the purpose of keeping ApolloCacheReference record of the removed key? It doesn't allow the cache to be used properly.
Context: I'm using SqlNormalizedCacheFactory with 7 cached rows in the database. I'm trying to perform delete actions using apolloClient.apolloStore.accessCache { cache -> // perform delete actions} or graphQlClient.apolloClient.apolloStore.remove(cacheKey = key, cascade = true).
Table: I have the following cached rows in the database:

_id
key
record

1
user.workPermit
{“__typename":"WorkPermit","documents":["ApolloCacheReference{Document:191e771f-4c2e-4a2d-8732}","ApolloCacheReference{Document:6050a8eb-dbe0-4e9e-9afc}"]}

2
Document:191e771f-4c2e-4a2d-8732.group
{}

3
Document:191e771f-4c2e-4a2d-8732.type
{}

4
Document:191e771f-4c2e-4a2d-8732.validity
{}

5
Document:191e771f-4c2e-4a2d-8732
{"id":"191e771f-4c2e-4a2d-8732”,”group":"ApolloCacheReference{Document:191e771f-4c2e-4a2d-8732.group}","type":"ApolloCacheReference{Document:191e771f-4c2e-4a2d-8732.type}","validityRange":"ApolloCacheReference{Document:191e771f-4c2e-4a2d-8732.validityRange}","__typename":"Document","pages":["ApolloCacheReference{Document:191e771f-4c2e-4a2d-8732.pages.0}"]}

6
Document:191e771f-4c2e-4a2d-8732.pages.0.type
{}

7
Document:191e771f-4c2e-4a2d-8732.pages.0
{}

Here's what I observed:
cache.remove(CacheKey(key = "Document:191e771f-4c2e-4a2d-8732"),cascade = true ) or  apolloStore.remove(CacheKey(key = "Document:191e771f-4c2e-4a2d-8732"), cascade = true)—> returns true and removes 2-7 IDs rows, but the reference ApolloCacheReference{Document:191e771f-4c2e-4a2d-8732}  from the record of ID 1 row (user.workPermit) still exists.
The expected result for ID 1 row is

_id
key
record

1
user.workPermit
{“__typename":"WorkPermit","documents":["ApolloCacheReference{Document:6050a8eb-dbe0-4e9e-9afc}"]}

Steps to reproduce the behavior

configureSqlNormalizedCacheFactory
populate the apollo cache with similar or identical data from the Summary section
try to use apolloClient.apolloStore.accessCache { cache -> cache.remove(key, cascade = true)}

Hi!
As of now, this is expected: the references still exist when a record is removed (FWIW it is also the case independently of cascade=true). This means that trying to access user.workPermit will result in a cache miss.
This issue #2507 is about removing dangling references, which will work as you expect, but the exact ergonomics are still to be determined.
In the meantime, what you could do is use the ApolloStore APIs to manually alter the cache. Something like:
      // Save current cache data
      val currentCachedData = apolloClient.apolloStore.readOperation(WorkPermitQuery(userId))

      // Remove specific record
      apolloClient.apolloStore.accessCache { cache ->
        cache.remove(CacheKey("Document:191e771f-4c2e-4a2d-8732"), true)
      }

      // Update parent record to not reference removed record
      apolloClient.apolloStore.writeOperation(
          WorkPermitQuery(userId),
          currentCachedData.copy(
              documents = currentCachedData.documents.filter { it.id != "191e771f-4c2e-4a2d-8732" }
          )
      )

Hi,
thank you for the explanation and information about the ongoing issue #2507, I appreciate your efforts.
I have explored the ApolloStore APIs to manually alter the cache as suggested, and it has indeed helped me achieve the desired behavior.
However, I understand that this approach can be a bit overhead as it requires specific modifications for each query with possible common documents in my case, including knowing the exact query name and other details such as the precise type for the instance of __typename":"WorkPermitA", "WorkPermitB", "WorkPermitC":
  // Update parent record to not reference removed record
  apolloClient.apolloStore.writeOperation(
      WorkPermitQuery(userId),
      currentCachedData.copy(
          documents = currentCachedData.asWorkPermitA.documents.filter { it.id != "191e771f-4c2e-4a2d-8732" }
      )

      or

          currentCachedData.copy(
          documents = currentCachedData.asWorkPermitB.documents.filter { it.id != "191e771f-4c2e-4a2d-8732" }
      )

      or

          currentCachedData.copy(
          documents = currentCachedData.asWorkPermitC.documents.filter { it.id != "191e771f-4c2e-4a2d-8732" }
      )

      etc.
  )

I definitely agree that this is not ideal and a bit cumbersome. The real preferred solution is to have a version of #2507 working.
If you that is not too much to ask, in the meantime could you tell us a bit more about your use-case at a higher functional level. From what I see I understand you are trying to locally remove documents related to a user but if you can provide a bit more context that would be valuable to us (e.g. I would expect this deletion to happen on the server rather than locally, but I don't have the 'big picture').

Sure, the main objective is to enhance the client app user experience by implementing graphql cache.
Imagine an app screen that displays user data, including a list of documents. When a user removes a document, I want to update the model and exclude the removed document without fetching the user data again. By manipulating the existing data and updating the cache, I can avoid unnecessary network requests. Furthermore, I aim to leverage the cached data when the user revisits the screen, without the need for fetching the data again, so I can achieve desired functionality only when the removed document cache reference doesn’t exist.
Additionally, proper cache manipulation helps me to 100% avoid on the client side some potential eventual consistency issues which are not related to the client side.
As I have mentioned above, the existing solution of removing cache references is a bit tricky, especially in the case of complex graphql queries.
query GetWorkPermitQuery {
  user {
    workPermit {
      ... on WorkPermitA {
		…
        documents {}
		…
      }
      ... on WorkPermitB {
		…
        documents {}
		…
      }
      ... on WorkPermitC {
		…
        documents {}
		…
      }
}}}

In such case, I need to know in advance what kind of … on WorkPermit my document belongs to in order to remove proper ApolloCacheReference. For some other query GetSomethingQuery with the same documents I need to handle a completely different query in order to remove ApolloCacheReference and so on.
If you have more questions I will be glad to help :)

Thanks a lot, that is useful context.

When a user removes a document, I want to update the model and exclude the removed document without fetching the user data again.

In most cases we've seen, the way this usually works is that a mutation API returns the new data, in order for the client to be up-to-date with the backend state. The idea being, if you are making a call to delete the document, you might as well use the returned data at this point. In that case it would be unneeded to manually manipulate the cache on the client. But maybe that is not how your API works currently? Or is there something else I'm not seeing.

Generally speaking, yes, to ensure your cache is up-to-date with the backend after a mutation, you will need to select all the fields that were impacted by the mutation.
If that's not possible (e.g. the schema doesn't return these fields), chain your mutation with a query - this is less efficient because you will be executing 2 calls instead of 1, but this ensures your cache is fresh without updating it manually.
This section of the doc explains this a bit.
If you have configured cache ids for your types (see this section), then no matter which Query or Mutation you are executing, the results will be stored in the same records in the cache - I think that replies your last question but let me know if I missed something.
Just a remark about your 1st query above: if WorkPermitA, WorkPermitB, etc. implement a common interface, you could certainly simplify your query with something like ... on IWorkPermit { documents { documentField  } } without needing to have all possible cases in your query.


Fix Type for Broadcast.subscribe's Callback

Broadcast.subscribe takes a parameter, so it currently throws a flow type error because the type says it takes no parameters:
  node_modules/styled-components/src/utils/create-broadcast.js:20
   20:       listeners.forEach(listener => listener(currentValue))
                                                    ^^^^^^^^^^^^ unused function argument
     10:   subscribe: (listener: () => void) => () => void
                                 ^^^^^^^^^^ function type expects no arguments

This small change should fix this problem.

Looks like a fix for this was merged a a few days after I sent this PR


Expose input PNG comments in metadata

Read-side implementation of PNG text following the proposed API in #3549, ie
comments: [
  { keyword: 'parameters', text: 'highly detailed...' },
  { keyword: 'Copyright', text: 'legal minefield' },
  ...
]

Notes:

Returns the comments in the order that they're stored in the VipsImage metadata, rather than sorting on the embedded index. It looks like this should give the same ordering under normal circumstances.
Reuses the existing test fixture testJoinChannel.png that happens to already have a comment, in order to keep change size down.

Thank you for the updates, please can you rebase against the latest commit on main to pick up the CI fixes.

look good to me ?


Getting retry to work in Jenkins

Back again :)
I was able to get this to work locally by using specs, but what my team really cares about is getting retry working in Jenkins.
When I run in Jenkins, it looks like the retry is working:
Re-running tests , attempt :  1
Re-running the following test files : /opt/jenkins_slave/workspace/Protractor Automation Tests/regression-tests/protractor-tests/ny-regressions/tests/checkListingsNumber.js
But then I get the following error:
[15:26:37] E/launcher - Error: spawn /usr/bin/nodejs node_modules/protractor/bin/protractor ENOENT
It looks like the protractor binary in a non existent location, causing retry to fail. Do you have any ideas here?

Hi ,
it would me more helpful if you can share the protractor command the the Jenkins is accepting, since we are building the retry command based on that command
for more reference this is where we start building the command
https://github.com/yahoo/protractor-retry/blob/master/lib/retry.js#L70
[15:26:37] E/launcher - Error: spawn /usr/bin/nodejs node_modules/protractor/bin/protractor ENOENT
From this error, i see that the protractor path somehow received to the package in wrong format, so if you share the running command, this will help me debugging the issue
Thanks

Hi,
Thanks for the quick reply.
I have the protractor bin in the root of our project, here is the command that I run in Jenkins:
#!/usr/bin/env bash
cd regression-tests/protractor-tests && git clean -fdx
node -v
npm -v
npm install
npm install chromedriver
./node_modules/webdriver-manager/bin/webdriver-manager update --standalone true --versions.chrome 2.32
./protractor protractor.conf.js

Thanks,
-Ethan

Hi ,
i think that the issue is on the ./
./protractor protractor.conf.js

can you try without the './' or if you can replace ./protractor with the the results of the executable path of protractor you can know that by running ''which protractor''
which protractor
or
protractor protractor.conf.js

Thanks

If I run this in Jenkins:
protractor protractor.conf.js
I get the following:
/tmp/jenkins5609752487964907043.sh: line 9: protractor: command not found

what about
./node_modules/.bin/protractor protractor.conf.js

That might work, I will try this right now, thank you.

Hm, it still didn't seem to work correctly.
My running command is:
./node_modules/.bin/protractor protractor.conf.js
But I get:
 Re-running tests , attempt :  1
 Re-running the following test files : /opt/jenkins_slave/workspace/Protractor Automation Tests/regression-tests/protractor-tests/ny-regressions/tests/checkListingsNumber.js

[17:35:02] E/launcher - spawn /usr/bin/nodejs node_modules/.bin/protractor ENOENT
[17:35:02] E/launcher - Error: spawn /usr/bin/nodejs node_modules/.bin/protractor ENOENT

same here
I'm confused why it's looking for nodejs node_modules
lets debug more to this , can you run protractor with a debug mode
 DEBUG=ProtractorRetry ./node_modules/.bin/protractor protractor.conf.js

you'll see some logs at the retry stage
ProtractorRetry ProtractorCommand { _: [ './test/protractor.conf.js' ]
check for the  '$0' value
it should be like below ( you may have another case we need to handle )
  '$0': 'node_modules/.bin/protractor' }

Thanks

Testing now.

Here is the log:
Automation Tests/regression-tests/protractor-tests/protractorFailuresReport/protractorTestErrors.xml

[18:09:33] I/testLogger -

[18:09:33] I/launcher - 0 instance(s) of WebDriver still running
[18:09:33] I/launcher - chrome #01-0 passed
[18:09:33] I/launcher - chrome #01-1 failed 1 test(s)
[18:09:33] I/launcher - overall: 1 failed spec(s)
Thu, 02 Nov 2017 18:09:33 GMT ProtractorRetry resultsFile /opt/jenkins_slave/workspace/Protractor Automation Tests/regression-tests/protractor-tests/protractorFailuresReport/protractorTestErrors.xml
Thu, 02 Nov 2017 18:09:33 GMT ProtractorRetry ProtractorCommand { _: [ 'protractor.conf.js' ],
  '$0': '/usr/bin/nodejs node_modules/.bin/protractor' }
Thu, 02 Nov 2017 18:09:33 GMT ProtractorRetry resultsFile /opt/jenkins_slave/workspace/Protractor Automation Tests/regression-tests/protractor-tests/protractorFailuresReport/protractorTestErrors.xml
Thu, 02 Nov 2017 18:09:33 GMT ProtractorRetry resultsFile /opt/jenkins_slave/workspace/Protractor Automation Tests/regression-tests/protractor-tests/protractorFailuresReport/protractorTestErrors-1.xml
Thu, 02 Nov 2017 18:09:33 GMT ProtractorRetry failedTestList [ { spec: [ '/opt/jenkins_slave/workspace/Protractor Automation Tests/regression-tests/protractor-tests/ny-regressions/tests/checkListingsNumber.js,/opt/jenkins_slave/workspace/Protractor Automation Tests/regression-tests/protractor-tests/node_modules/protractor/built/frameworks/__protractor_internal_afterEach_setup_spec.js' ] } ]

 Re-running tests , attempt :  1
 Re-running the following test files : /opt/jenkins_slave/workspace/Protractor Automation Tests/regression-tests/protractor-tests/ny-regressions/tests/checkListingsNumber.js

Thu, 02 Nov 2017 18:09:33 GMT ProtractorRetry Command /usr/bin/nodejs node_modules/.bin/protractor [ [ 'protractor.conf.js' ],
  '--specs',
  '/opt/jenkins_slave/workspace/Protractor Automation Tests/regression-tests/protractor-tests/ny-regressions/tests/checkListingsNumber.js',
  '--retry',
  1,
  '--disableChecks' ]
[18:09:33] E/launcher - spawn /usr/bin/nodejs node_modules/.bin/protractor ENOENT
[18:09:33] E/launcher - Error: spawn /usr/bin/nodejs node_modules/.bin/protractor ENOENT

Im working on a solution for you , will let you know
Thanks

Thank you very much for your quick replies regarding this! Np!

version @1.1.5 pushed now , it should fix the issue
Please check and let me know

Testing now!

This fixed the problem! Thank you so much! This is resolved :)


More dimension independent forestclaw

This is my branch where I have an octree example working.
In this branch fclaw_global_t, fclaw_domain_t, and fclaw_patch_t are dimension independent. Clawpatch likewise has been made fully dimension independent.
Basically this branch limits the code translation to files where forest claw is interacting with the underlying p4est structures,
forestclaw2d.c and forestclaw3d.c. forestclaw.c accepts the dimension independent structures and redirects them to the appropriate dimension specific structures.
Any file that doesn't have a need to be dimension specific has also been renamed (e.g. fclaw2d_run.c -> fclaw_run.c).
I have tried to keep the changes to the structures minimal. I went with the style of adding a dimension specifier and two pointers to dimension specific structs:
struct {
    int dim;
    struct* d2;
    struct* d3;
}

For example, in fclaw_patch_t, xlower,ylower, etc have been moved into dimension specific structures. As long as the pointers set to NULL when not in use, this will cause the program to segfault on bad data access. This has the downside of having to allocate and free another structure for each structure, but for these types, the creation and deletion is not something the user does directly and is done in limited spot.
This is a draft pull request for now. I would like like questions, comments, and requests for changes.

There are some files/routines that are specifically 2d or 3d.  For example, fclaw2d_map.c.  Do you keep the the fclaw2d for these files?

For the naming scheme, if the struct is specifically 2d/3d I kept the fclaw2d_ prefix on those classes (maps, metric data). If it's a 2d/3d specific function on a dimension independent type I went with _2d suffix on the function name.

Wow, this was lots of work!  I can see how this works technically.
I have one basic concern about the design.  Please understand that this is not about the impressive technical skill that I can see in this draft PR.
Please let me discuss the files forestclaw?d.?, fclaw?d_convenience.?, and the upcoming fclaw?d_file.? where we are working on file-based checkpoint/restart.  fclaw2d_to_3d.h is part of this set as well.
This set of files constitutes the core interface to p4est.  It contains the historically first forestclaw files and is 100% written and maintained by UBonn (up to a few non-functional changes).  They use the same 2d/3d logic as in p4est and are maximally consistent with the p4est library in general.
This PR not only touches these files but it also changes the deepest data structures directly connected with p4est.  It constitutes a mix of the pure run-time switching desired for the higher layers of forestclaw and the p4est-style compile-time switching.  It is genuinely cool, but it is also a new compromise of a scheme that obscures the initial design of these files.
The hierarchcy of header files usually has higher-level include lower-level files, as it is the case in most libraries including forestclaw.  This PR turns this on its head, which is a deviation from the present relative simplicity of the library. It also includes forward typedefs which our files generally do not need.
Morever, the PR conflicts with both our upcoming 3D changes for the indirect exchange and the restart I/O.  They will generally force us into a code design that is not our own and has no advantage for us in our daily work.
On a practical level, UBonn needs some safe space and technical wiggle room where we feel 100% at home, to develop freely according to our own expertise.  These files are exactly that.  They are a place for us to work without interference or risk of conflict, and where the responsibility for correctness is 100% with UBonn.  This PR seriously endangers this principle.
So, given the above points, we may put our concern into one sentence:
Instead of changing us, would it be possible to wrap us?
For example, a file fclaw_domain.h may look like:
#include <forestclaw2d.h>
#include <forestclaw3d.h>

typedef struct fclaw_domain
  int dim;
  fclaw2d_domain_t *d2;
  fclaw3d_domain_t *d3;
}
fclaw_domain_t;

This will leave the UBonn files entirely alone, and the run-time switching happens just one file higher up the stack.  Both @tim-griesbach and @cburstedde (@hannesbrandt is temporarily unavailable) feel rather stronly about keeping the core interface to p4est untouched. Hopefilly something along the lines of our above suggestion gives all of us what they wish for the structure of forestclaw.

Sure! I'll work on a branch that wraps the existing domain structures instead, and doesn't touch forestclaw2/3d.c.

Sure! I'll work on a branch that wraps the existing domain structures instead, and doesn't touch forestclaw2/3d.c.

Thanks, this sounds good!
You're welcome to help us out with the p4est interface files regardless, for example, to remove obsolete functions we'll be happy to look at PRs of yours. We'll also be following up on issues raised about the forestclaw/convenience functionaility and can discuss sensible PR content as needed.
Your construction of edge corner neighbors will likely be a valuable addition, we'll follow up separately.