For a dataset of nested elements window creates a dataset of nested datasets of flat elements, not a dataset of datasets of nested elements.

For a dataset of nested elements window creates a dataset of nested datasets of flat elements, not a dataset of datasets of nested elements.
In other words, the x in your lambda will be a dictionary mapping keys to datasets and if you wish to flatten it to a single dataset you will need to do:
def map_fn(x):
  result = {}
  for key in x.keys():
    result[key] = tf.data.experimental.get_single_element(x[key].batch(3))
  return result

dataset = tf.data.Dataset.from_tensor_slices({"a": [1,2,3,4]}).window(3).map(map_fn)

Originally posted by @jsimsa in https://github.com/tensorflow/tensorflow/issues/23581#issuecomment-529702702
When running the above, I am able to get a Dataset of dictionnaries of tensors of shape (window_size,).
However, it seems that batching futher such object then triggers an 'out or range' error in model training, and even when going through the elements. Such error seem to occur only when number of windows are not amultiple of the final batch size..

import numpy as np
import pandas as pd
import tensorflow as tf

window_size = 30

def map_fn(x):
  result = {}
  for key in x.keys():
    result[key] = tf.data.experimental.get_single_element(x[key].batch(window_size))
  return result

data = pd.DataFrame(
    np.random.random_sample((200,5)),
    columns=['feature1', 'feature2', 'feature3', 'feature4', 'feature5'],
)

dataset = tf.data.Dataset.from_tensor_slices(dict(data))
dataset = dataset.window(window_size, drop_remainder=True)
dataset = dataset.map(map_fn)

for elem in dataset:
    print(elem)

dataset = dataset.batch(32)

for elem in dataset:
    print(elem)

When running the above, I am able to get a Dataset of dictionnaries of tensors of shape (window_size,).
However, it seems that batching futher such object then triggers an 'out or range' error in model training, and even when going through the elements. Such error seem to occur only when number of windows are not amultiple of the final batch size..

import numpy as np
import pandas as pd
import tensorflow as tf

window_size = 30

def map_fn(x):
  result = {}
  for key in x.keys():
    result[key] = tf.data.experimental.get_single_element(x[key].batch(window_size))
  return result

data = pd.DataFrame(
    np.random.random_sample((200,5)),
    columns=['feature1', 'feature2', 'feature3', 'feature4', 'feature5'],
)

dataset = tf.data.Dataset.from_tensor_slices(dict(data))
dataset = dataset.window(window_size, drop_remainder=True)
dataset = dataset.map(map_fn)

for elem in dataset:
    print(elem)

dataset = dataset.batch(32)

for elem in dataset:
    print(elem)

This is working as intended so that you can for instance apply different batching logic on different elements of the nest.

You can try the code I wrote: it is not working, it returns "out or range" error for some window_size, batch numbers (such as those I entered).

Sorry, the title of the issue mislead me and I didn't read the details. I can confirm I can reproduce the issue and will investigate.

There was indeed a bug and I have a pending fix out which when submitted will autoclose this issue.

Hello, thanks for re-checking, however I installed tf-nightly today, and still have the issue when running the code above..

@scd75
I am not seeing any issue in nightly version.Please,find the gist here.Thanks!

Hi, thanks I get it.. I'm working on a windows env, and for some reason the last tf-nightly version available for windows on Pypi is 20201002. Will re-check when available.

so I got this method working..
My issue is that I want to create windowed datasets with named features. I actually found out that this method is super slow when running training, taking ages to fill shuffle buffer at the begining of each epoch.
I ended up trying another approach. Here is the code of the 2 approaches I coded, first one being based on the method above, 2nd one being based on an "ex-post" naming of each feature.
The filling up of buffer at the begining of each epoch is 10 times faster with the 2nd method. The main issue with the 2nd method is that it requires all features to have the same dtype, as they are processed through a signle tensor..
I think it would be very useful to have a better / cleaner way of generating window datasets with named features, while preserving speed at training time. Would appreciate if you could dig into that.. Thanks!
Following is my code for the 2 methods:

def make_window_dataset_tf(data, target_key, lags, horizon, shift=1, stride=1, shuffle=False, seed=None, batch_size=32):

    def map_fn(x):
        result = {}
        for key in x.keys():
            result[key] = tf.data.experimental.get_single_element(x[key].batch(lags+horizon))
        return result

    ds = tf.data.Dataset.from_tensor_slices(dict(data))
    ds = ds.window(size=lags+horizon, shift=shift, stride=stride,drop_remainder=True)
    ds = ds.map(map_fn)
    ds = ds.map(lambda x: (x, x[target_key][-horizon:]))
    if shuffle:
        ds = ds.shuffle(buffer_size=len(data),seed=seed)
    ds = ds.batch(batch_size)

    return ds

def make_window_dataset_tf2(data, target_key, lags, horizon, shift=1, stride=1, shuffle=False, seed=None, batch_size=32):

    def tensor_to_dict(x):
        dic = {}
        for i, key in enumerate(data):
            dic[key] = x[Ellipsis,i:i+1]
        return dic

    ds = tf.data.Dataset.from_tensor_slices(data)
    ds = ds.window(size=lags+horizon, shift=shift, stride=stride,drop_remainder=True)
    ds = ds.flat_map(lambda x: x.batch(lags+horizon))
    ds = ds.map(tensor_to_dict)
    ds = ds.map(lambda x: (x, x[target_key][-horizon:]))
    if shuffle:
        ds = ds.shuffle(buffer_size=len(data),seed=seed)
    ds = ds.batch(batch_size)

    return ds


Add configurable log levels for logrus

Adds string flag to set log level for logrus
Removes todo to update some of the logging to debug
Marks debug flag as hidden/deprecated
Marks klog flags as hidden
If debug flag is set, simply sets the log level to debug.

Fixes #1189
Signed-off-by: John Schnake<EMAIL_ADDRESS>Release note:
Numerous logging flags. from klog have been marked as hidden to avoid clutter in the help menu. In addition, the --debug flag has been replaced with a --level flag that can be set to "debug" for the same effect as well as finer grain control over future logging.

So I think the way/reason it "uses two loggers" is that sonobuoy makes extensive use of the kubernetes client code which uses klog. Then for our own logging it was easier (I guess?) to use logrus for all our code. Nothing ever used klog but in order to aid debugging the klog flags were added in case you wanted to see the deeper k8s code logs.

Merging based on offline conversations.


add Juraj Michalek entry, plus review of Omar's book

Add author entry, plus reivew of Omar's book

LGTM, @georgik

Thank you, @georgik! You can remove the folder review and keep it as content/blog/books-simplified-embedded-rust.

@georgik LGTM! Feel free to merge this branch yourself.


Repo: http://repo.spray.cc/archetype-catalog.xml seems broken

Hi!
The archetype-catalog.xml file only contains the string "ArchetypeContentGenerator".

Spray repo is not active anymore I believe.
Even more so since spray itself is end of line (spray-json is fine, we still maintain it, don't worry)


Possible bug in fill mode

Hi.
I'm having trouble with making the fill mode parameter work in the Affine transformation. For example, when I change the mode to "reflect" or "symmetric", it takes effect on the image but not the corresponding segmentation map. The gaps are just filled with zeros.
Here's the code to reproduce:
import numpy as np
import imgaug as ia
import imgaug.augmenters as iaa
from skimage import io

image = io.imread(
    "https://github.com/zhixuhao/unet/blob/master/data/membrane/train/image/0.png?raw=true"
)
segmap = io.imread(
    "https://github.com/zhixuhao/unet/blob/master/data/membrane/train/label/0.png?raw=true"
)[..., np.newaxis].astype(np.int32)

seq = iaa.Sequential(
    [
        iaa.GaussianBlur((0, 3.0)),
        iaa.Affine(translate_px={"x": (-40, 40)}, rotate=(-50, 50), mode="reflect"),
    ]
)

images_aug, segmaps_aug = seq(images=[image], segmentation_maps=[segmap])

And the result is:

Currently, all augmenters that have fill modes only use these modes to fill images. Heatmaps or Segmentation Maps are always filled with 0.0 or 0. That might be changed in the future.
Right now you can change the fill mode in these cases using e.g.
augmenter = iaa.Affine(..., mode="reflect")
augmenter._mode_segmentation_maps = "reflect

images_aug = augmenter(images=..., segmentation_maps=...)

Thank you. I wonder why it is like this by default. Is this mentioned anywhere in the documentation?

I'm actually not sure if it is mentioned anywhere in the documentation. Probably should be.
For the reasons, there are a few corner cases that make this more difficult. E.g. for symmetric it may make sense to apply the mode to segmentation maps too. For edge mode that is a bit less clear, as the resulting image looks rather unnatural at the filled pixels. Another significant issue is then how to deal with keypoints, bounding boxes etc. It would be fairly inconsistent to apply fill mode to heatmaps and segmentation maps, but not in similar ways to other augmentables too, e.g. by copying keypoints into symmetrically filled pixels or extending bounding boxes.
But it will probably be changed in one of the next versions as the current configuration seems rather unintuitive.

Thanks for the explanation @aleju. It makes sense. But I think it would be better if this was mentioned in the documentation.
And lastly, I just wanted to point out that to change the fill mode for the CropAndPad augmentation, the variable _pad_mode_segmentation_maps is to be set.


Social media function not working on termux

Its not work on social media
When i press (s) its not show anything

Updated


Validator checks if operands require extension

If required extension is not found, returning new error
SPV_ERROR_MISSING_EXTENSION.

Squashed and pushed into master as b011633171


pull request for e2e test at 11/29/2016 12:26:04

:white_check_mark: Validation status: passed
For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


fix crash when ipex is installed and torch has no xpu

also when cpu flag is set. should use cpu instead of XPU

@sgugger

@abhilash1910  @muellerzr please help review

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.


Ranging Beacons

Hello,
I'm new to flutter and I want to create a Beacon Scanning app, if I simply want to scan any nearby beacons and get their UUID do I use the ranging method?

Hi @JamesSwag
yes, you can use the ranging method to find nearby beacons. In Android you can find all beacons without UUD, but in iOS you must define at least a region with identifier and UUID as example here.

Thank You, however if I need to set an identifier and UUID for iOS wouldn't that be the same as just monitoring.

Yep, both ranging and monitoring beacons are using region as well..

Is there anyway I can monitor for multiple different regions each with a different UUID?

Of course you can @JamesSwag but FYI, the more region you put to ranging or monitoring beacons will slow down your phone. Especially on lower end and old phone.

That's a huge amount of beacon btw @luisestudioalfa. One of my project, use almost a hundred of beacons. So instead of creating every region ranging for every beacons, I only scan the UUID only. When beacon(s) with current UUID, I will immediately filtered it using the existing major and minor of these beacons.
There are a powerfull search engine and a tons of article if you are curious about ranging vs monitoring beacons, click this link.


Log successful writes and do not retry

[ ] Requires upstream changes in https://github.com/jbusecke/pangeo-forge-recipes/pull/1

Ideally we will get something like https://github.com/jbusecke/pangeo-forge-recipes/pull/1 so we can chain a LoggingStore stage after StoreToZarr, which would e.g. write the iid and the written store to a bigquery table. This would only log successful writes, and could immediately be used to check iids as run and also create catalog csv files to update the original catalog (we have all the information necessary in these two columns).

Closed via #9


Context instantiation throws exception

Required Info

Camera Model
D415

Firmware Version
<IP_ADDRESS>

Operating System & Version
Win 10 (10.0.17134)

Platform
PC

SDK Version
2.24.0

Language
C#

IDE
Visual Studio 2015

Hi everybody,
I built and ran .net examples successfully. But when I tried to create my own .net project, something went wrong. I can't figure it out what should I do to resolve it!
I just copied and pasted the "cs-tutorial-4-software-dev" source files somewhere else and added them and the required reference assemblies to my WPF project. Whereas it was built successfully, when I tried to run it, this exception occurred:
"The type initializer for 'Intel.Realsense.Context' threw an exception."
I traced the code, when it tries to get an instance of a Pipeline, it calls a line of code that wants to get an instance of a Context which throws the exception.
I mean this line of code throws the exception (line 35 of Pipeline.cs):
using (var ctx = new Context())
Any idea how to handle it?!
Thanks in advance

There are couple of possible reasons for such crash -

Make sure the .NET RealSense assembly and the C++ realsense2.dll are in the same directory, or can be otherwise found (by adjusting PATH env variable). Also make sure there is no mismatch between versions of these two DLLs.
When building your .NET project with native dependencies, you cannot leave your project "Any CPU", as it gives .NET the freedom to pick either x86 or x64 architecture at runtime. If you are using x64 version of the realsense2.dll your App must specify x64 in its settings, and same for x86.

Thank you @dorodnic. Actually the second one resolved my problem. I really appreciate that.


Continuous Integration Setup

Set up GitHub Actions for CI and add the badge to the README.

[ ] Create a pipeline in GitHub Actions.
[ ] Add the GitHub Actions Badge to the README.


The criteria for generating the type of scenario

Dear authors, your work is very interesting and a lot of work, but I have a question, can you please help me answer it：
For the 11 types of safety-critical scenarios detected by your method in this figure, what is the evaluation standard for this safety-critical scenario, that is, how to be considered a new category of safety-critical scenarios, is there a specific quantitative standard, or does it rely on manual identification and evaluation, thank you very much for your help!

@MayDGT


Perfect hashing

The current hashmap implementation is great but leaves a few things to be desired:

It is not space-efficient, wasting up to half of its allocation and on average about 31%.
It is not portable between platforms that do and do not support SSE2
It could be better since we have the advantage of knowing all our keys ahead of time

The ideal solution for all of these is to implement perfect hashing. After re-reviewing some options, it looks feasible. The key things to look out for are ballooning serialization time and whether a fallback will be necessary.
The current best candidate is BBHash.

Fixed by 35a427b0b2fcb6f1e7ab9febd9be1244d9ed3189

Fixed by 35a427b0b2fcb6f1e7ab9febd9be1244d9ed3189


question about pop-up tips

when the mouse over the function name, the pop-up tips does not wrap between items (see params...)

@dotlnk closing in favour of #62
Please add your vote on that issue along with your suggestions.


Change example page content to markdown

What: Changes content from js to md for the example page
Why: Because right now the page isn't being translated, and also to unify the way for the content.
How: Creating markdown files and copy pasting the text!
Needs translation:
es:

heading in index

fr:

heading in index
translating style-overrides (#165)

Note:
Is it OK to remove codeSandboxId in translation pages? There are all the same right now and if their would be a new sandbox, it has to be changed in every translation (if its not being forgotton).

Thanks!


long chef run fails with Connection reset by peer - recvfrom(2)

Description
One of the resources in my recipe is a command which runs for few minutes. When issuing the recipe run (using knife ssh or knife ec2 server create) it fails with an error:
"ERROR: Errno::ECONNRESET: Connection reset by peer - recvfrom(2)"
When I issue the same recipe run with chef-client in a debug mode, it doesn't fail.
Briefly describe the issue
Chef Version
chef.io
Tell us which version of chef-client you are using (see below for Server+ChefDK bugs).
12.11.18
Platform Version
Tell us which Operating System distribution and version chef-client is running on.
RedHat 7.0
Replication Case
Tell us what steps to take to replicate your problem.  See How to create a Minimal, Complete, and Verifiable example
for information on how to create a good replication case.
Client Output
The relevant output of the chef-client run or a link to a gist of the entire run, if there is one.
The debug output (chef-client -l debug) may be useful, but please link to a gist, or truncate it.
Stacktrace
Please include the stacktrace.out output or link to a gist of it, if there is one.
NOTE: CHEF CLIENT BUGS ONLY
This issue tracker is for the code contained within this repo -- chef-client, base knife functionality (not
plugins), chef-apply, chef-solo, chef-client -z, etc.

Server issues
ChefDK issues
Cookbook Issues (see the https://github.com/chef-cookbooks repos or search Supermarket or GitHub/Google)

its possible you have a firewall in between the host you're running 'knife ssh/knife bootstrap' on and the target host.  if ssh is not configured to use keepalives then when the connection goes idle while the resources is running the firewall may send a TCP RST on the idle connection and tear it down.  that would be really either a configuration issue for your network engineers or a configuration issue around ssh/sshd.  the added output from -l debug would probably keep the ssh connection alive.

Following your comment, I've investigated the ssh/sshd configuration. When I manually update the newly created ec2 instance with the settings:
ClientAliveInterval 60
ClientAliveCountMax 1000
And restart the sshd service, than I can run my recipe successfully with no debug info.
I've developed a recipe which configures the sshd service and restarts it. BUT, the settings doesn't take affect for the connection I am already running.
Is there a way to implement a ssh reconnection with chef?

I don't think so.  Doubt you can use chef to manage the boostrapping connection.  You can fork/patch the AMI that you're using on EC2 to set the sshd_config settings.  You may be able to set up TCP keepalives on your workstation to get around this problem.  The best solution would be to get the network engineers responsible for the firewall in between you can EC2 to be more liberal about allowing idle connections.
On linux something like this might work:
  # echo 60 > /proc/sys/net/ipv4/tcp_keepalive_time
  # echo 60 > /proc/sys/net/ipv4/tcp_keepalive_intvl
  # echo 20 > /proc/sys/net/ipv4/tcp_keepalive_probes

(see http://tldp.org/HOWTO/TCP-Keepalive-HOWTO/usingkeepalive.html)

Well, I did find a solution with chef how to bootstrap the connection.  I invoke the knife command twice. The first one is for the connection bootstrap which restarts the sshd and the second one is for my recipes. The second knife call is invoked in a different ssh connection and therefor the settings works.
Thanks for leading me to the right solution.


fix: Cleaning up orphaned directories and files when containers creat…

…ion fails
When trying to create new containers, the following directories are created based on the new container ID:

/var/lib/nerdctl/1935db59/containers/<namespace>/<container id>
/var/lib/nerdctl/1935db59/etchosts/<namespace>/<container id>

If containers with existing names are attempted to be created, the processes fail.
However, in the events of failures, these directories are not cleaned up.
This issue is reported in the following:

https://github.com/containerd/nerdctl/issues/2993

This commit resolves the issue by cleaning up the mentioned directories when containers creation fails.

Hi, @djdongjin
Thanks for comments !!!

Is this testable? E.g., can we add a test in https://github.com/containerd/nerdctl/blob/772feb40ee9d0d51db6da8ac3a8f737bbb48475f/cmd/nerdctl/container/container_create_linux_test.go?

I think it is difficult to implement tests based on the number of files in the directory under /var/lib/nerdctl/1935db59/ in unit tests.
Is there any E2E test that can perform tests based on the number of local files ... ????

Is there any E2E test that can perform tests based on the number of local files ... ????

Here is an e2e test for you that does it (the tricky part is to access the right location):
func TestBug(t *testing.T) {
	nerdtest.Setup()

	testCase := &test.Case{
		Description: "Issue #2993 - nerdctl is no longer leaking etchosts dirs & files on failure",
		// Make sure we are in a private env so that other tests do not pollute this
		Require: nerdtest.Private,
		// Run a first container successfully
		Setup: func(data test.Data, helpers test.Helpers) {
			helpers.Ensure("run", "--name", data.Identifier(), testutil.CommonImage)
		},
		Cleanup: func(data test.Data, helpers test.Helpers) {
			helpers.Anyhow("rm", "-f", data.Identifier())
		},
		// Try to run a second container with the same name
		Command: func(data test.Data, helpers test.Helpers) test.Command {
			return helpers.Command("run", "--name", data.Identifier(), testutil.CommonImage)
		},
		Expected: func(data test.Data, helpers test.Helpers) *test.Expected {
			return &test.Expected{
				// We expect the command to fail
				ExitCode: 1,
				// As the name is already used
				Errors: []error{errors.New("is already used by")},
				Output: func(stdout string, info string, t *testing.T) {
					// Get the test DataRoot, the containerd address, and get the dataStore location
					base := testutil.NewBase(t)
					dataStore, err := clientutil.DataStore(string(data.ReadConfig(nerdtest.DataRoot)), base.ContainerdAddress())
					assert.NilError(t, err, "data store failed")
					// Now, we are interested in "etchosts", and in the Namespace (data.Identifier() with `nerdtest.Private`)
					etchostsdir := filepath.Join(dataStore, "etchosts", data.Identifier())
					// Read the dir
					files, err := os.ReadDir(etchostsdir)
					assert.NilError(t, err, fmt.Sprintf("failed reading %s", etchostsdir))
					// We are expecting only one directory there, as the other container should have deleted its directory on failure
					assert.Equal(t, len(files), 1, "there should be only 1 subdirectory in the etchosts store")
				},
			}
		},
	}

	testCase.Run(t)
}

Thanks !!!!!!!
I'll add test for this bug.

Pending addition of a test validating the fix, LGTM.
CI failures are unrelated (windows regression #3437).

Hi, @apostasie
Thanks for the review.
I have added tests for this issue, so could you re-review when you have time ?
CI failure is related to this comment (https://github.com/containerd/nerdctl/pull/3457#issuecomment-2373055605)

The local branch was out of date and I was unaware that there was documentation for the test.
Thanks for sharing!
I will check the documentation and fix it.

@haytok can you squash?
Reviewers, about the CI failures:

https://github.com/containerd/nerdctl/actions/runs/11074391386/job/30773073228?pr=3457#step:6:537 - container_run_mount_linux_test.go:367: assertion failed: error is not nil: invalid /proc/mounts format "" - no idea :/ - fluke?
https://github.com/containerd/nerdctl/actions/runs/11074391386/job/30773072030?pr=3457#step:6:2968

this is #3396

https://github.com/containerd/nerdctl/actions/runs/11074391387/job/30773073216?pr=3457#step:9:568

this is #3437

Hi, @apostasie
I have squashed all commits.

@haytok appreciate all your efforts here!
Looks good.
Now to maintainers.
@djdongjin @AkihiroSuda


⚠ Bofrost.be has degraded performance

In 2ada4b3, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1051 ms

Resolved: Bofrost.be performance has improved in 8920fe8.


No account found on Fairy wallet

Hi. Then i try open Fairy wallet, i can't find my account, wich will be created about 1 month ago, and i open it 7-10 days ago, and all will be work. now i can't find my account on fairywallet.

try https://fairywallet.io

This did not work. Any fixed?


Android Support Tutorial?

I've been looking for examples of this library being used with Android and although I have read it is compatible, I've not found any good examples of what needs to be done to include it.
From what I understand, nd4j calls to native libraries. Do these libraries need to be included somehow with and Android project? I'm used to Android needing some special treatment, so I'm skeptical when it seems like a native library like this "just works" with Android.
Thanks for your help,
Mike

All code should just be the same, same adding a backend: http://search.maven.org/#search|gav|1|g%3A"org.nd4j" AND a%3A"nd4j-native" (android-arm), if you've never seen a backend before: http://nd4j.org/backend.html

@mikeholler Yes, adding http://search.maven.org/remotecontent?filepath=org/nd4j/nd4j-native/0.7.1/nd4j-native-0.7.1-android-arm.jar as dependency should "just work". If it doesn't, some reasons for that are documented here:
https://github.com/bytedeco/javacpp-presets/wiki/Issues-with-Build-Tools
https://github.com/bytedeco/javacpp-presets/wiki/The-UnsatisfiedLinkError-X-File-(a-real-experience)
If that still doesn't it get it working on your device, please let us know.


Modern String Formatting in Code

This resolves #288.

@reachtarunhere Can you please restart the build?

@reachtarunhere Can you please review this PR?
Please do suggest me any required changes.

Thanks @reachtarunhere for the review. I have made the suggested changes.

@reachtarunhere Any further modification?

@reachtarunhere I have fixed the issue.

This looks good now. Than You.

@reachtarunhere You are welcome.


Error: "Selecting deleted buffer"

I'm getting the following backtrace whenever I accept a prompt about adding safe local variables to my customizations file:
Debugger entered--Lisp error: (error "Selecting deleted buffer")
  set-buffer(#<killed buffer>)
  (save-current-buffer (set-buffer cur-buffer) (if (equal apheleia--buffer-hash (apheleia--buffer-hash)) (progn (apheleia--apply-rcs-patch (current-buffer) patch-buffer) (if callback (progn (funcall callback))))))
  (closure ((formatted-buffer . #<killed buffer>) (remote) (cur-buffer . #<killed buffer>) (formatters lisp-indent) (callback closure ((formatters lisp-indent) t) nil (condition-case err (progn (if buffer-file-name (progn ...)) (run-hooks 'apheleia-post-format-hook)) ((debug error) (message "Apheleia: %s" err) nil))) (formatter lisp-indent) t) (patch-buffer) (save-current-buffer (set-buffer cur-buffer) (if (equal apheleia--buffer-hash (apheleia--buffer-hash)) (progn (apheleia--apply-rcs-patch (current-buffer) patch-buffer) (if callback (progn (funcall callback)))))))(#<buffer  *apheleia-diff-stdout*-262844>)
  funcall((closure ((formatted-buffer . #<killed buffer>) (remote) (cur-buffer . #<killed buffer>) (formatters lisp-indent) (callback closure ((formatters lisp-indent) t) nil (condition-case err (progn (if buffer-file-name (progn ...)) (run-hooks 'apheleia-post-format-hook)) ((debug error) (message "Apheleia: %s" err) nil))) (formatter lisp-indent) t) (patch-buffer) (save-current-buffer (set-buffer cur-buffer) (if (equal apheleia--buffer-hash (apheleia--buffer-hash)) (progn (apheleia--apply-rcs-patch (current-buffer) patch-buffer) (if callback (progn (funcall callback))))))) #<buffer  *apheleia-diff-stdout*-262844>)
  (progn (funcall callback stdout))
  (if callback (progn (funcall callback stdout)))
  (if exit-ok (if callback (progn (funcall callback stdout))) (message (concat "Failed to run %s: exit status %s " "(see %s %s)") (car command) proc-exit-status (if (string-prefix-p " " log-name) "hidden buffer" "buffer") (string-trim log-name)))
  (unwind-protect (if exit-ok (if callback (progn (funcall callback stdout))) (message (concat "Failed to run %s: exit status %s " "(see %s %s)") (car command) proc-exit-status (if (string-prefix-p " " log-name) "hidden buffer" "buffer") (string-trim log-name))) (if ensure (progn (funcall ensure))) (condition-case nil (progn (kill-buffer stdout)) (error nil)) (condition-case nil (progn (kill-buffer stderr)) (error nil)))
  (let ((exit-ok (funcall (or exit-status #'zerop) proc-exit-status))) (if (and exit-ok apheleia-log-only-errors) nil (save-current-buffer (set-buffer (get-buffer-create log-name)) (special-mode) (save-restriction (widen) (let ((inhibit-read-only t) (orig-point (point)) (keep-at-end (eobp)) (stderr-string (save-current-buffer ... ...))) (goto-char (point-max)) (skip-chars-backward "\n") (delete-region (point) (point-max)) (if (bobp) nil (insert "\n\n\f\n")) (if exit-ok nil (if apheleia--last-error-marker nil (setq apheleia--last-error-marker ...) (move-marker apheleia--last-error-marker ...))) (insert (current-time-string) " :: " (buffer-local-value 'default-directory stdout) "\n$ " (mapconcat #'shell-quote-argument command " ") "\n\n" (if (string-empty-p stderr-string) "(no output on stderr)" stderr-string) "\n\n" "Command " (if exit-ok "succeeded" "failed") " with exit code " (number-to-string proc-exit-status) ".\n") (goto-char (if keep-at-end (point-max) (min ... orig-point))) (goto-char (point-max)))))) (if formatter (progn (run-hook-with-args 'apheleia-formatter-exited-hook :formatter formatter :error (not exit-ok) :log (get-buffer log-name)))) (unwind-protect (if exit-ok (if callback (progn (funcall callback stdout))) (message (concat "Failed to run %s: exit status %s " "(see %s %s)") (car command) proc-exit-status (if (string-prefix-p " " log-name) "hidden buffer" "buffer") (string-trim log-name))) (if ensure (progn (funcall ensure))) (condition-case nil (progn (kill-buffer stdout)) (error nil)) (condition-case nil (progn (kill-buffer stderr)) (error nil))))
  (closure ((log-name . "*apheleia-diff-log*") (stderr . #<buffer  *apheleia-diff-stderr*-190207>) (stdout . #<buffer  *apheleia-diff-stdout*-262844>) (name . "diff") (formatter) (exit-status closure ((run-on-remote) (clear-files) (new-fname) (old-fname . "/Users/gsgx/.emacs.d/personal/custom...") (callback closure ... ... ...) (remote) (new-buffer . #<killed buffer>) (old-buffer . #<killed buffer>) t) (status) (memq status '...)) (ensure closure ((run-on-remote) (clear-files) (new-fname) (old-fname . "/Users/gsgx/.emacs.d/personal/custom...") (callback closure ... ... ...) (remote) (new-buffer . #<killed buffer>) (old-buffer . #<killed buffer>) t) nil (let (...) (while --dolist-tail-- ...))) (callback closure ((formatted-buffer . #<killed buffer>) (remote) (cur-buffer . #<killed buffer>) (formatters lisp-indent) (callback closure ... nil ...) (formatter lisp-indent) t) (patch-buffer) (save-current-buffer (set-buffer cur-buffer) (if ... ...))) (remote) (stdin . #<killed buffer>) (command "diff" "--rcs" "--strip-trailing-cr" "--" "/Users/gsgx/.emacs.d/personal/custom..." "-") (--cl-rest-- :command ("diff" "--rcs" "--strip-trailing-cr" "--" "/Users/gsgx/.emacs.d/personal/custom..."    t) (status) (memq status ...))) t) (proc-exit-status) (let ((exit-ok (funcall ... proc-exit-status))) (if (and exit-ok apheleia-log-only-errors) nil (save-current-buffer (set-buffer ...) (special-mode) (save-restriction ... ...))) (if formatter (progn (run-hook-with-args ... :formatter formatter :error ... :log ...))) (unwind-protect (if exit-ok (if callback ...) (message ... ... proc-exit-status ... ...)) (if ensure (progn ...)) (condition-case nil (progn ...) (error nil)) (condition-case nil (progn ...) (error nil)))))(0)
  funcall((closure ((log-name . "*apheleia-diff-log*") (stderr . #<buffer  *apheleia-diff-stderr*-190207>) (stdout . #<buffer  *apheleia-diff-stdout*-262844>) (name . "diff") (formatter) (exit-status closure ((run-on-remote) (clear-files) (new-fname) (old-fname . "/Users/gsgx/.emacs.d/personal/customizations.el") (callback closure ((formatted-buffer . #<killed buffer>) (remote) (cur-buffer . #<killed buffer>) (formatters lisp-indent) (callback closure ... nil ...) (formatter lisp-indent) t) (patch-buffer) (save-current-buffer (set-buffer cur-buffer) (if ... ...))) (remote) (new-buffer . #<killed buffer>) (old-buffer . #<killed buffer>) t) (status) (memq status '(0 1))) (ensure closure ((run-on-remote) (clear-files) (new-fname) (old-fname .  t) nil (condition-case err ... ...)) (formatter lisp-indent) t) (patch-buffer) (save-current-buffer (set-buffer cur-buffer) (if (equal apheleia--buffer-hash ...) (progn ... ...)))) :remote nil :ensure (closure ((run-on-remote) (clear-files) (new-fname) (old-fname .  t) (patch-buffer) (save-current-buffer ... ...)) (remote) (new-buffer . #<killed buffer>) (old-buffer . #<killed buffer>) t) nil (let ((--dolist-tail-- clear-files)) (while --dolist-tail-- (let ... ... ...)))) :exit-status (closure ((run-on-remote) (clear-files) (new-fname) (old-fname .  t) (patch-buffer) (save-current-buffer ... ...)) (remote) (new-buffer . #<killed buffer>) (old-buffer . #<killed buffer>) t) (status) (memq status '(0 1)))) t) (proc-exit-status) (let ((exit-ok (funcall (or exit-status #'zerop) proc-exit-status))) (if (and exit-ok apheleia-log-only-errors) nil (save-current-buffer (set-buffer (get-buffer-create log-name)) (special-mode) (save-restriction (widen) (let (... ... ... ...) (goto-char ...) (skip-chars-backward "\n") (delete-region ... ...) (if ... nil ...) (if exit-ok nil ...) (insert ... " :: " ... "\n$ " ... "\n\n" ... "\n\n" "Command " ... " with exit code " ... ".\n") (goto-char ...) (goto-char ...))))) (if formatter (progn (run-hook-with-args 'apheleia-formatter-exited-hook :formatter formatter :error (not exit-ok) :log (get-buffer log-name)))) (unwind-protect (if exit-ok (if callback (progn (funcall callback stdout))) (message (concat "Failed to run %s: exit status %s " "(see %s %s)") (car command) proc-exit-status (if (string-prefix-p " " log-name) "hidden buffer" "buffer") (string-trim log-name))) (if ensure (progn (funcall ensure))) (condition-case nil (progn (kill-buffer stdout)) (error nil)) (condition-case nil (progn (kill-buffer stderr)) (error nil))))) 0)
  (if (process-live-p proc) nil (funcall callback (process-exit-status proc)))
  (closure ((callback closure ((log-name . "*apheleia-diff-log*") (stderr . #<buffer  *apheleia-diff-stderr*-190207>) (stdout . #<buffer  *apheleia-diff-stdout*-262844>) (name . "diff") (formatter) (exit-status closure (... ... ... ... ... ... ... ...   t) (patch-buffer) (save-current-buffer ... ...)) (remote) (stdin . #<killed buffer>) (command "diff" "--rcs" "--strip-trailing-cr" "--" "/Users/gsgx/.emacs.d/personal/customization..." "-") (--cl-rest-- :command ("diff" "--rcs" "--strip-trailing-cr" "--" "/Users/gsgx/.emacs.d/personal/customization..."  t) (proc-exit-status) (let ((exit-ok ...)) (if (and exit-ok apheleia-log-only-errors) nil (save-current-buffer ... ... ...)) (if formatter (progn ...)) (unwind-protect (if exit-ok ... ...) (if ensure ...) (condition-case nil ... ...) (condition-case nil ... ...)))) (connection-type . pipe) (noquery . t) (remote) (command "diff" "--rcs" "--strip-trailing-cr" "--" "/Users/gsgx/.emacs.d/personal/customization..." "-") (stderr . #<buffer  *apheleia-diff-stderr*-190207>) (stdout . #<buffer  *apheleia-diff-stdout*-262844>) (stdin . #<killed buffer>) (name . "apheleia-diff") (--cl-rest-- :name "apheleia-diff" :stdin #<killed buffer> :stdout #<buffer  *apheleia-diff-stdout*-262844> :stderr #<buffer  *apheleia-diff-stderr*-190207> :command ("diff" "--rcs" "--strip-trailing-cr" "--" "/Users/gsgx/.emacs.d/personal/customization..."  "-") (--cl-rest-- :command ... :stdin #<killed buffer> :callback ... :remote nil :ensure ... :exit-status ...) t) (proc-exit-status) (let (...) (if ... nil ...) (if formatter ...) (unwind-protect ... ... ... ...)))) t) (proc _event) (if (process-live-p proc) nil (funcall callback (process-exit-status proc))))(#<process apheleia-diff<1>> "finished\n")

This is my init.el:
(setq debug-on-error t)
(setq custom-file "~/.emacs.d/customizations.el")
(package-initialize)
(require 'apheleia)
(apheleia-global-mode +1)

Now create a file called foo.el with this content:
-*- flycheck-disabled-checkers: emacs-lisp-checkdoc -*-

When I open the file, I get the following message:
The local variables list in foo.el
contains values that may not be safe (*).

Do you want to apply it?  You can type
y  -- to apply the local variables list.
n  -- to ignore the local variables list.
!  -- to apply the local variables list, and permanently mark these
      values (*) as safe (in the future, they will be set automatically.)
i  -- to ignore the local variables list, and permanently mark these
      values (*) as ignored

  * flycheck-disabled-checkers : emacs-lisp-checkdoc

After pressing '!', I get the backtrace listed above (I specifically did load-file apheleia.el so that I could see an elisp backtrace instead of compiled bytecode).

Does the linked PR resolve your issue?
I couldn't replicate it :sweat_smile:

Does the linked PR resolve your issue?

Yes, thanks for the quick fix!

I couldn't replicate it 😅

Interestingly, this morning I couldn't replicate it either. But then it started reliably happening again. I guess this is probably some race condition with the buffer being open or killed, so maybe it makes sense that it's non-deterministic. But once it was reliably reproducing again I tested with and without the patch, and it always happened without the patch and never happened with the patch.

Thanks for confirming! :D


vte-with-sixel: init

Description of changes
add a version of vte from the master branch, which has sixel support enabled
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Do we need this packaged in Nixpkgs? From what I read, it is still very experimental and buggy. The configure flag was even removed in the latest stable version.

Its better to have it and not need it than need it and not have it


Get days, time, building, etc. of courses

Hi Wang, I was using your webreg_scraper and I found that it was not collecting the days, start time, end time and some other attributes in the output file. I would like to get them in the result, how can I do so? I tried to go through the code but I know nothing about Rust. It seems like the webweg wrapper is imported somehow into this repo and its functions(SearchRequestBuilder) are used to get those data. Could you guide me through this?
Thank you

@lmy0125 Hi, to clarify, you want to be able to get a list of all courses (including their time) offered for this term?
Keep in mind that the scraper only gathers the number of students enrolled/waitlisted in a section. It does not gather information about the times that each sections meet. That being said, the library, webweg, itself does support this functionality via the get_course_info function.
I have a sample program that does just this here. Just run
./wgtools --term WI23 --data sections --cookie

and paste in your cookies.

The SearchRequestBuilder is used to search for specific courses; think of this as the Advanced Search feature in WebReg. Like I said though, to get the full details for a course, you should use the get_course_info function.

Let me know if you need any more help!

Perhaps I should mention that the utility program I linked exports everything as a TSV file. The contents of this file will look something like:
subj_course_id	sec_code	sec_id	instructor	total_seats	meetings
...
CSE 8B	A01	101617	Miranda, Gregory Joseph	350	LE,MWF,10:00 - 10:50,WLH 2001|FI,2023-03-20,8:00 - 10:59,WLH 2001|DI,W,15:00 - 15:50,WLH 2001
...

Yes, I think this is what I am looking for. However, there are some errors when I tried to compile.

Oh I know the issue. I haven't updated the utilities in a while — I'll update it tomorrow morning, if that's okay with you.

Yeah, sure. Just curious what are all these codes for? Are you a student in UCSD? I am impressed by the amount of work that you have done.

Not sure if you're referring to codes as in the code here, or what's in the TSV file.
In any case, the reason why I wrote this code was so I can have a cached list of all courses offered for this term. With this list, I'm able to do things like find classrooms that are empty.
As for the WebReg library (webweg) itself, that was because I wanted a uniform way to interact with WebReg. Having a library like webweg allows me to reuse that code for any project that might require me to interact with WebReg.
The scraper (this project) was essentially made as a response to UCSD CSE's department not giving me enrollment history data. You can find a more detailed description here.
To answer the question you had initially, yes I'm a third-year Math-CS student at UCSD. Presumably, you're a UCSD student as well, so perhaps we can meet up at some point!

@lmy0125 please get the latest version of that utility program (wgtools) and try compiling it again. It should compile now.

Sure! We can meet up some time in campus. Our team actually tried to accomplish something like what you are doing here when I took CSE 110, but we didn't came up with such an optimal solution. It's so great to see someone has accomplished that. I will try your code tomorrow. Good night.

Were you able to get the program working?

Yes! Everything works perfectly. Thank you. And I just sent you an email.

Perfect. And I saw your email and will respond soon.


support setting values from context

Proof of concept for #206

Will dig into this soon - I think some of the lifecycle changes can be avoided, really we just need values prop coming from context, so I think a wrapper component can do this easily without sacrificing performance in the hot path for the main component.

@contra Actually, my first approach was to create a wrapper component. Why do you think performance will suffer from this implementation (without getDerrivedStateFromProps)?

@Tomekmularczyk I haven't tested it yet, but at first glance it does an additional media query computes on first render and probably other additional ones while trying to replicate getDerivedStateFromProps. getDerivedStateFromProps had some performance optimizations in it (not doing anything if specific props were the same) that are missing.
I think it would be a lot simpler if we kept the base component the same and used a wrapper component to provide the prop from context.

@contra I copied everything out to another static method so I could pass context in it. I think it would stay pretty much the same, and if there were some regressions we could probably fix it with shouldComponentUpdate. But it's hard to tell without some tests first.
Anyway wrapper component is fine with me, I will update the PR.

@contra glad to hear it. I pushed a commit with README update, take a look. I tried to make it so one section follows the another so I changed some sentences. Let me know what you think about it

@Tomekmularczyk Yeah, I would publish this as a breaking change.

As an API decision - is it useful to expose the Context reference or should we only export the Provider?

I think the API would be cleaner with only the Provider exported

I was thinking about it. But what if for some reason someone wants to listen to the context, he will then need a full object if he wants to use useContext.
But for convenience perhaps we could export them separately:
export {
  MediaQueryContextConsumer as default,
  MediaQuery,
  Context,
  Provider: Context.Provider,
  Consumer: Context.Consumer,
  toQuery
}

and then
import Responsive, { Provider as ResponsiveProvider } from 'react-responsive';
import { renderToString } from "react-dom/server";
import App from './App';
 ...
  const mobileApp = renderToString(
    <ResponsiveProvider value={{ deviceWidth: 500 }}>
      <App />
    </ResponsiveProvider>
  );
...

What do you think?

@Tomekmularczyk Yeah your first point makes sense, I think everything is fine as is.

Published as 7.0.0


super quick and dirty escaping " in place names

Dropped an inline call to gsub in the SQL output. :sweat_smile:
Fixes #1

Thank you! Sorry I haven't gotten to this yet, I've been traveling and still catching up on things.


Write unit tests for all HumanAddr/CanonicalAddr functionality

In file packages/std/src/addresses.rs

I can take this 🤝

@seantking thank you!

I have made a PR. I am looking forward to your comments :-) https://github.com/CosmWasm/cosmwasm/pull/517


Refactoring of metacal function + test against NGMIX

This small PR is proposing the refactoring we talked about, to have a nicer API, and still being able to reproduce NGMIX sheared images under the condition of odd size images (and with the caveats that we are still using simplistic kspace operations).
The API to get a metacal version of an image becomes:
import autometacal as autocal

mcal_image = autocal.generate_mcal_image(im, psf, rpsf, g)

where all entries here are batched, so we can compute the metacal response for a batch of images at once.
Also added simple test against ngmix, with visualisation notebook here.

This PR will close #17 as it concludes this comparison against ngmix at the image level (at least for now).

I don't understand what the remaining residuals are.

Ah good question, well this is what I explored a little bit here https://github.com/CosmoStat/autometacal/issues/17#issuecomment-866377670
where I showed how the residuals look if we have access to cubic interpolation in Fourier space. Once we finish the interpolant issue in GalFlow most of these residuals go away.
Beyond just the interpolant galsim would also use zero padding and possibly also subsampling, which we will be able to do correctly once we finish the FFT issue in GalFlow.


Allow HTTP body for DELETE request

Currently, an HTTP body is only allowed for the HTTP verbs POST, PUT and PATCH. However, the HTTP verb DELETE can also have an HTTP body.
This PR allows you to use an HTTP body for the HTTP verb DELETE on Android and iOS.
Solution for #587

FYI
react-native-fetch-blob has a new maintained location. Check out the README.
Please consider submitting your PR there, this repository is unmaintained.
NOTE: Patches should be against the current development branch, not against master.


Support container autoconfiguration in extension

So in extensions, we can detect additionnal classes implementing extension's interface and tag them / do whatever needed through a call to $container->registerForAutoconfiguration. Currently, even if we add a test for that method and call it, it doesn't seem to do anything, so my guess is that the compiler pass is not registered.
But that would need to bump the dependency to at least 3.3 (or 3.2 ?) for the DI, or maybe do that only if the feature exists.

Hmmm is this something that just started working at some point?

TBH I'm not sure, it's been a while since I used Behat... But I think this is related to Symfony's DI component, especially as of now we're on 4.4 minimum ?


Regexp selection of multiple Azure resources is not working

Hello,
When I try to write a regexp to select multiple Azure resources - it does not display anything.

Duplicate of #5. The data source does not support multiple metrics in one query yet.


Upgrade to WorldCover 2021

The WorldCover 2021 v200 reaches an overall accuracy of 76.7% compared to 74.4% in The WorldCover 2020 v100 product.
PR #11 opened.

The initial review looks good.

Can you share some before/after screenshots?


[varLib] instance names & axis names broken in new version (3.2.1)

after upgrading to the latest version, when I generate a var font with the same files that previously worked the instance names are replace by the copyright info from:

and same thing for the axis names, they are also replaced by the copyright info.

I don't understand what you mean the instance/axis names are replaced by the copyright info.
Could you attach or send privately the TTX dump for the name table and your designspace file?
I wonder if it may be related to this commit:
https://github.com/fonttools/fonttools/commit/14509af47c47fb2862c88f88c93648aa9e834629

Looking closer I see that this is because I upgraded my env to the latest fonttools, varlib etc. But when generating from the new env I was still using a path to the previous version of: fontTools/varLib/init.py
This resulted in:
0
instead of
264 same for 265, etc
and

instead of
 same for 267, 268, 269 etc.


'?' is unnecessary because 'dynamic' is nullable

dart-flutter hhh bot identified several places where '?' is used with dynamic. This is breaking flutter_plugins shard on hhh bot:
https://logs.chromium.org/logs/dart/buildbucket/cr-buildbucket.appspot.com/8851887640643131584/+/steps/flutter_test_flutter_plugins/0/stdout
Checking project google_sign_in_web...

  info - The '?' is unnecessary because 'dynamic' is nullable without it at lib/src/generated/gapi.dart:22:6 - (unnecessary_question_mark)
  info - The '?' is unnecessary because 'dynamic' is nullable without it at lib/src/generated/gapi.dart:23:5 - (unnecessary_question_mark)
  info - The '?' is unnecessary because 'dynamic' is nullable without it at lib/src/generated/gapi.dart:24:5 - (unnecessary_question_mark)
  info - The '?' is unnecessary because 'dynamic' is nullable without it at lib/src/generated/gapi.dart:25:5 - (unnecessary_question_mark)
  info - The '?' is unnecessary because 'dynamic' is nullable without it at lib/src/generated/gapi.dart:26:5 - (unnecessary_question_mark)
  info - The '?' is unnecessary because 'dynamic' is nullable without it at lib/src/generated/gapiauth2.dart:71:7 - (unnecessary_question_mark)

6 issues found; analyzed 20 source files in 5.4s.
...
Checking project in_app_purchase...

  info - The '?' is unnecessary because 'dynamic' is nullable without it at lib/src/in_app_purchase/in_app_purchase_connection.dart:307:9 - (unnecessary_question_mark)

1 issue found; analyzed 36 source files in 7.6s.

@stuartmorgan
@ditman

Can you folks confirm the process for updating those files? They seem to be auto-generated.

@aam about: google_sign_in_web: these files were auto-generated a while ago, but no longer maintained with the generator script (last time I checked, js_facade_gen didn't support null safety).
The in_app_purchase one doesn't look auto-generated to me (but it's moving around in the repo recently, it seems to live here, now).
Update at will, just send a PR and complete as many of the action items in the PR template as you can :) (If you haven't committed to flutter/plugins yet, see CONTRIBUTING, but the procedures and tree hygiene are pretty much identical to flutter/flutter).

/cc @stuartmorgan we might want the unnecessary_question_mark added to our analysis_options.yaml :/

Got you, sent out PR out for review.
Once that lands it needs to be rolled into flutter somehow. Is it done manually?

There's a roller that does it.
How are we failing a new analyzer check without having added it to our analysis_options?

How are we failing a new analyzer check without having added it to our analysis_options?

It must be failing in the flutter/flutter side, I had never seen that check before (definitely looks different to the one that broke this week!)

But my understanding at this point (I had misunderstood before how this test was run) is that it's still using our options file. So is this a new on-default analysis issue?

my understanding at this point (I had misunderstood before how this test was run) is that it's still using our options file.

@stuartmorgan I suspect (but can't prove) that our analysis_options.yaml file is not being used; this is not the first time that analysis has failed with a new (for us) lint.
(Anyway, I think the tests in this case worked as expected, preventing a roll that would have broken the plugins analysis)

@stuartmorgan I suspect (but can't prove) that our analysis_options.yaml file is not being used

That's what I thought before, but given that I now know that we have thousands of warnings with flutter/flutter's options I don't see how that could be true.

(Anyway, I think the tests in this case worked as expected, preventing a roll that would have broken the plugins analysis)

Yep, I just want to make sure I understand how it's breaking either one.

Analysis that is run on hhh bot is run using https://github.com/flutter/packages/blob/master/script/incremental_build.sh#L27 with locally built dart sdk(which uses pub global run flutter_plugin_tools analysis)


Add processor

The following changes have been made:

Compiler.ts:

Removed the optimizer and made irGenerator a local variable instead of a class property.

irGenerator.ts:

Added detailed comments and new cases for handling various AST node types such as ProcessorDeclaration, SwitchStatement, EventHandler, TryCatch, etc.
Enhanced the IRGenerator to support these new node types.

ConcreteMindLangVisitor.ts:

Added support for visiting new AST node types such as ProcessorDeclaration, SwitchStatement, EventHandler, TryCatch, ThrowStatement, and enhanced existing ones.
Introduced a stack to track the context for break statements within switch, while, and for loops.

MindLang.g4:

Updated grammar to include new keywords and rules for switch, case, default, try, catch, throw, processor, and related constructs.
Enhanced existing rules to accommodate these new constructs.

New Test Files:

Added test files irGenerator.test.ts and Visitor.test.ts to cover the new functionalities and ensure correctness.
Removed all tests for Parser and Lexer functions, as it will be changing a lot. Testing the IR and ConcreteVisitor logic is currently a requirement.
Compiler tests remain untouched.

These changes collectively introduce a new processor concept, enhance switch-case handling, and add support for try-catch blocks, event handlers, and enhanced error handling in the compiler.
The concept of a processor allows developers to specify a processor similar to how a class is defined.
The compiler will identify the logic used by each processor and compile it into a separate file, facilitating system development across multiple processors and lays down the foundation for cross-communication using memory.

Using my admin powers, as I am the only person on this project now, I am merging without waiting for someone else to review.


Add error serializer

Clear and concise description of the problem
Custom errors with additional attributes are hard to test using toThrowErrorMatchingInlineSnapshot
Example:
class ErrorWithDetails extends Error {
  readonly details: unknown

  constructor(message: string, options: ErrorOptions & { details: unknown }) {
    super(message, options)
    this.details = options.details
  }
}

describe('ErrorWithDetails', () => {
  it('should throw an error with details', () => {
    expect(() => {
      throw new ErrorWithDetails('Example', { details: 'interesting detail' })
    }).toThrowErrorMatchingInlineSnapshot('"Example"') // 'interesting detail' is lost
  })
})

Suggested solution
Add an addErrorSerializer which works like addSnapshotSerializer, but for errors.
Example:
expect.addErrorSerializer({
  serialize(val, config, indentation, depth, refs, printer) {
    const error = val as ErrorWithDetails
    return `${error.message}: ${printer(error.details, config, indentation, depth, refs)}`
  },
  test(val) {
    return val && val instanceof ErrorWithDetails
  },
})

which could then result in:
class ErrorWithDetails extends Error {
  readonly details: unknown

  constructor(message: string, options: ErrorOptions & { details: unknown }) {
    super(message, options)
    this.details = options.details
  }
}

describe('ErrorWithDetails', () => {
  it('should throw an error with details', () => {
    expect(() => {
      throw new ErrorWithDetails('Example', { details: 'interesting detail' })
    }).toThrowErrorMatchingInlineSnapshot('"Example: interesting detail"')
  })
})

Alternative
We can work around that issue, but it is cumbersome:
class ErrorWithDetails extends Error {
  readonly details: unknown

  constructor(message: string, options: ErrorOptions & { details: unknown }) {
    super(message, options)
    this.details = options.details
  }
}

describe('ErrorWithDetails', () => {
  it('should throw an error with details', () => {
    expect(
      catchAndSerializeError(() => {
        throw new ErrorWithDetails('Example', { details: 'interesting detail' })
      })
    ).toMatchInlineSnapshot('"Example \\"interesting detail\\""')
  })
})

function catchAndSerializeError(fn: () => any) {
  try {
    fn()
    throw new Error('Expected an error')
  } catch (error) {
    if (error instanceof ErrorWithDetails) {
      return `${error.message} ${JSON.stringify(error.details)}`
    }
    throw new Error('Expected an ErrorWithDetails')
  }
}

Additional context
No response
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.

Can't you just use addSnapshotSerializer?

Can't you just use addSnapshotSerializer?

I was hoping that, but no, that didn't work 😥

Looks like a bug. I would assume it to be affected

Hi, I'm curious about this issue and I'd like to confirm what's expected to work or not work.
I'm experimenting with OP's example locally and I put reproduction at the bottom.
In summary, custom serializer seems to work like this currently:

expect(someError).toMatchInlineSnapshot(...)

Serializer applied

expect(() => { throw someError }).toThrowErrorMatchingInlineSnapshot(...)

Serializer not applied. Snapshot will become someError.message.

Could someone confirm whether custom serializer should be applied for 2nd case as well?
Given that first case works, I also included potential workaround for users in the snippet at the bottom.
reveal full snippet
test('custom serializer against thrown instance', async () => {
  class ErrorWithDetails extends Error {
    readonly details: unknown

    constructor(message: string, options: ErrorOptions & { details: unknown }) {
      super(message, options)
      this.details = options.details
    }
  }

  // without custom serializer
  const error = new ErrorWithDetails('Example', { details: 'interesting detail' })
  expect(error).toMatchInlineSnapshot(`[Error: Example]`)
  expect(() => {
    throw error
  }).toThrowErrorMatchingInlineSnapshot(`"Example"`)

  // with custom serializer
  expect.addSnapshotSerializer({
    serialize(val, config, indentation, depth, refs, printer) {
      const error = val as ErrorWithDetails
      return `${error.message}: ${printer(error.details, config, indentation, depth, refs)}`
    },
    test(val) {
      return val && val instanceof ErrorWithDetails
    },
  })
  expect(() => {
    throw error
  }).toThrowErrorMatchingInlineSnapshot(`"Example"`) // serializer not applied
  expect(error).toMatchInlineSnapshot(`Example: "interesting detail"`) // serializer applied

  //
  // workaround 1 (for async error)
  //   by unwrapping with `rejects, it can assert error instance via `toMatchInlineSnapshot`
  //
  await expect(async () => {
    throw error
  }).rejects.toMatchInlineSnapshot(`Example: "interesting detail"`)

  //
  // workaround 2
  //   create a utility to catch error and use it to assert snapshot via `toMatchInlineSnapshot`
  //
  function wrapError<T>(f: () => T): { success: true; data: T } | { success: false; error: unknown } {
    try {
      return { success: true, data: f() }
    }
    catch (error) {
      return { success: false, error }
    }
  }
  expect(wrapError(() => {
    throw error
  })).toMatchInlineSnapshot(`
    {
      "error": Example: "interesting detail",
      "success": false,
    }
  `)
})

While looking around the code, it looks like Error.message extraction for toThrowErrorMatchingInlineSnapshot happens here:
https://github.com/vitest-dev/vitest/blob/ba1df8497be7d14fa4e34628af6c76ebb1850661/packages/vitest/src/integrations/snapshot/chai.ts#L143-L144
But changing here might be a huge breaking change
function getErrorString(expected: () => void | Error, promise: string | undefined) {
  ...
  catch (e) {
-    return getErrorMessage(e)
+    return e
  }
  ...
}

since this will lead to different default throw snapshot:
// before
  expect(() => {
    throw new Error('omega')
  }).toThrowErrorMatchingInlineSnapshot(`"ometa"`)

// after
  expect(() => {
    throw new Error('omega')
  }).toThrowErrorMatchingInlineSnapshot(`[Error: omega]`)

@hi-ogawa I came to exactly the same conclusion. Before creating a PR, I wanted to confirm that this is really an issue. Thanks for creating the PR, looks promising!


Update manage:find getDocumentOutput for collection definition refactoring

Looks good! I'll merge this once the Sevr updates are complete.

Actually, in testing, though creating/updating/finding certain collections works correctly now, there still appears to be an issue related to creating/updating users collection documents. I'll have to look into that first as well


[SPARK-30008][SQL] The dataType of collect_list/collect_set aggs should be ArrayType(_, false)

What changes were proposed in this pull request?
// Do not allow null values. We follow the semantics of Hive's collect_list/collect_set here.
// See: org.apache.hadoop.hive.ql.udf.generic.GenericUDAFMkCollectionEvaluator

These two functions do not allow null values as they are defined, so their elements should not contain null.
Why are the changes needed?

Casting collect_list(a) to ArrayType(_, false) fails before this fix.
Does this PR introduce any user-facing change?

no
How was this patch tested?

add ut

Test build #114355 has started for PR 26651 at commit 22c4859.

Merged build finished. Test PASSed.

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

Test build #114355 has finished for PR 26651 at commit 22c4859.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

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

Merged build finished. Test PASSed.

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

Test build #114369 has started for PR 26651 at commit 10ae845.

Test build #114369 has finished for PR 26651 at commit 10ae845.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

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

Can you add end-2-end tests in DataFrameAggregateSuite?

Can you add end-2-end tests in DataFrameAggregateSuite?

done. thanks for your suggestion.

Test build #114411 has started for PR 26651 at commit ff9d524.

Merged build finished. Test PASSed.

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

Test build #114411 has finished for PR 26651 at commit ff9d524.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

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

thanks for merging


Update watchface images

Codecov Report

Merging #770 (672ea1a) into main (66f162e) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #770   +/-   ##
=======================================
  Coverage   61.53%   61.53%
=======================================
  Files         128      128
  Lines        6307     6307
  Branches     1214     1214
=======================================
  Hits         3881     3881
  Misses       1671     1671
  Partials      755      755

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Update dlp-configure-endpoint-settings.md

Better use direct language. The wording was confusing and could be interpreted that files directly under the folder are also excluded. Confirmed with page in Dutch language

@JohanFreelancer9 who has write access?

@JohanFreelancer9 I have 2 commits... what else is needed here?

@kurtsarens, thank you for the commits. Nothing else is required from you. After approval, your changes will be merged and will be live.

@chrfox Please review and merge this PR. Thanks

Docs Build status updates of commit 0df28b1:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

microsoft-365/compliance/dlp-configure-endpoint-settings.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit c9f9c76:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

microsoft-365/compliance/dlp-configure-endpoint-settings.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


set env settings variables from app-settings and cwd-settings files

in addition to torchbear.settings.var make app-name.settings.var available.  get app-name from app's torchbear.scl
so app's code base should have torchbear.scl
and user app should have app-name.scl
I guess, app level settings are optional and up to user to use

So put the name "Simple Webserver" into simple-webserver.scl and fetch it from there?

a torchbear app's settings needs to be read from the app's directory
is it reading from currently the working directory?
also, let's do app app's settings through a scripted lib

I made an issue for Simple Webserver: https://github.com/foundpatterns/simple-webserver/issues/2


refactor: change enum Action to Arc<dyn ActionTrait>

Description of change
This change introduces the trait ActionTrait:
/// A trait that all Actions must implement.
#[typetag::serde(tag = "type", content = "payload")]
pub trait ActionTrait: Send + std::fmt::Debug + DowncastSync {
    /// Returns the reducers that should be called when this action is dispatched.
    fn reducers<'a>(&self) -> Vec<Reducer<'a>>;
}

This trait is implemented on all types that represent Actions. Currently our Actions are represented inside a enum Action, which means that the set of Actions is bounded (bounded by the size of the enum). The new ActionTrait trait (in combination with the typetag crate) allows for an unbounded amount of Actions.
This allows for the handle_action command handler to still be able to deserialize actions:
pub async fn handle_action<R: tauri::Runtime>(
    action: Action,                                     // <-- `Arc<dyn ActionTrait>`
    _app_handle: tauri::AppHandle<R>,
    container: tauri::State<'_, AppStateContainer>,
    window: tauri::Window<R>,
) -> Result<(), String>

The ActionTrait trait can be implemented like this:
#[derive(serde::Serialize, serde::Deserialize, Debug, TS, Clone)]
#[ts(export, export_to = "bindings/actions/UnlockStorage.ts")]
pub struct UnlockStorage {
    pub password: String,
}

#[typetag::serde(name = "[Storage] Unlock")]
impl ActionTrait for UnlockStorage {
    fn reducers<'a>(&self) -> Vec<Reducer<'a>> {
        vec![reducer!(unlock_storage)]
    }
}

Where the fn reducers method returns a vector of function pointers pointing to specific reducer functions.
The action reducers 'listen' to incoming actions by trying to downcast the generic Arc< dyn ActionTrait> to an action implementation of that trait, for example:
pub async fn unlock_storage(state: AppState, action: Action) -> Result<AppState, AppError> {
    if let Some(password) = listen::<UnlockStorage>(action).map(|payload| payload.password) {
        ...
       return Ok(updated_state);
   }
   Ok(state)
}

If the incoming action cannot be downcasted, than the current state is returned without being updated.
So the other notable change to the reducer functions is that their prototype changed from:
pub async fn reducer_function(state: &mut AppState, action: Action) -> Result<(), AppError>

to:
pub async fn reducer_function(state: AppState, action: Action) -> Result<AppState, AppError>

This means that a reducer always takes the current state, and only returns an updated state when the entire reducer completes successfully. Otherwise, the same current unchanged state is returned. This solves the issue of the appstate not correctly being 'reset' first mentioned in #83.
Links to any relevant issues
Closes #97
How the change has been tested
Existing tests still pass, successful manual testing on physical testing with the NGDIL demo.
Definition of Done checklist
Add an x to the boxes that are relevant to your changes.

[x] I have followed the contribution guidelines for this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes

Closing this PR since it's merged into this PR now: https://github.com/impierce/identity-wallet/pull/102


JRuby?

Hi there!
Does this gem work with JRuby?
Thank you!

I cautiously but optimistically will answer that with a "it should". 😛 I say that based on the fact that the gem uses ffi which claims that things should work with no changes on MRI, JRuby & others (https://github.com/ffi/ffi#description).
I will try to add a sanity test pass on JRuby as time allows, so I can answer your question with a surer "yes". Let me know if you end up trying it on JRuby and what the result is.

@n-rodriguez added jruby & truffleruby to the automated testing workflow. All the tests pass on both!
see here: https://github.com/anirbanmu/str_metrics/runs/542440170

@n-rodriguez added jruby & truffleruby to the automated testing workflow. All the tests pass on both!
see here: https://github.com/anirbanmu/str_metrics/runs/542440170

Awesome! Thank you!


Update 'All' : Added Todo and Comment

Codecov Report

Merging #290 (662acdb) into master (1774a7a) will increase coverage by 0.04%.
The diff coverage is n/a.

:exclamation: Current head 662acdb differs from pull request most recent head 1315307. Consider uploading reports for the commit 1315307 to get more accurate results

@@             Coverage Diff              @@
##             master     #290      +/-   ##
============================================
+ Coverage     63.29%   63.33%   +0.04%
  Complexity      957      957
============================================
  Files           169      168       -1
  Lines          3152     3150       -2
  Branches        325      325
============================================
  Hits           1995     1995
+ Misses         1037     1035       -2
  Partials        120      120

Impacted Files
Coverage Δ
Complexity Δ

...ain/java/seedu/dictionote/commons/core/Config.java
68.18% <ø> (ø)
7.00 <0.00> (ø)

...in/java/seedu/dictionote/commons/core/Version.java
97.50% <ø> (ø)
22.00 <0.00> (ø)

...te/commons/exceptions/DataConversionException.java
100.00% <ø> (ø)
1.00 <0.00> (ø)

...in/java/seedu/dictionote/commons/util/AppUtil.java
88.88% <ø> (ø)
5.00 <0.00> (ø)

.../seedu/dictionote/commons/util/CollectionUtil.java
87.50% <ø> (ø)
5.00 <0.00> (ø)

...n/java/seedu/dictionote/commons/util/FileUtil.java
77.27% <ø> (ø)
9.00 <0.00> (ø)

...n/java/seedu/dictionote/commons/util/JsonUtil.java
94.11% <ø> (ø)
8.00 <0.00> (ø)

...java/seedu/dictionote/commons/util/StringUtil.java
95.65% <ø> (ø)
8.00 <0.00> (ø)

...u/dictionote/logic/commands/AddContentCommand.java
41.66% <ø> (ø)
2.00 <0.00> (ø)

...ictionote/logic/commands/AddDefinitionCommand.java
41.66% <ø> (ø)
2.00 <0.00> (ø)

... and 42 more

Continue to review full report at Codecov.

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


Fix: PPM README should document lowercase postgres

Refs: https://github.com/rstudio/package-manager/issues/14420#issuecomment-2398208531

Oh I see this PR now: https://github.com/rstudio/package-manager/pull/14426


[.NET] Turkish NumbersWithUnit (Currency) support

Support for Currency in Turkish.
Passing: 95
Skipped: 2
Explanation:
"sadece on üç dolar kırk beş sente mal oldu" => Sente is a suffixed version of sent which is ambiguous with the actual currency unit sente.
"12 Aralık 1994 itibariyle 125 milyon avustralya doları sıfır - kupon eurobond, 50.9375'te fiyatlandı ve hambros bankası şirketi aracılığıyla % 15.06 daha az ücret verdi." => Trukish does not have equivalent for -of-, sıfır is included in the number and very hard to extract.

@tellarin, the build fails because of the Java dependency downloading issue. we tried closing and reopening the PR but we still did not get more info. Is there something we can do?

@tellarin, the build passe now, closing and re opening seems to have done it.

@tellarin, this PR is ready for review and possible feedback.


Make Lint/UselessMethodDefinition alias-aware

Is your feature request related to a problem? Please describe.
When aliasing methods, I prefer to have the original method being referenced explicitly defined in the file, sometimes just calling super. This of course triggers the Lint/UselessMethodDefinition cop, which seems kinda strict for this case.
Describe the solution you'd like
I'd like that Lint/UselessMethodDefinition checks for an alias before reporting the definition as useless, as aliasing an inherited method implicitly might be too obscure sometimes.
Describe alternatives you've considered
I think this could be an optional feature, as an option for said cop. (IgnoreAliasedMethods : true|false?)
Additional context
This raises Lint/UselessMethodDefinition, I wish it didn't.
def index
  super
end
alias show_all index

@fatkodima Please look into this when you can.

I prefer to have the original method being referenced explicitly defined in the file

May I ask why? I'm not sure I see how that adds any information.

I prefer to have the original method being referenced explicitly defined in the file

May I ask why? I'm not sure I see how that adds any information.

I don't think it adds information per se, just make it a little bit more at hand, most aliases I've seen are directly defined below the method itself. I consider this a nice-to-have only.

Thanks.
If that code was in a PR for rubocop, I would ask for a good justification to add an alias on a subclass (maybe because I tend not to create aliases at all) of if def show_all; index; end is not better than an alias here (in case a subclass refines index). I would definitely ask you to remove this method definition as I find it more confusing than helpful (I have to parse these lines of code that do nothing, I'll re-read them trying to see if there's anything subtle I'm missing).
That being said, I'm not reviewing that code 😆 and the cost of a false-negative in this case is so low that so I don't really object to this 😅

Yeah I wouldn't do it in a library either. Only use case so far has been rails pundit policies, where using alias and inheritance has been really semantically useful for us. Since this is not by any means urgent for us, I'll put up PR when/if I have some time. Thanks for answering! You can close the issue if you want to declutter; I con open it again if I decide to go on with the PR.


upgrade rn to v0.44

hello,hello,anybody there?O(∩_∩)O哈哈~
ExceptionsManager.js:71 Warning: View.propTypes has been deprecated and will be removed in a future version of ReactNative. Use ViewPropTypes instead.
Warning: View.AccessibilityTraits has been deprecated and will be removed in a future version of ReactNative. Use ViewAccessibility.AccessibilityTraits instead.

Sorry, I was trying to integrate with react-native-sglistview to bring a better performance on memory control, but it seems like that package has too many bugs, so I reverted to the old one. I have updated my Example code and fixed a few bugs, you can update to v2.0.9, it should be fixed.
Next step, I will open a dev branch to migrate the latest FlatList, so that it can bring a better performance without memory leaking.

OK，I will try new version 2.0.9. thank you.  Keep moving.

I have published the latest 3.0.0 to support the awesome FlatList, if you are interested, feel free to try.

嗯，👌


eqos-1814: Deleting a workflow node that is in use

Script scenario is as follows (please confirm this is the expected functionality):

Should not be able to delete a workflow task that has been completed, if an item using the workflow is still in moderation.
Should not be able to delete a workflow task if an item is currently on that task in moderation.

In both cases, I was able to delete the workflow task.
In the second case, because I deleted a workflow task while an item in moderation was on it, when refreshing the moderation progress screen, I receive the following message:
The URL you requested was:
http://equella-test.unicon.net/erin/items/a879e8ba-25df-4e1f-acee-9477be47e8e7.4a2d4ae0-cf73-44eb-aada-98c176b880d6/1/?is.summaryId=cmc&_taskState=1
Problem description:
Item not found a879e8ba-25df-4e1f-acee-9477be47e8e7.4a2d4ae0-cf73-44eb-aada-98c176b880d6/1

I'm not sure why that test script wasn't updated but the functionality was changed many years ago to allow you to delete a task no matter what and all that would happen would be that items that referenced the task would have their workflow reset to the start again (which i believe is shown as a warning when you delete the task?)
As far as the "Item not found" goes, i believe that's happening because you were on the summary page in the context of the task which no longer exists. It should definitely be a nicer error message though I think.


Must do before 7.0 release

Context
This issue summarizes miscellaneous things that we must fix before releasing 7.0. In particular, some removals, some behavioral changes may imply temporarily disabling tests, things to document, commits to revert, etc... If you have such things, either create an issue for them and assign them to the 7.0-rc-1 milestone, or list them here with a checkbox:
Must-dos

[ ] Make sure a compatible version of the Spring Boot plugin is released
[ ] Make sure a compatible version of the Shadow plugin is released
[ ] Revert commits which disabled tests which require a new external plugin releases: https://github.com/gradle/gradle/pull/15607/commits/394e9e0f3e4829788cdaec1cbe44e54cac5647ce
[ ] Publish the binary compatibility report
[ ] Make it easier to publish a distribution (see org/gradle/api/plugins/DistributionPluginIntegrationTest.groovy)
[ ] Provide a version of the Gradle Plugin Publish Plugin which works without the MavenPlugin

Are the issues with Spring Boot and Shadow lifted by keeping a class for the removed maven plugin?

Are the issues with Spring Boot and Shadow lifted by keeping a class for the removed maven plugin?

I updated the description.

I updated the description.

@jjohannes split this up or close this issue

Superseded by:

https://github.com/gradle/gradle/pull/16202
https://github.com/gradle/gradle/issues/16203
https://github.com/gradle/gradle/issues/16204


Meteor.users instanceof Mongo.Collection = false in IE < 10 or so

When you implemented replacing the prototype of Meteor.users, were you able to find a solution to get it to work for IE < 10? Or were you stuck (like I was)?

I had a solution... I think... Perhaps it had to do with the presence of this file: https://github.com/matb33/meteor-collection-hooks/blob/v0.7.5/bind-polyfill.js which has since been removed

hi, recently i found my meteor-telescope app needs IE version >= 11 to run.
because telescope use collection-hooks.
and collection-hooks needs IE versions >= 11
and my meteor app crashed if i use IE<11.
it's __proto__ problem, i know.
I just want my meteor app not crash and then alert some message such as "please update your browser"
finally, i modified collection-hooks some source.
matb33:collection-hooks v0.7.13
users-compat.js
i added last 3 lines
if (Meteor.users) {
  // If Meteor.users has been instantiated, attempt to re-assign its prototype:
  CollectionHooks.reassignPrototype(Meteor.users);

  // Next, give it the hook aspects:
  var Collection = typeof Mongo !== "undefined" && typeof Mongo.Collection !== "undefined" ? Mongo.Collection : Meteor.Collection;
  CollectionHooks.extendCollectionInstance(Meteor.users, Collection);

  if( !(Meteor.users instanceof Mongo.Collection) && Meteor.isClient ) {
    Meteor.users = jQuery.extend(true, new Mongo.Collection(null), Meteor.users);
  }
}

it works, and telescope runs without errors, although the stylesheets crashed.
i dont know is it ok enough


The exported pdf is blank in version 0.49.12 and 0.49.13

Describe the bug
Although the default markdown file can be exported correctly, the reduced markdown file is exported as a blank PDF：
---
# You can also start simply with 'default'
theme: seriph
# random image from a curated Unsplash collection by Anthony
# like them? see https://unsplash.com/collections/94734566/slidev
background: https://cover.sli.dev
# some information about your slides (markdown enabled)
title: Welcome to Slidev
info: |
  ## Slidev Starter Template
  Presentation slides for developers.

  Learn more at [Sli.dev](https://sli.dev)
# apply unocss classes to the current slide
class: text-center
# https://sli.dev/custom/highlighters.html
highlighter: shiki
# https://sli.dev/guide/drawing
drawings:
  persist: false
# slide transition: https://sli.dev/guide/animations#slide-transitions
transition: slide-left
# enable MDC Syntax: https://sli.dev/guide/syntax#mdc-syntax
mdc: true
---

---
layout: center
class: text-center
---

# Learn More

[Documentation](https://sli.dev) · [GitHub](https://github.com/slidevjs/slidev) · [Showcases](https://sli.dev/showcases.html)

<PoweredBySlidev mt-10 />

Minimal reproduction
export PDF under slidev 0.49.11:

export PDF under slidev 0.49.12:

here is the package.json:
{
  "name": "slidev",
  "type": "module",
  "private": true,
  "scripts": {
    "build": "slidev build",
    "dev": "slidev --open",
    "export": "slidev export"
  },
  "dependencies": {
    "@slidev/cli": "0.49.12",
    "@slidev/theme-default": "latest",
    "@slidev/theme-seriph": "latest",
    "vue": "^3.4.30"
  },
  "devDependencies": {
    "playwright-chromium": "^1.45.1"
  }
}

Environment

Slidev version: 0.49.12
Browser: Safari / Chrome
OS: macOS Sonoma 14.5

As a workaround, you can use export the slides with --wait-until networkidle:
$ npm run export -- --wait-until networkidle
# or
$ pnpm export --wait-until networkidle


Add 10ms sleep between I2C messages in bitbanged I2C

We observed on the Balena Fin board that writing consecutive I2C
messages to the bitbanged I2C bus, with delays of a couple of
microsenconds between messages, causes the bus to throw errors or
can even cause SoC reset.
This patch adds a 1ms delay between consecutive I2C messages on the
bitbanged I2C interface to avoid the mentioned errors as they can
be seen in kernel logs:
[89397.944222] i2c i2c-3: sendbytes: NAK bailout.
[89397.944259] pca953x 3-0020: failed writing register
[89409.157111] i2c i2c-3: sendbytes: error -110
Signed-off-by: Sebastian Panceac<EMAIL_ADDRESS>

@spanceac this can be closed


More convenient and suitable to use cyfs-bdt

Now cyfs-bdt is mostly used in the cyfs-stack layer, and therefore many functions, components and configurations have been moved to cyfs-stack. In this case, it will be difficult to use cyfs-bdt directly, so consider Add an intermediate layer to extract the general functions of cyfs-bdt in cyfs-stack, which is convenient for other projects to use

An intermediate project cyfs-bdt-ext has been added, and the components and functions that cyfs-bdt depends on have been moved to this project, which currently contains the following core logic:

Reading and writing of data
context and group management
Initialization of bdt-stack and some key control logic
sn related logic

For projects that want to use cyfs-bdt directly but do not want to use cyfs-stack, you can directly rely on this project


The repository 'http://dl.google.com/linux/mod-pagespeed/deb stable Release' is no longer signed

I am not sure if this is the right place, but I don't know another one. Running apt-get update throws
E: The repository 'http://dl.google.com/linux/mod-pagespeed/deb stable Release' is no longer signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.

I thought since pagespeed is incubator project, the repo will be changed. But even the new version 1.14 is using Google hosting.

Hi @tr3pan
I don´t know how to manage deb pakages but mod-pagespeed have chaged from where are donloaded.
Latest versions:
https://dist.apache.org/repos/dist/release/incubator/pagespeed/<IP_ADDRESS>/x64/

@Lofesa I haven't installed the 1.14, but I checked the content of the package. The package installs repository that can be used to update the package later. But the package installs the google repository.
# sources.list setting for mod-pagespeed updates.
REPOCONFIG="deb http://dl.google.com/linux/mod-pagespeed/deb/ stable main"

I could install the package, but the problem will be the same or I am missing someting?

sources.list setting for mod-pagespeed updates.
REPOCONFIG="deb http://dl.google.com/linux/mod-pagespeed/deb/ stable main"

Are you sure this wasn't pre-existing?
That release ought to include https://github.com/apache/incubator-pagespeed-mod/commit/e515ddc905510a7041560a8fc712f1624e776e02

@oschaaf It was my fault that I didn't check the downloaded package. I downloaded the latest stable thinking that 1.4.36 is stable and I just download the stable package. Nowhere on the download page is written what is the latest stable and even the beta version. The old google packages file name doesn't specify the package version which adds to the confusion.
I installed the package from @Lofesa link. I suppose because this is transition period the package name is different and installs different repo.list file. To my surprise there is a script to install a repo.list file, but because there is no assigned repo the repo.list file is not created. So even though I installed the package, this didn't fix my original problem.
I understand that time is needed for the transition, but can someone from google at least sign the Release file so apt-get update won't fail.
If it is not possible, then just write it on the official page so people won't have false hopes or expectations.
@oschaaf if it wasn't the issue you posted I am not sure how I am supposed to know which key was used to sign the package.


Issue while adding bot to Skype: Oops, this bot can't be added right now. This bot has too many contacts, try again later.

While adding bot to Skype, it redirects to https://join.skype.com/bottoomanycontacts.

In browser console (preserve log):

We need to resolve this urgently.

Hi @sagarpomal,
How many contacts does your Skype bot have? Have you potentially hit a limit?
Sincerely,
IoTGirl

Hi @IoTGirl,
I don't have exact numbers, however I think it has more than 100 contacts. Just saw the message under the Publish tab of Skype.

My bad, closing this issue now.
Thank you,
Sagar

Hi @sagarpomal ,
Many thanks for confirming and closing this issue!
Sincerely,
IoTGirl

Hi @IoTGirl ,
Do you have any idea about limits of other channels (Teams, Telegram etc...). Are there any limits in preview except Skype?
Thank you,
Sagar

Hi @sagarpomal ,
I don't know the approval process for the other channels but as you submit your Bot, the information should be provided to you as it was for Skype.
Sincerely,
IoTGirl

@IoTGirl - I tried looking for them, but no luck. Do you know anyone how might know this?
Thank you

@sagarpomal Sorry, I do not know.  If the registration process does not provide that detail then potentially there is no limit.  For instance, the message above is unique to Skype.

@IoTGirl Yes it looks like as there is no message for other channels. Thank you.


Allow collapse/expand programatically via prop, keep global animation…

… disbaled untill animate true/default is passed

so the default value for setLayoutAnimationEnabledExperimental is false?
and we have to set animate props to true to change it?
if it so, i think you have to update the docs.
because it's stated for the animate props:
defaults to true => applies a subtle animation to see more and see less text, not the complete text itself

The logic is that, it will not set setLayoutAnimationEnabledExperimental if you pass animate={false}
However, if you dont pass animate prop, it will use default value which is true

The logic is that, it will not set setLayoutAnimationEnabledExperimental if you pass animate={false} However, if you dont pass animate prop, it will use default value which is true

oh okay, the default value for setLayoutAnimationEnabledExperimental is true.
so we have to set animate props to false to disable it, right?

The logic is that, it will not set setLayoutAnimationEnabledExperimental if you pass animate={false} However, if you dont pass animate prop, it will use default value which is true

oh okay, the default value for setLayoutAnimationEnabledExperimental is true. so we have to set animate props to false to disable it, right?

Yes that is correct

The logic is that, it will not set setLayoutAnimationEnabledExperimental if you pass animate={false} However, if you dont pass animate prop, it will use default value which is true

so this package still sets setLayoutAnimationEnabledExperimental to true by default?
it does not resolve my problem, because this package sets it for the entire app automatically.
I still need to patch this package to fix my issue.
My suggestion is to put setLayoutAnimationEnabledExperimental in the installation setup, so people have discretion to use it based on their needs.

If setting animate={false} by default, it will have 2 issues:

Break backward compatibility
It will be a choice by most of users to have animation enabled by default, since it will be desired in most cases.

Now, for the next part, which is setting setLayoutAnimationEnabledExperimental, it will be needed for animation. So by default it will be needed.
As per my update, if some user decides to not have animation enabled, then user can pass animate={false}.
It will disable animation and also not set setLayoutAnimationEnabledExperimental.

You are right.
I found that native base also set setLayoutAnimationEnabledExperimental (true)
Maybe I have to fixed my issues in other way.
Thank you for your assistance.

You are right. I found that native base also set setLayoutAnimationEnabledExperimental (true) Maybe I have to fixed my issues in other way. Thank you for your assistance.

You're welcome


Staging/bugfix/fix posix no reset

Proposed fix for #5712

@googlebot I signed it!

@googlebot I signed it!


An audio sometimes cannot play w/ a PS5 controller

A PS5 controller is an audio output device. The number of channels is sometimes 2 and sometimes 4. When the num is 4, Oto cannot output the speaker.
It is hard to show minimal reproducible steps, but I could reproduce this:

Launch a complex Windows game (I couldn't reproduce this with Ebitengine's examples)
Connect a PS5 controller with connecting a headset to the controller

Let's continue at https://github.com/hajimehoshi/ebiten/issues/2536

The number of channels is sometimes 2 and sometimes 4. When the num is 4, Oto cannot output the speaker.

Probably this is not correct. When a PS5 controller is connected before the game starts, WinMM was probably used instead of WASAPI.


Updates KeyCastr to v0.9.3

Checklist

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

The last item failed but I don't believe it is related to this cask. More likely it has to do with the fact that I recently updated to macOS 10.12 Sierra. The instructions in the error message do not fix the issue:
brew cask style --fix https://raw.githubusercontent.com/akitchen/homebrew-cask/master/Casks/keycastr.rb
Error: undefined method `join' for nil:NilClassMost likely, this means you have an outdated version of Homebrew-Cask. Please run:

    brew uninstall --force brew-cask; brew untap phinze/cask; brew untap caskroom/cask; brew update; brew cleanup; brew cask cleanup

If this doesn’t fix the problem, please report this bug:

    https://github.com/caskroom/homebrew-cask#reporting-bugs

/usr/local/Homebrew/Library/Homebrew/cask/lib/hbc/locations.rb:145:in `path'
/usr/local/Homebrew/Library/Homebrew/cask/lib/hbc/cli/style.rb:44:in `block in cask_paths'
/usr/local/Homebrew/Library/Homebrew/cask/lib/hbc/cli/style.rb:44:in `map'
/usr/local/Homebrew/Library/Homebrew/cask/lib/hbc/cli/style.rb:44:in `cask_paths'
/usr/local/Homebrew/Library/Homebrew/cask/lib/hbc/cli/style.rb:22:in `run'
/usr/local/Homebrew/Library/Homebrew/cask/lib/hbc/cli/style.rb:11:in `run'
/usr/local/Homebrew/Library/Homebrew/cask/lib/hbc/cli.rb:107:in `run_command'
/usr/local/Homebrew/Library/Homebrew/cask/lib/hbc/cli.rb:146:in `process'
/usr/local/Homebrew/Library/Homebrew/cask/cmd/brew-cask.rb:8:in `<top (required)>'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/usr/local/Homebrew/Library/Homebrew/brew.rb:23:in `require?'
/usr/local/Homebrew/Library/Homebrew/brew.rb:105:in `<main>'

@akitchen Can you check if the directions here help? Otherwise, might be a ruby/rubocop error?


Argument parsing

This adds basic argument parsing support. Please give this a little review before we merge this and start porting the Zydis tools to use it @flobernd! I'll do the usage/help text generator in a separate PR at some later point in time.

The ZYAN_ARGPARSE_STATUS_ARG_NOT_UNDERSTOOD constants are quite a mouthful. Perhaps we should just .. merge them into the other constants. It turned out to be only 4 after all.


Es 82 station list clear on wire change

For issue #82 there were two problems. First, if you had played a recording to the end, the station-list thread in the recorder-player kept running. This caused the stations from the recording to continue to be refreshed/added to the Station List. The second was that the connection to the wire was being changed with separate code from the Connect/Disconnect methods.
The changes are to:

Set the 'stop playback' flag when the playback completes normally (rather than being manually stopped).
Change the 'change wire' method to use the 'disconnect' and 'connect (toggle)' methods and also add clearing the 'sender ID' in the method.

This PR will CLOSE #82

@leskerr if this looks okay and works for you, you can go ahead and merge it and close the branch since I'm going to be busy with family during the day.

Looks good. Thank you!


Metadata Ingestion from Azure Data Lake Gen 2 Storage containers to Data Hub

I was testing with the metadata-ingestion feature in Datahub, and was not able to find the documentation or .yml file to ingest the metadata from the Azure Data Lake Gen 2 storage container? And also is there any way I can use the model.json CDM (Common Data Model) folder to ingest metadata into Datahub? Kindly help me with these two questions or any other sources which can explain the answers to these questions would be really appreciated. Thanks for your time and support!

Hi @girishkumaar! We don't currently have a connector for Azure Data Lake Gen2; I've created a feature request for you here - I encourage you to add more context if you have any and/or to subscribe to the post for updates on progress! We'll close out this issue & address your other question in this issue .