Merge SSZ-static tests

Enable SSZ test vector output for the Merge types. This does not enable testing for the full Merge executable spec yet.

Will merge this, and changing it in next PR to enable test vector output for Merge phase as a whole.


Port 0.5 icons guide to 1.0

@kaycebasques how is this coming?

@ebidel @arthurevans I'll review the guide to see if anything needs updating today or tomorrow.


create failed  for global resource

Problem
I am trying to run kustomize apply. All the manifests pass except for a Cert Manager Cluster Issuer. In which I get the following error:
│ Error: github.com/kbst/terraform-provider-kustomize/kustomize.kustomizationResourceCre
ate: apiVersion: "cert-manager.io/v1", kind: "ClusterIssuer", namespace: "cert-manager"
name: "letsencrypt": create failed: the server could not find the requested resource
│
│   with kustomization_resource.p1["cert-manager.io_v1_ClusterIssuer|cert-manager|letsen
crypt"],
│   on kustomize.tf line 43, in resource "kustomization_resource" "p1":
│   43: resource "kustomization_resource" "p1" {
│

I thought it might have been the CRD's not being available but when I run the command directly with kubectl I get:
$ kubectl  apply -k manifests/overlays/default/cert-manager
....
clusterissuer.cert-manager.io/letsencrypt created
....

I then deleted it and retried the terraform module with TF_LOG=DEBUG
kustomization_resource.p1["cert-manager.io_v1_ClusterIssuer|cert-manager|letsencrypt"]: Creating...
2021-07-16T10:03:38.965Z [INFO]  Starting apply for kustomization_resource.p1["cert-manager.io_v1_ClusterIssuer|cert-manager|letsencrypt"]
2021-07-16T10:03:39.003Z [DEBUG] kustomization_resource.p1["cert-manager.io_v1_ClusterIssuer|cert-manager|letsencrypt"]: applying the planned Create change
2021-07-16T10:03:39.003Z [DEBUG] provider.terraform-provider-kustomization_v0.5.0: 2021/07/16 10:03:39 [DEBUG] Waiting for state to become: [existing]
2021-07-16T10:03:40.051Z [DEBUG] provider.terraform-provider-kustomization_v0.5.0: 2021/07/16 10:03:40 [DEBUG] Waiting for state to become: [existing]
╷
│ Error: github.com/kbst/terraform-provider-kustomize/kustomize.kustomizationResourceCreate: apiVersion: "cert-manager.io/v1", kind: "ClusterIssuer", namespace: "cert-manager" name: "letsencrypt": create failed: the server could not find
the requested resource
│
│   with kustomization_resource.p1["cert-manager.io_v1_ClusterIssuer|cert-manager|letsencrypt"],
│   on kustomize.tf line 43, in resource "kustomization_resource" "p1":
│   43: resource "kustomization_resource" "p1" {
│
╵

I do have a namespace set on my kustomization.yaml which is obviously getting applied to the resource which is actually a cluster wide resource.
Workaround
Currently I have a patch that just removes the namespace:
- op: remove
 path: "/metadata/namespace"

Which does the trick, but im not 100% sure why the kustomize cli works but the terraform provider errors

Try a kustomize build and check if the ClusterIssuer does have metadata.namespace set. It's probably kubectl apply that removes the metadata.namespace from the cluster-wide resource. I believe it's better to version valid manifests, than to implement magic in the provider to fix the invalid manifests.
If kustomize build does not have the metadata.namespace set, but the provider does. It may be an issue with the Kustomize version the provider uses.

It had the namespace set. Thanks I'll close this.


Accessibility fixes

Placed h5.affected-count outside table as it is not a table element. Changed its styles in App.scss as needed.
Added aria-label and alt on checkbox and icon.

Thanks for the accessibility patch, could you please squash your commits and rebase?

@jeremyphilemon I made a new PR for this so please close this and check #267

Please don't change the formatting. Submit only the files you changed. Please don't change the indentation.

@jeremyphilemon I made a new PR for this so please close this and check #267

Okay, closing this one.


Follow the default texture filter project setting in 2D shaders if no filtering hint is specified

Godot version
v4.0.alpha1.official [31a7ddbf8]
System information
Windows 10
Issue description

This shader which I am using to animate tiles makes them blurry in 4? Maybe not related to TileSet. Just where I noticed it. I changed the Project Settings -> Rendering -> Textures -> Default Texture Filter to get sharp pixel graphics maybe there is a way to make the shader use that setting too?
shader_type canvas_item;
render_mode unshaded;

uniform sampler2D frames: hint_albedo;
uniform float count;
uniform float duration;
uniform float width;
uniform float startX = 0;

void fragment() {
	float frame = floor(mod(TIME, count * duration) / duration);
	float offset = floor((UV.x - startX) / width);
	COLOR = texture(frames, UV + vec2((mod(offset + frame, count) - offset) * width, 0));
}

Thanks.
Steps to reproduce

Open TileSetShader.tscn, blurry animations
Open TileSetAnimation.tscn, clear animations

Minimal reproduction project
https://github.com/rakkarage/NewTileMapTest

Since filter modes are no longer stored in the texture itself but in the usage, you need to add filter_nearest to your frames sampler as follows:
uniform sampler2D frames : filter_nearest, hint_albedo;

Closing, as this is expected behavior in Godot 4.0.

How would you resolve this for the built-in TEXTURE inside the fragment() method in a canvas_item shader? I applied a shader to a tile in a tileset, but there is no way to override the filter for the built-in TEXTURE. Since I want to apply the shader to the tile, I'm not passing the texture as a uniform parameter.
I'm using Godot 4.2.2.stable. I have Project Settings -> Rendering -> Textures -> Default Texture Filter set to Nearest for sharp pixel art. In a TileSet the sprite sheet tiles are sharp as expected, but even just adding a new ShaderMaterial to a tile causes the tile to become blurry (even without adding a shader at all).

@jdellinger You can control the filter property of the built in TEXTURE using the texture_filter property on the node itself.
By default the filter setting is inherited from it's parent. But you can override the setting on a per-node basis:

@clayjohn Thanks.. That's what I assumed. However, that doesn't seem to be working correctly so I'm not sure if it is a bug or not. Even with that set to nearest, I still have the blurry texture issue. See attached screenshots. The tile is sharp initially with no shader material applied. As soon as I add a new shader material to the tile it becomes blurry as if it is using a linear filter. Adding an actual shader to the material doesn't change it either.

Hmm, that is definitely odd and likely warrants its own bug report. Could you make a new bug report and fill out all the information, including the MRP? I'd be happy to take a closer look.
@groud Is there something happening with the internal tilemap hierarchy here that might explain things here? To me it looks like the tile is losing the inheritance from the tilemap when a custom shader is used

I've just checked, I cannot reproduce the issue on the latest master.

@groud I tried on 4.3.beta2 and could not reproduce either. Looks like it is not an issue in 4.3 so I'll just stay on the beta. Thanks!

Is this issue still valid?

Is this issue still valid?

Yes. The user is asking for the rendering/textures/canvas_textures/default_texture_repeat project setting to affect all samplers on canvas_item shaders.
The other comments are about an unrelated issue that has been resolved.

@clayjohn Thanks for the answer!
Please take a look again. The whole issue is only about filtering.
But of course it will be also great to expand issue for repeat.

Sorry, I just copy-pasted the wrong property! It is directly below filter

Related to https://github.com/godotengine/godot/issues/74332


sdcard_image-rpi.bbclass: shorten the default BOOTDD_VOLUME_ID

raspberrypi4-64 is 15 characters and with dosfstools-4.2 it breaks rootfs.rpi-sdimg with:
mkfs.vfat: Label can be no longer than 11 characters
mkfs.fat 4.2 (2021-01-31)

introduced in:
https://github.com/dosfstools/dosfstools/commit/c598354

Signed-off-by: Martin Jansa<EMAIL_ADDRESS>
- What I did
- How I did it

hmm lgtm. is this a general change in dosfstools ? or something we wrecked in OE

general dosfstools it was checking it in fatlabel for long time, but not in mkfs.vfat until recently:
https://github.com/dosfstools/dosfstools/commit/c598354

Moved to https://github.com/agherzan/meta-raspberrypi/pull/822 to change the branch (didn't expect @khem to jump on draft PR so quickly :)).


FIX ME special opt rule hit!

Just hit this message when deploying to a canister. I was purposely changing the type signature of my API (breaking change), and hit this message instead of signaling a dfx deploy warning.
FIX ME! vec record { text; AttributeValue } <: opt UserMetadata/1 via special opt rule.
This means the sender and receiver type has diverged, and can cause data loss.

When do you see this warning? During dfx deploy? It probably make sense to make this an error and ask the user the confirm. But this is likely an dfx issue, not a Motoko issue.

Yes, I see this during DFX deploy


fix(remix-dev): Use normalized file path when analyzing flat routes

Fixes #5672.
I've added a test in remix-dev for the functionality as well. Before this change, this test failed on Windows and passed on MacOS.

The test failures don't seem related. Can someone with some more context take a look?

Any update on this fix anyone? This is preventing me from being on the latest update of remix. Stuck on v1.11 currently.

@michaelgmcd, can you make these changes against the dev branch instead?

Changed the branch and rebased.

@michaelgmcd, can you make these changes against the dev branch instead?

Changed the branch and rebased.

perfect, thank you! we're doing some performance auditing for various parts of the cli, flat routes being one of them so i'll make sure we got this over there as well

Not sure if https://github.com/remix-run/remix/issues/5779 is also related to this.

Seems like it


bug in boolq dataset loading

Hi
I am trying to load boolq dataset:
import datasets
datasets.load_dataset("boolq")

I am getting the following errors, thanks for your help
>>> import datasets
2020-11-22 09:16:30.070332: W tensorflow/stream_executor/platform/default/dso_loader.cc:60] Could not load dynamic library 'libcudart.so.11.0'; dlerror: libcudart.so.11.0: cannot open shared object file: No such file or directory
2020-11-22 09:16:30.070389: I tensorflow/stream_executor/cuda/cudart_stub.cc:29] Ignore above cudart dlerror if you do not have a GPU set up on your machine.
>>> datasets.load_dataset("boolq")
cahce dir  /idiap/temp/rkarimi/cache_home/datasets
cahce dir  /idiap/temp/rkarimi/cache_home/datasets
Using custom data configuration default
Downloading and preparing dataset boolq/default (download: 8.36 MiB, generated: 7.47 MiB, post-processed: Unknown size, total: 15.83 MiB) to /idiap/temp/rkarimi/cache_home/datasets/boolq/default/0.1.0/2987db1f15deaa19500ae24de560eabeaf1f8ef51df88c0470beeec72943bf11...
cahce dir  /idiap/temp/rkarimi/cache_home/datasets
cahce dir  /idiap/temp/rkarimi/cache_home/datasets/downloads
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/idiap/user/rkarimi/libs/anaconda3/envs/internship/lib/python3.7/site-packages/datasets/load.py", line 611, in load_dataset
    ignore_verifications=ignore_verifications,
  File "/idiap/user/rkarimi/libs/anaconda3/envs/internship/lib/python3.7/site-packages/datasets/builder.py", line 476, in download_and_prepare
    dl_manager=dl_manager, verify_infos=verify_infos, **download_and_prepare_kwargs
  File "/idiap/user/rkarimi/libs/anaconda3/envs/internship/lib/python3.7/site-packages/datasets/builder.py", line 531, in _download_and_prepare
    split_generators = self._split_generators(dl_manager, **split_generators_kwargs)
  File " /idiap/home/rkarimi/.cache/huggingface/modules/datasets_modules/datasets/boolq/2987db1f15deaa19500ae24de560eabeaf1f8ef51df88c0470beeec72943bf11/boolq.py", line 74, in _split_generators
    downloaded_files = dl_manager.download_custom(urls_to_download, tf.io.gfile.copy)
  File "/idiap/user/rkarimi/libs/anaconda3/envs/internship/lib/python3.7/site-packages/datasets/utils/download_manager.py", line 149, in download_custom
    custom_download(url, path)
  File "/idiap/user/rkarimi/libs/anaconda3/envs/internship/lib/python3.7/site-packages/tensorflow/python/lib/io/file_io.py", line 516, in copy_v2
    compat.path_to_bytes(src), compat.path_to_bytes(dst), overwrite)
tensorflow.python.framework.errors_impl.AlreadyExistsError: file already exists

I just opened a PR to fix this.
Thanks for reporting !


require group membership to write to IPC socket

ziti-edge-tunnel (ZET) on Linux always creates Unix domain sockets for IPC with file mode 0777. This allows any user to write IPC which includes both innocuous and destructive commands like permanently deleting an identity config file i.e. "forget identity".
The package installer should instead create a permission group "ziti" and remind the user to join that group, and ziti-edge-tunnel should set 0770 on the sockets it creates, thereby requiring group membership to write IPC to the socket. I verified this will work.
$ ll /tmp/ziti-edge-tunnel*
srwxrwxrwx 1 root root 0 Nov 15 11:30 /tmp/ziti-edge-tunnel.sock=
srwxrwxrwx 1 root root 0 Nov 15 11:30 /tmp/ziti-edge-tunnel-event.sock=

$ sudo chown -c :ziti /tmp/ziti-edge-tunnel*.sock
changed ownership of '/tmp/ziti-edge-tunnel-event.sock' from root:root to :ziti
changed ownership of '/tmp/ziti-edge-tunnel.sock' from root:root to :ziti

$ sudo chmod -c o-rwx /tmp/ziti-edge-tunnel*.sock
mode of '/tmp/ziti-edge-tunnel-event.sock' changed from 0777 (rwxrwxrwx) to 0770 (rwxrwx---)
mode of '/tmp/ziti-edge-tunnel.sock' changed from 0777 (rwxrwxrwx) to 0770 (rwxrwx---)

$ grep "ziti.*${USER}" /etc/group
ziti:x:1003:kbingham

$ /opt/openziti/bin/ziti-edge-tunnel dump
connected!
Message...{"Command":"ZitiDump","Data":{}}
Message sent to the tunnel.
received response <{"Success":true,"Code":0}
>

$ sudo -u nobody /opt/openziti/bin/ziti-edge-tunnel dump
failed to connect!

I think this can be closed now that pr #614 has been merged.


fix reference cycle in jaxpr tracing using weakrefs

As one step in tracing user code to a jaxpr using the machinery in partial_eval.py, we construct a bipartite graph made of JaxprTracer nodes, corresponding to values in the user code, and recipe nodes, particularly those corresponding to jaxpr equations, representing primitive operations. (This representation was put in place in #1224, since when primitives only had single outputs we could identify each primitive operation with the JaxprTracer value it produced.) This graph had reference cycles because each equation recipe points to both its input and output tracers (as a jaxpr eqn has both input and output vars) and a tracer must be able to point to the equation recipe that produced
it (for us to toposort the graph from in_tracers to out_tracers in tracers_to_jaxpr).
Those cycles caused memory leaks. This commit removes the strong reference cycle using weakrefs. In particular, equation recipes only hold weak references to their output tracers.
Before this change, we used the core.JaxprEqn struct both to represent equations in jaxprs (where invars and outvars are instances of the core.Var class) and to represent equation recipes (where invars and outvars are instances of the partial_eval.JaxprTracer class). That was a bit lazy. This commit distinguishes the two as separate JaxprEqn and JaxprEqnRecipe structs.
Bug find and test code from @trevorcai. Thanks!
Cross-ref the discussion on #1710.

(I verified this passes all internal tests.)

FYI @hbq1: thanks for spotting this!


Provide JSON content-type for JSON files within zarrs

the goal is to be able to navigate/view those files conveniently in the browser
❯ file -L .zattrs
.zattrs: JSON text data
❯ file -L .zgroup
.zgroup: JSON text data
❯ file -L .zmetadata
.zmetadata: JSON text data

according to https://zarr.readthedocs.io/en/stable/spec/v2.html#hierarchies -- should be JSONs

@yarikoptic If you mean that you want the browser to treat the files as JSON when clicking on the file links, that would require S3 to send the proper Content-Type header.  This would require either setting the Content-Type for the files directly on S3 or else generating a signed download URL that sets the Content-Type (which requires having access to the S3 credentials).

RIGHT, I forgot that we are just forwarding here!
BTW -- if it is possible to set content-type on S3 -- we should probably do that during upload. Can we do that?

@yarikoptic I think that setting the Content-Type during upload would require the same Content-Type to be specified when creating the signed upload URL, so the client would have to send a Content-Type when requesting the upload URLs from the Archive, the Archive would have to include the field when generating the upload URLs, and then I think the client would have to specify the Content-Type again when doing the actual upload.

cool, so it should then be done on the level of dandi-archive... we already have a dedicated procedure etc for upload of zarrs, so should be doable via consideration of filenames (zarr v3 I believe would even have zarr.json instead of .zarray, .zgroup and .zattrs) while preparing the upload.  Could you please research/come up with an example to demonstrate it and open an issue (or a PR) in dandi-archive to close this one?

@yarikoptic

Could you please research/come up with an example to demonstrate it

What exactly are you asking for?  What is the issue supposed to demonstrate?

If it is possible to mint S3 upload URL so that after file uploaded, the http url for download from S3 would have content-type of JSON so browsers would be able to display it nicely, instead of just requesting to download how it is now for .zattrs etc JSON files.

@yarikoptic I can't demonstrate anything without S3 credentials, so I just filed a normal feature request: https://github.com/dandi/dandi-archive/issues/1870

Closing as this is an Archive problem.


pull request for e2e test at 12/18/2016 06:26:20

: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.


Update sl-getting-started.md

add comment
What are you changing in this pull request and why?

Checklist

[ ] Review the Content style guide and About versioning so my content adheres to these guidelines.
[ ] Add a checklist item for anything that needs to happen before this PR is merged, such as "needs technical review" or "change base branch."

Adding new pages (delete if not applicable):

[ ] Add page to website/sidebars.js
[ ] Provide a unique filename for the new page

Removing or renaming existing pages (delete if not applicable):

[ ] Remove page from website/sidebars.js
[ ] Add an entry website/static/_redirects
[ ] Ran link testing to update the links that point to the deleted page

ok team, opened a pr here: https://github.com/dbt-labs/docs.getdbt.com/pull/3687


Use same heuristics as LocalCluster for repartition between processes and threads

Fixes #332, closes #334.

@jennirinker I took over your PR #334, any comments let me know!

Good point, I will add some documentation in the docstring for the default value of processes.
I have to say I don't remember why/how the mix of processes/threads was chosen for LocalCluster but I trust there was a good reason behind it.
My main worry is that the default (when specifying only cores and not processes) is going to use only multithreading and will make dask-jobqueue look bad in most cases (Python functions which don't release the GIL).

The heuristic was intended to find a good balance between the two.  My experience is that machines with 20+ cores don't get full parallelism with only threads, and that separating these into a few processes tends to help.  It could be though that workloads that run on HPC centers tend to be more GIL friendly (more numpy, less text).  I don't know though.
I've never really regretted having large nodes cut up into a few processes, so In general I'm mildly in favor of this change.  I can understand not wanting it too though for explicitness.

I pushed an entry in changelog. I am going to merge this one.


components/driver: 'const' all config calls.

Some were, some weren't. They all could/should be.
Signed-off-by: Michel Pollet<EMAIL_ADDRESS>

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

@bvernoux I went for consistency with the other ones, as I didn't want to submit a big patch; we can always do it as a second round. I'd like to have that, as you can then also const the config struct you pass, and initializes it with c99 notation instead of using code to do it.

Thanks Michel, this look good. I've pushed it into our internal review/merge queue.
Regarding const-ifying all arguments (including values), to some extent this is a matter of personal preference. I used to be in the habit of doing it but got talked out of it some years ago. Pointers to const data have the most significance (due to their implications for the calling code, for storage type of the parameter, and the possible optimisations the compiler can apply.)
FWIW, our doxygen includes @param[out] annotations for "out" pointer arguments. It's probably not as consistent as it should be across the entire API, though. :|
Angus


Regent: meta-program field path in launch of field polymorphic task

It appears that it is not currently possible to meta-program a field path when launching a field polymorphic task. I would like to be able to do something like the following:
import "regent"

local function make_field_space(n_fields)

  local fields = terralib.newlist({"A", "B", "C"})

  for i = 0, n_fields-1 do
    fields:insert("X_" .. i)
    fields:insert("Y_" .. i)
    fields:insert("Z_" .. i)
  end

  local Fields = terralib.types.newstruct("Fields")
  Fields.entries = fields:map(function(field) return { field, double } end)

  return Fields
end

local Fields = make_field_space(3)

local function make_task(n_fields)

  local fields = terralib.newlist({"A"})

  for i = 0, n_fields-1 do
    fields:insert("DIR_" .. i)
  end

  local Fields = terralib.types.newstruct("Fields")
  Fields.entries = fields:map(function(field) return { field, double } end)

  local task CalcDir(lr : region(ispace(int3d), Fields))
  where
    reads writes(lr.{[fields]})
  do
    for idx in lr.ispace do
      lr[idx].A = 1.0;

      [(function()
          local f = terralib.newlist()
          for i = 0, n_fields-1 do
            f:insert(
              rquote
                  lr[idx].["DIR_" .. i] = [i]
              end
            )
          end
          return f

       end)()]
    end
  end

  return CalcDir
end

CalcDir = make_task(3)

local function make_task_launch(lp, n_fields, dir)

  local fields = {}

  fields["A"] = "A"

  local field = nil

  if dir == 0 then
    field = "X_"
  elseif dir == 1 then
    field = "Y_"
  elseif dir == 2 then
    field = "Z_"
  end

  for i = 0, n_fields-1 do
    fields["DIR_" .. i] = field .. i
  end

  return rquote
    for color in lp.colors do
      CalcDir(lp[color].{[fields]})
    end
         end
end

task main()

    var lr = region(ispace(int3d, {4, 4, 4}), Fields)
    var lp = partition(equal, lr, ispace(int3d, {2, 2, 2}));

    [make_task_launch(lp, 3, 0)]
    [make_task_launch(lp, 3, 1)]
    [make_task_launch(lp, 3, 2)]
end

regentlib.start(main)

This example currently results in the following error:
/home/seshu/dev/legion/language/src/regent/specialize.t:193: Errors reported during typechecking.
poly.rg:82: unable to specialize value of type table
      CalcDir(lp[color].{[fields]})
                         ^

stack traceback:
        [C]: in function 'error'
        /home/seshu/dev/legion/language/terra/src/terralib.lua:390: in function 'finishandabortiferrors'
        /home/seshu/dev/legion/language/src/common/report.t:56: in function 'error'
        /home/seshu/dev/legion/language/src/regent/specialize.t:193: in function 'field_names'
        /home/seshu/dev/legion/language/src/regent/specialize.t:1259: in function 'fn'
        /home/seshu/dev/legion/language/src/common/data.t:146: in function 'flatmap'
        /home/seshu/dev/legion/language/src/regent/specialize.t:1306: in function 'projection_fields'
        /home/seshu/dev/legion/language/src/regent/specialize.t:1313: in function 'expr'
        /home/seshu/dev/legion/language/src/regent/specialize.t:598: in function 'specialize_expr_list'
        /home/seshu/dev/legion/language/src/regent/specialize.t:641: in function 'expr'
        ...
        /home/seshu/dev/legion/language/src/regent/passes.t:59: in function 'expr'
        /home/seshu/dev/legion/language/terra/src/terralib.lua:4506: in function 'expr'
        /home/seshu/dev/legion/language/src/regent/specialize.t:543: in function 'expr'
        /home/seshu/dev/legion/language/src/regent/specialize.t:587: in function 'expr'
        /home/seshu/dev/legion/language/src/regent/specialize.t:587: in function 'expr'
        /home/seshu/dev/legion/language/src/regent/specialize.t:1823: in function 'stat'
        /home/seshu/dev/legion/language/src/regent/specialize.t:1520: in function 'block'
        /home/seshu/dev/legion/language/src/regent/specialize.t:2104: in function </home/seshu/dev/legion/language/src/regent/specialize.t:2083>
        /home/seshu/dev/legion/language/src/regent/passes.t:59: in function </home/seshu/dev/legion/language/src/regent/passes.t:57>
        poly.rg:87: in main chunk

The syntax that I came up with to meta-program a mapping between field paths is this:
https://gitlab.com/StanfordLegion/legion/-/blob/master/language/tests/regent/run_pass/call_task_polymorphic2.rg#L109
Is there any reason that this syntax doesn't work? I can certainly change the code so that it can also consume Lua tables specifying mappings, but only if we really need it.

I think this will work. I couldn't figure out the syntax and a table seemed like the most obvious/intuitive thing. A table does seem preferable though because you don't have to worry about maintaining order between two different lists, but I guess I can always convert the table to two lists myself.


Segmentation fault when importing shapely.geometry followed by importing duckdb

Expected behavior and actual behavior.
I expect Python imports not to segfault.
Steps to reproduce the problem.
pip install shapely duckdb
python -c 'import shapely.geometry, duckdb'

Operating system
This has been reproduced on:

NixOS
Arch
Ubuntu (via GitHub actions' ubuntu-latest runner)

Shapely version and provenance
version: 1.8.5
provenance: pypi

Confirmed with version 1.8.5, but resolved with 2.0b2 (via pip install --pre --upgrade shapely)
We're looking to release shapely 2.0 in the next month, which should hopefully help after changing this.

There are similar reports but with pytorch (https://github.com/shapely/shapely/issues/1435, https://github.com/shapely/shapely/issues/1598).
In those cases, possible workarounds that sometimes helped were to change import order, ensure to import shapely.geometry, disable the speedups (shapely.speedups.disable()).
Or change the installation method: use conda, or install from source.

@jorisvandenbossche Thanks!
I saw those issues, but I wasn't sure whether the final word on this was "fixed in 2.0, we're not backporting" (which is fine!).
I don't think any of these workarounds are viable options, since things might be imported in any order by any of our users outside of ibis and this bug is hard blocker for doing anything. Changing installation methods is also not viable for at least some of our users since they are using ibis in corporate environments without conda.
Is there some history here regarding why these wheels were shipped in the first place if they result in a segmentation fault at import time? Perhaps that wasn't known at the time of shipping the wheels!
In any case, I appreciate your work here!

Do you know where the import is coming from? (in your case, where you ran into it in https://github.com/ibis-project/ibis/issues/4856) Is one of the ibis backends using shapely? Or is it fully from usage of shapely outside of ibis?

Is there some history here regarding why these wheels were shipped in the first place if they result in a segmentation fault at import time? Perhaps that wasn't known at the time of shipping the wheels!

I am not sure this is anything new (one of the other reports was with 1.8.2). AFAIK this is a general longstanding issue with the way shapely 1.x is built, and how wheels don't properly work for this use case.
Now, if eagerly importing things in shapely/__init__.py might help, that's something we could maybe do for 1.8.6. But I haven't been testing / reproducing this issue myself.

but I wasn't sure whether the final word on this was "fixed in 2.0, we're not backporting" (which is fine!).

There is nothing that can be backported, the internals are completely rewritten in 2.0 (ctypes -> c extension), so all the setup has changed.

Do you know where the import is coming from?

We do, and it's unrelated to ibis. In my report above it's reproducible by running
import shapely.geometry, duckdb

We do not see this problem with the 1.7 series, not sure why though.

We do, and it's unrelated to ibis. In my report above it's reproducible by running

Ah, sorry, wasn't seeing a reproducer in your ibis issue report, but it was on top here. Thanks for the clear reproducer!

And that's something I can easily reproduce locally as well.
Backtrace from gdb (although it's with a stock python from conda, so not much debugging info), doesn't give much clues to me:
#0  insertdict (mp=0x7fffffffa7f0, key=<unknown at remote 0x7fffffffa7f0>, hash=140737488332800, value=<unknown at remote 0x555555e0c320>) at /usr/local/src/conda/python-3.10.6/Objects/dictobject.c:1132
#1  0x00005555558ee740 in PyId___dir__.lto_priv.1 ()
#2  0x0b8e4add88c97800 in ?? ()
#3  0x00005555559323d0 in ?? ()
#4  0x00007ffff76026b0 in ?? ()
#5  0x00005555558f0da0 in ?? ()
#6  0x00005555558ee740 in PyId___dir__.lto_priv.1 ()
#7  0x00007ffff7587b90 in ?? ()
#8  0x000055555567cfb1 in PyDict_SetItem (value=<optimized out>, key=0x0,
    op={'name': '_uuid', 'loader': <ExtensionFileLoader(name='_uuid', path='/home/joris/miniconda3/envs/test-shapely-segfault/lib/python3.10/lib-dynload/_uuid.cpython-310-x86_64-linux-gnu.so') at remote 0x7fffe152bb20>, 'origin': '/home/joris/miniconda3/envs/test-shapely-segfault/lib/python3.10/lib-dynload/_uuid.cpython-310-x86_64-linux-gnu.so', 'loader_state': None, 'submodule_search_locations': None, '_set_fileattr': True, '_cached': None, '_initializing': False}) at /usr/local/src/conda/python-3.10.6/Objects/dictobject.c:1623
#9  _PyObjectDict_SetItem (value=<optimized out>, key=0x0, dictptr=<optimized out>, tp=0x1990c1ce456500ec) at /usr/local/src/conda/python-3.10.6/Objects/dictobject.c:5043
#10 _PyObject_GenericSetAttrWithDict (obj=<optimized out>, name=0x0, value=<optimized out>, dict=<optimized out>) at /usr/local/src/conda/python-3.10.6/Objects/object.c:1391
#11 0x00007fffe152bb50 in ?? ()
#12 0x00007ffff75c1348 in ?? ()
#13 0x00007ffff7622570 in ?? ()
#14 0x00005555558c7720 in ?? ()
#15 0x0000555555696994 in PyObject_GenericGetAttr (name=None, obj=<unknown at remote 0xb8e4add88c97800>) at /usr/local/src/conda/python-3.10.6/Objects/object.c:1332
#16 PyObject_GetAttr (v=<unknown at remote 0xb8e4add88c97800>, name=None) at /usr/local/src/conda/python-3.10.6/Objects/object.c:932
#17 0x000055555568da37 in _PyEval_EvalFrameDefault (tstate=<optimized out>, f=<optimized out>, throwflag=<optimized out>) at /usr/local/src/conda/python-3.10.6/Python/ceval.c:3592
#18 0x0000000000000000 in ?? ()

And as mentioned in https://github.com/shapely/shapely/issues/1598#issuecomment-1311728876, doing from shapely import * instead doesn't give a segfault. Using from shapely import _buildcfg also helps avoid the segfault, but it does error in my case (normal python exception, on that import, but importing duckdb afterwards is fine)

Testing it with a few versions. I get the same segfault / traceback going back to 1.8.1, but 1.8.0 also already works.
Comparing those two versions: https://github.com/shapely/shapely/compare/1.8.0..1.8.1
And in that range is the rework of the wheel building infrastructure (https://github.com/shapely/shapely/pull/1310), which is unfortunately a big change. Although it has also some changes to shapely/geos.py, will check if only reverting that piece changes anything.

Although it has also some changes to shapely/geos.py, will check if only reverting that piece changes anything.

Ah, no, those changes are only for MacOS and Windows, not for Linux, so can't explain the segfault.


chore: change electron-builder mac notarize config

Related to
2023-06-21 16:39:25.441 *** Warning: altool has been deprecated for notarization
and starting in late 2023 will no longer be supported by the Apple notary service.
You should start using notarytool to notarize your software. (-1030)

By setting teamId instead - it will make electron-builder use notarytool, see https://github.com/electron-userland/electron-builder/blob/46524169cefbfa18e342d7fa19e79e710aae848e/packages/app-builder-lib/src/macPackager.ts#L520

see https://github.com/electron/notarize
see https://github.com/electron-userland/electron-builder/blob/46524169cefbfa18e342d7fa19e79e710aae848e/packages/app-builder-lib/src/macPackager.ts#L520

TODO

[ ] replace the teamId with our own

cc  @jackkav @gatzjames

Created dummy beta.2 release and it seems it's working there ok without the warning:


There are few "Main Thread Checker warnings" left unhandled in the app.

In class CheckoutKitObjC.m, there are two api calls which is having "Main Thread Checker warning".

UI API called on a background thread: -[UIApplication setNetworkActivityIndicatorVisible:]

PR merged, so closing this issue


Better argument validation in the Pkcs8PrivateKeyInfo constructor

Better argument validation in the Pkcs8PrivateKeyInfo constructor
Before .NET Core 3.0 Preview 9, the Pkcs8PrivateKeyInfo constructor did not validate the algorithmParameters parameter.  When this parameter represented an invalid value, the constructor would succeed, but a call to any of the Encode, TryEncode, Encrypt, or TryEncrypt methods would throw either an ArgumentException for a parameter they did not accept (preEncodedValue) or a CryptographicException.
Now the argument is validated in the constructor, and an invalid value will result in the method throwing a CryptographicException.
Version introduced
3.0 Preview 9
Change description
Make the Pkcs8PrivateKeyInfo constructor validate the algorithmParameters parameter as a single BER-encoded value.
Old behavior
byte[] algorithmParameters = { 0x05, 0x00, 0x05, 0x00 };

var info = new Pkcs8PrivateKeyInfo(algorithmId, algorithmParameters, privateKey);
// This line throws an ArgumentException for `preEncodedValue`:
byte[] encoded = info.Encode();

New behavior
byte[] algorithmParameters = { 0x05, 0x00, 0x05, 0x00 };

// This line throws a CryptographicException
var info = new Pkcs8PrivateKeyInfo(algorithmId, algorithmParameters, privateKey);

Reason for change
Move the exception closer to the source of the data error.
Recommended action
Ensure that only valid algorithmParameters values are being provided, or that calls to the Pkcs8PrivateKeyInfo constructor test for both ArgumentException and CryptographicException if exception handling is desired.
Category
CoreFx
Affected APIs
Pkcs8PrivateKeyInfo..ctor

Issue metadata

Issue type: breaking-change

I've made some minor changes, if you'd like to review them, @bartonjs.


Disable Cosmovisor backups

Cosmovisor backups result in delayed upgrades, they can take up to an hour.

Opened PR #55

Leave the backup disabled as default
Expose a variable so the user can turn it on if they want.

Added cosmovisor_skip_backup variable into the PR


gRPC Basics - C++: protoc does not compile

Issue
Issues specific to gRPC Basics - C++  example (https://grpc.io/docs/tutorials/basic/cpp/)
What version of gRPC and what language are you using?
v1.27.2 / C++
What operating system (Linux, Windows,...) and version?
Ubuntu 18.04
What runtime / compiler are you using (e.g. python version or version of gcc)
gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0
What did you do?

make route_guide.grpc.pb.cc route_guide.pb.cc
make

What did you expect to see?
compile proto file
What did you see instead?

program not found or is not executable
You don't have the grpc c++ protobuf plugin installed in your path.

You don't have the grpc c++ protobuf plugin installed in your path.
yes:
protoc --version
libprotoc 3.0.0

@tomatac : make is not being actively supported. cmake and bazel are suggested.


Support SciPy 1.13 & 1.14

Tasks

[ ] Read Release Notes.
[ ] Fix code and CI to support the new vesrion.

FlexCI: Update .pfnci/schema.yaml and .pfnci/matirx.yaml.
Update Requirements: For NumPy/SciPy, bump the pinned minimum/maximum version in setup.py (see #4773.)

[ ] Backport the above PR.
[ ] For NumPy update, reflect the changes in numpy.array_api to cupy.array_api.
[ ] Backport the above PR.
[ ] Fix documentation.

Update Requirements section in the Installation Guide (note: the baseline version must be updated only in the development branch).
Update docs/requirements.txt to use the latest versions.

[ ] Backport the above PR.
[ ] Apply fixes needed to follow the specification changes.

Test failures with SciPy 1.14:
https://ci.preferred.jp/cupy.linux.cuda125/168604/


Birthday treat

bbvvgjjn

Lol.

AЯЦ KЦЯA ㅜHAжAไИA ฟξ ฟAИㅜ ㅜЯξAㅜ
On 1/30/17, Ashish Tiwari<EMAIL_ADDRESS>wrote:

Lol.
--
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub:
https://github.com/Classof2020/classof2020.github.io/issues/26#issuecomment-276024975

Lol


Add a command to get an access token for an app

We use the OIDC debugger in a lot of tutorials and often enable implicit flow to make things faster.
What if we could get an access token from the CLI?!
okta token --app=XXX

Equally as good: generate one from the dashboard.

This would be nice so we don't have to tell people to use oidcdebugger.com.

I've been thinking about this on and off for a bit.
Client credentials flows should be easy to do like this.
Browser-based flows get tricky because existing redirects would be wrong.
But for most of our blog posts (and i think typical usage of okta token) you would be testing a resource server, and a client creds flow might be all you need, so we might be able to do something like just okta token then:

look for a client with a given name (something like okta-cli-token) create it if it doesn't exist
do the client-creds dance
return a token

That might be a bit naive though, we should pick @aaronpk's brain about it too


Reverting time range of query

Needed to revert the time range to progress demo in short period and to match the cycle duration
Signed-off-by: bharathappali<EMAIL_ADDRESS>

It's a trivial change and can be merged after the build is successful


Put NSNull instead of nil to didResolveMultiConnectWithSyncValue method #1843

This change is

PR is added to the queue for testing as 1. task. (82d90ee)

@asuhodolov,
Thanks for having already signed the Contribution License Agreement. Your agreement was validated by Microsoft. We will now review your pull request.
Thanks,
Microsoft Pull Request Bot

Test 112750453 (82d90ee) build started.

Test (Fail) 112750453 build is completed (82d90ee)
See https://github.com/ThaliTester/TestResults/tree/11275045382d90ee_Put_NSNull_instead_of_nil_to_didResolveMultiConnectWithSyncValue_method__1843_asuhodolov/ for the logs

This fix depends on PR https://github.com/thaliproject/thali-ios/pull/1
Need to merge PR in ThaliCore repo first

Reviewed 2 of 2 files at r1.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable

Merging branch as we've merged thaliproject/thali-ios#1.


Use official actionlint image in CI

🐳 Use actionlint's Docker image.

This is simplified job.
Mine looks like https://github.com/szepeviktor/byte-level-care/blob/b6018ba689a858f60bf8a6e49196bb7e25f7d14f/.github/workflows/workflow.yml#L65-L77

@szepeviktor
Thank you for your pull request!
Using the official ActionLint Docker image is indeed a better approach.
I'll merge this. Thank you!

Glad to contribute.


ComboBox: defaults children prop to empty array

prevents unhandled exception when no children options are supplied
fix #136

Good one! Thx @alanrsoares

Thx @alanrsoares :+1:

@alanrsoares We just released 1.0.1 which includes this bugfix


Displaying recipes

Description
It could be helpful to display recipes on wiki pages. Some people may enjoy having the option to browse recipes online. People like images, and internal linking can only be a positive thing.
This would mean displaying each ingredient in a grid, with a link to the wiki pages for these ingredients.
Github wikis don't support custom CSS or transclusion, and I'm going to try to work with these limitations. So, the simplest way to achieve this would probably be to use Markdown tables. Take the Lumber Axe recipe for instance:
## Obtaining
### [Magic Workbench](https://github.com/TheBusyBiscuit/Slimefun4/wiki/Magic-Workbench)
|  |  |  |  |  |
| --- | --- | --- | --- | --- |
|  |  |  |  |  |
|  |  |  |  |  |

gives:

Obtaining
Magic Workbench

But I can think of a few issues with this:

This could potentially increase the workload, since you'd have to update or add recipes as the plugin evolves.
Even in its simplest form, it seems difficult to work with if you're a newcomer.

To be fair, though, the plugin is constantly evolving anyway, and info which is true today might be outdated tomorrow.
As for 2, I was thinking of maybe having some sort of online tool that'd generate the recipe code for you, and then you'd just have to copy and paste it under the right section. After all, the structure should always be the same, with only attributes changing.
With all this in mind, is this is worth looking into? Can you think of a simpler way to do it within Github's limitations? Please share your thoughts and ideas.

Mmmh, having a good way to write recipes would be good. If this was in node then there could have been a way to define recipes which gets parsed. I was talking about this on Discord a month or so ago. Just something where you can see the items in a crafting table with the result, can hover over them and see the whole item (name, lore). Maybe also clicking on the item to see how that is made. Basically a SF guide in web.
Cookie worked on something for recipes a bit ago (https://github.com/TheBusyBiscuit/minecraft-svg) but not looked into it much.

Yeah, a SF web guide would be really handy! It would probably be easier to set up as a separate project, but I think it'd still be great to be able to display recipes on the wiki.

Sorry if this is necroposting, but we could use minecraft.gamepedia.com crafting template (with the lua module crafting which is needed as well). Only issue is that if the items that can be made using slimefun have different textures and name we would have to edit the crafting module. And also the lua module has a bunch of other lua module dependencies. and dependencies of dependencies.

Maybe it's a bad idea, but I could try to add an image API for my website, so the final image URL will be like
https://itsthesky.info/sf/?recipe=iron_ingot,null,null,null,null,null,null,iron_ingot,null&result=diamond
I'll ble able to manage back end after that, so the wiki will just load one image.
What do you think about it?


Parentheses issue when \copying to postgres from sqlite

Hi Folks,
using both 0.18.1 tag and current master branch I encountered the following issue:
Given chinook sample sqlite db is at /tmp/chinook.sqlite3 and the following table in postgres database is created:
create table genre(genre_id int generated by default as identity primary key, genre_name text);

I get the following unexpected results:
$ usql --version
usql 0.18.1
$ usql
(not connected)=> \set pgdb connection_string_to_postgres_db
(not connected)=> \set chinookdb sq:///tmp/chinook.sqlite3
(not connected)=> \copy :chinookdb :pgdb 'select GenreId, Name from Genre' 'genre';
error: failed to prepare query to determine target table columns: pq: syntax error at or near "WHERE"

(not connected)=> \copy :chinookdb :pgdb 'select GenreId, Name from Genre' 'genre(genre_id, genre_name)';
error: failed to prepare query to determine target table columns: pq: syntax error at or near ")"

(not connected)=> \copy :chinookdb :pgdb 'select GenreId, Name from Genre' 'genre(genre_id, genre_name';
COPY 25

Obviously, what I'd expect is the syntax error when the right bracket is missing.
More context:
$ go version
go version go1.22.2 linux/amd64

And I use Arch btw ;)

This is a bug in the postgres driver's Copy function, but the pgx driver has a different implementaion. Can you try it out as a workaround until we can fix it?

And I use Arch btw ;)

The jokes are true! Arch rocks.


Uncaught Error: Cannot find module || Please verify that the package.json has a valid "main" entry

Uncaught Error: Cannot find module '~~/node_modules/svelte-markdown/dist/sveltemarkdown.js'. Please verify that the package.json has a valid "main" entry gets returned when used like this:
<script>
  import SvelteMarkdown from "svelte-markdown";
  export let value =
</script>
//...
 <article>
    <SvelteMarkdown {value} />
 </article>

// package.json
  "dependencies": {
// ...
    "svelte-markdown": "^0.1.10",
  },

i am currently running into the same issue, did you fix this by adding it to the devDependencies?

Tried both, I thought I was doing something wrong so I closed the issue.

Ok just as a generic Info, as described in the readme you have to add svelte-markdown as a devDependency if you use sapper, but only as a devDependency, our issue was that we did not remove the normal dependency and thus fell into the same issue as described above, it works for us now

Should I be more specific about Sapper usage in the README? Since people seem to be jumping to SvelteKit I didn't worry too much aboutt that.
One thing I noticed from your snippet, @Curstantine  is that the prop for Svelte Markdown should be called source not value. So <SvelteMarkdown source={value} /> should work.

@pablo-abc i don't know if being more specific about sapper would help, afaik it seems to work just fine if you are able to read and do things according to your description. maybe you should make a distinction between sveltekit and sapper, since sveltekit is by far not production ready yet


Build failure: cemu

Steps To Reproduce
Steps to reproduce the behavior:

build cemu (nixpkgs 4aa36568d413aca0ea84a1684d2d46f55dbabad7/latest nixos-unstable)

Build log
cemu> /nix/store/pbixrqd120nnw8a0ygfpm3mnwlr1mbj7-binutils-2.43.1/bin/ld: /nix/store/09465jfdjm4lkddh5w1ih6q95vbmpmjh-glslang-15.0.0/lib/libglslang.so.15: error adding symbols: DSO missing from command line
cemu> collect2: error: ld returned 1 exit status
cemu> ninja: build stopped: subcommand failed.
error: builder for '/nix/store/icv7kx17adxsd6xcq1w50dcmyxs788h7-cemu-2.0-92.drv' failed with exit code 1;

Additional context
N/A
Notify maintainers
@zhaofengli @baduhai @AndersonTorres

Metadata

nix-shell -p nix-info --run "nix-info -m"

system: "x86_64-linux"
host os: Linux 6.11.5-zen1, NixOS, 24.11 (Vicuna), 24.11.20241029.807e915
multi-user?: yes
sandbox: yes
version: nix-env (Nix) 2.25.0pre20240920_ca3fc169
nixpkgs: /nix/store/m68ikm8045fj7ys7qvgr608z9l70hh1k-source

Add a :+1: reaction to issues you find important.

Builds failing on Hydra too: https://hydra.nixos.org/build/277249337/nixlog/1

#353870, which was just merged a few hours ago, fixes this.


Fix auto top when click add button

The problem happens when the user have a long text, and the toolbar is initially showed at the bottom. When the user click the AddButton, the editor auto focus and scroll back to top. It seem not to be natural.

Please make changes as using new JS syntax and not converted code.


Theme context

Setting up Dark theme for wasedatime using Tailwind
Description

Started creating the theme context to detect light and dark mode
Updated tailwind config file to allow dark theme, and added their respective styling
Motivation and Context

To enable dark mode for our users
How has this been tested?

Screenshots (if appropriate):
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist:

[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.

Wow, thx for the PR.

Please check https://github.com/wasedatime/wasedatime-web/runs/4534913526?check_suite_focus=true


Request: center vertical

Hey. First of all, let me thank you for your great work. Very handy tool.
I'm wondering if there is the possibility to implement the center icon feature for a vertical dock. Usually I just move mine to the left side of the screen and currently the app still leaves icons at the top.
Thanks, LC

Vertical centering has been added on latest commit. However, I'm not releasing yet, since it needs other features to complete at least to look usable (the other features added). You can always compile it to test.

Vertical centering on each taskbar (multimonitor) now is supported on this release
https://github.com/vhanla/TaskbarDock/tree/v0.1.62


pkg/frontend_server has 10 files opted out of null safety

Found 10 file excluded from sound null safety:

pkg/frontend_server/bin/frontend_server_starter.dart
pkg/frontend_server/lib/compute_kernel.dart
pkg/frontend_server/lib/frontend_server.dart
pkg/frontend_server/lib/src/javascript_bundle.dart
pkg/frontend_server/lib/src/strong_components.dart
pkg/frontend_server/test/frontend_server_flutter_suite.dart
pkg/frontend_server/test/frontend_server_flutter.dart
pkg/frontend_server/test/frontend_server_test.dart
pkg/frontend_server/test/src/javascript_bundle_test.dart
pkg/frontend_server/test/src/strong_components_test.dart

See https://github.com/dart-lang/sdk/issues/49169 for more context.

Rest is blocked on https://github.com/dart-lang/sdk/issues/46617

I finished the DDC migration and closed https://github.com/dart-lang/sdk/issues/46617. The frontend_server migration should be unblocked now.

https://dart-review.googlesource.com/c/sdk/+/253301 Migrates all but one of the tests which relies heavily on mockito.
cc @srawlins would you possibly be able to take a look at the frontend_server_test.dart file and give some advice? I don't think we want to add build_runner as a dep to this package (and thus the sdk etc).

FYI, it looks like this is in the critical path for migrating flutter/engine to sound null safety.

looks like my CL for most of it (just not the tests) failed to submit and I didn't realize, I can pick that up today and try and get it landed.

hey @jakemac53 any news?

Gah sorry, got sidetracked and forgot about it. Looking now.

Ok, I took a look but there have been a ton of upstream changes and merging them just really wasn't feasible.
Somebody will have to start from scratch on this one.

Generally, does the CFE team own this package or does the VM team? cc @johnniwinther and @a-siva. We'll want to find an owner to push this over the line from a conversion-to-null-safety perspective.

It looks like the current null safety exclusions are:
bin/frontend_server_starter.dart:1:// @dart = 2.9
lib/frontend_server.dart:5:// @dart = 2.9
lib/src/javascript_bundle.dart:5:// @dart = 2.9
lib/src/resident_frontend_server.dart:5:// @dart = 2.9
lib/starter.dart:5:// @dart = 2.9
test/frontend_server_flutter.dart:5:// @dart = 2.9
test/frontend_server_flutter_suite.dart:5:// @dart = 2.9
test/frontend_server_test.dart:5:// @dart = 2.9
test/src/javascript_bundle_test.dart:5:// @dart = 2.9
test/src/resident_frontend_server_test.dart:5:// @dart = 2.9

(I didn't check to see if some of those are intended from the POV of testing pre-null safety)

@jensjoha @annagrin For planning on who will tackle the migration.

I'll look into migration the frontend server.

One of the issues that I ran into with migrating the frontend server tests was the heavy use of mockito package, I am working on a CL to replace the use of mockito in these tests to make it possible to then migrate these files.

The only file remaining is test/frontend_server_test.dart. @a-siva you are working on this, right?

Yes

Thanks for migrating the tests @jakemac53 !

First step of removing mockito dependency from the tests is here https://dart-review.googlesource.com/c/sdk/+/260001/5

Second step of making the file null safe https://dart-review.googlesource.com/c/sdk/+/260744


Checking out the same branch in the git-checkout targeting a different branch in the Git

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior
Given the BRANCH env variable
And
...
scms:
  default:
    kind: github
    spec:
      user: '{{ requiredEnv "GIT_USER" }}'
      email: '{{ requiredEnv "GIT_EMAIL" }}'
      owner: elastic
      repository: fleet-server
      token: '{{ requiredEnv "GITHUB_TOKEN" }}'
      username: '{{ requiredEnv "GIT_USER" }}'
      branch: '{{ requiredEnv "BRANCH" }}'

When I run BRANCH=main updatecli diff --config .ci/bump-elastic-stack-snapshot.yml  --debug or BRANCH=8.6 updatecli diff --config .ci/bump-elastic-stack-snapshot.yml  --debug
Then for both cases it uses the same checkout branch
DEBUG: checkout branch "updatecli_761abaa52598c50f90bcfdf4a7059e949e992bbb5532726bc682cf114db69843", based on "main" to directory "/var/folders/hn/j6gds1qx1f5bysfn0qp0t03c0000gn/T/updatecli/github/elastic/fleet-server"

checkout branch "updatecli_761abaa52598c50f90bcfdf4a7059e949e992bbb5532726bc682cf114db69843", based on "8.6" to directory "/var/folders/hn/j6gds1qx1f5bysfn0qp0t03c0000gn/T/updatecli/github/elastic/fleet-server"

Expected Behavior
checkout branch "updatecli_***` will be a different one each time
Steps To Reproduce

Locally and GitHub actions
updatecli diff -

Environment
- OS: Ubuntu 22 GitHub runners and MacOS
- updatecli: 0.40.2

Anything else?
https://github.com/elastic/beats/commits/updatecli_53ebe810f7782bf7e7c14b060c30f04f8a06667843a6dfb9b2c31e3f74dcd82b was created with two commits for two different versions, while I would not expected the same branch with two commits but just one
https://github.com/elastic/beats/actions/runs/4171866100/jobs/7222276576 is the workflow we have in place:

https://github.com/elastic/beats/actions/runs/4171866100/workflow#L23-L42

Then it runs updatecli for different active branches in parallel, so the bump can happen for any active branches.

As far as I see, the pipelineID is the one reused:

https://github.com/updatecli/updatecli/blob/3535c64acd1f607ffd14d18250c817086a01b93e/pkg/plugins/scms/github/main.go#L93

I wonder whether that could be changed to be dynamic in a way it's resolved when running the updatecli

I am interested by the use case here. Something to keep in mind is Updatecli do not have access to state management.
So if you generate a different working branch each time your run Updatecli then you'll end with a lot of pullrequest for the same change.
At the moment, we support two scenarios:

You specify the pipelineid such as https://github.com/updatecli/updatecli/blob/3535c64acd1f607ffd14d18250c817086a01b93e/updatecli/updatecli.d/updatecli.yaml#L2 so no matter what you'll always have the same working branch. The same pipelineID can be reused accross manifest so they'll all work from the same temporary branch.

You don't specify pipelineid, then Updatecli generate a checksum based on the manifest. If you change the manifest then you have a differrent pipelineid

At the moment, either you specify the pipelineid then we

A workaround would to have something like
pipelineid: '{{ requiredEnv "BRANCH" }}'
scms:
  default:
    kind: github
    spec:
      user: '{{ requiredEnv "GIT_USER" }}'
      email: '{{ requiredEnv "GIT_EMAIL" }}'
      owner: elastic
      repository: fleet-server
      token: '{{ requiredEnv "GITHUB_TOKEN" }}'
      username: '{{ requiredEnv "GIT_USER" }}'
      branch: '{{ requiredEnv "BRANCH" }}'

pipelineid: '{{ requiredEnv "BRANCH" }}'

Let me try this, as somehow I thought it was not supported as pipelineID will be validated agains the manifest hash, but it turned out that I read the code wrongly in https://github.com/updatecli/updatecli/blob/3535c64acd1f607ffd14d18250c817086a01b93e/pkg/core/config/main.go#L103-L108

The reason why I introduced the pipelineID settings was to be able to group or not different update pipeline.
I am using this technique in the autodiscovery as well

pipelineID, err := FileChecksum(option.ManifestFile)

I need to generate the checksum before we modify the manifest using go template.
Lower in that function we check if pipelineID is already and if not we use the checksum generated earlier
https://github.com/updatecli/updatecli/blob/3535c64acd1f607ffd14d18250c817086a01b93e/pkg/core/config/main.go#L155L158

Gotcha.
The pipelineID approach works like a charm! Thanks so much!
DEBUG: checkout branch "updatecli_bump-elastic-stack-snapshot-8.6", based on "8.6" to directory "/var/folders/hn/j6gds1qx1f5bysfn0qp0t03c0000gn/T/updatecli/github/elastic/beats"
DEBUG:
DEBUG: No remote name "updatecli_bump-elastic-stack-snapshot-8.6"

and
DEBUG: checkout branch "updatecli_bump-elastic-stack-snapshot-main", based on "main" to directory "/var/folders/hn/j6gds1qx1f5bysfn0qp0t03c0000gn/T/updatecli/github/elastic/beats"

I created https://github.com/updatecli/updatecli/pull/1160 to support changing the default head branch with some suffixes. I don't know whether that could be even needed with this workaround.

Glad to hear that pipelineid is working, I still have an issue to document it https://github.com/updatecli/website/issues/542

I created https://github.com/updatecli/updatecli/pull/1160 to support changing the default head branch with some suffixes. I don't know whether that could be even needed with this workaround.

@dduportal and I are trying to find the time and the motivation to refactor the scm codebase of Updatecli as we have more scenario we would like to cover, so I can avoid touching that part then I prefer :D

Closing this issue as I think it solved by using pipelineid feel free to reopen if needed


Flows fail when using a non-advertised auth scope

Flows fail when using a non-advertised auth scope. The error is "For RunAs value User, unable to get tokens for scopes". Below are the steps to reproduce.

Create an app on developers.globus.org
Create an auth scope definition
Create the scope
Add the new scope and client id/secret to the action provider code
Running a single action using the new action provider will work
Create a flow that uses the action
Deploy the flow
Run the flow. This will trigger the error and prevent it from running

I've migrated this to an internal issue tracker. Thanks for reporting this, David!


MNT: Re-rendered with conda-smithy 2.1.0

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

It seems cython is not setup in CircleCI, hence bcf tests fail.
Also, the testing is still run using nose, and should probably be updated

This is not yet 1.2, this is 1.1.2 with corrected numpy dependency and Python 3.6. As it is passing the tests, merging.


[2.2.0rc1] undefined isOpera and isIE

Autocomplete is boken in 2.2.0rc1 since 61e54ee because of undefined variables isOpera and isIE in autocomplete.js
Lines 63 and 67
Lines 82 and 86
As @jpic said it should be backported from django admin, probably from here

Yep undef variable are easy to fix if you make a PR it will get in
Le 26 mai 2015 19:43, "Tatiana"<EMAIL_ADDRESS>a écrit :

Autocomplete is boken in 2.2.0rc1 since 61e54ee
https://github.com/yourlabs/django-autocomplete-light/commit/61e54eed163586566c2aa6f8fdd2b9c0c82ea483
because of undefined variables isOpera and isIE in autocomplete.js
Lines 63 and 67
https://github.com/yourlabs/django-autocomplete-light/blob/0f58157c86b8a0d9ee4008851f34d375d9eec447/autocomplete_light/static/autocomplete_light/autocomplete.js#L62-L68
Lines 82 and 86
https://github.com/yourlabs/django-autocomplete-light/blob/master/autocomplete_light/static/autocomplete_light/autocomplete.js#L82-L86
As @jpic https://github.com/jpic said it should be backported from
django admin, probably from here
https://github.com/django/django/blob/25e06bca57c068d4b9e9b4221b16a667ccb0d38e/django/contrib/admin/static/admin/js/core.js#L4-L5
—
Reply to this email directly or view it on GitHub
https://github.com/yourlabs/django-autocomplete-light/issues/425.

FWIW, we should have test coverage for JS that would happen.
See e.g. http://stackoverflow.com/questions/4189312/capturing-javascript-error-in-selenium.

I know that is why we should release our js as standalone jq plug-in
Le 26 mai 2015 22:27, "Daniel Hahler"<EMAIL_ADDRESS>a écrit :

FWIW, we should have test coverage for JS that would happen.
See e.g.
http://stackoverflow.com/questions/4189312/capturing-javascript-error-in-selenium
.
—
Reply to this email directly or view it on GitHub
https://github.com/yourlabs/django-autocomplete-light/issues/425#issuecomment-105655569
.

This should be fixed in 2.2.0rc2

Could you confirm this is fixed in current rc and close the issue ?
Thanks a lot @lucky-user

Closing as it's fixed in e61e8f0f9d9c1ee59869f814c52808e6083d9a40


Fix incorrect textHeight

LINE_HEIGHT + DESCENDER? Looks incorrect.

Did you check this against the text metrics demo?

He's right that LINE_HEIGHT + DESCENDER is incorrect, LINE_HEIGHT includes DESCENDER already (it was my fault, I was fiddling with it when playing with the text renderer). But the if statement following needs to be updated too. The whole thing should be:
th += __getLineMetric( i, ASCENDER ) + __getLineMetric( i, DESCENDER );
if ( i != numLines - 1 ) {
    th += __getLineMetric( i, LEADING );
}

Cool :) Just double checking that the intuition (which of course sounds right) matches the expected visual results.

TextMetrics is broken with/without that fix. I'm not sure why text is rendered here.

My fix was correct? Then there might be other places which we still need to fix...

@vroad the if statement following the line you fixed needs to be updated to account for leading. At present it is removing non-existing leading on the last line.

I've changed that too but TextMetrics is still broken.


Support for withCredentials on XMLHttpRequest object

Added ability to specify a withCredentials option on the XMLHttpRequest object so that CORS AJAX requests can be performed. Edited README.md accordingly.

Merged in https://github.com/angular-ui/ui-uploader/commit/222cb17763a0f7077e8861507fded3d8869bb619


SQLA - allow using column objects in column_list

Fixes #1036
I didn't get it working with model attributes from related models, but I made a unit test for it (and commented it out): https://github.com/flask-admin/flask-admin/compare/master...pawl:fix_sqla_column_list?expand=1#diff-527d8cf625fb5fc58b22130d4ded2201R274

I saw the TODO that was related to this: # TODO: Use SQLAlchemy "path-finder" to find exact join path to the target property
We might be able to consolidate a good amount of the SQLA code if we had a way to find the relative path from the ModelView's model to any given column (even if it's in a different model). Know of an easier way to do this?

Not really - for now it is required to use strings and specify full path. Like Model.foo.bar.

Justed tried a few different cases with this model setup:
class Car(db.Model):
    __tablename__ = 'cars'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    desc = db.Column(db.String(50))

class Tyre(db.Model):
    __tablename__ = 'tyres'
    car_id = db.Column(db.Integer, db.ForeignKey('cars.id'), primary_key=True)
    tyre_id = db.Column(db.Integer, primary_key=True)
    car = db.relationship('Car', backref='tyres')
    desc2 = db.Column(db.String(50))

'desc2'
'car.desc'
'Tyre.car.desc'
Tyre.car.desc
Tyre.desc2
Car.desc

column_list
:white_check_mark:
:white_check_mark:
:x:
:x:
:white_check_mark: (after these changes)
:x:

column_sortable_list
:white_check_mark:
:white_check_mark:
:x:
:x:
:white_check_mark:
:x: (appears sortable)

form_columns
:white_check_mark:
:x:
:x:
:x:
:x:
:x:

column_searchable_list
:white_check_mark:
:white_check_mark:
:x:
:x:
:white_check_mark:
:white_check_mark:

column_filters
:white_check_mark:
:white_check_mark:
:x:
:x:
:x: (filter appears, but returns no results)
:white_check_mark:

It's not a suprise that 'Tyre.car.desc' and Tyre.car.desc don't work. But I think we need to fix these:

form_columns doesn't work with 'car.desc'
form_columns  and column_filters don't work with Tyre.desc2

@mrjoes Is this one OK to merge too? I just fixed the merge conflict caused by #1191 and updated the documentation.

Nice! Can we get a release for this?


updated twitter signin to include all the data returned from twitter …

…to the java script realm
I have updated the library to include all the data returned from twitter after signin

thanks. I am still working on that, but obviously the twitter sdk for android is not giving the full name. Anyways  I am working on that, when I reach something will let you know.

I have added the support to android in the pull request

I am not into getting more info from Twitter, if you want, you can make subsequent calls. I'd preferred to keep it minimized.


ERC165 Cache Mixin

🎉 Description
While browsing EIP 820 I found code like
    function erc165InterfaceSupported(address _contract, bytes4 _interfaceId) constant public returns (bool) {
        if (!erc165Cache[_contract][_interfaceId]) {
            erc165UpdateCache(_contract, _interfaceId);
        }
        return interfaces[_contract][_interfaceId] != 0;
    }

    function erc165UpdateCache(address _contract, bytes4 _interfaceId) public {
        interfaces[_contract][_interfaceId] =
            erc165InterfaceSupported_NoCache(_contract, _interfaceId) ? _contract : 0;
        erc165Cache[_contract][_interfaceId] = true;
    }

which cleverly caches the results of 165 lookups.
We should

profile the gas gains
develop a mixin contract that can be added to ERC165Checker.sol

[ ] 🐛 This is a bug report.
[x] 📈 This is a feature request.

Closing this issue. The added complexity and correctness concerns around cache invalidation make me think this is not worthwhile to implement.


ceylon doc & compile cli causes loss of window focus

It looks like ceylon doc is now using awt libraries or something resulting in gui issues.
See https://github.com/ceylon/ceylon-spec/pull/1417 for a workaround.

This happens with ceylon compile too.

Err, this is quite a puzzle. Since when?

And how? We aren't doing anything GUI-like in the compiler, are we?

The offending commit is 3d8fb7445973a2b3081400747d7048479cd7687d.

Nice work in tracking that down @jvasileff !

Btw, what I don't understand is that the description says this even happens when compiling? Because this commit only seems to affect the doc tool.

Yes, I'm just as certain that the same happened with ceylon compile 21 days ago as I am that it is impossible to reproduce with ceylon compile today.

Note: this means that if you don’t have X installed on Linux, ceylon doc will crash with a nasty error:
Exception in thread "main" java.lang.UnsatisfiedLinkError: /usr/lib/jvm/java-8-openjdk/jre/lib/amd64/libawt_xawt.so: libXrender.so.1: cannot open shared object file: No such file or directory

unless you run headless (-Djava.awt.headless).

Is there something we can do about this? Otherwise I'll move it to 1.3

So either we find another implementation than Swing that can tell us the first line, or we fudge with -Djava.awt.headless in the ceylon script (likely wrong for ceylon run if running a GUI program), or we do it at runtime in CeylonDocTool (but it may break GUI programs that invoke this tool, like IDEs).
Frankly that only leaves changing the implementation but I don't want to add a new dependency for that. I think this should skip to 1.3.

If ceylon doc were written in Ceylon, this would be amazingly easy with @rohitmohan96's ceylon.markdown:
value document = parse(doc);
value firstParagraph = document.children.narrow<Paragraph>().first;
value html = renderHtml(firstParagraph);

but even in Java, it can't be that hard to isolate the first <p>...</p>.

Well it should be possible to use ceylon.markdown from Java as well, right?

Note that this appears to get you the first line, not the first paragraph. I suppose the first line can be something else than a paragraph.


Create CODEOWNERS and automate reviews

I've created an @NCAR/esds-core team that can be automatically requested for review on certain pages because of being listed in the CODEOWNERS file.
Do we want to subdivide this more into an infrastructure and content team?
And those teams own certain files -  for people who feel comfortable proofreading blog posts, but not commenting on changes to how the site works (I imagine most PRs are content related at this point).

@jukent I think having a "content" and an "infrastructure" team makes sense. i'm only qualified for the former :-)


Run tget in background

Is it possible to run tget as background process? I'm struggling to get this to work, following instructions such as https://stackoverflow.com/questions/954302/how-to-make-a-programme-continue-to-run-after-log-out-from-ssh
Is there a known limitation that holds tget from running as a background process?

Typically programs dont run as orphans/daemons unless you make it too. The details of it are too long to describe here, but the easy solution would be to have a parent process control tget. supervisord one such tool.
That said, the best solution for you would be something as follows

ssh into a remote machine
start screen or tmux
start tget
logout.

At a later time, when you ssh back in, you attach to the previous screen or tmux session.

I've got tmux running now, seems to be working fine. Thanks for explaining, even though it is not strictly related to tget. Cheers!


Should "transform" method make copies of embeddings in transformers?

Currently, there is a requirement that the "property" added to embeddings in a EmbeddingSet instance should be preserved when a transformer is applied on them. So far, so good. However, do we want to preserve the reference (if possible) or always make a copy? To make it clear, in AddRandom just a shallow copy is made (hence embset['foo'] is embset.transform(AddRandom())['foo'] == True; this is also applicable to the properties of embeddings); however, in all the other transformers a deep copy is made and then modified if necessary.
Does this even matter?

Thanks for raising this issue, @melindaloubser1 will get back to you about it soon✨
Please also check out the docs and the forum in case your issue was raised there too 🤗

I usually prefer to always make a copy because it is slightly easier to reason about. Things become immutable so less unintended side effects. I can't recall a very conscious on my part here besides this immutability point.

@mkaze What's your main concern here, performance or code-readability?

One concern is that the Embedding object is mutable and therefore making a shallow copy would keep the references. For example:
foo = Embedding(...)
bar = Embedding(...)
embset = EmbeddingSet(foo, bar)

assert embset['foo'] is embset.transform(AddRandom())['foo']

So any change in embset['foo'] would be reflected in embset.transform(AddRandom())['foo'] as well and vice versa.
Another concern, which is more general than the previous one, is the question: in which one of the operations performed on Embedding as well as EmbeddingSet objects the return value should be a deep copy instead of a reference? For example, EmbeddingSet.merge returns reference instead of copy:
from whatlies import Embedding, EmbeddingSet

foo = Embedding('foo', [1,2])
bar = Embedding('bar', [3,4])
buz = Embedding('buz', [5,6])
taz = Embedding('taz', [7,8])

embset1 = EmbeddingSet(foo, bar)
embset2 = EmbeddingSet(buz, taz)

m = embset1.merge(embset2)
assert m['foo'] is foo

m['foo'].vector
# array([1, 2])
foo.vector
# array([1, 2])

foo.vector[1] = 10
foo.vector
# array([ 1, 10])
m['foo'].vector
# array([ 1, 10])

I think in general, we should do deep copy. There's a performance hit when you do this, but the benefit is that there's way less unexpected moments. Pretty much why pandas is now completely dropping the inplace=True option.
I'm open to discussing this though. I've never experienced the performance hit noticeably nor have I ever been bitten by a "mutable surprise" (that I'm aware of).

@koaning Sure, I am also in favor of deep copy here (unless we change some of the assumptions in the entire library).
(just a quick note about pandas point you mentioned: as I see and understand it, that's partly true but not the whole story! The promise of inplace operations is to save some memory, however this is not happening properly in pandas for the most part).

I'm closing issues because ever since the project moved to my personal account it's been more into maintenance mode than a "active work" mode.


chore: upgrade gatsby and its dependencies

Related Ticket(s)
#1204
unblocks #1147
Description
This PR upgrades the project's gatsby version to v3.x as well as the gatsby-carbon-theme to v2.x (and all other Gatsby plugins)
due to the Gatsby Webpack version upgrade the changes to webpack's ignorePlugin in #1210 are also updated to the new plugin API

Seems to be still building! This is quite weird.

The build looks to have stalled out:

I'm going to restart it.


Evaluate HoA (Home Assistant)

Now there's a serious interest to "switch" to HAH https://github.com/130s/hut_10sqft/issues/542#issuecomment-864502241 as openHAB has been unsuccessful to me.
CoS

See what devices connect once intial HA setup is done.
See what one can do via Android app.
See how much https://www.home-assistant.io/integrations/ring/ can do or can't do.

rpi3-1. Looking at https://snapcraft.io/install/home-assistant-snap/ubuntu
sudo snap install home-assistant-snap

Being installed now.

Done.
home-assistant-snap (2021.10/stable) 2021.10.7 from Giaever.online (giaever-online) installed

I just had to do this in order to get the webpage at http://IPADDR:8123
$ sudo systemctl restart snapd

It already found a bunch of devices...Looks like these are found via IP network over LAN.

So far I like HoA very much. There are many things unclear but Lablace UI looks far more intuitive (than counterpart openHAB AFAIK given the last time I used it was in 2020), device integration is intuitive and much more inclusive (again than openHAB). Will continue with HoA.


Add await_many and related functions

For running many tasks in parallel, it is complicated to get a solid solution, for example:
pub fn parallel(make_tasks: List(fn() -> a), timeout: Int) -> List(a) {
  make_tasks
  |> list.map(fn(make_task) { task.async(make_task) })
  |> list.map(fn(t) { task.await(t, timeout) })
}

Works but the timeouts will be run in sequence which is not what you really want.
It has been mentioned in discord a few times too:

https://discord.com/channels/768594524158427167/768594524158427170/1287851279925907509
https://discord.com/channels/768594524158427167/768594524158427170/1079034165024014388

Some of these functions have been added


Few suggestions for extended documentation.

Thanks for this great tool! Really awesome one.
I'm able to stream files directly from files stored as blobs on cloud(Microsoft Azure) directly to zip file via. streaming http response. For backend server, we're using Django web framework and FileResponse(child class of StreamingHttpResponse) object is used to serve the zip file.
I'm write this issue to provide some suggestions:

A detailed document, ideally hosted on Read the Docs website.
Include examples of using this library in conjunction with multiple python libraries and/or frameworks.
In your main example, elaborate yield statements with examples for multiple yield calls within individual inner function calls:

def unzipped_files():
    modified_at = datetime.now()
    perms = 0o600

    def file_1_data():
        yield b'Some bytes 1'

    def file_2_data():
        yield b'Some bytes 1'
        yield b'Some bytes 2'

    def file_3_data():
        yield b'Some bytes 1'
        yield b'Some bytes 2'
        yield b'Some bytes 3'
        yield b'Some bytes 4'

    def file_4_data():
        for i in range(5):
            yield bytes(f'Some bytes {i}', encoding="utf-8")

Hi @harshithjv
Great to hear that this is useful to you, and thanks for the suggestions. To let you know we have made some changes in response:

We've moved the README contents to https://stream-zip.docs.data.trade.gov.uk/ . It's not on Read the docs, and it could use a bit of polish I suspect, but I think it's a step forward

I've put your example in what is now the getting started section https://stream-zip.docs.data.trade.gov.uk/getting-started/

On having more examples, I think for now I'll leave it to you. If you (or others reading this) would like to raise a PR against the new documentation at https://github.com/uktrade/stream-zip/tree/main/docs with examples, you're very welcome, but in the meantime, I think I'll close this issue.
Thanks,
Michal

Hey @michalc ,
Thanks for response and also considering my suggestions. Very pleased that you've implemented my suggestions. The document looks very neat. Great work.
Cheers!🍻


Chatbot to intract with user with FAQS

Create a chatbot to answer some general faq about our website which is a great feature

@Sawan-Kushwah what would be the chatbot interact about?
And how would it be trained?

@Krishi1211  we can trained on predefined rule or ai ?
what you preffer

Would prefer Ai

@Sawan-Kushwah assigned


Display last event sessions on home screen

I've added the last event sessions to the home screen for faster access.

Please test it espacially with schedule and update every one minute stuff. And if you have a smart idea on how to populate the rows (HomeFragment:89) in an easier and extensible way you're welcome :D
Let me know what your thoughts are :)

Hi, sorry for late reply, I am not sure about this feature itself, I think it is becoming a bit out of control on this part in terms of the simplicity I would like to keep.

Hi, np. I like the idea of having fast access directly from the home screen. But if you want to keep it simple, we can remove the PR.
For sure I will create another one with the requestFocus for the teaser image because it does not have the focus when I start my app 😅

I often watch the replay of the qualification or the race when I don't have time watching live. I would like to have fast access to current live session or quali and race replay of the last race. So 3 items would be enough for me. Its more important than old seasons. Therefore this pull request has my support.
I thank all of you for your great work :)


Multi-Monitor DPI scaling like LittleBigMouse

Description of the new feature / enhancement
Mouse movements between monitors should be aligned but aren't when the resolution/DPI is different between the monitors.
App window sizes are also affected by the difference (see pic).  However, fluid mouse movement is my concern.

I've heard that LittleBigMouse on GitHub addresses this but I'd like to see the feature incorporated in PowerToys.
Scenario when this would be used?
Only when a user has multiple monitors that aren't using the same resolution.
Supporting information
No response

Unfortunate for you they don't want to do it here and Windows team just don't pay attention to this issue. https://github.com/microsoft/PowerToys/issues/1226#issuecomment-1636700423

/dup https://github.com/microsoft/PowerToys/issues/1226


[Event Request] Codeunit::"Correct Posted Purch. Invoice" - Function UnapplyCostApplication - OnBeforeUnAppyCostApplication

We like to request the following Event:
Object: Codeunit::"Correct Posted Purch. Invoice"
Function: UnapplyCostApplication
Publisher Event: OnBeforeUnAppyCostApplication
Reason: To implement custom business logic
Where is the event placed:
local procedure UnapplyCostApplication(var ItemJnlPostLine: Codeunit "Item Jnl.-Post Line"; InvNo: Code[20]): Boolean
var
TempItemLedgEntry: Record "Item Ledger Entry" temporary;
TempItemApplicationEntry: Record "Item Application Entry" temporary;
IsHandled: Boolean;
begin
IsHandled := false;
OnBeforeUnAppyCostApplication(InvNo, IsHandled);
if IsHandled then
exit(false);
FindItemLedgEntries(TempItemLedgEntry, InvNo);
if FindAppliedInbndEntries(TempItemApplicationEntry, TempItemLedgEntry) then begin
repeat
ItemJnlPostLine.UnApply(TempItemApplicationEntry);
until TempItemApplicationEntry.Next = 0;
exit(true);
end;
end;
Event Code:
[IntegrationEvent(false, false)]
local procedure OnBeforeUnAppyCostApplication(InvNo: Code[20]; var IsHandled: Boolean)
begin
end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability.


Port the loss scale optimizer to keras-core

We have been seeing some bad training runs in keras-nlp with a LLM running under mixed precision, and I think at least one of the missing pieces is scaling the loss. Scaling the loss up by 1k appeared to bring it in line with full precision.
https://github.com/keras-team/keras/blob/master/keras/mixed_precision/loss_scale_optimizer.py
This is a good explainer for why we need it ->
https://docs.nvidia.com/deeplearning/performance/mixed-precision-training/index.html#training

@fchollet does adding this make sense to you?
Also any thoughts on the general approach, does an optimizer wrapper that takes an inner optimizer still sound like the approach we should go with?

Do you think this is something we should do as a base class optimizer argument, or as a separate wrapper class (like we had before)? For backwards compat, perhaps it's best if we just bring back the class.

The TF LossScaleOptimizer is pretty complex (link), so I feel a separate class would be better. Also I feel the complexity could be reduced in the new implementation.

Definitely removing complexity would be great! Current implementation has a lot going on, metaclasses, etc.
In keras-core, current optimizer classes do not deal with loss directly. Would we need to change the optimizer interface to allow loss scaling? And if so, should we handle this in Trainer instead of Optimizer?
In terms of exposing, part of me was wondering if we could do something simpler, like an option. E.g. loss_scale="auto" (dynamic) or loss_scale=128. (fixed). But if we do want to support the full set of options currently provided by LossScaleOptimizer (setting how often the scale is adjusted, setting the initial scale), then a class probably does make sense.
First thing could be to make some sort of prototype, and see if this requires changes to our optimizer/trainer interfaces.

In keras-core, current optimizer classes do not deal with loss directly. Would we need to change the optimizer interface to allow loss scaling?

Presumably you can just override apply and scale up the gradients? That should be the same effect as scaling up the loss?
If you really need to scale up the loss itself for whatever reason, we'd need to make it a Model option applied in compute_loss.
Either way it sounds like 3 lines of code?

Presumably you can just override apply and scale up the gradients? That should be the same effect as scaling up the loss?

I don't think so. I think the important thing is to scale up the loss before backprop. In tf, you are scaling up the loss inside the tape. By blowing up the loss to a larger range of values, before backprop, it means your gradients can avoid getting "washed out" to all zeros due to loss of precision. I think washed_out_gradients * loss_scale would still be washed out. Not really sure, that was my quick read of it today.
I think roughly what we need in tensorflow pseudocode is this...
def train_step(self, data):
    x, y, sample_weight = unpack_x_y_sample_weight(data)

    with tf.GradientTape() as tape:
        y_pred = self(x, training=True)
        loss = self.compute_loss(x=x, y=y, y_pred=y_pred, sample_weight=sample_weight)
        # NEW: scale the loss *before* computing gradients.
        loss = loss * self.scale

    trainable_weights = [v.value for v in self.trainable_weights]
    gradients = tape.gradient(loss, trainable_weights)

    # NEW: update the loss scale. Only apply gradients if they are finite, otherwise skip.
    if is_fininte(gradients):
        self.counter += 1
        if self.counter > self.update_frequency:
            self.counter = 0
            self.scale *= 2
        self.optimizer.apply_gradients(zip(gradients, trainable_weights))
    else:
        self.counter = 0
        self.scale /= 2

    return self.compute_metrics(x, y, y_pred, sample_weight=sample_weight)

We need a new variable for a counter. We need to scale loss before computing gradients. And we need to check our gradients to figure out how to update our dynamic scale each step.

Taking into account backwards compatibility, I think we should probably bring back keras.mixed_precision.LossScaleOptimizer? We can always have model.compute_loss check for a loss_scale parameter on the optimizer to optional scale the loss before computing gradients -- though that's a big too spaghetti for my taste.

Makes sense to me!
I do think that will require a minor tweak to the optimizer interface. Either bring back something like the compue_gradients(loss, var_list, tape) in tf.keras (this is how LossScaleOptimizer works today). Or add something much simpler method to the interface like loss = optimizer.get_scaled_loss(loss) and stick that in compute_loss. The latter seems simpler to me.
Commented the tf train step below...
    def train_step(self, data):
        x, y, sample_weight = data_adapter_utils.unpack_x_y_sample_weight(data)

        with tf.GradientTape() as tape:
            y_pred = self(x, training=True)
            loss = self.compute_loss(
                x=x, y=y, y_pred=y_pred, sample_weight=sample_weight
            ) # Loss scaled HERE.

        if self.trainable_weights:
            trainable_weights = [v.value for v in self.trainable_weights]
            gradients = tape.gradient(loss, trainable_weights)
            self.optimizer.apply_gradients(zip(gradients, trainable_weights)) # The rest handled HERE.

        return self.compute_metrics(x, y, y_pred, sample_weight=sample_weight)

Two things...

I think the 90% use case here is not constant scaling the loss, but auto scaling the loss. Probably LossScaleOptimizer can be the place that lives. I think the scale_loss() setup you propose works, but in the case of LossScaleOptimizer the scale will be dynamically updated, based on the presence of nans in the gradient during apply().
I think we need to record the "unscaled loss" in the _loss_tracker, otherwise the reported loss will scare everyone off. But we need to scale the loss inside the GradientTape/jax.grad function. That might require some trainer specific changes. E.g. move the _loss_tracker update in jax inside the compute_loss_and_updates before scaling. And in tf move the _loss_tracker update inside the tape. Would that work?

Iterating on the proposal...

Base Optimizer has a scale_loss() method and a loss_scale_factor=1.0 argument.
Trainer has a scale_loss() method which defaults to self.optimizer.scale_loss if self.optimizer exists and is a Keras optimizer.
The method is called inside train_step after updating the _loss_tracker (backend specific).
keras.mixed_precision.LossScaleOptimizer will update an internal scale variable up and down during apply, and use that to change the scale_loss() output.
If the precision policy is mixed, Trainer will automatically wrap the passed optimizer in a LossScaleOptimizer with default options (should we add a toggle for this?)

What about this?

SGTM!

Just to ensure I understand -- this will now behave as intended without the additional lines of code i.e.:
optimizer = keras.optimizers.Adam()
- optimizer = keras.mixed_precision.LossScaleOptimizer(optimizer)
model.compile(optimizer=optimizer)

and then

loss = loss_fn( ... )
- scaled_loss = optimizer.get_scaled_loss(loss)
- scaled_grads = tape.gradient(scaled_loss, trainable_weights)
- gradients = optimizer.get_unscaled_gradients(scaled_grads)

+ gradients = tape.gradient(loss, trainable_weights)
optimizer.apply_gradients(zip(gradients, trainable_weights))

and in the meantime, scaled_loss can be multiplied by 1,000?

Hi @mattdangerw @fchollet
Is there any update on this issue?
Loss scaling plays a crucial role in mixed precision, which is important for training large models.
Would a contribution be appreciated? If yes, I'm willing to work on the PR.
Thanks!

@james77777778 sorry for the delayed reply here! Missed this.
I started working on this literally the day before you messaged (when I assigned myself). But should have been checking for messages more! We may end up going with the version I put up because it is backward compatible with tf.keras. E.g. it gives a compatible signature with https://www.tensorflow.org/api_docs/python/tf/keras/mixed_precision/LossScaleOptimizer
But very much appreciate the contribution nonetheless!


fix some issues with drawing a view in standard mode

Hi,
This fixes some issues where a view is incorrectly drawn while editing in standard mode:

Deleting characters on the last line of a buffer visually duplicated the last character in the line
Deleting lines when the height of the buffer was shorter than the height of the UI visually duplicated the last line of the file
There were several problems with editing lines longer than the width of the UI (for example, shortening a line would never get rid of the "→" indicator at the end).

There are still some problems which I notice when editing unicode characters. It looks like the GapBuffer<u8> is being treated as an array of codepoints rather than an array of bytes. Of course, this doesn't work for codepoints greater than 255. Is the gap buffer meant to store codepoints? If so, would it be a good idea to change it to a GapBuffer<char>?
I've also edited the Makefile to work when cargo isn't located in /usr/local/bin.

I'm not @gchp, but thanks for this!
Regarding the u8 vs char thing; yeah it's sort of a problem inherent to dealing with unicode.
The char type is (IIRC) always large enough to hold any valid codepoint, and thus always takes up 4 bytes of space.  In the common case of editing mainly ASCII text, that ends up being a lot of wasted space, hence the use of UTF-8.  The standard Rust String works the same way, using a Vec<u8> and adding a bit of processing overhead to ensure Unicode correctness.
The problem with UTF-8 is that buffer/byte indices no longer map 1-1 onto character/grapheme indices, which makes finding the byte offset of the n-th character in the buffer a non-trivial operation.
Iota's in a kind of awkward place right now where some places want to index the buffer by byte offsets, and other places want to index by character offsets.  I think this is what you were seeing.
Ideally, I think we probably want to stick with a UTF-8 byte buffer, and have the data structure provide clearer accessors for byte/codepoint/grapheme level indexing.  There's been some discussion of ropes and finger-trees which are both fairly appealing.

@crespyl Thanks for explaining! I'm interested in people's thoughts about what kind of data structure will be used.
In the "gitter" thing in the readme, someone mentioned that using a persistent data structure would simplify undo/redo operations. Unfortunately, persistent ropes are hard to implement (I think) because the number of characters underneath each node is typically memoized in the node, meaning that when a leaf is updated each node between it and the root must be mutated, resulting in a lot of copying. I think it could be interesting to implement a piece table in rust like this. I find it difficult to write efficient data structures in rust because of it's lack of C-like pointers outside of unsafe blocks. I probably just need to practice more. :P
Another thing to consider is having the data structure store the data line-by-line, or otherwise somehow being able to look up text by line number in constant time. This would probably be very efficient while doing vim-like operations such as "delete entire line" or "go to first non-whitespace character in previous line".

Awesome, thank you for this!

Ah yeah, the utf8 stuff is on-going. @crespyl pretty much covered where we're at right now! Investigating possible solutions. Honestly, its a first for me, so its taking me a while to get it figured out, but we will get there! All comments/suggestions welcome in the mean time, though.
Thanks again for this!


Make npm test work on a fresh clone

These commits allow us to run
git clone https://github.com/covidatlas/li
cd li
npm install
npm test

and have the test suite run successfully, as is customary for Node packages.
I've also amended the instructions to use this workflow; they're a bunch shorter now as a result. I believe most people tend to have origin as the upstream remote, and some other name (joliss for me) for their forks. This is what I've been doing, and all Node packages I've encountered so far have been amenable to this workflow.

Wait. Renaming tests/integration/shared/sources/gitdiff.json.example to tests/integration/shared/sources/gitdiff.json is going to be a nuisance for you, @jzohrab, since you're not using "origin/master", so it'll always show as modified. I'll have to come up with a better way to do this.

Okay, it now simply uses origin/master as a default when there's no gitdiff.json file. This should be better.
The tests for this PR are red only because of #588, but other than that the test suite passes. So this PR is ready for review now!

Odd that the tests failed ... they had been working, I added those checks b/c the old code wasn't double-checking those cases.

Thanks @joliss!


add pause and stop buttons

Value Proposition
As a user, I want to pause or stop the timer of the ongoing task so that i can have a break or focus on other tasks.
Description

Acception Criteria

[ ] displays pause and stop button on the timer page
[ ] when the pause button is clicked, the timer stops counting down and the pause button changes to a start button
[ ] when the stop button is clicked, back to homepage

Tasks

[ ] create a new branch for this feature
[ ] add 2 Image components in the timer page
[ ] add a new function handleTogglePause and onClick event listener for the pause button, when the pause button is clicked, the state changes and the timer stops counting down, when the pause button is clicked again, the timer starts counting down
[ ] add onClick event listener, router and handleStop function for the stop button, when the stop button is clicked, return to homepage

Hello Mengzhen,
your timer is a super feature and I'm looking forward to when it is complete.
Your description of the tasks is very detailed. I love that, too. It shows that you know what's to be done.
Very good!


fix: updated the website in partially progress.

fix: updated the website in partially progress.

partially progress


fix: Run terraform_tfsec only on terraform code changes

Put an x into the box if that apply:

[ ] This PR introduces breaking change.
[x] This PR fixes a bug.
[ ] This PR adds new functionality.
[ ] This PR enhances existing functionality.

Description of your changes
Fixes #569
How can we test changes
repos:
  - repo: https://github.com/antonbabenko/pre-commit-terraform
    rev: 3fff91fc5c4237be669f9f1e2bfac1c3f089ac8d
    hooks:
      - id: terraform_tfsec

This PR is included in version 1.83.3 :tada:


Add Sentry

I have just developed a backend using this boilerplate and thought that it'll be useful to add Sentry. What do you guys think?

test