TSX: Add support for self-closing tag member expressions

We miss one #39
Before

After

Thanks, but your PR is going to be obsolete as soon as #43 gets merged. Do you need this now, or can it wait until we are done over there?
React and HTML delimiters are going to look much better once the angle brackets are highlighted as well.

Note how the <br/> tags are highlighted as well now.

@HiPhish that looks awesome! great work. I can use my fork until the pr is merged.

@HiPhish closing. I push my changes to Danielkonge/rainbow-delimiters.nvim#1


[fix] Network error can have an undefined status

console.log(error, error.status, Object.prototype.hasOwnProperty.call(error, 'status'));

I guess there's no tests for this already and this is an important fix so I won't block its inclusion


Dropping an element that is deleted while it is being dragged throws an error

See http://jsbin.com/mekurenaye/edit?html,js,console,output
Drag the last element down for 2 seconds, then release the mouse. An error is thrown and the other elements are no longer draggable.
One solution is a null check here:
function _dispatchEvent(sortable, rootEl, name, targetEl, fromEl, startIndex, newIndex) {
  if (sortable == null && rootEl == null) return;

  var evt = document.createEvent('Event'),
    options = (sortable || rootEl[expando]).options,
    onName = 'on' + name.charAt(0).toUpperCase() + name.substr(1);
   // ...

}

Not reproduced.


[SPARK-45592][SPARK-45282][SQL] Correctness issue in AQE with InMemoryTableScanExec

What changes were proposed in this pull request?

This PR fixes an correctness issue while enabling AQE for SQL Cache. This issue was caused by AQE coalescing the top-level shuffle in the physical plan of InMemoryTableScan and wrongfully reported the output partitioning of that InMemoryTableScan as HashPartitioning as if it had not been coalesced. The caller query of that InMemoryTableScan in turn failed to align the partitions correctly and output incorrect join results.
The fix addresses the issue by disabling coalescing in InMemoryTableScan for shuffles in the final stage. This fix also guarantees that AQE enabled for SQL cache vs. disabled would always be a performance win, since AQE optimizations are applied to all non-top-level stages and meanwhile no extra shuffle would be introduced between the parent query and the cached relation (if coalescing in top-level shuffles of InMemoryTableScan was not disabled, an extra shuffle would end up being added on top of the cached relation when the cache is used in a join query and the partition key matches the join key in order to avoid the correctness issue).
Why are the changes needed?

To fix correctness issue and to avoid potential AQE perf regressions in queries using SQL cache.
Does this PR introduce any user-facing change?

No.
How was this patch tested?

Added UTs.
Was this patch authored or co-authored using generative AI tooling?

No.

For some reasons, it failed to link the test. Test is : https://github.com/maryannxue/spark/actions/runs/6827551601/job/18569949036

Also, cc @viirya and @sunchao too.

Merged to master/3.5.
Could you make a backporting PR to branch-3.4, please, @maryannxue ? There is a test case conflict on branch-3.4.

Gentle ping~, @maryannxue .

For the record, I landed at branch-3.4 after resolving conflicts.

The fix addresses the issue by disabling coalescing in InMemoryTableScan for shuffles in the final stage.

This PR seems to indicate that there will be a correctness bug if we allow coalescing in the final stage. Is this still true after https://github.com/apache/spark/pull/43435 which seems like its fixing the same issue? I have not noticed any correctness issues in this area but I have got a usecase where this PR causes a major performance regression.
I notice that https://github.com/apache/spark/pull/45054 brings back the option to enable coalescing in InMemoryTableScan for shuffles in the final stage. If I do this my performance problem is resolved but will I be at risk of the correctness bug again?

Details on my performance regression case
If you configure spark.sql.shuffle.partitions or spark.sql.adaptive.coalescePartitions.initialPartitionNum to a large number, we currently use 8192. The following code ends up using 8192 partitions and is really slow as a result.
      df = spark.createDataFrame(
          [
              {
                  "group": "group0",
                  "df1_column": 1,
              },
              {
                  "group": "group0",
                  "df1_column": 1,
              },
          ]
      )
      df = df.groupBy("group").agg(sf.max("df1_column"))
      df.cache()
      df.explain()
      df.show()

With this PR: 40 seconds
Without this PR: 2 seconds
Maybe its our mistake using spark.sql.adaptive.coalescePartitions.initialPartitionNum: 8192 but I don't really see any generic way to configure this appropriately. My strategy has just been make it bigger than we would ever need and rely on AQE to coalesce to something sensible, but my understanding could be lacking.

Does https://github.com/apache/spark/pull/45054 fix your perf issue?

There should be no correctness issues. canChangeCachedPlanOutputPartitioning is just for performance. Setting it to true usually leads to better performance, but may introduce extra shuffle for the the cache reading query as the cahced plan has changed its output partitioning.


Icon Request: CPAP machine, CPAP tubes and masks

Hi, I've been in need to use CPAP icons. They're related to the treatment of Sleep Apnea through Continuous Positive Air Pressure (CPAP).
They're often associated with a main machine, the tube and the face mask. They can vary in shape and size, but you can default to a generalized model.
Here are some images

Thanks for the help and for your services!

Great request. We'll work on it! Please be patient... the team is all volunteers and it may take us some time. Wonderfully detailed request btw. Thank you.


Remove deprecated GH action

This action is no longer required to refresh doc content when files are updated.

Codecov Report

Merging #198 (010a30e) into master (cdd177e) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #198   +/-   ##
=======================================
  Coverage   49.46%   49.46%
=======================================
  Files          30       30
  Lines        2434     2434
=======================================
  Hits         1204     1204
  Misses       1086     1086
  Partials      144      144

Flag
Coverage Δ

unittests
49.46% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Add Slack Integration for Builds

https://docs.travis-ci.com/user/notifications/#Configuring-Slack-notifications

Done. Seems to work.


🌱 bump docker/docker to v26.1.5

https://osv.dev/GHSA-v23v-6jw2-98fq
It is not called in our code, but shows up in scans, so fix it.

/test metal3-centos-e2e-integration-test-release-1-7

/cc @adilGhaffarDev @Sunnatillo @smoshiur1237


[Feature Request] Optimized GEMV implementation for fast LLM inference at batch=1

Is your feature request related to a problem? Please describe.
This is more of a nice-to-have item I feel might be missing (correct me if I'm wrong).
Most LLMs, during text generation runs at batch=1, epically for low latency optimized use cases. most GEMM implementations amortize costs across the entire matrix to achieve performance. But the strategy usually backfires when batch size becomes 1. It would be nice to have a special kernel to enable faster single batch inference.
Please close this issue if it is already done and I missed it. Or if it is not possible.
Describe the solution you'd like
Either a operator ttnn.GEMV or detecting the shape of the input matrices at runtime and run separate kerenels depending on it.
Describe alternatives you've considered
None
Additional context
Add any other context or screenshots about the feature request here.

@jliangTT How should we triage? Sounds like a request for ttnn team?

interesting. We are definitely thinking really hard on the LLM inference. @davorchap can comment.

i will put this as nice to have. it seems like there are two things to make this possible - a select logic to dispatch on shape, and the specialized kernel. We actually have a former, but not the latter.
Today we try to do higher batches, assuming simultanous users using. so batch=1 becomes an edge case.

Hey @marty1885, currently we don't have a ttnn.GEMV op or any special kernels that can be run when we have a vector as in1. Our matmuls operate on 32x32 tiles, so the best we can do today is to pad up in1 to be a tile, in which case we are just doing regular ttnn.GEMM.

Closing now as we currently don't have this planned per @TT-BrianLiu's response.


[JENKINS-52028] - Support downloading plugins from the Incrementals repo

During the Java 10 hackathon we discovered that we need to apply patches to some plugins, e.g. Pipeline: Support (https://github.com/jenkinsci/workflow-support-plugin/pull/65).
In order to deliver the fixes quickly in our Docker images, we need to be able to install plugins directly from Incrementals. So... here is a patch for it. I submitted it against the master branch since it's generic enough.
After the patch, it will be possible to install plugins via the following string in plugins.txt
workflow-support:incrementals;org.jenkins-ci.plugins.workflow;2.19-rc289.d09828a05a74

https://issues.jenkins-ci.org/browse/JENKINS-52028
@carlossg @jglick @svanoort @jenkinsci/java10-support
Also cc @raul-arabaolaza since it may be interesting to him

more and more logic being added to this install-script thing, which was initially supposed to be simple.
I'm fine we use this for java10 hackathon but would prefer we avoid adding more corner-cases to this script for mainstream docker image. I'm not blocking this PR anyway if others feel this would be useful in general

@ndeloof For now I just need it in java 10/11 branches. If you are fine with that, I will just get it there and keep this PR open against master for deeper review

I think the generic solution would be to have an incrementals update center
Fine to have it for the java 10 hackathon

I think the generic solution would be to have an incrementals update center

My PoV would rather be the opposite, that Docker images should be built with a Maven repository cache, not using an update center.

We tested it during the hackathon, works well.


Oversampling from sequential data

Hey there! I would like to know how should I handle sequential data, that is, the design matrix X is of the form (nsamples, sequence_len, n_feature_dims) and the target vector Y comprises the class labels (Yi \in {0,1,2,...,K}), shaped as (nsamples).
What I'm currently doing is ignoring the second dimension (the sequence length) by selecting a fixed sequence position, such as X[:,0,:]. Thus, it yields a matrix shaped as (nsamples, n_feature_dims). However, I'm not sure if this is the correct way to proceed, because once I sample, it will not be possible to know to which sequence the sample belongs.
Do you know of any workarounds?

Very interesting question. Unfortunately I am afraid none of the methods available here were built with sequential data in mind.
I believe the most straightforward solution would be to flatten the design matrix along the second dimension. That, however, assumes all sequences have the same length, in addition to severely increasing the dimensionality of the dataset which poses a challenge to distance based methods of resampling.
I imagine you must be working on a RNN-like model. If you could pre-train it in a unsupervised fashion (max margin maybe?), then you could use a hidden, flat, representation to feed the over-samplers.

Thanks for your response, @fmfn!
So simple, didn't think in reshaping it. Also, great suggestion about using the hidden layer to feed the over-samplers. I'll try that in the future, if the other solution doesn't work as expected.
I'm currently trying it with SMOTE, using borderline1 and ratio 0.4, but it doesn't find "samples in danger."

Determining classes statistics... 6 classes detected: {1: 42, 2: 259, 3: 208, 4: 16, 5: 6, 6: 72}
Finding the 10 nearest neighbours...done!
There are no samples in danger. No borderline synthetic samples created.

Do you know what may be causing that?

Hum, you are really pushing this package to its limits (which is awesome btw).
First, bSMOTE was not designed with multi-class case in mind (sorry). I imagine you will have to do it manually, following a one-vs-all scheme. Something like:
 z1 = y[y == 5]
oversample with x, z1
z2 = y[y == 4]
...
The way you choose to approach it can be different though, this is uncharted territory.
As for samples in danger:

A minority sample is in danger if more than half of its nearest neighbours belong to the majority class. The exception being a minority sample for which all its nearest neighbours are from the majority class, in which case it is considered noise.

Haha, sorry about that :)
I think it will be straightforward to make it one-vs-all. I'll give it a try.
Thanks for explaining samples in danger. Googling it now I'm seeing that I didn't do my homework properly before asking you, as the definition is in the repository and in the paper.

I was able to make it work using the one-against-all approach. One thing I noticed is that my unbalanced class is so small that SMOTE with borderline1 and bordeline2 didn't detect any samples in danger and considered some of them as noise. SVM SMOTE was able to detect some in danger and to draw some samples.
Just one thing remaining, though. I think the problem of doing it one-vs-all is that the number of samples of the majority class will become even higher, which I guess makes it harder to find samples in danger (or it may consider any minority sample as noise). Maybe using only one majority class (the larger one) along with the targeted minority class may provide better results.

I was able to make it work using the one-against-all approach. One thing I noticed is that my unbalanced class is so small that SMOTE with borderline1 and bordeline2 didn't detect any samples in danger and considered some of them as noise. SVM SMOTE was able to detect some in danger and to draw some samples.

bSMOTE is definitely limited by the representation of your data (vector space it is embedded in). On the one hand, not finding samples in danger is a good thing, it means a simple KNN classifier might be able to separate that class. Now, whether or not that is going to generalize well...

Just one thing remaining, though. I think the problem of doing it one-vs-all is that the number of samples of the majority class will become even higher, which I guess makes it harder to find samples in danger (or it may consider any minority sample as noise). Maybe using only one majority class (the larger one) along with the targeted minority class may provide better results.

That's a very good point, you are probably right.


Characters of attribute contain @ and ..

Hi.
I use Vue.js. https://github.com/vuejs/vue
Vue.js use @ and . as attribute. Please see an example http://vuejs.org/api/#v-on .
So, I'm happy if this PR is merged.
However, XML doesn't allow @ in an attribute.... http://www.w3.org/TR/REC-xml/#NT-Attribute
What do you think?

example
<button @click="doThis"></button>
<button @click.prevent="doThis"></button>

@pocke provided this doesn't break anything, I'm ok with it getting merged (regardless of w3 standards). So merging for now :) If someone reports a problem we can revert it later! Thanks a lot :heart_decoration:  :smiley:

Thanks for merging! :cat: :gift_heart:


Why does it say that I have the packages but then say it cannot find them?

reMarkable: ~/ opkg upgrade
reMarkable: ~/ opkg update draft
Downloading https://bin.entware.net/armv7sf-k3.2/Packages.gz
Updated list of available packages in /opt/var/opkg-lists/entware
Downloading https://toltec-dev.org/stable/Packages.gz
Updated list of available packages in /opt/var/opkg-lists/toltec
reMarkable: ~/ opkg update nao
Downloading https://bin.entware.net/armv7sf-k3.2/Packages.gz
Updated list of available packages in /opt/var/opkg-lists/entware
Downloading https://toltec-dev.org/stable/Packages.gz
Updated list of available packages in /opt/var/opkg-lists/toltec
reMarkable: ~/ systemctl stop xochitl
reMarkable: ~/ systemctl start draft
Failed to start draft.service: Unit draft.service not found.
reMarkable: ~/ systemctl start xochitl
reMarkable: ~/ opkg install plato
Package plato (0.9.1-10) installed in root is up to date.
reMarkable: ~/ opkg upgrade plato
reMarkable: ~/ systemctl start plato
Failed to start plato.service: Unit plato.service not found.
reMarkable: ~/ systemctl restart plato
Failed to restart plato.service: Unit plato.service not found.

reMarkable: ~/ opkg list-installed
ca-certificates - 20200601-1
draft - 0.2.0-14
entware-opt - 227000-3
entware-release - 1.0-2
entware-upgrade - 1.0-1
findutils - 4.7.0-2
grep - 3.6-1
libc - 2.27-11
libgcc - 8.4.0-11
libopenssl - 1.1.1h-1
libpcre - 8.44-2
libpthread - 2.27-11
librt - 2.27-11
libssp - 8.4.0-11
libstdcpp - 8.4.0-11
locales - 2.27-9
nao - 0.0.1-15
opkg - 2020-11-24-61b3c62d-1
plato - 0.9.1-10
remux - 0.0.1-20
simple - 0.0.1-15
terminfo - 6.2-1
wget - 1.20.3-4
xochitl - 0.0.0-1
zlib - 1.2.11-3
zoneinfo-asia - 2020d-1
zoneinfo-europe - 2020d-1
reMarkable: ~/ opkg find draft
draft - 0.2.0-14 - Launcher which wraps around the standard interface
reMarkable: ~/ systemctl start draft
Failed to start draft.service: Unit draft.service not found.

i think it is:
opkg update
opkg upgrade
systemctl daemon-reload
systemctl start draft

as an example. if that doesn't work, you can uninstall and re-install a package with opkg remove foo and opkg install foo.
PS: if you start draft, you have to stop xochitl.

It should usually pick up the .service file without daemon-reload. Maybe your reMarkable updated in the mean time (had this happen yesterday and was irritated why remux didn't come up. The update went so fast, that I didn't notice it).
A mechanism for re-adding service files is still in the works. Try opkg removeing and opkg installing draft again. I'm not sure whether opkg upgrade plato would add a file that went missing on its own as it is supposed to work in /opt or another persistent directory only.

I can't seem to remove draft or remux:
reMarkable: ~/ opkg update
Downloading https://bin.entware.net/armv7sf-k3.2/Packages.gz
Updated list of available packages in /opt/var/opkg-lists/entware
Downloading https://toltec-dev.org/stable/Packages.gz
Updated list of available packages in /opt/var/opkg-lists/toltec
reMarkable: ~/ opkg upgrade
reMarkable: ~/ systemctl daemon-reload
reMarkable: ~/ systemctl start draft
Failed to start draft.service: Unit draft.service not found.
reMarkable: ~/ opkg remove plato
Removing package plato from root...
reMarkable: ~/ opkg remove nao
Removing package nao from root...
reMarkable: ~/ opkg remove remux
Removing package remux from root...
Disabling remux
Failed to disable unit: Unit file remux.service does not exist.
You can force removal of packages with failed prerm scripts with the option:
--force-remove
No packages removed.
Collected errors:

pkg_run_script: package "remux" prerm script returned status 1.
opkg_remove_pkg: not removing package "remux", prerm script failed
reMarkable: ~/ opkg remove draft
Removing package draft from root...
Disabling draft
Failed to disable unit: Unit file draft.service does not exist.
You can force removal of packages with failed prerm scripts with the option:
--force-remove
No packages removed.
Collected errors:
pkg_run_script: package "draft" prerm script returned status 1.
opkg_remove_pkg: not removing package "draft", prerm script failed
reMarkable: ~/ opkg remove remux --force-remove
Removing package remux from root...
Disabling remux
Failed to disable unit: Unit file remux.service does not exist.
Collected errors:
pkg_run_script: package "remux" prerm script returned status 1.
reMarkable: ~/ opkg remove draft --force-remove
Removing package draft from root...
Disabling draft
Failed to disable unit: Unit file draft.service does not exist.
Collected errors:
pkg_run_script: package "draft" prerm script returned status 1.

Failed to disable unit: Unit file draft.service does not exist.
So the file did not exist indeed. Most likely due to an official update.
Not entirely sure, but after your failed opkg remove draft --force-remove the package should be removed nontheless. Try installing it again now.

Next time, it's probably easier for now to just take the draft.service from here and place it into /var/lib/systemd/system/ (source).
(While on it, bumping #109 seems appropriate.)

Sounds like we should update the uninstall logic to be more forgiving about service files not existing.

Can we even do this? Probably just adding the service file as part of a script would make that work as far as I know rn.

Two more semi related question: How do you get epubs and pdfs on Plato? And how do I remove amination_demo like files from opkg because I don't see them in the opkg list so I don't know where they are located. (I used the command for installing harmony on the harmony github page and it installed a lot of other files that I did not want.)

Can we even do this? Probably just adding the service file as part of a script would make that work as far as I know rn.

The uninstall script can easily check to see if a unit exists or not, and only attempt to disable it if it does exist, and is active: https://stackoverflow.com/a/53640320 and https://askubuntu.com/a/795242

How do you get epubs and pdfs on Plato?

Put the files in the folder /home/root/plato-media by default.
(Plato is installed to /opt/lib/plato and the Settings.toml has a default [[libraries]] entry with the directory of (/opt/lib/plato/)media which is a link to the above mentioned directory. The Settings.toml file is also actually a symlink to /opt/etc/plato.toml to make it seem more integrated. ls -la /opt/lib/plato shows all those links.)

And how do I remove amination_demo like files from opkg because I don't see them in the opkg list so I don't know where they are located? (I used the command for installing harmony on the harmony github page and it installed a lot of other files that I did not want.)

amination_demo is part of rmkit which got split into multiple packages later (remux, harmony, ...). You probably installed rmkit at that time and still have it. @raisjn can tell you more about that.

likely can delete /home/root/apps - that's where the harmony demo script installed stuff

Put the files in the folder /home/root/plato-media by default.
I did this but they did not show up in Plato. I also tried placing in the .reading-states folder under plato-media, but that did not work either :(

What's the content of /opt/etc/plato.toml? The reading states stuff is generated automatically. (Deleting and re-creating the folder is no problem at all).
Or did you install the standalone (non-toltec) plato from the repos releases?


rust: Add tide stack

Checklist:

[x] Read the Code of Conduct and Contributing Guidelines.

[x] Followed the commit message guidelines.

[x] Stack adheres to Appsody stack structure.

Modifying an existing stack:

[x] Updated the stack version in stack.yaml

Contributing a new stack:

Describe how application dependencies are managed:
The application relies on a single crate http-tide
https://github.com/http-rs/tide

Explain how Appsody file watcher is utilized:
Watches Cargo.toml and *.rs

Describe other Appsody environment variables defined by the stack image:
Standard usage with the additional debug ports

EXPOSE 1234
EXPOSE 5000

Describe any limitations and known issues:
Debugging is flaky as lldb remote debugging isn't 100% on containers.

Related Issues:
https://github.com/appsody/stacks/issues/769

 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.You have signed the CLA already but the status is still pending? Let us recheck it.

@No9 Thanks for contributing this new stack. Can you please take a look at the Travis build failures?
@Kamran64 please can you review this PR?

Hi @Kamran64
Thanks for all the feedback
I have applied the changes requested - However I am really struggling with the build issue as I can't reproduce it on my local machine.
Looking at the CI logs
**************************************************************************
Running appsody build against stack:dev.local/rust-tide template:default
**************************************************************************
[/usr/bin/appsody build --tag dev.local/appsodyvalidating-rust-tide]
Extracting project from development environment
Using local cache for image docker.io/appsody/rust-tide:0.1
Running command: docker create --name validating-rust-tide-extract -v /home/travis/.appsody/stacks/validating-rust-tide/:/project/user-app docker.io/appsody/rust-tide:0.1
Running command: docker cp validating-rust-tide-extract:/project /home/travis/.appsody/extract/validating-rust-tide
Running command: docker rm validating-rust-tide-extract -f
[Error] docker cp command failed: exit status 1

The error seems to be thrown here
https://github.com/appsody/appsody/blob/3723275048b340db2889de10667e096fa06ce6e4/cmd/extract.go#L302
I am running Fedora 32  the validation works expected and the Project extracted message is present
**************************************************************************
Running appsody build against stack:dev.local/rust-tide template:default
**************************************************************************
[/usr/bin/appsody build --tag dev.local/appsodyvalidating-rust-tide]
Extracting project from development environment
Using local cache for image dev.local/appsody/rust-tide:0.1
Running command: docker create --name validating-rust-tide-extract -v /home/anton/.appsody/stacks/validating-rust-tide/:/project/user-app dev.local/appsody/rust-tide:0.1
Running command: docker cp validating-rust-tide-extract:/project /home/anton/.appsody/extract/validating-rust-tide
Project extracted to /home/anton/.appsody/extract/validating-rust-tide
Running command: docker rm validating-rust-tide-extract -f

I tested out some scenarios on local and docker cp usually gives detailed errors but it looks like the console output is getting lost in utils as only the error is returned not the console output.
https://github.com/appsody/appsody/blob/3723275048b340db2889de10667e096fa06ce6e4/cmd/utils.go#L2117
Would it be possible to write the output of the cp command to the log as well as returning the error or is it possible to get access to the travis environment to run the commands on a failed instance?

@No9 - I'll see if I can replicate locally too. Yeah, non useful logs are something we've struggled with quite a bit especially on extract/build phases. I'll see if we can improve on that in the function it's failing on to give a clearer direction.

Hey @Kamran64
Just to check I spun up an ubuntu 18.04 on IBM Cloud
As root
Installed Docker - https://docs.docker.com/engine/install/ubuntu/
Download and install appsody 0.6.1 - https://appsody.dev/docs/installing/ubuntu/
Clone checkout then validate the stack.
# git clone https://github.com/No9/stacks
# cd stacks/
# git checkout --track origin/rust-tide
# git fetch
# cd experimental/rust-tide/
# appsody stack validate
@@@@@@@@@@@@@@@ Validate Summary Start @@@@@@@@@@@@@@@@
PASSED: Lint for stack:rust-tide
PASSED: Package for stack:rust-tide
PASSED: Init for stack:rust-tide template:default
PASSED: Run for stack:rust-tide template:default
PASSED: Test for stack:rust-tide template:default
PASSED: Build for stack:rust-tide template:default
Total PASSED: 6
Total FAILED: 0
@@@@@@@@@@@@@@@  Validate Summary End  @@@@@@@@@@@@@@@@

Validated Properly :/
Not much use but good to know I guess

@Kamran64 Quick update I can recreate the problemon my machine using the ./ci/build.sh
But when I run the problematic docker create command outside of the script it works fine.
I'll keep looking

Thanks for the updates @No9 - I'll try and get to this soon!

So this is getting stranger - The test randomly passed with no change but micro-profile failed with the same error.
calling docker image ls to check for the image
docker image dev.local/appsodyvalidating-java-microprofile was found
@@@@@@@@@@@@@@@ Validate Summary Start @@@@@@@@@@@@@@@@
PASSED: Init for stack:java-microprofile template:default
PASSED: Run for stack:java-microprofile template:default
FAILED: Test for stack:java-microprofile template:default
PASSED: Build for stack:java-microprofile template:default
Total PASSED: 3
Total FAILED: 1
@@@@@@@@@@@@@@@  Validate Summary End  @@@@@@@@@@@@@@@@
[Error] 1 validation check(s) failed.

I have downgraded to 0.6.0 and haven't been able to reproduce it so it looks like it could have been introduced in 0.6.1.

Hey @Kamran64
I updated to 0.6.2 and the issue became apparent.
The project Dockerfile was using the dev.local/experimental/rust-tide image to copy over the server code and that images wasn't available to the CI Server.
I have created an external image to containing the server code and the build now passes.
This feels like a work-around. It would be better if I could build and reference the server image as part of the build process. I looked at the other rust projects but couldn't see how this would be possible.


declare the handshake confirmed when receiving an ACK for a 1-RTT packet

... on the client side. Both the receipt of HANDSHAKE_DONE and the receipt of an ACK for a 1-RTT packet are sufficient for declaring confirmation of the handshake.
Fixes #3144. @rip-create-your-account

SentPacketHandler stores only ack-eliciting packets so an opportunity to confirm the handshake could be missed. Or is there a reason to not confirm handshake with packets that are not ack-eliciting? The suggested implementation allows it.
Also with the current implementation, I think the comments on the SentPacketHandler interface like /* contained 1-RTT packet */ should be /* contained 1-RTT ack-eliciting packet */ just to be exact.


Expose message sizes in cmd

Having CMD option would be probably useful also.
also disable flaky Test_multipleCPs and Test_multipleCPsAndIterations

bors merge

bors merge

bors merge

bors merge

bors merge

bors merged

bors merge


Linear Regression with PowerTransformer

Added and edited LinearRegression_PowerTransformer.ipynb. Provided a reference link to the API in Model Section.

Great work on adding hist plot for distribution
Reduce description about power Transformer.

Ok

Reduced description about power Transformer.
Changes applied.


Test rw_pass_cell with loom

https://docs.rs/loom/latest/loom/ is a simulation toolkit providing ~drop-in replacements for atomics, UnsafeCell and other low-level synchronization primitives. Loom simulates all possible thread schedulings and ensures safety in testing.

After a brief look, I think there are many drop-in replacements, but not for two important primitives used in rw_pass_cell: loom::sync::Arc doesn't provide downgrade, requiring a conversion to std::sync::Arc, and UnsafeCell does not have get but uses with and with_mut to track cell access. This makes replicating the functionality of ReadPass and WritePass impossible, I think. Using loom with very high probability will introduce some overhead to handle differences between std and loom datatypes. I'll now attempt to see if these issues are or not as significant as they appear to me


chore(main): release 3.2.2

:robot: I have created a release beep boop
3.2.2 (2024-09-18)
Bug Fixes

ollama: #223 ollama can be slow when num_ctx is large (4b60b0e)

This PR was generated with Release Please. See documentation.

:robot: Created releases:

v3.2.2
:sunflower:


Fix Homepage Issues

Resolves: https://github.com/NEARBuilders/gateway/issues/2
Resolves: https://github.com/NEARBuilders/gateway/issues/3
Resolves: https://github.com/NEARBuilders/gateway/issues/4
Resolves: https://github.com/NEARBuilders/gateway/issues/5
TODO:

[x] Fix issues with initial design
[x] Create New Navbar

@elliotBraem


Ctrl +h and Ctrl + l is not working with tmux but without tmux its working

https://github.com/user-attachments/assets/ac8b5e7c-196f-464d-909b-f9a5528994d9
Without tmux all the four commands are working but with tmux only up and down are working
keymaps.lua

vim.api.nvim_set_keymap("n", "<C-l>", ":TmuxNavigateRight<CR>", { noremap = true, silent = true })
vim.api.nvim_set_keymap("n", "<C-j>", ":TmuxNavigateDown<CR>", { noremap = true, silent = true })
vim.api.nvim_set_keymap("n", "<C-h>", ":TmuxNavigateLeft<CR>", { noremap = true, silent = true })
vim.api.nvim_set_keymap("n", "<C-k>", ":TmuxNavigateUp<CR>", { noremap = true, silent = true })

plugins.lua

return {
  "christoomey/vim-tmux-navigator",
  cmd = {
    "TmuxNavigateLeft",
    "TmuxNavigateDown",
    "TmuxNavigateUp",
    "TmuxNavigateRight",
    "TmuxNavigatePrevious",
  },
  keys = {
    { "<c-h>", "<cmd><C-U>TmuxNavigateLeft<cr>" },
    { "<c-j>", "<cmd><C-U>TmuxNavigateDown<cr>" },
    { "<c-k>", "<cmd><C-U>TmuxNavigateUp<cr>" },
    { "<c-l>", "<cmd><C-U>TmuxNavigateRight<cr>" },
    { "<c-\\>", "<cmd><C-U>TmuxNavigatePrevious<cr>" },
  },
}

.tmux.conf

set -g default-terminal "screen-256color"

set -g prefix C-a
unbind C-b
bind-key C-a send-prefix

unbind %
bind | split-window -h

unbind '"'
bind - split-window -v

unbind r
bind r source-file ~/.tmux.conf

bind -r j resize-pane -D 5
bind -r k resize-pane -U 5
bind -r l resize-pane -R 5
bind -r h resize-pane -L 5

bind -r m resize-pane -Z

set -g mouse on
setw remain-on-exit off
set-window-option -g mode-keys vi

bind-key -T copy-mode-vi 'v' send -X begin-selection # start selecting text with "v"
bind-key -T copy-mode-vi 'y' send -X copy-selection # copy text with "y"

unbind -T copy-mode-vi MouseDragEnd1Pane # don't exit copy mode after dragging with mouse

set -g @plugin 'tmux-plugins/tpm'

set -g @plugin 'christoomey/vim-tmux-navigator' # for navigating panes and vim/nvim with Ctrl-hjkl
set -g @plugin 'jimeh/tmux-themepack' # to configure tmux theme
set -g @plugin 'tmux-plugins/tmux-resurrect' # persist tmux sessions after computer restart
set -g @plugin 'tmux-plugins/tmux-continuum' # automatically saves sessions for you every 15 minutes

set -g @themepack 'powerline/default/cyan' # use this theme for tmux

set -g @resurrect-capture-pane-contents 'on' # allow tmux-ressurect to capture pane contents
set -g @continuum-restore 'on' # enable tmux-continuum functionality

run '~/.tmux/plugins/tpm/tpm'

I wonder if you have a conflicting mapping in your tmux config (perhaps coming from another of the plugins listed after tmux navigator). Can you run tmux list-keys -T root | grep C-l and check the output? It should look something like:
bind-key -T root C-l                    if-shell "ps -o state=,tty=,comm= | grep -iqE '^[^TXZ ]+ +#{s|/dev/||:pane_tty} +(\\S+\\/)?g?(view|n?vim?x?)(diff)?$'" "send-keys C-l" "select-pane -R"

@christoomey The same error fig one which is changed to Amazon Q after deletion it works properly but can u please pin the issue which contains the solution for how to use both without interruption


feat: enable selection of default Nginx ingress vs generic one.

If .Values.ingress.useDefaultNginx is false, then the Nginx-specific parts of the code are removed, and you're left with a generic ingress. This value is true by default.
If .Values.grafana.useExternal and .Values.ingress.useDefaultNginx are true, then it creates an Nginx redirect ingress.

@matrixji Can you help me with a review?

At least the default behaviors are still not changed (when .Values.ingress.useDefaultNginx default is true).
I need some local tests with other ingresses for better understanding. Will be back here soon.
@JorgeGar if you have specific ingress software to integrate with, you could provide the name, and I could do the local test with it.

We integrate it with aws ingress, but in any case it will use the annotations, so as long as the annotations are right, the ingress should work. The idea is to have it as generic as possible.

/lgtm

/lgtm

/lgtm
@matrixji
Can this be merged now?

/lgtm
@matrixji
Can this be merged now?

Sure, and currently the chart version is not promoted, we could handle it in the next devlake version updates.


<EMAIL_ADDRESS>hash check failed

Installing 'vim' (8.1.0483) [64bit]
gvim_8.1.0483_x64.zip (17,5 MB) [======================================================================================================================================================================================================================================================================] 100%
Checking hash of gvim_8.1.0483_x64.zip ... ERROR Hash check failed!
App:         vim
URL:         https://github.com/vim/vim-win32-installer/releases/download/v8.1.0483/gvim_8.1.0483_x64.zip
First bytes: 50 4B 03 04 14 00 00 00
Expected:    be214eed10ac1aa4c827e4e9dfee2b61b0f3cf4f2542b432de65d04df25eb553
Actual:      7b390313183e1603ac249b14b2223e39c4fd6657a996a9f3e2b84d8cbf2c9f71

I had same issue.

I had the same issue as well.

🙏

Same issue, tried reinstalling scoop, and uninstalling/installing vim from there multiple times


HOP-2386: Add RAP fragment to the master branch

What?
This PR

Copies rap/ folder from my web branch
Modify ./pom.xml to build the hop-ui-rap module
Does not touch assemblies just yet

Checks
Following this checklist to help us incorporate your contribution quickly and easily:

[x] Make sure there is a JIRA issue filed
for the change (usually before you start working on it).  Trivial changes like typos do not
require a JIRA issue.  Your pull request should address just this issue, without pulling in other changes.
[x] Each commit in the pull request should have a meaningful subject line and body.
[x] Format the pull request title like [HOP-XXX] - Fixes bug in SessionManager,
where you replace HOP-XXX with the appropriate JIRA issue. Best practice
is to use the JIRA issue title in the pull request title and in the first line of the commit message.
[x] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[ ] Run mvn clean install apache-rat:check to make sure basic checks pass. A more thorough check will be performed on your pull request automatically.
[x] If you have a group of commits related to the same change, please squash your commits into one and force push your branch using git rebase -i.

Trivial changes like typos do not require a JIRA issue (javadoc, comments...).
In this case, just format the pull request title like (DOC) - Add javadoc in SessionManager.
If this is your first contribution, you have to read the Contribution Guidelines
If your pull request is about ~20 lines of code you don't need to sign an Individual Contributor License Agreement
if you are unsure please ask on the developers list.
To make clear that you license your contribution under the Apache License Version 2.0, January 2004
you have to acknowledge this by using the following check-box.

[ ] I hereby declare this contribution to be licenced under the Apache License Version 2.0, January 2004
[ ] In any other case, please file an Apache Individual Contributor License Agreement.

This PR depends on #525 .

This PR depends on #525 .


NMRShiftDB Import

We need a clear overview of the numbers  stored in NMRShiftDB, exported, and after curation of:

[ ] Molecules
[ ] Structures
[ ] Measured Spectra
[ ] Predicted Spectra
[ ] Raw files
[ ] Total Spectra
[ ] Instrument types
[ ] Output formats
[ ] Authors
[ ] Samples

Additionally we need to check Folders with same name for a given sample/author

[ ] Import them in nmrium
[ ] Compare instrument details / experiment conditions

Before curation:
The number of unique authors combinations is: 37
The number of samples corresponding to unique molecule/solvent combinations is: 107
The number of downloaded spectra is: 559

From new download link: https://sourceforge.net/projects/nmrshiftdb2/files/data/nmrshiftdb2rawdata.nmredata.sd/download

There are 33 unique combinations of authors, which corresponds to 33 nmrXiv projects.
There are 84 molecules with raw data corresponding to nmrXiv studies.
There are 534 spectra corresponding to nmrXiv datasets.
All molecules except ethyl (E)-but-2-enoate have both 1D and 2D spectra.

@NRayya Any update on this??


fix issue: incorrect subscribe scene of share subscribe.

scene:
cl1 subscribe with filters: $SHARE/g1/a/b/c; a/b/c
cl2 subscribe with filter: $SHARE/g1/a/b/c
cl3 publish a message with topic a/b/c through broker.
actully: cl1 always receive message. but sometimes cl2 receive message.
correct: cl2 never receive message. cl1 receive message.
I have a test on emqx. it's correct, cl2 never receve message.
@mochi-co please review.

@x20080406, looking through the MQTT spec, the currently implementation should be the correct behavior:

It states Each Shared Subscription is independent from any other. It is possible to have two Shared Subscriptions with overlapping filters. In such cases a message that matches both Shared Subscriptions will be processed separately by both of them. If a Client has a Shared Subscription and a Non‑shared Subscription and a message matches both of them, the Client will receive a copy of the message by virtue of it having the Non‑shared Subscription. A second copy of the message will be delivered to one of the subscribers to the Shared Subscription, and this could result in a second copy being sent to this Client.
It also mentions If there's more than one Session subscribed to the Shared Subscription, the Server implementation is free to choose, on a message by message basis, which Session to use and what criteria it uses to make this selection.

Just to follow up on this @x20080406 - have a look at the hook OnSelectSubscribers, this hook allows you to modify the list of subscribers being published to, including the selected subscriber from the shared subscription list.
The idea is you might have your hook check against some other dataset to determine (like client load, or a priority list) which is the preferred client to send to in a shared sub scenario.


Clean up temp folder periodically

Cron job?

should be cleaned every monday morning (files older than 14 days deleted) in dev and prod


added editor spacing

MERGE AFTER #11207
(I again cherry picked a commit from another pr... (fixed margin beeing squared) if that does not work I need to drop that commit first anyways...) Removed that commit... since it isn't working.
so ready to merge now.
optionally adds spacing to widgets so that the editor looks cleaner (but there is less space. thats why it is an option...)

Needs a rebase now. I think you could also merge the two commits together. "added configurable editor spacing" :)

Sure

@toger5 these kind of chages are atomic, meaning you can have one commit without the other, or at least does not make sense, maybe a single commit would be best

Definitly. No pc accessible atm...

@akien-mga @djrm updated and squashed

this is the current state.


ignore reading share permissions on start-path / root level.

Sometimes it could be that you do not have the permission to read the acls/permissions on share-path / root level. Typically this could happen if you want to index an NetApp share. This fix ignores acl validation errors on root level. The fix is triggerable by configuration.

If the share ACL cannot be read by the connector, the administrator may skip the attempt
to read the share ACL by setting the filesystemadaptor.skipShareAccessControl
configuration option to true. This feeds a completely permissive share ACL to the GSA,
rather than the actual share ACL.


Allow wildcards for matching except names

Hi! Thanks for PR!
I will update npm package in few hours

@earthslasthope sorry,
I update package on Monday.

@earthslasthope already updated new npm version 1.2.0

Awesome, thanks for the quick review and publish :)


Allow to set the phase for MessageListenerContainer related to the SmartLifecycle interface on 3.0.0+

Type: Feature
Is your feature request related to a problem? Please describe.
With previous versions of Spring Could AWS (No Spring Boot 3), we had troubles with the graceful shutdown process in Spring Boot. We have an application with the following components:

SqsListener
Quartz Scheduler

Seems like when the application is shutting down, SQS components and Quartz Scheduler components, have the same SmartLifecycle.phase, and they collide, causing Quartz to not shutting down completely, and letting some crons in the database corrupted.
The workaround we found was the following:
    @Bean
    fun beanXXXX(
       simpleMessageListenerContainer: SimpleMessageListenerContainer
    ): String {
        /**
         * SQS and Quartz seem having the same shutdown priority,
         * which causes problems with Quartz and cannot shutdown fine.
         *
         * phase = Integer.MAX_VALUE - 1 tells SQS to shutdown before Quartz.
         */
        simpleMessageListenerContainer.phase = Integer.MAX_VALUE - 1
        return "ok"
    }

Moving SQS components one phase before, guarantee SQS shutdowns first, and later, Quartz.
Describe the solution you'd like
A way to set the phase for the SmartLifecycle interface for 3.0.0+
Describe alternatives you've considered

Testing again the collision with the latest version and see if the cron problem still appears.
Going the rabbit hole and trying to find what's happening under the hood with this collision.

Additional context
I will try to create a minimal project to reproduce the issue, but it is environment dependent, not sure I can make it.

Hi @estigma88, sorry for the delay - I wanted 3.0.0 to be out before making many more modifications to the SQS code.
Would you like to contribute a PR for this feature?

Sure, I can give it a try. Let me come back with one MR for this.


Tesla Powerwall Data type crash

On startup evcc throws the following error.
cannot create meter 'my_battery'
cannot create meter 'template'
cannot create meter 'powerwall'
json: cannot unmarshal number 1.7976931348623157e+308 into Go struct field SystemStatusData.solar_real_power_limit of type float32

The config was unchanged, it seems like my powerwall was updated overnight to a newer Version.
/app # evcc meter --log trace
[main  ] INFO 2023/05/25 08:41:48 evcc 0.117.4 (f9311a10)
[main  ] INFO 2023/05/25 08:41:48 using config file: /etc/evcc.yaml
[db    ] INFO 2023/05/25 08:41:58 using sqlite database: /root/.evcc/evcc.db
[db    ] TRACE 2023/05/25 08:41:58 SELECT count(*) FROM sqlite_master WHERE type='table' AND name="settings" -1 <nil>
[db    ] TRACE 2023/05/25 08:41:58 SELECT sql FROM sqlite_master WHERE type IN ("table","index") AND tbl_name = "settings" AND sql IS NOT NULL order by type = "table" desc 1 <nil>
[db    ] TRACE 2023/05/25 08:41:58 SELECT * FROM `settings` LIMIT 1 -1 <nil>
[db    ] TRACE 2023/05/25 08:41:58 SELECT * FROM `settings` 10 <nil>
[mqtt  ] INFO 2023/05/25 08:41:58 connecting evcc-514582635 at tcp://<IP_ADDRESS>:1883
[mqtt  ] DEBUG 2023/05/25 08:41:58 tcp://<IP_ADDRESS>:1883 connected
[powerwall] TRACE 2023/05/25 08:41:58 GET https://<IP_ADDRESS>/api/status
[powerwall] TRACE 2023/05/25 08:41:59 {"din":"<...deleted...>","start_time":"2023-05-25 02:30:37 +0800","up_time_seconds":"6h11m21.921774929s","is_new":false,"version":"23.12.0 2f804982","git_hash":"<...deleted...>","commission_count":0,"device_type":"hec","teg_type":"unknown","sync_type":"v1","leader":"","followers":null,"cellular_disabled":false}
[powerwall] TRACE 2023/05/25 08:41:59 GET https://<IP_ADDRESS>/api/status
[powerwall] TRACE 2023/05/25 08:41:59 {"din":"<...deleted...>","start_time":"2023-05-25 02:30:37 +0800","up_time_seconds":"6h11m21.956497459s","is_new":false,"version":"23.12.0 2f804982","git_hash":"<...deleted...>","commission_count":0,"device_type":"hec","teg_type":"unknown","sync_type":"v1","leader":"","followers":null,"cellular_disabled":false}
[powerwall] TRACE 2023/05/25 08:41:59 GET https://<IP_ADDRESS>/api/status
[powerwall] TRACE 2023/05/25 08:41:59 {"din":"<...deleted...>","start_time":"2023-05-25 02:30:37 +0800","up_time_seconds":"6h11m21.984338017s","is_new":false,"version":"23.12.0 2f804982","git_hash":"<...deleted...>","commission_count":0,"device_type":"hec","teg_type":"unknown","sync_type":"v1","leader":"","followers":null,"cellular_disabled":false}
[powerwall] TRACE 2023/05/25 08:41:59 POST https://<IP_ADDRESS>/api/login/Basic
[powerwall] TRACE 2023/05/25 08:41:59 {"username":"***","email":"***","password":"***","force_sm_off":false}
--
{"email":"***","firstname":"Tesla","lastname":"Energy","roles":["Home_Owner"],"token":"<...deleted...>","provider":"Basic","loginTime":"2023-05-25T08:41:59.685376342+02:00"}
[powerwall] TRACE 2023/05/25 08:41:59 GET https://<IP_ADDRESS>/api/system_status
[powerwall] TRACE 2023/05/25 08:41:59 {"command_source":"Configuration","battery_target_power":-2059.83941934556,"battery_target_reactive_power":0,"nominal_full_pack_energy":13546,"nominal_energy_remaining":9100,"max_power_energy_remaining":0,"max_power_energy_to_be_charged":0,"max_charge_power":4600,"max_discharge_power":4600,"max_apparent_power":4600.000000000001,"instantaneous_max_discharge_power":7000,"instantaneous_max_charge_power":7000,"instantaneous_max_apparent_power":4600.000000000001,"hardware_capability_charge_power":0,"hardware_capability_discharge_power":0,"grid_services_power":-0,"system_island_state":"SystemGridConnected","available_blocks":1,"available_charger_blocks":0,"battery_blocks":[{"Type":"","PackagePartNumber":"<...deleted...>","PackageSerialNumber":"<...deleted...>","disabled_reasons":[],"pinv_state":"PINV_GridFollowing","pinv_grid_state":"Grid_Compliant","nominal_energy_remaining":9104,"nominal_full_pack_energy":13546,"p_out":-2100,"q_out":30,"v_out":231,"f_out":50.044,"i_out":43.2,"energy_charged":10096340,"energy_discharged":8762890,"off_grid":false,"vf_mode":false,"wobble_detected":false,"charge_power_clamped":false,"backup_ready":true,"OpSeqState":"Active","version":"2f804982d0efc8"}],"ffr_power_availability_high":4600,"ffr_power_availability_low":4600,"load_charge_constraint":0,"max_sustained_ramp_rate":1250000,"grid_faults":[],"can_reboot":"Power flow is too high","smart_inv_delta_p":0,"smart_inv_delta_q":0,"last_toggle_timestamp":"2023-05-25T02:34:21.604733+02:00","solar_real_power_limit":1.7976931348623157e+308,"score":10000,"blocks_controlled":1,"primary":true,"auxiliary_load":0,"all_enable_lines_high":true,"inverter_nominal_usable_power":4600,"expected_energy_remaining":0}
[main  ] FATAL 2023/05/25 08:41:59 cannot create meter 'my_battery': cannot create meter 'template': cannot create meter 'powerwall': json: cannot unmarshal number 1.7976931348623157e+308 into Go struct field SystemStatusData.solar_real_power_limit of type float32

Fixed in 8dd58dc


Support for vector and matrix scaling methods

Can netcal support vector and matrix scaling methods

Hi, the class "LogisticCalibration" represents vector scaling as it learns a weight and a bias for each class separately. However, matrix scaling is not supported as it requires much more weights but offers no sufficient calibration performance compared to logistic calibration or temperature scaling in my opinion.


added a program in android that uses onfocuschange method with toast …

…for displaying what needs to done

added a program in android that uses onfocuschange method for changes in event for displaying what needs to be done.


Re-enable disable performance tests

@bot-gradle test this

OK, I've already triggered ReadyForMerge build for you.

@bot-gradle test this

OK, I've already triggered ReadyForMerge build for you.

@bot-gradle test and merge

Your PR is queued. See the queue page for details.

OK, I've already triggered a build for you.


[TT-681] Remove usage of deprecated github.com/pkg/errors

Codecov Report
Attention: 237 lines in your changes are missing coverage. Please review.

Comparison is base (8b9de03) 23.18% compared to head (623c3e8) 23.01%.
Report is 5 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #762      +/-   ##
==========================================
- Coverage   23.18%   23.01%   -0.18%
==========================================
  Files          33       35       +2
  Lines        4287     4450     +163
==========================================
+ Hits          994     1024      +30
- Misses       3192     3313     +121
- Partials      101      113      +12

Files
Coverage Δ

k8s/config/overrides.go
68.75% <ø> (ø)

blockchain/finalized_headers.go
0.00% <0.00%> (ø)

blockchain/wallet.go
80.00% <0.00%> (ø)

blockchain/celo.go
0.00% <0.00%> (ø)

blockchain/nonce_settings.go
0.00% <0.00%> (ø)

networks/known_networks.go
82.56% <62.50%> (ø)

docker/test_env/geth.go
68.99% <33.33%> (-0.55%)
:arrow_down:

docker/test_env/postgres.go
0.00% <0.00%> (ø)

docker/test_env/killgrave.go
77.63% <46.15%> (-2.76%)
:arrow_down:

docker/test_env/mockserver.go
60.21% <42.85%> (-3.32%)
:arrow_down:

... and 10 more

... and 1 file with indirect coverage changes

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


Fix satisfaction responses

What
Fixes satisfaction responses to be the sum of useful_yes and useful_no responses.
Why
This is because the /content API endpoint no longer returns satisfaction_score_responses.
Screenshots
Before

After

Review Checklist

[x] Changes in scope.
[x] Added/updated unit tests.
[x] Added/updated feature tests.
[x] Added/updated relevant documentation.
[x] Added to Trello card.

 (3) Sort table by any column (frontend)


Improve test harness and add browser pooling

Changelog Entry
Added

Improved test harness and added browser pooling, by @compulim, in PR #3871
Updated husky, lint-staged and corresponding precommit scripts, by @compulim, in PR #3871

Description
Goals of this PR:

Improve DX on test development

Converged test behaviors between Chrome and Jest/WebDriver
Improved debuggability/runnability in Chrome
Auto restart Docker images on local changes

Improve test speed

Pooling WebDriver session
Remove unnecessary Babel/React

Improve test reliability

Wait for all images loaded before taking snapshot

Improve dev scripts on husky, lint-staged and Git pre-commit hook

New "HTML" test harness
Today/yesterday, when we develop some HTML tests that requires special keyboard input (e.g. TAB), it can only be automated via Jest/WebDriver, but not while developing (in pure Chrome). To mitigate the issue, we log to console and ask the developer to do the input manually. This means, tests running in dev mode and Jest/CI could have different behaviors.
We added a new npm run browser command to start a Chrome that can be remotely controlled by a corresponding WebDriver client. It can send special keyboard inputs, emulated pointer input, and take screenshots.
Please download a matching version of ChromeDriver.exe and put it under the project root. If you are on WSL, you will need chmod +x ChromeDriver.exe to enable execute permission.

Run npm run browser to start a browser session for HTML tests

Using this browser to load __tests__/*.html will use WebDriver to run tests on them
View the screenshot from console for easy debugging

Run npm run docker to start a Docker Compose

This is only needed for Jest
Any files changed, will rebuild and restart of the compose automatically

Separate test harness and test page object model
Today/yesterday, test harness and page object model are mingled together. Clearer responsibilities on packages will increase DX.
It was packages/testharness, and now into 2 packages: packages/test/harness and packages/test/page-object-model.

Test harness is the infrastructure to run tests, it use WebDriver behind the scene
Test page object model is the object model for controlling Web Chat, no knowledge of WebDriver is needed
Both test harness and page object models does not use regenerator-runtime, give a much better error stack

Test code changed

body element will have a class named jest, if the page is running under Jest (or CI)

Can be used to hide elements for test development

await pageConditions.uiConnected(), instead of await host.wait(conditions.uiConnected(), 15000)
Use run(async () => {}), instead of IIFE with host.done() or host.error()
No Babel or React is loaded by default, should be quicker
Standardized all xxxStabilized code by leveraging the new pageConditions.stabilized()

See scrollStabilized() or the advanced scrollToBottomCompleted() for usage

Browser session pooling
Today/yesterday, browser sessions are disposed immediately after tests. It takes about 1 second to launch a new browser session. With ~240 HTML tests, it took 4 extra minutes.
This feature reduce that 4 minutes to (240 / 5) * 1s ~= 48 * 1s = 48 seconds (-192 seconds).
Added pooling by a WebDriver proxy, given capabilities are unchanged.

Browser sessions are now pooled with max 5 runs and 3 minutes (the last 30 seconds are not acquirable)
Saved about 1 second per test run that can reuse sessions, or about 3 minutes
Increase memory from 2 GB to 2.5 GB for each session for stability
Jest only parallelize test suites, but not tests inside each suite
Few things to reset:

Navigate to about:blank
Move mouse to (0, 0)
Reset window size to 360x640

Design
The "WebDriver session pooling server" proxy will intercepts new session and delete session requests.
We move window resizing from capabilities to runtime. This means all tests no longer have unique capabilities, this enable simple session pooling.
Every instance in the pool will survive 5 runs, or 3 minutes maximum. We assume each session will take up to 30 seconds. That means, after hitting 2:30 minutes, the instance will no longer to acquire. If it was acquired, it will be continue available until release.
Specific Changes
(Other than specified above)

Rename Dockerfile-xxx to xxx.dockerfile for VSCode syntax highlighting
Updated npm run docker to pick up changes and restart images automatically
Separated test harness and test page object model packages
Update some snapshots

Button click in the new test harness will also move the mouse (to mimic a real mouse behavior)

Thus, the snapshot will show hover effect on the button

Some test reliabilities

Cleaner HTML test files

Less one-time imports

Don't load React/Babel in test harness, HTML file need to specify them if needed

Not every test need JSX, not loading React/Babel will speed up tests

No more pre-build for testharness, means, npm install or npm run bootstrap will be faster

[x] I have added tests and executed them locally
[ ] I have updated CHANGELOG.md
[x] ~I have updated documentation~ (Will do in another PR)

Review Checklist

This section is for contributors to review your work.

[x] ~Accessibility reviewed (tab order, content readability, alt text, color contrast)~
[x] ~Browser and platform compatibilities reviewed~
[x] ~CSS styles reviewed (minimal rules, no z-index)~
[x] ~Documents reviewed (docs, samples, live demo)~
[x] ~Internationalization reviewed (strings, unit formatting)~
[x] package.json and package-lock.json reviewed
[x] ~Security reviewed (no data URIs, check for nonce leak)~
[x] Tests reviewed (coverage, legitimacy)

I'm concerned about test: tests/html/carousel.navigation.tab.html
Screenshots are showing a behavior change, but it looks like you didn't make test changes. snap 2 is showing what I expect snap 3 to see, and snap 3 is showing what I expect snap 4 to be. Could you verify?

Could you add these to the fixed list as well?
https://github.com/microsoft/BotFramework-WebChat/issues/3736
https://github.com/microsoft/BotFramework-WebChat/issues/2938
Would you be able to address this one too?
https://github.com/microsoft/BotFramework-WebChat/issues/3557


Fragmented page not working properly

I'm developing a website in which the navigation bar contains a link for anchor using url_for('main.index', _anchor='pricing'). It is working fine if I'm on the index page. But if I'm on some other page and try to click on that link it only redirects me to the index page with <IP_ADDRESS>/#pricing but the page is from the starting and not from the pricing section. How can I achieve the same thing.

The fragment portion of the URL is handled on the client side. You need to add JavaScript code that looks at the fragment on page load and performs the correct action.

I do not know a thing about javascript. It will be a great help if you point me to something where can i get the code for the process you described.

Not sure if I can help you then. I assumed your fragments are interpreted by a JavaScript framework, that's client-side navigation is implemented in frameworks such as Angular.js. If you are not doing any of that and instead just expecting the page will scroll down to the appropriate place, then that should happen automatically, the browser does that. Are you sure you have the proper markup to declare the location of the page the browser should scroll to?

I'm using id=pricing for a div element and using that id in _anchor parameter for the url_for(). If I'm on the same page everything works smoothly. But if I'm on other page and using the same link, the link in the URL bar reads the correct link with #fragment after the root. But the page is not scrolling down to that specific place.

And sorry this is my other account. I'm still deveshaggrawal19.

Not sure then. You seem to be doing it correctly. I would try a different browser, to rule out a problem with your current one.

I have tried in three different browsers in different OS but nothing is working out. What should I do?

I recommend you make a small reproducible example and then ask in stack overflow for help.


EdgeLM: checkpoint model access denied

Describe the bug
Model I am using (UniLM, MiniLM, LayoutLM ...): EdgeLM
The problem arises when using:

[X] README link to checkpoint model

A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

Go to link for checkpoint model, or even vocab: https://msranlp.blob.core.windows.net/edgeformer/v1/edgeformer_lora32_pretrain_checkpoint_250k.pt
Get access denied:

<Error>
PublicAccessNotPermitted
<Message>Public access is not permitted on this storage account. RequestId:<id> Time:<time></Message>
</Error>

Expected behavior
A clear and concise description of what you expected to happen.
Could this model be made publicly available again?

Platform: ubuntu 22.04
Python version: NI
PyTorch version (GPU?): NI

Did you get around this? facing the same


add dispatch queue to map function

Problem
For example, I wanna bind image_url to dynImage with map function, for each cell on UITableView.
But the codes for getting UIImage (map's closure) is running in MainThread.
So when I scroll the table view, the scroll animation seems to be so unsteady!!
map(some.image_url) { urlString in
  var url = NSURL(string: urlString)
  if let existUrl = url {
    var data = NSData(contentsOfURL: existUrl)
    if let existData = data {
      return UIImage(data: existData)!
    }
  }
  return UIImage()
} ->> cell.avatarImageView.dynImage

so I made a PR. But I think this is not the best solution. Could you give me any idea if you can?

Hi @ushisantoasobu,
Thanks for the PR, but I'm reluctant to do any changes to the currently stable v3 as we are in the process of transition to v4. This is solved in Bond v4 with deliverOn method:
some.image_url
  .deliverOn(Queue.Background)
  .map { url in
    // download and return UIImage
  }
  .deliverOn(Queue.Main)
  .bindTo(cell.avatarImageView.bnd_image)

There is a deliver function in v3, but is is not implemented as a method on the Dynamic, rather a plain function that accepts a Dynamic and a dispatch queue.

@srdanrasic Thank you for reply, and I recognized your roadmap.


Fix mismatch in package.json fields in npm package

Added a fix to the script that updates the package.json file when building npm package
The current solution uses the wrong path for the main field in the package.json file, and also uses the wrong path for the react-native field.
This is related to #548
Test:
Ran build-npm script and verified that it could be installed successfully in new iOS/Android React Native project.

The issue mentions a mismatch between the two fields but they currently use the same value which seems to be the best practice. Maybe let's discuss it offline?


yotta up fails depending on version of openssl installed (OSX)

Using yotta on mac OSX, I updated something in homebrew.  Following that update, yotta up yields this traceback:
Traceback (most recent call last):
  File "/usr/local/bin/yotta", line 9, in <module>
    load_entry_point('yotta==0.4.1', 'console_scripts', 'yotta')()
  File "/usr/local/lib/python2.7/site-packages/yotta/main.py", line 189, in main
    status = args.command(args, following_args)
  File "/usr/local/lib/python2.7/site-packages/yotta/list.py", line 39, in execCommand
    target, errors = c.satisfyTarget(args.target)
  File "/usr/local/lib/python2.7/site-packages/yotta/lib/component.py", line 536, in satisfyTarget
    type = 'target'
  File "/usr/local/lib/python2.7/site-packages/yotta/lib/access.py", line 352, in satisfyVersion
    return satisfyVersionByInstalling(name, version_required, working_directory, type=type)
  File "/usr/local/lib/python2.7/site-packages/yotta/lib/access.py", line 298, in satisfyVersionByInstalling
    v = latestSuitableVersion(name, version_required, _registryNamespaceForType(type))
  File "/usr/local/lib/python2.7/site-packages/yotta/lib/access.py", line 107, in latestSuitableVersion
    vers = remote_component.availableVersions()
  File "/usr/local/lib/python2.7/site-packages/yotta/lib/registry_access.py", line 382, in availableVersions
    return _listVersions(self.namespace, self.name)
  File "/usr/local/lib/python2.7/site-packages/yotta/lib/registry_access.py", line 166, in _listVersions
    request_headers = _headersForRegistry(registry)
  File "/usr/local/lib/python2.7/site-packages/yotta/lib/registry_access.py", line 310, in _headersForRegistry
    auth_token = generate_jwt_token(_getPrivateKeyObject(registry), registry)
  File "/usr/local/lib/python2.7/site-packages/yotta/lib/registry_access.py", line 299, in _getPrivateKeyObject
    privatekey_pem, None, default_backend()
  File "/usr/local/lib/python2.7/site-packages/cryptography/hazmat/backends/__init__.py", line 40, in default_backend
    _default_backend = MultiBackend(_available_backends())
  File "/usr/local/lib/python2.7/site-packages/cryptography/hazmat/backends/__init__.py", line 27, in _available_backends
    "cryptography.backends"
  File "build/bdist.macosx-10.9-x86_64/egg/pkg_resources/__init__.py", line 2351, in resolve

  File "/usr/local/lib/python2.7/site-packages/cryptography/hazmat/backends/openssl/__init__.py", line 7, in <module>
    from cryptography.hazmat.backends.openssl.backend import backend
  File "/usr/local/lib/python2.7/site-packages/cryptography/hazmat/backends/openssl/backend.py", line 1287, in <module>
    backend = Backend()
  File "/usr/local/lib/python2.7/site-packages/cryptography/hazmat/backends/openssl/backend.py", line 77, in __init__
    self._binding = Binding()
  File "/usr/local/lib/python2.7/site-packages/cryptography/hazmat/bindings/openssl/binding.py", line 114, in __init__
    self._ensure_ffi_initialized()
  File "/usr/local/lib/python2.7/site-packages/cryptography/hazmat/bindings/openssl/binding.py", line 126, in _ensure_ffi_initialized
    cls._modules,
  File "/usr/local/lib/python2.7/site-packages/cryptography/hazmat/bindings/utils.py", line 31, in load_library_for_binding
    lib = ffi.verifier.load_library()
  File "/usr/local/lib/python2.7/site-packages/cffi/verifier.py", line 97, in load_library
    return self._load_library()
  File "/usr/local/lib/python2.7/site-packages/cffi/verifier.py", line 207, in _load_library
    return self._vengine.load_library()
  File "/usr/local/lib/python2.7/site-packages/cffi/vengine_cpy.py", line 155, in load_library
    raise ffiplatform.VerificationError(error)
cffi.ffiplatform.VerificationError: importing '/usr/local/lib/python2.7/site-packages/cryptography/_Cryptography_cffi_e7d09016xc302a38b.so': dlopen(/usr/local/lib/python2.7/site-packages/cryptography/_Cryptography_cffi_e7d09016xc302a38b.so, 2): Symbol not found: _SSLv2_client_method
  Referenced from: /usr/local/lib/python2.7/site-packages/cryptography/_Cryptography_cffi_e7d09016xc302a38b.so
  Expected in: flat namespace
 in /usr/local/lib/python2.7/site-packages/cryptography/_Cryptography_cffi_e7d09016xc302a38b.so

The resolution for this problem seems to be installing cryptography (the python library) with extra environment variables:
env ARCHFLAGS="-arch x86_64" LDFLAGS="-L/usr/local/opt/openssl/lib" CFLAGS="-I/usr/local/opt/openssl/include" pip install cryptography

This seems to be caused by brew-installing a version of OpenSSL (and possibly brew linking it?), and then pip-installing cryptography with brew python.

Closing (not an issue within yotta). Hopefully this thread is google-able if anyone else has the same problem.

There is an update here:
env LDFLAGS="-L$(brew --prefix openssl)/lib" CFLAGS="-I$(brew --prefix openssl)/include" pip install cryptography
Here's the source: https://cryptography.io/en/latest/installation/


Notebook on web scraping with tool use

Why are these changes needed?
Provide an example to scrap web pages.
Related issue number

Checks

[ ] I've included any doc changes needed for https://microsoft.github.io/autogen/. See https://microsoft.github.io/autogen/docs/Contribute#documentation to build and test documentation locally.
[ ] I've added tests (if relevant) corresponding to the changes introduced in this PR.
[ ] I've made sure all auto checks have passed.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 35.68%. Comparing base (8cb5c14) to head (efb6f81).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2192      +/-   ##
==========================================
- Coverage   37.53%   35.68%   -1.86%
==========================================
  Files          77       77
  Lines        7710     7710
  Branches     1655     1655
==========================================
- Hits         2894     2751     -143
- Misses       4573     4727     +154
+ Partials      243      232      -11

Flag
Coverage Δ

unittests
35.68% <ø> (-1.85%)
:arrow_down:

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

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

@areibman let me know if you want to make improvement over this.

Would you like to render this notebook on the website?

I think we should


Assemble info for release 5.9

Write up all updates from pull requests for this release.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 6.424%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
118

Relevant Lines:
1837

💛  - Coveralls


Exclude Gemfile.lock from version control

When developing a gem, use the gemspec method in your Gemfile to avoid
duplication. In general, a gem's Gemfile should contain the Rubygems
source and a single gemspec line. Do not check your Gemfile.lock into
version control, since it enforces precision that does not exist in the
gem command, which is used to install gems in practice. Even if the
precision could be enforced, you wouldn't want it, since it would
prevent people from using your library with versions of its dependencies
that are different from the ones you used to develop the gem.
Ref: http://yehudakatz.com/2010/12/16/clarifying-the-roles-of-the-gemspec-and-gemfile/

Tests are failing, but IMHO this is good chance of improving things.
If there is the need to test against specific gem versions, you could consider using Appraisal and restrict allowed dependency versions in gemspec.
Btw, failures depend on:

[ ] rspec 3.5.0
[v] capybara
[v] webmock

I've pushed some more changes which fixes some failing specs, but I'm still not able to fix failures which depend on rspec 3.5.0.

This rspec-core commit broke things https://github.com/rspec/rspec-core/commit/8e564dca9e5962bb6b41865af3fa49f2c3cbe5dd

Trade offs I see:

(this PR) to provide support to multiple versions of N dependencies, and therefore maintain a larger codebase and a multiplicity of possible new failure points, vs
maintain one set of dependencies with version ranges and ask developers to be within those ranges.

I think this PR is good, but the burden is on the maintainers later to support a combination of dependencies. I'm not sure it is worth it given the nature of the work (free, stressful). It would be a lot easier to distribute the weight with whoever uses this gem by asking them to update their own dependencies.
I totally agree on removing the .lock file, though.

@kurko thanks for sharing your thoughts about this PR.
The main purpose of this PR is to make sure that tests pass against the dependencies specified in the .gemspec file.
Eg:
s.add_development_dependency "capybara", "~> 2.2"

Is not true, because to work with capybara 2.11 this change is needed: https://github.com/zipmark/rspec_api_documentation/pull/325/commits/eabc0a335b0aa9e8f4b929a7683c50e96f75e73a

I spent a bit trying to get around the issue with rspec you noted. Something changed with how the examples work. There must be some configuration option we're missing as the rspec-core specs do the same thing we're doing and they pass.

I gave another look and I also gave a look at the rspec-core specs but I'm still not able to fix this :\

Hi,
I've rebased this gem and everything is green because of this line, which locks rspec to ~> 3.4.0 in Gemfile
Btw, you may be interested in cherry-picking:

https://github.com/zipmark/rspec_api_documentation/pull/325/commits/2e4b4d38fc97308baab23bd6505a0e99ef803a71
https://github.com/zipmark/rspec_api_documentation/pull/325/commits/532f23b45766e8fc1d98e23500b380a217e3889a
https://github.com/zipmark/rspec_api_documentation/pull/325/commits/852fc96eb17845a7ebc38fd3321aa529068d1524
https://github.com/zipmark/rspec_api_documentation/pull/325/commits/ab3d230c140a112ba56f9b9c51a161956fa8458a
https://github.com/zipmark/rspec_api_documentation/pull/325/commits/cf2d9f681ef2bc6cf321f07749d5e3b4424ee89d

for what is worth, testing with rspec 3.6.0 breaks a lot of specs
Finished in 0.55512 seconds (files took 1.71 seconds to load)
374 examples, 15 failures, 3 pending

Failed examples:

rspec ./spec/api_formatter_spec.rb:79 # Orders Updating an order
rspec ./spec/api_formatter_spec.rb:80 # Orders Viewing an order
rspec ./spec/example_spec.rb:67 # foobar foo
rspec ./lib/rspec_api_documentation/dsl.rb[1:1:1:1] # Posts /posts/:id{?option=:option} Single Post GET /posts/{id} Gets a post
rspec ./lib/rspec_api_documentation/dsl.rb[1:1:1:2] # Posts /posts/:id{?option=:option} Single Post GET /posts/{id} Returns an error
rspec ./lib/rspec_api_documentation/dsl.rb[1:2:1:1] # Posts /posts/:id Single Post DELETE /posts/:id Deletes a post
rspec ./lib/rspec_api_documentation/dsl.rb[1:3:1:1] # Posts /posts/:id Single Post PUT /posts/:id Updates a post
rspec ./lib/rspec_api_documentation/dsl.rb[1:4:1:1] # Posts /posts Posts Collection GET /posts Get all posts
rspec ./lib/rspec_api_documentation/dsl.rb[1:1:1:1] # Comments /comments Comments Collection GET /comments Get all comments
rspec ./lib/rspec_api_documentation/dsl.rb[1:1:1:1] # Posts /posts/:id{?option=:option} Single Post GET /posts/{id} Gets a post
rspec ./lib/rspec_api_documentation/dsl.rb[1:1:1:2] # Posts /posts/:id{?option=:option} Single Post GET /posts/{id} Returns an error
rspec ./lib/rspec_api_documentation/dsl.rb[1:2:1:1] # Posts /posts/:id Single Post DELETE /posts/:id Deletes a post
rspec ./lib/rspec_api_documentation/dsl.rb[1:3:1:1] # Posts /posts/:id Single Post PUT /posts/:id Updates a post
rspec ./lib/rspec_api_documentation/dsl.rb[1:4:1:1] # Posts /posts Posts Collection GET /posts Get all posts
rspec ./lib/rspec_api_documentation/dsl.rb[1:1:1:1] # Comments /comments Comments Collection GET /comments Get all comments

374 examples, 15 failures, 3 pending

Cucumber features are fine instead
63 scenarios (63 passed)
319 steps (319 passed)

@oestrich there is an issue with the current master branch.
Try to run:
$ rspec spec/api_formatter_spec.rb:47 --format documentation
Run options: include {:locations=>{"./spec/api_formatter_spec.rb"=>[47]}}

you should see two failing specs
RspecApiDocumentation::ApiFormatter
  output
    with passing examples
      should list the generated docs (FAILED - 1)
    with failing examples
      should indicate failures (FAILED - 2)

The issue is due to include FakeFS::SpecHelpers which should be included in the container block
 $ rspec spec/api_formatter_spec.rb:47 --format documentation
Run options: include {:locations=>{"./spec/api_formatter_spec.rb"=>[47]}}

RspecApiDocumentation::ApiFormatter
  output
    with passing examples
      should list the generated docs
    with failing examples
      should indicate failures

Sandboxing should be the key

Everything is green ✌
All development specs are up to date, 15 separate commits so you could cherry-pick whatever you need

Closing due to age.


Mutex isn't correctly used in CurlSession::GetCurlConnection

Here https://github.com/Azure/azure-sdk-for-cpp/blob/70eeec598496de78ba5f6a5ccd7bdb4b4724fd87/sdk/core/azure-core/src/http/curl/curl.cpp#L799
we are accessing the object without holding the mutex.
In the current implementation, we acquire the mutex before writing the data, but we don't acquire the mutex before reading the data. I don't think this is the right way of using mutex.
@vhvb1989 You also mentioned double checked locking in the comments. https://github.com/Azure/azure-sdk-for-cpp/blob/70eeec598496de78ba5f6a5ccd7bdb4b4724fd87/sdk/core/azure-core/src/http/curl/curl.cpp#L798 I'm not an expert but you can find some results if you google "double checked locking is broken".

think the pattern is said to be broken on Java.
We do double read. First read without mutex, here 2 threads could get same results (that's fine).
Then, if condition is true, we get the mutex to check the condition again.
The benefit is to avoid getting always the mutex, because if there is no connections available, there is no point to lock the mutex (expensive op).

@JeffreyRichter

think the pattern is said to be broken on Java.

but it's not said to be working in C++.

We do double read. First read without mutex, here 2 threads could get same results (that's fine).

My point is, the variable is being written in another thread, reading from such a variable without mutex is unsafe. given this is not an atomic variable.

The benefit is to avoid getting always the mutex, because if there is no connections available, there is no point to lock the mutex (expensive op).

Isn't this another kind of premature optimization?

Jinming is correct


Eddystone - IOS

Hello,
Does anyone have an example of the eddystone protocol working with an IOS flutter app?
I'm trying to make it work but don't know how to begin (new to flutter).
Any help will be appreciated!
thank you in advance.

You may be able to have a grasp of it here. https://forums.estimote.com/t/is-eddystone-for-ios-capable-of-monitoring-or-scanning-running-in-background/1587


[HW]

Name: Padma.
Email<EMAIL_ADDRESS>Linkedin Profile: https://www.linkedin.com/in/padma-m-702150160/
Attach the homework screenshots below for both step II and step III:

CQL Console showing the rows in table comments_by_video before and after executing the DELETE statement.

Before executing the DELETE statement

After executing the DELETE statement

You may need to attach "Congratulations!" screenshots from https://www.datastax.com/node/3272 and https://www.datastax.com/dev/scenario/try-it-out-cassandra-query-language-cql as well, @padma2021 .

Here is the congratulations screenshots:

Hey Padma., great job! Congrats! Here is your badge! https://api.badgr.io/public/assertions/P8OHWpomTReDuJ0B-tj91g


Failed to load designable from path(null)

I am getting this error while assigning MBCircularProgressBarView class to UIView.
Failed to render the instance of MBCircularProgressBarView. Failed to load designable from path(null)

did you ever get around this?

Add use_frameworks! to your Podfile


Wizard hangs on Mainnet after 2nd tx with Basic scenario

When deploying to mainnet, the Wizard doesn't handle exception
"main.3ba23847.js:1 Unhandled rejection Error: Transaction was not mined within 50 blocks, please make sure your transaction was properly send. Be aware that it might still be mined!"
I reproduced it and time between submitting tx and this error is much less than 50 blocks time, which is like 50*15sec=12.5 minutes

it might be a problem with web3 1.0....maybe old (metamask) version could help?

@rstormsf We have another bug on old one)

@igorbarinov infura might help

@rstormsf if client side web3 fails, fallback to infura

Fixed for mainnet with customized web3. Emergency alert is disabled for both links: master and stage


Create leerling.txt

@notcooler First stage of verification passed, official domain is kandinskycollege.nl as far as I verified. This is just an informational note. Pull request is still in the review. I appreciate your patience while waiting for the final decision.

@notcooler Thank you for your patience while waiting for a review and processing your request. Pull request merged.


Import initial CI configuration

Import initial CI configuration
Apply tox -e ruff formatting changes
Remove unused Python imports
Resolve lint warnings about redefining variables
Resolve lint warnings about unused arguments
Make pylint complete successfully
README.md: Drop "BACKEND" from the title

commit e489e17d1cf0c03001b0202552a01b323727724f
Author: Russell Bryant<EMAIL_ADDRESS>Date:   Wed May 1 07:48:01 2024 -0400
Import initial CI configuration

Import jobs to run

- linting of github workflows (actionlint)
- python formatting and linting
- spell checking
- markdown linting

This also includes requirements*.txt files.

Signed-off-by: Russell Bryant<EMAIL_ADDRESS>
commit 76d83f082f1222e0b2186f47f4c70a54f945b2ad
Author: Russell Bryant<EMAIL_ADDRESS>Date:   Wed May 1 07:48:22 2024 -0400
Apply `tox -e ruff` formatting changes

Signed-off-by: Russell Bryant<EMAIL_ADDRESS>
commit 29fe072174ff1f8598befc3985a8d2a62b30222a
Author: Russell Bryant<EMAIL_ADDRESS>Date:   Wed May 1 07:55:07 2024 -0400
Remove unused Python imports

Signed-off-by: Russell Bryant<EMAIL_ADDRESS>
commit e88162f92c99ce0dd9040918f672bcd6367150bc
Author: Russell Bryant<EMAIL_ADDRESS>Date:   Wed May 1 08:02:24 2024 -0400
Resolve lint warnings about redefining variables

For example:

```
main_ds.py:50:16: W0621: Redefining name 'args' from outer scope (line 280) (redefined-outer-name)
main_ds.py:100:10: W0621: Redefining name 'args' from outer scope (line 280) (redefined-outer-name)
main_ds.py:188:9: W0621: Redefining name 'args' from outer scope (line 280) (redefined-outer-name)
tokenizer_utils.py:38:24: W0621: Redefining name 'SPECIAL_TOKENS' from outer scope (line 22) (redefined-outer-name)
tokenizer_utils.py:38:55: W0621: Redefining name 'CHAT_TEMPLATE' from outer scope (line 24) (redefined-outer-name)
data_process.py:173:9: W0621: Redefining name 'args' from outer scope (line 271) (redefined-outer-name)
```

Signed-off-by: Russell Bryant<EMAIL_ADDRESS>
commit b6adf5d3df0ce471be4133721cb55f34188cc832
Author: Russell Bryant<EMAIL_ADDRESS>Date:   Wed May 1 08:05:24 2024 -0400
Resolve lint warnings about unused arguments

By prefixing the unused arguments with an underscore, pylint
understands this as a hint that we intentionally ignore the argument.

Signed-off-by: Russell Bryant<EMAIL_ADDRESS>
commit 45003e12163b3d1276388dfbd5194adf60e3378c
Author: Russell Bryant<EMAIL_ADDRESS>Date:   Wed May 1 08:12:21 2024 -0400
Make pylint complete successfully

Drop a couple of f-strings without any interpolation, set an encoding
type on `open()`, and update the pylint configuration to ignore all
remaining warnings for now.

Signed-off-by: Russell Bryant<EMAIL_ADDRESS>
commit 851d73a3b64c492376dc591a11bac3116356deec
Author: Russell Bryant<EMAIL_ADDRESS>Date:   Mon Apr 29 10:08:19 2024 -0400
README.md: Drop "BACKEND" from the title

This code is not backend-specific, so drop it from the readme title.
While we're at it, capitalize DeepSpeed as the upstream project does
it.

While we're at it, add badges to README.

Signed-off-by: Russell Bryant<EMAIL_ADDRESS>

The jobs are running on my fork, so you can see them pass here: https://github.com/russellb/instructlab-training/actions
This is split up into separate commits to make it easier to review.  The bulk import of config that doesn't touch code is the first commit. Code changes are split apart so you can more easily see changes from the formatting tool vs "real" code changes, along with their explanations.

@russellb think we should revisit this for the librarification?

@russellb think we should revisit this for the librarification?

imo yes

@nathan-weinberg are you interested in taking this over?

@russellb I can if it's fine with @RobotSail @Maxusmusti and @JamesKunstle! probably open a new PR with the same config being used in the other sdg and eval libs

shall we renew this PR?

We should get rid of spell-checking. It will be really annoying to constantly update it with all of the new terminology that it won't have.

Spellcheck is present in the other repos, so it should be included here as well. Better to stay consistent, and it really isn't that much overhead.

Spellcheck is present in the other repos, so it should be included here as well. Better to stay consistent, and it really isn't that much overhead.

I'd agree updating the list can be annoying. I'd like to automating synching the files across all repos at some point to help minimize necessary updates.
but it does catch real mistakes too.

I'm going to open a new PR as I'll be taking this over from @russellb - I will add the usual suspects to the review for the new one once it's ready


FeatureRequest: Login Aea / clean config

It would be great if the "login" area could be included to the config files. Like a subdivision.

What do you mean by "login area"?

A kind of main category for login data.
There the login data of MA and twitch are subordinate

So instead of
{
  "ma": {
    ...
  },
  "twitch": {
    ...
  }, ...
}

you would suggest something like
{
  "login": {
    "ma": {
      ...
    },
    "twitch": {
      ...
    }
  }, ...
}

Yes :)

But what would be the benefits?
Imo it wouldn't help much regarding structure. Also effort vs. benefit is questionable. And it would introduce a breaking change (old configs wouldn't work any more).

I think I reconsider it for v2.


update dependencies

:tada: This PR is included in version 5.1.2 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Create generic interface for manifest.json

we need to design the manifest.json
as well as generic interface to read/render from it

closing this issue. It's addressed in PR #557


Build samples

I am not able to build any of the samples of Sharpnado. I see these errors in visual studio:

This is the version of visual studio I have installed:

If I try to build the MauiSample with VSCode on MacOS, I see errors like this:
error NETSDK1202: The workload 'net6.0-android' is out of support and will not receive security updates in the future.
Please refer to https://aka.ms/maui-support-policy for more information about the support policy.

Obviously the lib and samples should be updated to .NET 8 ...

I can now build the MauiSample on the latest main branch again on Mac OS (after #119 has been merged).
@JuandreG Could you check if this also works on Windows with VS2022 now? (I think it should because the CI build on Windows runs through cleanly, and it includes the MauiSample).

They work now thank you.


Tried adding function to call youtube video. But isn't displaying any data. Can you please look whats wrong

I have added my query on StackOverflow link for my query.
https://stackoverflow.com/questions/46751904/not-displaying-any-data-youtube-module-in-smart-mirror
I think there is not an issue with the bot.py.
But with the aiclient.js  and its node helper file

It has been resolved now.


Printers are listed but I can't see a preview or print

Hi,
I have two network printers that are registered on CUPS, I can successfully print test pages on both of them via the cups web interface.
I've installed cloud print connector as per the wiki , from source and it seems to launch fine "ready to rock in local-only mode".
When gcps-cups-connector is running the printers show up in my chrome printer list. When it is not running they do not appear.
If one of the printers is selected first the preview of the print does not load, if I move to another printer and then back to one of the connector printers the preview will be there. If i click print I get a spinner on windows and the pin wheel on my mac. It doesn't ever seem to print.
Weirdly though, I have made a successful print to each printer via the connector, but i'm not sure how. I've re-registered one of the printers on cups (configured exactly the same, just named differently) and I have been able to print to that printer several times. But if I shutdown the connector and start it back up it starts behaving like the others.
Any suggestions?
Here are my logs

I [27/Dec/2016:01:12:41 +0000] No config file was found, so using defaults
I [27/Dec/2016:01:12:41 +0000] Google Cloud Print Connector for CUPS version DEV-linux
I [27/Dec/2016:01:12:41 +0000] Connecting to CUPS server at /var/run/cups/cups.sock:631 encrypting REQUIRED
I [27/Dec/2016:01:12:41 +0000] Connected to CUPS server successfully
I [27/Dec/2016:01:12:41 +0000] Local printing enabled (Avahi client is running).
I [27/Dec/2016:01:12:41 +0000] Synchronizing printers, stand by
I [27/Dec/2016:01:12:41 +0000] Finished synchronizing 3 printers
I [27/Dec/2016:01:12:41 +0000] [Printer EPSON_EPSON_XP-225_Series] Registered locally
I [27/Dec/2016:01:12:41 +0000] [Printer Dell_Laser_Printer_1710n] Registered locally
I [27/Dec/2016:01:12:41 +0000] [Printer Printer_1710n] Registered locally
I [27/Dec/2016:01:12:41 +0000] Ready to rock in local-only mode

`

Observing the same thing
The platform in my case is Fedora 25 on a Raspberry Pi with the connector built from source

UPDATE: In my case this seems to be related to running the beta channel for Chrome.  I see this issue when attempting to use the connector from:
56.0.2924.28 beta
The exact same setup is working as expected on the latest stable release:
55.0.2883.103
In both cases the hardware is an ASUS C201
@witnessmenow - Are you, by chance, using a developer mode Chromebook subscribed to the beta channel?

@imcleod I actually haven't tested with a chrome book, just chrome on windows 7 and on Mac el Capitan , but I am trying to set up for a chrome book.

And just for more info my server is an hp-54nl microsever (x86) running Ubuntu 14.04


[Bug] Plugin halts the build process in library mode

Description
In some cases, this plugin appears to trigger a freeze in Vite's build process when referencing assets using the '../' path. As a result, the build process becomes unresponsive at a certain stage, preventing its completion. It's worth noting that despite this freeze, all the build outputs are successfully generated and available within the 'dist' (or 'lib') folder.
Context (Environment)

Vite v3.2.5 or higher;
Vue v3.x;
@laynezh/vite-plugin-lib-assets v0.5.8

Steps to Reproduce

Open the reproduction repo sandbox;
Execute yarn build command. Notice, that the built process halts after processing several modules;
Navigate to the HelloWorld.vue component out comment the following line:
<img src="../assets/logo.png">;
Run the yarn build command again. This time, observe that the project successfully builds in library mode.

--
Let me know, if you need any additional information.

@voknelis Thank you for your feedback and patiently providing a lot of valuable clues.

@voknelis It's fixed in v0.5.9, you can view the results online here.

Thanks a lot, it works now!
Didn't expect it to get fixed so fast tho :D

@voknelis It's benifit from the accurate information you provide.


[HybridTopologyFactory] Copying virtual sites from old/new systems to hybrid system leads to exception

Expected behaviour
Passing a system with virtual sites in the non-core, non-unique portions of the old & new systems, should lead to those virtual sites existing in the hybrid system. For example a system that has been parameterised with amber/tip4pew_standard.xml (with ThreeParticleAverageSite virtual sites) should work.
Actual behaviour
The code in HybridTopologyFactory._handle_virtual_sites throws the following exception when handling a system solvated with tip4pew:
Exception: the System object does not own its corresponding OpenMM object

Further context
Original OpenFE issue: https://github.com/OpenFreeEnergy/openfe/issues/394
We're fixing this in OpenFE's version of HybridTopologyFactory here: https://github.com/OpenFreeEnergy/openfe/pull/395
I'm happy to push it back into perses' HTF once that's done.
My understanding is that there are two issues here:

We can't copy a VirtualSite class that's already registered to an existing System to another one.
The current code in HybridTopologyFactory does not appear to correctly handle creating VirtualSites with the right particle indices in the hybrid system.

I think the answer here is that we'll have to create methods for each VirtualSite subclass that we want to handle that correctly copies the virtual site with the right hybrid system indices for the reference particles. For now I've got it working for ThreeParticleAverageSite, but I don't have a test case with other types of virtual sites (I think OpenFF wants at least ThreeParticleAverageSite and LocalCoordinateSites).

@IAlibay Thanks! We would love to have this, please feel free to make a PR once you have the fix.

@ijpulidos - our approach I think is going to be to deal with ThreeParticleAverageSite for now and disallow other virtual sites (since it's the only case we encounter in the wild today). Then we'll add in extra bits for OpenFF as they need it, would that work for y'all here too?


refactor stmn/Create/CreateTokento cue3 composition API

          can't this be written using vue composition api?

Originally posted by @roiLeo in https://github.com/kodadot/nft-gallery/pull/6251#discussion_r1242206162

Done in

#6251


webpack.js.org redirects through non-encrypted connection

When visiting a page on https://webpack.js.org in a subdirectory while omitting the trailing slash for the directory, an HTTP redirect chain happens that redirects the traffic through an unencrypted connection:
$ hyperlink https://webpack.js.org/concepts -i
Guessing --root from input files: https://webpack.js.org/concepts
TAP version 13
# Crawling internal assets
ok 1 load https://webpack.js.org/concepts
not ok 2 mixed-content https://webpack.js.org/concepts --> http://webpack.js.org/concepts/
  ---
    operator: mixed-content
    expected:
      "https://webpack.js.org/concepts --> https://webpack.js.org/concepts/"
    actual:
      "https://webpack.js.org/concepts --> http://webpack.js.org/concepts/"
    at: https://webpack.js.org/concepts (8:1)
  ...
ok 3 load http://webpack.js.org/concepts/
ok 4 load https://webpack.js.org/concepts/

The redirect from the URL with no trailing slash redirects to the same URL with a trailing slash, but on HTTP instead of HTTPS. From there another redirect sends the browser to the corresponding HTTPS URL.
Since http://webpack.js.org redirects to https://webpack.js.org I assume that the intention is to keep the visitors connection private at all times. Therefore I see it as a bug that the user gets redirected through a non-private connection for these redirects, with all the downsides to privacy and security that follow.

I just tested the same situation with a Github pages repository and I can't recreate the problem. Is it something with the combination of cloudflare and gh-pages?

This seems to be a bug in Github pages, here's the result of bootstrap site which is hosted on github pages as well:

It's redirected to http version first.

Fixed


User is unable to use dropdown menu after a server restart

How to reproduce:

Make a dropdown menu, contents really don't matter.
Confirm that it works
Restart your server
Try to use your dropdown again, it will not work

The event itself is not fired?
Can you precise a little bit more what you mean by "it will not work";
Is the user not able to use it (literally, so click on it)? To make choices? Does the bot don't respond?

The event itself is not fired? Can you precise a little bit more what you mean by "it will not work"; Is the user not able to use it (literally, so click on it)? To make choices? Does the bot don't respond?

The bot will no longer respond to the dropdown menu no matter what after a restart unless you reload the skript that hosts the dropdown menu.

This never personally happened to me, it's what I'm using for the LySkee's bot. Does this problem also appear with others events? Or is the dropdown update the only one?

This never personally happened to me, it's what I'm using for the LySkee's bot. Does this problem also appear with others events? Or is the dropdown update the only one?

I haven't tested other events, so I can only say it's for the dropdown menu. The menu will still be there and you can still click things, but the interaction will fail.

Is the whole event that don't fire or is it only a specify trigger section? Can you try to debug it, in addition of others events?

Is the whole event that don't fire or is it only a specify trigger section? Can you try to debug it, in addition of others events?

It's the entire on dropdown click event. No matter what you click, it will always fail unless you reload the skript that hosts the dropdown.

I am unable to reproduce this error with the following setup:

Paper 1.16.5
Skript 2.6.1
DiSky v4.0-beta2

Can you send again your server specifications, please?

With the help of @TrasonCo, this issue has been fixed.
It was a problem with the registering step of DiSkyEvents.