Is it possible to extract the functionality into a nuget package?

I was wondering how much of the indexing functionality is in the 'core' orleans code, and how much could be extracted to a packge. It would make this functionality easier to consume if it was an 'optional extra' on top of the core orleans codebase.

Agreed. Maybe the dependent abstractions could be PR-ed into the main Orleans code?

/cc @mdashti

Was gonna ask for this just now.

I was going to look at it once I finish the new telemetry APIs.
The big challenge now is to understand the code and make it injectable thru facets and not depend on a base class.

@richorama There's only a small amount of change to the Orleans runtime. Almost all of it runs at app level.
@mdashti, can you please summarize these changes to the runtime?
@galvesribeiro, yes, it should be made injectable thru facets. We developed the indexing prototype over a year ago, before the decision was made (last January) to refactor the transaction mechanism using injectable facets.

@ph1ll Yep, I'll look at it

@richorama, thank you for bringing up this issue. As @ph1ll mentioned, we had this in our mind from the very beginning. These are three clean commits that should be included in the core:

72fd56b261bc542fe947c0436e5e915b4522c425
d4df9507fafdb3cdb9e8cea876059b1ba68c5422
e4c3479b4c9f8cb438a629611c36dab729504b39

The rest is completely separated into the OrleansIndexing sub-project.

FYI, my GitHub username is @philbe, not @ph1ll.  It looks like this got started via an autocomplete error by @galvesribeiro.

Ops, my bad @philbe  :)

@Arshia001 @richorama @creyke @galvesribeiro
I have started working with a developer to port the indexing system to Orleans 2.0, to replace the base class by facets (i.e., dependency injection), and to obtain consistency between grains and indexes using transactions (in place of or in addition to the current workflow protocol).

@philbe
If you are still progressing with Indexing, I can offer some time to help even if it is only writing tests, documentation, sample implementations

@jamiemitchellconsultants
CC: @kirkolynyk, who is doing the port to Orleans 2.0
Thanks for the offer, but we're not far enough along for that -- still working on getting the code to run on 2.0. I'll report on the project's status next week.

I'm very interested in this project, let me know if you need any help.

@philbe any updates?

@TedHartMS has finished porting the implementation to Orleans V2. He's currently doing a final round of tests, after which we'll publish it as a new project on GitHub. (There were too many changes to Orleans to rebase the current Orleans.Indexing on Orleans V2.)  Sorry for the delay. It took longer than we expected because Orleans V2 doesn't expose all of the APIs that are needed by Orleans.Indexing, so we've been iterating with the Orleans team to agree on a minimal the number of changes that will eventually be needed to the Orleans runtime.

@philbe any updates?

@KSemenenko We have a version that runs on Orleans V2. I expect we'll be publishing it early next week.

@KSemenenko @jamiemitchellconsultants @Arshia001 @richorama @creyke @galvesribeiro @mdashti @
@TedHartMS has published a new version of Orleans.Indexing that works on Orleans V2. It’s a new repo, OrleansV2.Fork.Indexing. Given the amount of churn in Orleans and Orleans.Indexing, it didn’t make sense to go through the effort of rebasing Orleans.Indexing and then merging in the changes.
OrleansV2.Fork.Indexing is a fork of Orleans V2 because it depends on some changes to the Orleans runtime. We think these changes are not controversial and will be accepted as soon as Sergey’s team has time. After they’re in Orleans, we’ll create another repo, OrleansV2.Indexing that uses the Orleans NuGet, and then delete OrleansV2.Fork.Indexing.
There’s still one missing feature to be added: DirectStorageManagedIndex, which uses Document DB (Cosmos DB). @TedHartMS needs to submit a pull request for Orleans.CosmosDB to get it working.
Next, we’ll be working on replacing the inheritance-based API (IIndexedGrain) by a facet-based interface, as was done for transactions, and then implement transactional indexing

Best news so far this week, thanks!

Thank you @philbe  !! it's just amazing news!

Is there any news? when will it be available officially? @philbe

My question as well. I've been using my own (naive) index system based on buckets (also implememted as grains), but I'd love an official solution.

@Arshia001 @KSemenenko  I have also been using my own naive index based on buckets implemented as grains... any appetite for sharing code ?

@jamiemitchellconsultants why not... Don't expect too much though, I didn't really put that much thought into the code; I've been hoping for an official release of indexing ever since.

It is a bit of a hatchet job...cutting out application logic... but my index grains are here https://github.com/jamiemitchellconsultants/Index
IndexInterface and IndexImplementation do the work.
Generally for a grain that implements a domain object.... e.g. Customer
I have CustomerGrain, CustomerIndex and CustomerManager
There is quite a bit of boilerplate ...mostly generated by T4 templates (not included)
My next step is to serialise Linq so that a client can send a predicate to the grain

@KSemenenko @Arshia001 @jamiemitchellconsultants See my comment here

I know it's been 2 days and ~10 hours, I was having laptop problems... anyway, here's mine. There's unique and non-unique, and there's O(1) buckets.

Also, @philbe, you mention writing tests for the current code in your comment... I would be interested in doing that if time allows, given a few pointers on where to start and what to do.

@Arshia001 @jamiemitchellconsultants let's help?
https://github.com/dotnet/orleans/issues/3413#issuecomment-450696037

With pleasure.


Support for "path_style" s3 hosts with a flag for MinIO, DigitalOceanSpaces, and other software that support S3 API but not the default S3 virtualhost bucket names in the URL

Support for "path_style" s3 hosts with a flag for MinIO, DigitalOceanSpaces, and other software that support S3 API but not the default S3 virtualhost bucket names in the URL
https://github.com/fog/fog-aws/blob/b073ba81288af57bcce9144bdec4a77f5c6317b4/lib/fog/aws/storage.rb#L330
https://github.com/fog/fog-aws/issues/516

Even nginx has support for this: https://hub.docker.com/r/nginxinc/nginx-s3-gateway (scroll to path style section)
Also, I found a way to enable this for the people in the future who searches for this.
I found a flag that exists for this but this gem is using this in its rspec/testing files. However, it works in the code too:
config/initializers/carrierwave.rb
CarrierWave.configure do |config|
    config.aws_credentials = {
      endpoint:         "aaa",
      access_key_id:   "aaa",
      secret_access_key: "aaa",
      region:          "aaa",
      force_path_style: true # right-here
    }
end

What does that OFFICIALLY mean?
If what you're talking about is just documentation, please go ahead with opening a PR.


[Snyk] Upgrade knex from 2.4.1 to 2.4.2

This PR was automatically created by Snyk using the credentials of a real user.Snyk has created this PR to upgrade knex from 2.4.1 to 2.4.2.
:information_source: Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project.

The recommended version is 1 version ahead of your current version.
The recommended version was released 21 days ago, on 2023-01-22.

Release notes

Package name: knex

2.4.2 - 2023-01-22

2.4.1 - 2023-01-18

    from knex GitHub release notes

Commit messages

Package name: knex

0d27bcb Update changelog
73a3e33 Prepare to release 2.4.2
9a6c5ba Additional lint checks before publishing (#5459)

Compare

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open upgrade PRs.
For more information:
🧐 View latest project report
🛠 Adjust upgrade PR settings
🔕 Ignore this dependency or unsubscribe from future upgrade PRs

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1167

Relevant Lines:
1951

💛  - Coveralls


Resolvers on user types?

Interesting approach!
I can't find in the examples: does KGraphQL support resolvers on user types? (not just query and mutation)

Thanks! Unfortunately, KGraphQL does not support other base objects than Query and Mutation. I'm wondering, what's the use case for these?

Let's say in the Star Wars example, friends association needs pagination. Is this doable with KGraphQL?


update go to 1.18

Update the go version to 1.18
Refs:

https://github.com/stolostron/backlog/issues/22476

Signed-off-by: Gus Parvin<EMAIL_ADDRESS>

@gparvin This one also needs a followup PR to adjust the Go version in the kind.yml GitHub Action.


Urgent commit to include License

We sort of need to commit this in a hurry because we need the license.

Checked the pull request... Looks good.

I will then merge


ninjas2: init at 0.2.0

Motivation for this change
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Fixed conflicts.

ofBorg is failing; why?

@AndersonTorres I missed that, good catch!
Fixed now.


formats are ignored in workflow

Hi community,
I've noticed that the formats input parameters are ignored.
I can try every parameter I want, but it always just exports the files as svg files.
See output:

      - name: Render draw.io files
        uses: docker://ghcr.io/racklet/render-drawio-action:v1.0.3
        id: render
        with: # Showcasing the default values here
          formats: "png,pdf,svg" # 'png'
          sub-dirs: 'static/drawio/'
          # files: '' # unset, specify "dest-file:src-file" mappings here
          log-level: 'debug'

Hi :wave:! Sorry for not noticing this issue earlier!
Thanks for using this project.
Hmm, I don't know really what's going on there. The latest workflow run using more or less an exactly similar configuration gets it right. I would assume something is wrong with the propagation of the GH Action environment variable to the running process. Can you expand the following Run <docker image> paragraph in the log like follows?

Hi @luxas,
sorry for the late reply. It works now :). Don't ask me why.
Thank you for reaching out to me!

@luxas for me the formats are being ignored as well.
Using the example config from the README, just replacing the formats with jpg:

i have the same problem like @jneidel


Fix old markets

Old markets that used to have a scoringRule of CPMM are now not displaying correctly because their scoringRule is now LSMR but they don't have a neoPool

Is this fixed via https://github.com/zeitgeistpm/zeitgeist-subsquid/pull/508 ?


move to dev version

Current Behaviour

Proposed Changes
This PR moves our Ockam crates to a -dev version for continuous integration. With this change, we can test-publish crates using a local cargo registry, Estuary, for every merge to develop.

Checks

[x] All commits in this Pull Request are signed.
[x] All commits in this Pull Request follow the Ockam commit message convention.
[x] I accept the Ockam Community Code of Conduct.
[x] I have accepted the Ockam Contributor Licence Agreement by adding my Git/Github details in a row at the end of the CONTRIBUTORS.csv file in a separate pull request to the ockam-network/contributors repository.

Looks great! Let's improve the commit message to describe what's in the diff a little bit better.
build(rust): change all crates to `-dev` version

1. Update create versions to -dev
2. Update Cargo locks, which also bumps dependency patch versions

Updated. Thanks.

Merged https://github.com/ockam-network/ockam/pull/2338


How to include a dependency that has a non-trivial build script

Is it possible to add a library like mach-glfw as a dependency?
Trying to add it like this:
root_dependencies:
  - src: git https://github.com/hexops/mach-glfw
    name: glfw
    main: src/main.zig

But getting these errors when attempting to compile:
$ zig build run
.\.zigmod\deps\git\github.com\hexops\mach-glfw\src\c.zig:18:15: error: C import failed
pub const c = @cImport({
              ^
.\.zigmod\deps\git\github.com\hexops\mach-glfw\src\c.zig:18:15: note: libc headers not available; compilation does not link against libc
pub const c = @cImport({
              ^
.\zig-cache\o\ec535826bac66f941930c9f5a2066914\cimport.h:2:10: note: 'GLFW/glfw3.h' file not found
#include <GLFW/glfw3.h>
         ^

Normally adding mach-glfw works like this:
// build.zig
const glfw = @import("libs/mach-glfw/build.zig");

// in fn build
exe.addPackagePath("glfw", "libs/mach-glfw/src/main.zig");
glfw.link(b, exe, .{});

maybe, zigmod does support adding c code, headers, and system libraries but those need to be defined in the zigmod.yml as well. or you define it as a build_dependencies: and then call the .link function

Oh, wow. It actually seems to work. Here's how I've done it:
In zigmod.yml:
root_dependencies:
  - src: git https://github.com/hexops/mach-glfw
    name: glfw
    main: src/main.zig
build_dependencies:
  - src: git https://github.com/hexops/mach-glfw
    name: glfw
    main: build.zig

In build.zig:
deps.imports.glfw.link(b, exe, .{});


Custom Weight Initialization Effect

I noticed you use code for custom weight initialization:
https://github.com/d-li14/ghostnet.pytorch/blob/83274b7d33580b07d6629415570e894faada7b64/ghostnet.py#L162-L169
I've not seen this before anywhere. Is there a reason behind this specific strategy? Do you know the effect this has on the training, and have you compared this with the pytorch default weight initialization? Thank you!

The same as https://github.com/iamhankai/ghostnet.pytorch/issues/24


What is options.rowHeight for?  (potential bug with rowHeight === 'auto')

Trying to understand what options.rowHeight is for.  From the Tall Rows example I expected it to set the height property or set a minimum row height.  I see that it's also used for paging and scrolling.
I found this code in ADT:
{
    key: "rowStyles",
    value: function rowStyles(row) {
        var styles = {};
        if (this.options.rowHeight === 'auto') {
          styles.height = this.options.rowHeight + 'px';
        }
        return styles;
    }
}

Setting height to 'autopx' doesn't make any sense.  Also if rowHeight === 'auto' I'm pretty sure the paging calculations will blow up.  I confirmed by using 'auto' on the Virtual Paging demo and it caused that sample to completely hang.
A potential fix for this would be:
if (this.options.rowHeight > 0) {
  styles.height = this.options.rowHeight + 'px';
}

Pretty sure the code above has a bug but would also like to know what rowHeight is intended to do.

Row height is used to calculate virtual scroll page offset. For virtual it can NOT be auto.
We should probably add some messaging around this.

then the comparison to 'auto' should be a bug, right?

If row height is only for virtual scrolling offset should the column height be controlled via CSS?

Auto does mean it calcs by CSS. It explicitly does NOT set it then.
No, not really a bug just better docs.

thanks for clarifying that definitely wasn't obvious.


Upgrade to react v15

As discussed in #17
Test suite passed with both 0.14.x and 15.0.1
Unfortunately I'm not in a position where I have a large test suite to attempt to upgrade (I'm just about to introduce unexpected-react) so any help on that front would be awesome.
I had to introduce peer dependencies on both react-dom (for findDomNode) and react-addons-test-utils.
Only "real" change was in src/tests/unexpected-react-deep.spec.js. The component no longer has a obj.constructor.name equal to 'RenderedReactElement'. I hope the test update is adequate.
From a clean npm installs output it looks like there's another upgrade to be made in unexpected-htmllike-reactrendered-adapter, as it has a peerDep for react in 0.13 or 0.14 too.
├─┬<EMAIL_ADDRESS>│ └── UNMET PEER DEPENDENCY<EMAIL_ADDRESS>|| ^0.14.0

Is that also something you are bold enough to outsource? :-)

This is awesome, thank you. I've left a comment on one test, which I think needs fixing, but otherwise looks good.
So we'll need a v2 of unexpected-htmllike-reactrendered-adapter too.  That should be fairly easy.

Sent a PR for that too https://github.com/bruderstein/unexpected-htmllike-reactrendered-adapter/pull/1

Got it.
Changing the test to the following works:
        it('identifies a rendered ES6 component', () => {

            const component = TestUtils.renderIntoDocument(<MyDiv className="foo" />);
            expect(component, 'to be a', 'RenderedReactElement');
        });

Any chance you could do this, then we can get this merged?

Fixed as suggested and I can confirm that it passes :-)
The PR https://github.com/bruderstein/unexpected-htmllike-reactrendered-adapter/pull/1 should be included too to avoid the peerDep warning.

Awesome work!


[bug]: pull access denied for local/invokeai, repository does not exist or may r...

Is there an existing issue for this problem?

[X] I have searched the existing issues

Operating system
Linux
GPU vendor
Nvidia (CUDA)
GPU model
RTX A2000
GPU VRAM
6 GB
Version number
N/A
Browser
Firefox 128.0
Python dependencies
N/A
What happened
Cloned the github repository using git clone https://github.com/invoke-ai/InvokeAI. Made a backup copy of the docker-compose.yml. Set the .env file per the instructions from here (https://github.com/invoke-ai/InvokeAI/tree/main/docker). Got the error message "pull access denied for local/invokeai" using the "default" docker-compose.yml file.
Here is my docker-compose.yml file:
# Copyright (c) 2023 Eugene Brodsky https://github.com/ebr

x-invokeai: &invokeai
    image: "local/invokeai:latest"
    build:
      context: ..
      dockerfile: docker/Dockerfile

    # Create a .env file in the same directory as this docker-compose.yml file
    # and populate it with environment variables. See .env.sample
    env_file:
      - .env

    # variables without a default will automatically inherit from the host environment
    environment:
      # if set, CONTAINER_INVOKEAI_ROOT will override the Invoke runtime directory location *inside* the container
      - INVOKEAI_ROOT=${CONTAINER_INVOKEAI_ROOT:-/invokeai}
      - HF_HOME
    ports:
      - "${INVOKEAI_PORT:-9090}:${INVOKEAI_PORT:-9090}"
    volumes:
      - type: bind
        source: ${HOST_INVOKEAI_ROOT:-${INVOKEAI_ROOT:-~/invokeai}}
        target: ${CONTAINER_INVOKEAI_ROOT:-/invokeai}
        bind:
          create_host_path: true
      - ${HF_HOME:-~/.cache/huggingface}:${HF_HOME:-/invokeai/.cache/huggingface}
    tty: true
    stdin_open: true

services:
  invokeai-cuda:
    <<: *invokeai
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: 1
              capabilities: [gpu]

  invokeai-cpu:
    <<: *invokeai
    profiles:
      - cpu

  invokeai-rocm:
    <<: *invokeai
    devices:
      - /dev/kfd:/dev/kfd
      - /dev/dri:/dev/dri
    profiles:
      - rocm

And here is my .env file:
## Make a copy of this file named `.env` and fill in the values below.
## Any environment variables supported by InvokeAI can be specified here,
## in addition to the examples below.

## INVOKEAI_ROOT is the path *on the host system* where Invoke will store its data.
## It is mounted into the container and allows both containerized and non-containerized usage of Invoke.
# Usually this is the only variable you need to set. It can be relative or absolute.
INVOKEAI_ROOT=~/invokeai

## HOST_INVOKEAI_ROOT and CONTAINER_INVOKEAI_ROOT can be used to control the on-host
## and in-container paths separately, if needed.
## HOST_INVOKEAI_ROOT is the path on the docker host's filesystem where Invoke will store data.
## If relative, it will be relative to the docker directory in which the docker-compose.yml file is located
## CONTAINER_INVOKEAI_ROOT is the path within the container where Invoke will expect to find the runtime directory.
## It MUST be absolute. There is usually no need to change this.
# HOST_INVOKEAI_ROOT=../../invokeai-data
# CONTAINER_INVOKEAI_ROOT=/invokeai

## INVOKEAI_PORT is the port on which the InvokeAI web interface will be available
INVOKEAI_PORT=9090

## GPU_DRIVER can be set to either `cuda` or `rocm` to enable GPU support in the container accordingly.
# GPU_DRIVER=cuda #| rocm
GPU_DRIVER=cuda

## CONTAINER_UID can be set to the UID of the user on the host system that should own the files in the container.
## It is usually not necessary to change this. Use `id -u` on the host system to find the UID.
# CONTAINER_UID=1000

Your help is greatly appreciated.
What you expected to happen
I'm not really sure why I can't pull the image.
How to reproduce the problem
Clone the github repo. Configure .env for INVOKEAI_ROOT=~/invokeai, INVOKEAI_PORT=9090, GPU_DRIVER=cuda, and that's it. Then tried sudo docker compose up.
Additional context
No response
Discord username
No response

You need to docker compose build first.
Or if you just want to pull and run the official image, see https://github.com/invoke-ai/InvokeAI?tab=readme-ov-file#docker-container

This is the output of sudo docker compose build:
ubuntu@invoke-ai:~/InvokeAI/docker$ sudo docker compose build
[sudo] password for ubuntu:
[+] Building 5.0s (3/3) FINISHED                                                                                docker:default
 => [invokeai-cuda internal] load build definition from Dockerfile                                                           0.4s
 => => transferring dockerfile: 3.88kB                                                                                0.1s
 => [invokeai-cuda] resolve image config for docker-image://docker.io/docker/dockerfile:1.4                                  1.5s
 => CACHED [invokeai-cuda] docker-image://docker.io/docker/dockerfile:1.4@sha256:9ba7531bd80fb0a858632727cf7a112fbfd19b17e9  0.0s
failed to solve: exit code: 1

Did you see the link I posted? Just run this:  docker run --runtime=nvidia --volume ${HOME}/invokeai:/invokeai --gpus=all --publish 9090:9090 ghcr.io/invoke-ai/invokeai

Did you see the link I posted? Just run this: docker run --runtime=nvidia --volume ${HOME}/invokeai:/invokeai --gpus=all --publish 9090:9090 ghcr.io/invoke-ai/invokeai

Yes, I saw that. But in the documentation, the instructions that is provided (https://invoke-ai.github.io/InvokeAI/installation/040_INSTALL_DOCKER/#build-it-yourself), says to do:
cd docker
cp .env.sample .env
docker compose up

So....that's what I'm doing.
Additionally, to your comment above, where I need to run:
docker compose build

I'm just reporting back to you, what I saw, as the output to your previous comment, when I run that command.

I ended up modifying the docker run command where --publish 9090:9090 was changed to --publish <IP_ADDRESS>:9090:9090 so that I can access the UI from anywhere within my local network, and then also needed to add -security-opt=unconfined. It's up and running now.
Still don't really understand why the docker-compose.yml didn't work though. That part of the instructions doesn't work.
Thank you for all of your help. I appreciate it.


Add operator binding support for BehaviorRelay

Updates RxSwift, RxCocoa, and RxTest versions from 4.0.0 to 4.1.2
Adds operator binding support ->, <->, >>> for BehaviorRelay in RxCocoa

          1 Message

:book:
Executed 174 tests, with 0 failures (0 unexpected) in 0.573 (0.734) seconds

  Generated by :no_entry_sign: Danger

          1 Message

:book:
Executed 174 tests, with 0 failures (0 unexpected) in 0.565 (0.680) seconds

  Generated by :no_entry_sign: Danger

          1 Message

:book:
Executed 174 tests, with 0 failures (0 unexpected) in 0.515 (0.619) seconds

  Generated by :no_entry_sign: Danger

          1 Message

:book:
Executed 174 tests, with 0 failures (0 unexpected) in 0.657 (0.799) seconds

  Generated by :no_entry_sign: Danger


stops minting shares on market is resolved

This stops collateral-shares trading when the market resolves, as well as adding liquidity. But users can still trade shares to shares at the bpool directly so this doesn't completely close the #492 ticket.

This should hold off until next release.


Remove special guidance around wasm

Go is going to support a platform like wasm/wasip1, wasm/wasip2, and eventually wasm/wasi. We should remove the guidance that Wasm is a special case, and fallback to following Go's guidance when describing a platform.
Fixes https://github.com/opencontainers/image-spec/issues/1053
This exception was added in https://github.com/opencontainers/image-spec/pull/964 -- see there for original (outdated!) discussion.

A noteworthy excerpt of the PR that added it:

Diverging from Go here provides some small opportunity for trouble for us down the road:

Go could add official support for WASI, but choose to do so using a GOOS value that isn't wasi -- this would confuse our guidance more, since there'd be a valid GOOS for WASI that isn't our recommended .platform.os value.

Well, that's what happened! Let's back it out before we cut v1.1 so we're not stuck with this decision any longer than necessary.

Go is going to support a platform like wasm/wasip1, wasm/wasip2, and eventually wasm/wasi. We should remove the guidance that Wasm is a special case, and fallback to following Go's guidance when describing a platform.

Scratch that, reverse it (wasi is the os value, not the arch value) :sweat_smile:

Go is going to support a platform like wasip1/wasm, wasip2/wasm, and eventually wasi/wasm. We should remove the guidance that Wasm is a special case, and fallback to following Go's guidance when describing a platform.

I'd like to solicit comments from @rumpl, who has done a lot of work on container runtimes (moby/moby engine maintainer) and WASM/WASI, since I think he's got a somewhat unique perspective with a good amount of experience in both halves of this. :bow: :heart:
I also think https://github.com/opencontainers/image-spec/pull/964#issuecomment-1462323781 is worth revisiting, specifically whether we should consider using os.version for this (which Go doesn't have an analogue for that I'm aware of, so they couldn't have considered using it) -- it's hard to say what the future of wasi or wasm holds, but I'm guessing this isn't going to be the last time we have incompatibilities between builds and which versions runtimes can reasonably support. :disappointed:

Scratch that, reverse it (wasi is the os value, not the arch value) 😅

Thank you for pointing this out! I'll update the original comment to avoid any (more) confusion.

I also think https://github.com/opencontainers/image-spec/pull/964#issuecomment-1462323781 is worth revisiting, specifically whether we should consider using os.version for this (which Go doesn't have an analogue for that I'm aware of, so they couldn't have considered using it) -- it's hard to say what the future of wasi or wasm holds, but I'm guessing this isn't going to be the last time we have incompatibilities between builds and which versions runtimes can reasonably support. 😞

I think it's simplest to say "just follow Go's precedent" for as long as we can, until there's some case where Go's semantics don't support what the OCI community needs. This very nearly happened with Wasm, and I think our response to it was good. Little did I realize that Go would leap back into action and catch up and surpass us. 😆
So I think wasip1/wasm is better than wasi/wasm-with-os.version=p1, because we can still just follow Go's lead, and the rules are relatively simpler.
If/when in the future some incompatibility comes up where Go precedent doesn't satisfy OCI's needs, we can carve out another exemption, or say "for os=newthing, follow $otherlang's platform semantics," which may involve leveraging os.version (or variant, or a new field we specify, who knows)

FWIW wasip1/wasm was the result of a sensible deliberation amongst a lot of different people. It wasn't random or not thought through, and it was made knowing about the existing "wasi" conventions and the problems with it. There are a growing number on 👍 this PR because it makes sense and fits into existing tool work. We really don't want a world of preventable "if statements" in Makefiles etc. Thanks for raising this!


Argument error getting a device/lock by device_id

in the documentation it shows you can get a device/lock by device_id using client.locks.get("device-id-here"), however that throws the following error:
.../locks.rb:13:in `get': wrong number of arguments (given 1, expected 0) (ArgumentError)

the only way i could get it to work was with client.locks.get(device_id: 'device-id-here').

Hey @byalextran! Sorry for the confusion – all methods now only accept keyword arguments. It seems there are some remnants of the outdated Ruby SDK usage in our docs. Could you point me to the specific documentation with the incorrect sample so we can fix it quickly? Thanks!

here are the two places i saw it in the documentation:
https://docs.seam.co/latest/api/devices/get
https://docs.seam.co/latest/api/locks/get

Thank you @byalextran! We'll update those samples shortly.


Update blackHole and identity to use @_optimize(none) instead of @inline(never)

The new default CMO in Swift 5.8 breaks the current blackHole so most likely should fix this one up too.
Background:
https://github.com/apple/swift/commit/1fceeab71e79dc96f1b6f560bf745b016d7fcdcf
https://github.com/ordo-one/package-benchmark/pull/179
https://forums.swift.org/t/brave-new-world-best-practices-for-cross-module-optimization/66869/3
Checklist

[x] I've read the Contribution Guidelines
[x] My contributions are licensed under the Swift license.
[x] I've followed the coding style of the rest of the project.
[ ] I've added tests covering my changes (if appropriate).
[x] I've verified that my change compiles and works correctly, and does not break any existing tests.
[ ] I've updated the documentation (if appropriate).

@swift-ci test


Microsoft Azure Storage Explorerfailed to perform remove command due to error: nothing found to remove

Hi,
I am using Microsoft Azure Storage Explorer to store ".pst" files to import emails into Exchange. Once finished, I am trying to delete the pst file that will no longer be used and the following message appears:
{
"message": ""failed to perform remove command due to error: nothing found to remove""
}
Att,
Gabriel Oliveira

There should be a link in the activity log that'll take you to the AzCopy log file. Can you follow that link and attach the log to this issue. Thanks!

Related to: https://github.com/microsoft/AzureStorageExplorer/issues/2603

Going to go ahead and close this. Please continue this discussion in #2603 if you're still having problems.


Allow customization of remote cache artifacts

Motivation
There are several scenarios when cached-compile and cached-test artifacts are not enough:

Custom configurations: IntegrationTest, additional build folders, etc.
Generated twirl templates.

In the current implementation, a new artifact can be added to the publish configuration:
pushRemoteCacheConfiguration / packagedArtifacts ++= Seq(
  // custom artifacts here
)

Unfortunately, SBT does not know how to extract custom artifacts during pullRemoteCache. There is a hardcoded logic for cached-compile and cached-test.
Possible solution
Introduce a new configuration that keeps a link between artifact and an extraction directory. Choose extraction logic based on the configuration.

@eed3si9n should we close this ticket?

Sounds good to me.

@jtjeferreira hey, could you try these settings?
import sbt.internal.RemoteCache

lazy val example = project.in(file("./example"))
  ...
  .settings(
    inConfig(IntegrationTest)(
      RemoteCache.configCacheSettings(RemoteCache.compileArtifact(Compile, RemoteCache.cachedCompileClassifier))
    )
  )

@iRevive I tried that but still dont see any "cached-integration-test" jars being pushed.
Also in the sbt shell if I do show core/pushRemoteCacheConfiguration/remoteCacheArtifacts
> show core/pushRemoteCacheConfiguration/remoteCacheArtifacts
[info] * CompileRemoteCacheArtifact(Artifact(core, jar, jar, Some(cached-compile), Vector(), None, Map(), None, false), TaskKey(This / Select(ConfigKey(compile)) / This / packageCache), /Users/joao/git/platform/modules/core/target/scala-2.13/classes, /Users/joao/git/platform/modules/core/target/scala-2.13/zinc/inc_compile_2.13.zip)
[info] * TestRemoteCacheArtifact(Artifact(core, jar, jar, Some(cached-test), Vector(), None, Map(), None, false), TaskKey(This / Select(ConfigKey(test)) / This / packageCache), /Users/joao/git/platform/modules/core/target/scala-2.13/test-classes, /Users/joao/git/platform/modules/core/target/scala-2.13/test-zinc/inc_compile_2.13.zip, /Users/joao/git/platform/modules/core/target/streams/test/test/_global/streams/succeeded_tests)

and no sign of cached-integration-test, however if I do
show core/IntegrationTest/pushRemoteCacheConfiguration/remoteCacheArtifacts
[info] * TestRemoteCacheArtifact(Artifact(core, jar, jar, Some(cached-integration-test), Vector(), None, Map(), None, false), TaskKey(This / Select(ConfigKey(it)) / This / packageCache), /Users/joao/git/platform/modules/core/target/scala-2.13/it-classes, /Users/joao/git/platform/modules/core/target/scala-2.13/it-zinc/inc_compile_2.13.zip, /Users/joao/git/platform/modules/core/target/streams/it/test/_global/streams/succeeded_tests)

do I have to explicitly call IntegrationTest/pushRemoteCacheConfiguration?

I think the problem is in
    pushRemoteCacheConfiguration / remoteCacheArtifacts := {
      enabledOnly(remoteCacheArtifact.toSettingKey, defaultArtifactTasks).apply(_.join).value
    }

and
  private def defaultArtifactTasks: Seq[TaskKey[File]] =
    Seq(Compile / packageCache, Test / packageCache)

@iRevive @eed3si9n any hints?


Optimize images/icons

Hello.
After I included this plugin into one of my websites and tested it on GTMetrix, I got back poor results because of non-optimized icon image. Could those be optimized? It's actually a simple task of throwing them into www.tinypng.com and re-uploading back to server.
Thank you.

I already tried it with different services, but it did not get better. You can try it if you like.

Will try, but I don't use GitHub that much so I don't know how to create a Pull Request.

GitHub doesn't support uploading a ZIP file into messages (despite it claims that it does), so here's a link to compressed images: https://www.dropbox.com/s/8ga1xq0p4k84c9k/browser-update-images.zip?dl=0
Before compression size: cca. 206KB
After compression size: cca. 58KB
I hope you will replace the images, until then I had to remove the code to your plugin.

I added your images.

Thank you!


Add proper doc for devfile and s2i config matrix

/kind documentation

What mistake did you find / what is missing in the documentation?
Missing config file matrix doc for devfile and s2i component - https://github.com/openshift/odo/pull/2598#issuecomment-585680436
Also comment link https://github.com/openshift/odo/issues/2813#issuecomment-609901433 would be helpful as it explains the above link.
What is the relevance of it?
Helpful to understand which config file (devfile or s2i) has to be picked up during component create, push

any updates on this @boczkowska

Hey @amitkrout can you describe the issue a bit more? Confused what you mean by matrix doc. We already have the table on: https://odo.dev/docs/understanding-odo/ and I am updating the README here: #3877

I've added some general docs on the Experimental mode here, including the table: https://github.com/openshift/openshift-docs/pull/25098
Is it still relevant?

@amitkrout @kadel is the https://github.com/openshift/odo/pull/2598#issuecomment-585680436 still relevant with the release of 2.0?


Add osd config yml to any artifacts

Signed-off-by: Peter Zhu<EMAIL_ADDRESS>Description
Add osd config yml to any artifacts
Issues Resolved
https://github.com/opensearch-project/opensearch-build/issues/2306
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #2845 (2165c9a) into main (14693cc) will decrease coverage by 0.32%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main    #2845      +/-   ##
==========================================
- Coverage   93.66%   93.34%   -0.33%
==========================================
  Files         158      158
  Lines        4373     4373
==========================================
- Hits         4096     4082      -14
- Misses        277      291      +14

Impacted Files
Coverage Δ

src/system/temporary_directory.py
64.44% <0.00%> (-28.89%)
:arrow_down:

src/system/os.py
93.75% <0.00%> (-6.25%)
:arrow_down:

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


TypeError: Cannot read property 'kind' of undefined in 'Object.isTypeLiteralNode' during 'occurrences'

This issue comes from crash dumps in telemetry. We've tried to de-duplicate issues on a best-effort basis, comparing the sequence of methods called and the command requested while ignoring line numbers.
TypeScript Version Prefix: 2.7.1
VSCode Version 1.19.3
command requested: occurrences
hitting sessions: 500
proportion of all sessions: 0.0018665561665416074
stack
TypeError: Cannot read property 'kind' of undefined
    at Object.isTypeLiteralNode (tsserver.js:9722:20)
    at unknown (tsserver.js:69778:31)
    at Object.firstDefined (tsserver.js:1444:26)
    at skipPastExportOrImportSpecifierOrUnion (tsserver.js:69777:27)
    at getReferencedSymbolsForSymbol (tsserver.js:69732:26)
    at Object.getReferencedSymbolsForNode (tsserver.js:69660:24)
    at Object.getReferenceEntriesForNode (tsserver.js:69500:58)
    at getSemanticDocumentHighlights (tsserver.js:68440:57)
    at Object.getDocumentHighlights (tsserver.js:68429:20)
    at getDocumentHighlights (tsserver.js:82973:42)
    at getOccurrencesAtPositionCore (tsserver.js:82976:46)
    at Object.getOccurrencesAtPosition (tsserver.js:82962:27)
    at IOSession.Session.getOccurrences (tsserver.js:89496:64)
    at Session.handlers.ts.createMapFromTemplate._a.(anonymous function) (tsserver.js:89112:61)
    at unknown (tsserver.js:90393:88)
    at IOSession.Session.executeWithRequestId (tsserver.js:90384:28)
    at IOSession.Session.executeCommand (tsserver.js:90393:33)
    at IOSession.Session.onMessage (tsserver.js:90413:35)
    at Interface.<anonymous> (tsserver.js:91614:27)
    at emitOne (events.js:96:13)
    at Interface.emit (events.js:191:7)
    at Interface._onLine (readline.js:241:10)
    at Interface._normalWrite (readline.js:384:12)
    at Socket.ondata (readline.js:101:10)
    at emitOne (events.js:96:13)
    at Socket.emit (events.js:191:7)
    at readableAddChunk (_stream_readable.js:178:18)
    at Socket.Readable.push (_stream_readable.js:136:10)
    at Pipe.onread (net.js:560:20)

This issue reproduced in the following context:
TypeScript Version Prefix: 2.7.2
VSCode Version 1.20.1
command requested: occurrences
hitting sessions: 104
proportion of all sessions: 0.0021351290315958036
stack
TypeError: Cannot read property 'kind' of undefined
    at Object.isTypeLiteralNode (tsserver.js:9724:20)
    at unknown (tsserver.js:69938:31)
    at Object.firstDefined (tsserver.js:1445:26)
    at skipPastExportOrImportSpecifierOrUnion (tsserver.js:69937:27)
    at getReferencedSymbolsForSymbol (tsserver.js:69892:26)
    at Object.getReferencedSymbolsForNode (tsserver.js:69820:24)
    at Object.getReferenceEntriesForNode (tsserver.js:69660:58)
    at getSemanticDocumentHighlights (tsserver.js:68595:57)
    at Object.getDocumentHighlights (tsserver.js:68584:20)
    at getDocumentHighlights (tsserver.js:83133:42)
    at getOccurrencesAtPositionCore (tsserver.js:83136:46)
    at Object.getOccurrencesAtPosition (tsserver.js:83122:27)
    at IOSession.Session.getOccurrences (tsserver.js:89656:64)
    at Session.handlers.ts.createMapFromTemplate._a.(anonymous function) (tsserver.js:89272:61)
    at unknown (tsserver.js:90553:88)
    at IOSession.Session.executeWithRequestId (tsserver.js:90544:28)
    at IOSession.Session.executeCommand (tsserver.js:90553:33)
    at IOSession.Session.onMessage (tsserver.js:90573:35)
    at Interface.<anonymous> (tsserver.js:91774:27)
    at emitOne (events.js:96:13)
    at Interface.emit (events.js:191:7)
    at Interface._onLine (readline.js:241:10)
    at Interface._normalWrite (readline.js:384:12)
    at Socket.ondata (readline.js:101:10)
    at emitOne (events.js:96:13)
    at Socket.emit (events.js:191:7)
    at readableAddChunk (_stream_readable.js:178:18)
    at Socket.Readable.push (_stream_readable.js:136:10)
    at Pipe.onread (net.js:560:20)


Upgrade to RSpec 3

Hi dblock,
this is a (non-downward-compatible) PR for RSpec 3 using rspec-legacy_formatters
One could probably maintain RSpec 2 compatibility with some version magic, but I don't know if it's worth the trouble...
Also, here is an example of how to really upgrade formatters to RSpec 3 style:
https://github.com/bsingr/growl-rspec/commit/4a82ff9213b1b85795a5a279b0831d6af76948d1
Hope this is useful :)
Martin

I'd suggest just releasing 0.4.0 and make it an explicit dependency with rspec ~>3 :)

Are you saying 0.3.0 is not working for you?

It is, just a bit weird to have to blow up and add an extra gem to fix it :)

I agree. Want to PR the update?


preload nodes are blocked by Privacy Badger

I have the Privacy Badger extension installed in my Firefox.
I was browsing https://vitriol.co/QmccRaHCrUKZwZpjdJFiTTdgp8FG3ALFDZQexaYgit3NCF/QmYJvZjnw8c1DqFbW1BpWmvb3jVg8fQYRUs6UzzEyosagA and it didn't load. The reason is that Privacy Badger decided to block content from node0.preload.ipfs.io and node1.preload.ipfs.io.
I don't know if we can do anything about it, I just wanted to bring it up.

per their FAQ:

Domains will only be blocked or screened if the Privacy Badger code inside your browser actually observes the domain collecting unique identifiers after it was sent a Do Not Track message.

Weird.
To get unblocked, we can post (and commit to following, of course) a policy text document to a specific URL (eg. https://node*.preload.ipfs.io/.well-known/dnt-policy.txt)

@mburns sounds like a very good idea.
This issue is raised quite often and people burn a lot of time debugging why images do not load (e.g. https://github.com/filecoin-project/website/issues/46) :)
We should set up that file for our public gateways
at ipfs.io, dweb.link and *.ipfs.dweb.link as well.

This appears to no longer be the case, as I can't reproduce the issue.
That said, having a state policy isn't a bad idea. @olizilla thoughts on the EFF's Do Not Track pledge? https://www.eff.org/.well-known/dnt-policy.txt


add Coygo to "built with meteor-desktop" section of README

Screenshot of the application

Codecov Report

Merging #255 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #255   +/-   ##
=======================================
  Coverage   59.41%   59.41%
=======================================
  Files          20       20
  Lines        1498     1498
=======================================
  Hits          890      890
  Misses        608      608

Continue to review full report at Codecov.

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


$ErrorView = 'NormalView' is not colorizing errors

Prerequisites

[X] Write a descriptive title.
[X] Make sure you are able to repro it on the latest released version
[X] Search the existing issues.
[X] Refer to the FAQ.
[X] Refer to Differences between Windows PowerShell 5.1 and PowerShell.

Steps to reproduce
When $ErrorView is set to NormalView (or CategoryView), error text color changes from red to white. When checking the current value of $Host.PrivateData.ErrorForegroundColor it reports Red. It is possible to change the variable value but it has no effect in NormalView and CategoryView.
In ConciseView everything works as expected.
Expected behavior
Error text color should be the same as the $Host.PrivateData.ErrorForegroundColor value.

Actual behavior
Error text color is white whatever color you set to $Host.PrivateData.ErrorForegroundColor.

Error details
No response
Environment data
Name                           Value
----                           -----
PSVersion                      7.2.1
PSEdition                      Core
GitCommitId                    7.2.1
OS                             Microsoft Windows 10.0.19043
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0

Visuals

@SteveL-MSFT can you please take a look?

The title of this issue should be updated to: "$ErrorView = 'NormalView' is not colorizing errors."
I just ran into this one trying to optimize the local dev experience. Errors are not even colored red when using this view, it's just plain text. It almost doesn't say the word error.
PS > 1/0
Attempted to divide by zero.
At line:1 char:1
+ 1/0
+ ~~~
+ CategoryInfo          : NotSpecified: (:) [], RuntimeException
+ FullyQualifiedErrorId : RuntimeException

I need to have the file path and line number in the error, but the detailed view is too much as a default setting.

Taking a look


botocore.exceptions.ClientError when using mock_iam()

Hi, I'm having the following issue trying to mock some IAM calls in the following way:
The following code is the test file:
import boto3
from moto import mock_iam

from providers.aws.lib.audit_info.audit_info import current_audit_info
@mock_iam
class Test_iam_user_two_active_access_key:
    @mock_iam
    def test_iam_user_two_active_access_key(self):
        # Create IAM Mocked Resources
        iam_client = boto3.client("iam")
        user = "test1"
        iam_client.create_user(UserName=user)
        # Create Access Key 1
        iam_client.create_access_key(UserName=user)
        # Create Access Key 2
        iam_client.create_access_key(UserName=user)

        from providers.aws.services.iam.iam_user_two_active_access_key.iam_user_two_active_access_key import (iam_user_two_active_access_key)

        check = iam_user_two_active_access_key()
        result = check.execute()
        assert len(result) == 1
        assert result[0].status == "FAIL"

As you can see inside the test we are importing the iam_user_two_active_access_key Python class to test it. That class has the following code:
from lib.check.models import Check, Check_Report
from lib.logger import logger
from providers.aws.services.iam.iam_client import iam_client

class iam_user_two_active_access_key(Check):
    def execute(self) -> Check_Report:
        try:
            findings = []
            response = iam_client.credential_report
            for user in response:
                report = Check_Report(self.metadata)
                report.resource_id = user["user"]
                report.resource_arn = user["arn"]
                report.region = iam_client.region
                if (
                    user["access_key_1_active"] == "true"
                    and user["access_key_2_active"] == "true"
                ):
                    report.status = "FAIL"
                    report.status_extended = (
                        f"User {user['user']} has 2 active access keys."
                    )
                else:
                    report.status = "PASS"
                    report.status_extended = (
                        f"User {user['user']} has not 2 active access keys."
                    )
                findings.append(report)
        except Exception as error:
            logger.error(f"{error.__class__.__name__} -- {error}")
        finally:
            return findings

Inside this class we import the IAM client using from providers.aws.services.iam.iam_client import iam_client and this class has the following code:
from providers.aws.lib.audit_info.audit_info import current_audit_info
from providers.aws.services.iam.iam_service import IAM

iam_client = IAM(current_audit_info)

Finally, this IAM class has the following code, where the AWS IAM calls are made:
import csv
from dataclasses import dataclass

from lib.logger import logger
from providers.aws.aws_provider import get_region_global_service

################## IAM
class IAM:
    def __init__(self, audit_info):
        self.service = "iam"
        self.session = audit_info.audit_session
        self.account = audit_info.audited_account
        self.client = self.session.client(self.service)
        self.region = get_region_global_service(audit_info)
        self.users = self.__get_users__()

    def __get_client__(self):
        return self.client

    def __get_session__(self):
        return self.session

    def __get_users__(self):
        try:
            get_users_paginator = self.client.get_paginator("list_users")
        except Exception as error:
            logger.error(f"{self.region} -- {error.__class__.__name__}: {error}")
        else:
            users = []
            for page in get_users_paginator.paginate():
                for user in page["Users"]:
                    if "PasswordLastUsed" not in user:
                        users.append(User(user["UserName"], user["Arn"], None))
                    else:
                        users.append(
                            User(
                                user["UserName"], user["Arn"], user["PasswordLastUsed"]
                            )
                        )

            return users

With the following code, when I try to test this code using python -m pytest -vvv -x providers/aws/services/iam/iam_user_two_active_access_key/iam_user_two_active_access_key_test.py the following error appears because for some reason the IAM calls under the iam_client are not being mocked.
My biggest concern is that maybe this couldn't be done this way.

I'm using the following versions:

moto = "4.0.7"
boto3 = "1.24.8"
botocore = "1.27.8"
pytest = "7.1.2"

Thanks for your time and help.

Another curious thing is that if I execute the following code outside pytest it runs without problem:
from boto3 import client
from moto import mock_iam

with mock_iam():
	# Create IAM Mocked Resources
	iam_client = client("iam")
	user = "test1"
	iam_client.create_user(UserName=user)
	iam_client.create_access_key(UserName=user)
	iam_client.create_access_key(UserName=user)
	from providers.aws.services.iam.iam_user_two_active_access_key.iam_user_two_active_access_key import (iam_user_two_active_access_key)
	check = iam_user_two_active_access_key()
	result = check.execute()
	print(result)

Output:
python3 test.py
[Check_Report(status='FAIL')]

Hi @jfagoagas, this error usually appears if a boto3-client/resource has been created before the mock starts. Moto injects some magic into botocore to ensure we intercept all requests, but that only works if no client has been initialized yet.
From your example it is not possible for me to see where exactly IAM.client is initialized, but my guess is that it happens too early. Is it created when calling from providers.aws.lib.audit_info.audit_info import current_audit_info, by any chance?
This section in the docs has more info on how to order imports: http://docs.getmoto.org/en/latest/docs/getting_started.html#what-about-those-pesky-imports
See also the section on Patching the client or resource, as the may contain a useful workaround.

Hi @bblommers you're totally right, the code under from providers.aws.lib.audit_info.audit_info import current_audit_info only instantiates a new Boto3 session without (or this is what I thougth) calling AWS APIs, but as you said moto needs to be running prior to start using whatever part from boto3.


Blur To Save- Tab key

Hi , when i enable   blurToSave: true , the tab key doesn't move to next cell.
But It works perfectly at   https://allenfang.github.io/react-bootstrap-table/example.html#celledit.
What am  I doing wrong there?

Hi @arif25169!  Did you find a solution? I have the same problem

Hi @arif25169 ! I'm also facing the same issue, do you manage to solve it? Thanks

Maybe That problem caused by react-bootstrap-table key. change key to another value! i solve this problem this way.


Require help in implementing drag and drop for Grid View

I have made some progress in implementing grid view for this library. You can take a look at my fork here - https://github.com/vinayak-garg/android-advancedrecyclerview/tree/grid_layout
I am not able to understand the library code completely, so I need some help to implement grid view support.
Take a look at this screen capture video to see major issues that I need to resolve - https://www.youtube.com/watch?v=6EkTQgv4izE
Notice 3 major issues-

While dragging item 0 to 4, midway the 'move' operation is triggered. After that, the dragging item simply jumps
On long pressing item 6, position for item 1 and item 4 become blank. Also the draggable item is not under the finger.
While animating diagonal movement of item 4 to item 3 the item 4 is hidden by item 5, 6.

I made some simplifications in the library code to suit my requirements. However if I am able to get it working correctly I will fix them.
Also note that my target is to support grid layout only for drag and drop. I don't need swiping and expandable view in grid layout.
Major changes that I have made so far to support grid view-

Change int/float values to Point wherever 2 dimensional values are required
Add logic to detect 1 of the 8 direction in which user is going
Select an array of items to swap (instead of just one)

Any help is highly appreciated :) If you need help with my changes, please ask.

So I managed to get the drag and drop in grid view working. :smiley:  It is not as smooth as the original Vertical layout implementation of this library. But it is smooth enough for most use cases. You can check out this branch - https://github.com/vinayak-garg/android-advancedrecyclerview/tree/grid_layout
In current form I need to do some clean ups. Like I have hard coded the column count as 4. And some of the things are not general enough, like accounting for all possible margins and padding. But it is not that hard to customise for your needs.

 I have just uploaded my experimental GridLayoutManager support to this repository. It's not based on your code, but I got an idea from your old implementation. I will check your latest code later and it will be included in next major update.
https://github.com/h6ah4i/android-advancedrecyclerview/tree/feature/support_grid_layout_manager

Awesome! so I wouldn't have to clean up my code. ;)
The main issue I faced while adding grid layout support, was how to get the SwapTargetItemOperator working correctly. Once I decided to skip it altogether, I was able to proceed. I lost some smoothness, but the result was still great.
I tried out 3 libraries for grid view drag and drop. None of them worked. Your library was the only one with which I could get good experience. Thanks a ton buddy!

0.8.0 is out.


Add build tag metric to pilot, galley, and mixer

This PR addresses a request for having a way to track the exact build of Istio components being used within a cluster -- and to display that information in useful places on the default dashboards.
Changes in this PR:

export git describe into pkg/version.buildTag
add new OpenCensus measure for istio_build, dimensioned by component and tag, of type gauge
add lines to mixer, pilot, and galley to record a value for the metric on startup
add chart to mesh and perf dashboards for all components (bottom)
add chart to mixer, pilot, and galley dashboards for individual component (top) (here, i tried to match style of existing dashboards)
reorg of dashboards helm templates to avoid size limitations of metadata annotations

Also, since I was here anyways, updated to the latest grafana.
Screensnaps from my test cluster:

/lgtm

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: douglas-reid, mandarjog
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: geeknoid
If they are not already assigned, you can assign the PR to them by writing /assign @geeknoid in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

bin/OWNERS [douglas-reid,mandarjog]
galley/OWNERS
install/OWNERS [mandarjog]
mixer/OWNERS [douglas-reid,mandarjog]
pilot/OWNERS
pkg/OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: ayj, douglas-reid, mandarjog
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: geeknoid
If they are not already assigned, you can assign the PR to them by writing /assign @geeknoid in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

bin/OWNERS [douglas-reid,mandarjog]
galley/OWNERS [ayj]
install/OWNERS [mandarjog]
mixer/OWNERS [douglas-reid,mandarjog]
pilot/OWNERS [ayj]
pkg/OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@douglas-reid: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
097e31b85bf80c2a5503aaac7182fc4d41e91ade
link
/test istio-unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@douglas-reid: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
097e31b85bf80c2a5503aaac7182fc4d41e91ade
link
/test istio-unit-tests

prow/e2e-dashboard.sh
097e31b85bf80c2a5503aaac7182fc4d41e91ade
link
/test e2e-dashboard

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: ayj, douglas-reid, mandarjog
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

bin/OWNERS [douglas-reid,mandarjog]
galley/OWNERS [ayj]
install/OWNERS [mandarjog]
istioctl/OWNERS [ayj]
mixer/OWNERS [douglas-reid,mandarjog]
pilot/OWNERS [ayj]
pkg/OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@douglas-reid: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-dashboard.sh
097e31b85bf80c2a5503aaac7182fc4d41e91ade
link
/test e2e-dashboard

prow/istio-unit-tests.sh
f435209cc86774e9c98e23a9062a015ae972e21c
link
/test istio-unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@douglas-reid: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
f435209cc86774e9c98e23a9062a015ae972e21c
link
/test istio-unit-tests

prow/e2e-dashboard.sh
f435209cc86774e9c98e23a9062a015ae972e21c
link
/test e2e-dashboard

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test istio-unit-tests

@douglas-reid: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-dashboard.sh
c53f7fe9ede20c9da734819a4afbc4eeebd72775
link
/test e2e-dashboard

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@douglas-reid: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
3d047fd4ea775e7db1d5e3c6aec4d51975793289
link
/test istio-unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test istio-unit-tests

/assign nmittler

Awaiting final approval for /pkg

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: ayj, douglas-reid, mandarjog, nmittler
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

bin/OWNERS [douglas-reid,mandarjog]
galley/OWNERS [ayj]
install/OWNERS [mandarjog]
istioctl/OWNERS [ayj,nmittler]
mixer/OWNERS [douglas-reid,mandarjog]
pilot/OWNERS [ayj,nmittler]
pkg/OWNERS [nmittler]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Module Dependency violation isn't caught: function on prototype

I have following scenario:
I have STRICT_MODULE_DEP_QNAME.level = CheckLevel.WARNING and following testCode:
  public void testBadModuleDep2() {
    testSame(createModuleStar(
        NAMES,
        "/** @constructor */ var WI = function(){};  WI.prototype.x = function(){};  a.t = new WI();",
        "a.t.x();"
    ), STRICT_MODULE_DEP_QNAME);
  }

And I don't see any warnings/errors.
When I remove call of function x:
  public void testBadModuleDep2() {
    testSame(createModuleStar(
        NAMES,
        "/** @constructor */ var WI = function(){};  WI.prototype.x = function(){};  a.t = new WI();",
        "a.t;"
    ), STRICT_MODULE_DEP_QNAME);
  }

I see as expected:
JSC_STRICT_MODULE_DEP_QNAME. cannot reference a.t because of a missing module dependency

interesting.

Any updates on this?
Chrome DevTools currently employ some hacks to workaround this, which makes compilation last for ~4 minutes on top-notch macbook pro.


File Loop app example

This is a rough draft of the file loop example. I'd love some feedback on how to make it more concise. Right now there's a lot of boiler plate on iterating through the file system, and check parent paths. Though, the file system boilerplate could help make a better case for walkdir. @budziq , thanks for the tip on how to make a sym link loop. Fixes #207

Hey @budziq, thanks for the feedback, I definitely misread what the example was going for.

@budziq I lost your requested changes since I force pushed. How's it looking now?

@budziq It checks all paths and will return what paths it's looping between now. Let me know what else I can do

@budziq Done!

@Ophirr33 Well done!


Remove buffering in lite to stream modules

https://github.com/black-parrot/black-parrot/blob/master/bp_me/src/v/wormhole/bp_lite_to_stream.sv#L72
https://github.com/black-parrot/black-parrot/blob/master/bp_me/src/v/wormhole/bp_stream_to_lite.sv#L73
Not sure we have a configuration that uses this yet, but can be made to use passthrough piso/sipos
Depends on https://github.com/bespoke-silicon-group/basejump_stl/pull/232

https://github.com/black-parrot/black-parrot/blob/me_dev_streams/bp_me/src/v/wormhole/bp_stream_to_lite.v#L45
This is super inefficient right now. It'll introduce a bubble after every stream beat.  Instead, it should latch the base stream address and compose the outgoing header based on that address (handle wraparound, etc)

https://github.com/black-parrot/black-parrot/blob/me_dev_streams/bp_me/src/v/wormhole/bp_stream_to_lite.v#L45
This is super inefficient right now. It'll introduce a bubble after every stream beat.  Instead, it should latch the base stream address and compose the outgoing header based on that address (handle wraparound, etc)

Fixed in #760


Some rounds immediately restarting

Description
In the lobby the countdown reaches 0 and the game says its starting but returns to the lobby and the countdown starts again. I will try to add more details as they happen again.
Reproduction

Hard only see it sometimes

Screenshots

Additional context
Just before the round reset an ahelp message said it was (pre-round lobby for round 49880) but in the round it was 49879.

Has happened to several people including me

check grafana

Has happened to several servers and i have seen it happen personally

when

check grafana

Has happened to several servers and i have seen it happen personally

when

it started a little while ago, at least a few days (i haven't been super active but i did play a bit recently)

Need timestamps as there's too many logs to comb through trying to look through days / weeks.

03/27/2024 9:03 PM

which server?

Leviathan


Inputs for the attacks

Hi i want a clarification, to use the attacks inside of the library I should give as input the same input as the paper? Or for example i can give audio inputs to the Deepfool attack?

Hi @matdtr, in principle you can provide other types of inputs. E.g. check out these notebooks where PGD is applied to audio and video inputs:
https://github.com/Trusted-AI/adversarial-robustness-toolbox/blob/main/notebooks/adversarial_audio_examples.ipynb
https://github.com/Trusted-AI/adversarial-robustness-toolbox/blob/main/notebooks/adversarial_action_recognition.ipynb
Deepfool should be applicable similarly.

thanks, I saw that notebooks but when i try to use Deepfool or any other I just get a Killed signal, instead when I use FGSM on my inputs is working.
However the adv examples are quite similar to my inputs so the accuracy on my system is almost the same.

If you get a Killed signal, that's an exception outside of ART - maybe your process ran out of memory? To increase the attack success rate, have you tried increasing the FGMS eps parameter?

I will try to look into it! Yes I've tried with 0.1,1,10. But on 10k examples only 800 were successful. Thanks for the help


Add code quality workflow

Motivation and Context
I have attempted to configure files to maintain the compliance towards the code.
Configuration Files:
flake8:
Configured max-line-length, excluded directories, and suppressed specific warnings/errors like unused imports and line-length issues for flexibility and readability.
pylintrc:
Adjusted thresholds for arguments, branches, and lines to support complex logic.
Disabled specific warnings/errors like missing docstrings and unused imports to reduce noise during development.
YAML Workflow for Code Quality:
Steps Implemented:
Checked out code, set up Python environment, and installed dependencies.
Ran tools like Autopep8, Pylint, Flake8, Black, and Isort to automate linting, formatting, and import sorting checks.
Purpose:
Ensured adherence to coding standards, consistency, and early error detection during CI/CD processes.
Tool Used:
Pylint and Flake8: Identified style and syntax issues.
Black: Enforced consistent formatting.
Isort: Verified proper import sorting.
Outcome:
Improved code quality and consistency across the project while reducing manual effort and enabling early error detection in CI/CD pipelines.

Description

Contribution Checklist

[ ] I have built and tested the code locally and in a deployed app
[ ] For frontend changes, I have pulled the latest code from main, built the frontend, and committed all static files.
[ ] This is a change for all users of this app. No code or asset is specific to my use case or my organization.
[ ] I didn't break any existing functionality :smile:

@Avijit-Microsoft - Please Review it


gRPC native code not found with indirect references

This is effectively due to a change in how nuget packages are produced in the new csproj format compared with the old project.json format. See https://github.com/grpc/grpc/issues/11279 for details - this issue is about what we'll do in our projects.
Plan:

Autogenerate a direct dependency from each of our API packages to Grpc.Core with the relevant element to fix anything that depends directly on our API packages
Write a FAQ entry explaining what to do if you're in an indirect dependency scenario
Work with the .NET community and MS to see if there's a better option

A user has reported coming across this problem trying to use Google.Cloud.Pubsub.V1 v1.0.0-beta10.
A workaround is to put a direct dependency on Gprc.Core within your own project.


[5.9][Runtime] Improve wording of deinit escape warning.

Cherry-pick https://github.com/apple/swift/pull/65972 to release/5.9.
Describe in more detail how an object can end up with a non-zero refcount on deallocation, and the consequences.
rdar://109045333

• Description: This improves the fatal error message when an object escapes its deinit. The original message assumed a little too much familiarity with the implications of such escapes.
• Risk: Very low. This adjusts the message for a fatal error that's already present.
• Original PR: https://github.com/apple/swift/pull/65972
• Reviewed By: @al45tair
• Testing: The Swift test suite checks for this fatal error. Not all of the exact wording is tested.
• Resolves: rdar://109045333

@swift-ci Please test


Fix tf.keras.dataset.mnist/reuters np v1.16.3

This fix add allow_pickle=True to fix the numpy issue in 1.16.3.
See keras-team/keras@3423197
and keras-team/keras#12714
for related changes in keras-team/keras.
Signed-off-by: Yong Tang<EMAIL_ADDRESS>

@yongtang Could you please resolve the conflicts? Thanks!

@gbaned Thanks, the PR has been updated.

Can one of the admins verify this patch?


make examples always start newline if there is other content in the same cell

Optional examples will not always start in a new line if there is other content before the example but no optionalDefaultValue.
For Example: You have an Pattern but no optional default value. Then the example will be in the same line as the pattern and have no white space between the pattern value and the example heading.

Coverage remained the same at 88.445% when pulling e6587e0a8acbcb5e376dff11efb4e46aa36e17ef on g00de:bugfix/example-new-line into 569f3c02cd6c3d5217c6453d11b6a720354c5da6 on Swagger2Markup:master.

Thx


Grammatical Error

Did you find a doc bug or broken link that needs to be fixed?
Yes

What is the file name(s) where you found the bug?
install.rst
What is the current text that needs to be fixed or removed? (You can copy and paste)
To configure your account, you create a local configuration file which includes an API key
What should the documentation say instead?
To configure your account, you will create a local configuration file which includes an API key
Are there other related issues or pull requests about this bug?
No

Does existing documentation need to be updated with new content?
Yes

Which files need to be updated?
install.rst
What content needs to be updated or replaced? (You can copy and paste)
With the release of Qiskit 0.11, if you had previously saved your IBM Quantum credentials locally, you might need to update your IBM Quantum Experience credentials so that you can use the new IBM Quantum Experience V2. See Updating your IBM Quantum Experience Credentials.
What new content needs to be added?
With the release of Qiskit 0.11, if you had previously saved your IBM Quantum Experience credentials locally, you might need to update your IBM Quantum Experience credentials so that you can use the new IBM Quantum Experience V2. See Updating your IBM Quantum Experience Credentials.

This is in fact fixed in https://github.com/Qiskit/qiskit/pull/1002 and can be closed as resolved.


Bump immer version for fixing security issue

Bump immer minor version to fix Prototype Pollution Security issue.

Thanks!


Feature/vector tiles

It creates an endpoint to generate vector tiles.
It still needs tests and maybe performance optimization (for example by using a prepare SQL statement, but it needs to be in develop now and later we'll improve on it)

(still fixing the specs)


Is there away to extract a list of URLs from YouTube channels (without downloading videos)?

I just want to scrape URLs from YouTube channels and playlists. Any suggestions on how I could hack YouTube-dl to accomplish this?

--flat-playlist --dump-single-json and parse JSON.


Support Variables and Keywords in resource files recursively

Scenario:
File 1 has a resource of R1
File 2 has a resource of File 1
When I enter variables or keywords that are in R1 in File 2, they are listed as cannot find in the IDE.
Enhancement to identify variables and keywords defined in resource chains.

do you have the latest version (0.6.7)?  This should handle that.

should be #89


[Suggestion] Consider RenderProps instead of HOCs for WithStyles

Recently there has been some buzz around a talk calling out HOCs as the new Mixins and how they are full of problems. As I've been following the WithStyles TypeScript issues (e.g. #8447) I couldn't help feel like maybe the problem isn't a lack of TS features but rather a possibly a problem with the approach.
Here's an excellent write-up and video of what @mjackson calls "Render Props" and how they can do everything an HOC can and also solves several problems with them.
Use a Render Prop!
I highly recommend watching the video as he does an excellent job illustrating how the React community got to where it is now. (FWIW, MJ is also the author of ReactRouter which currently implements this pattern)
What might WithStyles look like using Render Props instead? Could it help provide better type safety by removing the need for the ! hack and provide more clarity as to what props WithStyles is providing?

Consider RenderProps

@vyrotek I thought this pattern was called compound components 🤔 .
This issue is interesting, thanks for opening it. However, I believe we have already been exploring this path:

#7988
https://github.com/callemall/material-ui/issues/7636#issuecomment-320650426

I'm closing, feel free to argue with any the point I have already be raising against it :).

What might WithStyles look like using Render Props instead? Could it help provide better type safety by removing the need for the ! hack and provide more clarity as to what props WithStyles is providing?

You might beinterested in this issue #8447. It's a tradeoff.

Good info. Thanks. I hadn't heard of the term "Compound Components" but I have heard it referred to as "Function as Children" as this comment did https://github.com/callemall/material-ui/issues/7636#issuecomment-320659315
Yeah, issue #8447 is what finally did it for me. I love TypeScript but I understand the concerns about not wanting to cater to a decorator feature that isn't finished yet. At the same time, I feel like the root problem is having withStyles mix in extra props which fights the whole concept of typing and we could run into prop conflicts.
So ultimately I guess your comment https://github.com/callemall/material-ui/issues/7636#issuecomment-320763492 about "lifecycles > flexibility" ended the discussion. Although I don't fully understand the reasoning and probably disagree I suppose I'm satisfied knowing it had been discussed before.

To summarize, I think that the issues with the pattern are the following by order of importance:

It requires more boilerplate, It's slightly true for nominal use cases, but definitely painful when needed to access the classes in the lifecycles hooks.
Performance, it's hard to tell without a benchmark, but given the fact we are creating a new function at each render x the number of components we have. It's definitely an overhead.
We shouldn't, as much as possible, sacrifices pattern the language is allowing for typing constraints. It should be the other way around.

Of course, I'm focusing on the cons, this has definitely pros!

Hmm, I'll need to do more research on this.
https://cdb.reacttraining.com/react-inline-functions-and-performance-bdff784f5578
Just because you can doesn't mean you should. Even without typing I don't like how much it still feels like mixins. Very large projects may bump into prop naming conflicts and source confusion.

Crazy thought. Could WithStyles support both approaches? I'm guessing 1. is the biggest concern?
Sorry for all the poking! I like what you guys are doing here. I'm evaluating several UI frameworks for a large project and the friction of using WithStyles with TypeScript (and justifying any issues to other devs) is my biggest concern.

@vyrotek Thanks for the link, I will read it.

Crazy thought. Could WithStyles support both approaches?

Definitely, there is no technical limitation for this. It can even be implemented today on userland. Regarding supporting it on the library side. I'm not sure. It depends on the vision we have with the withStyles() Higher-order Component.
If you go through the docs, it says that it's our internal styling helpers that we expose for convenience to our users. It was first designed for the internal components needs. Users are free to use whatever styling solution they want on top of Material-UI. Of course, the direct access to the theme with withStyles() is great, but it can be replaced. For instance, with the withTheme() Higher-order component or styled-components theming.
Personally, I'm using withStyles() exclusively in userland for all the projects I'm working on. I have also the feeling that a large majority of our best testers do the same (based on the feedback I see).
I'm gonna ping @kof as the topic can be extended to react-jss.

Sorry for all the poking! I like what you guys are doing here. I'm evaluating several UI frameworks for a large project and the friction of using WithStyles with TypeScript (and justifying any issues to other devs) is my biggest concern.

@vyrotek Let me know what you pick, all the feedbacks are welcomed!
@sebald Given the TypeScript definition of withStyles() is going to change significantly with the next beta release for the better, maybe it's time to add a TypeScript guide in the documentation? What do you think? I have added a very simple Flow guide recently.

I have an issue for a HOC-less interface since 2016) https://github.com/cssinjs/react-jss/issues/31 I reopen it now, because render functions are hype now)

What benefit exactly would it be for styling?


Add archiver for EIA MECS data

Overview
This PR adds an archiver for the Manufacturing Energy Consumption Survey (MECS). This data is archived exclusively on GCS, so this PR also adds an fsspec based storage backend. Using fsspec means this backend is compatible with most cloud storage providers as well as the local filesystem, which is very useful for testing.
To-do list
- [x] Add MECS archiver
- [x] Add fsspec based storage backend

@e-belfer I added some documentation about the depositor backend options in the README including a warning that this is still very experimental and should be used with caution.
In general, I think this is still in a very early/janky state that is good enough to get files on GCS for right now, but would still need significant work to be something we depend on more officially.

Is there a reason why we aren't referring to the EIA MECS with its form number (846), like we do for all of the other EIA datasets?  All the EIA Forms by number

Running pudl_archiver --dataset mecs --depositor fsspec --deposition-path=file:///PATH_TO_FILE --initialize where the path already had data in it and a folder from the last run, I'm getting the following traceback error:
2024-12-11 12:37:07 [    INFO] catalystcoop.pudl_archiver.orchestrator:32 Deleting mecs from deposition.
Encountered exceptions, showing traceback for last one: ["('mecs', ValueError('Cannot delete directory, set recursive=True'))"]
Traceback (most recent call last):
....
File "/home/../pudl-archiver/src/pudl_archiver/orchestrator.py", line 33, in orchestrate_run
draft = await draft.delete_file(filename)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/../pudl-archiver/src/pudl_archiver/depositors/fsspec.py", line 194, in delete_file
(self.deposition.deposition_path / filename).unlink()
File "/home/../miniforge3/envs/pudl-cataloger/lib/python3.12/site-packages/upath/core.py", line 1008, in unlink
self.fs.rm(self.path, recursive=False)
File "/home/../miniforge3/envs/pudl-cataloger/lib/python3.12/site-packages/fsspec/implementations/local.py", line 180, in rm
raise ValueError("Cannot delete directory, set recursive=True")
ValueError: Cannot delete directory, set recursive=True
When I deleted the directory (from an older run), all worked as expected. Is there a scenario where we ever expect to have an archive with folders and want to enable this recursive deletion?

@e-belfer I think having sub-directories within an archive would cause other problems, but I'm not really sure. I could take a look at enabling this if it's something we want to support, but I haven't really thought about enabling this before.


Add reporting of modules statistics

Mixpanel Dashboard example

Overall modules event

Module detail event

This PR was released with 0.22.1


[Feature Request] Time-based biometric locking

(Writing titles is hard, if you feel like you've got a better one, you're free to change it)
Why/User Benefit/User Problem
Adding this feature would allow having the app locked in environments you don't control(i.e. school), and unlocked in ones you do control(i.e. your home)
What/Requirements
When "Lock with biometrics" is toggled on, a new setting could be shown that allows the user to specify an hour interval when the biometric lock is enabled. Maybe also allow specifying days when it is enabled?

Partially added in https://github.com/jobobby04/TachiyomiSY/commit/035fb9e75523cefa981b2503001fd5220f46d9e2
Days are not implemented

Addressed by https://github.com/jobobby04/TachiyomiSY/commit/8387492a9bfd27426de79bdb8f1e3bcbf9682bf9


Accessibility issues for the Tag/Endpoint Sections

What happens?

When using keyboard navigation over headings that are clickable, there is no visual indication that clicking them will copy something to the clipboard (when you hover over the heading with a mouse, a # appears)

Screen reader announces ‘number ’ and screen reader will say that there is a clickable copy component, but keyboard users who do not use screen reader have no indication of the copy button.
When a user clicks a copy button with mouse or keyboard, there is no announcement by a screen reader of a status message that the content was copied

There is no visual indication that the Endpoint sections in the section container are clickable links.

The links in the Endpoint card at the top of a section do not receive keyboard focus

When you move to a new section by keyboard navigation and activate the ‘Show more’ button, the focus should move to the first interactive element in the expanded section

On the request code snippet example, the screenreader announcement for the client library combobox is not descriptive. It announces the name of the currently selected library.

There is not visible focus when the keyboard navigates to the combobox of client libraries on code snippets
The verb & path label of the code snippet is not announced by a screenreader
The copy button in the code snippet does not receive visible focus during keyboard navigation. It appears when the mouse hovers over the code snippet
The test request button does not receive visible focus during keyboard navigation.

Scrollable code snippets are not keyboard accessible. The Code sections do not receive keyboard focus.
In Responses, the toggle arrow icon is missing the following attributes: focusable="false”, role="presentation”, aria-hidden="true"
In responses, the element that expands to show response definition for each status code is missing the following attributes: role="button" to be focusable and identified as interactive elements for assistive technologies, Name to be announced by screen reader (Note: the button should have name and be associated with the visual label 'Responses’), state to be announced by screen reader (expanded or collapsed)
In request or response sections, when there is nested information with a ‘Show child attributes’ button, the button should have an aria-control attribute that refers to the region that is hidden under the button.

The region hidden under the button should have role=region and an accessible name that is announced by the screen reader
The elements that are revealed after the ‘Show child attributes’ button is pressed should be included in a structured list.

When screen is zoomed in very far (for example 400%), the code snippets and response body examples are not scrollable.

What did you expect to happen?
Buttons that appear on hover should appear when keyboard focus moves to them.
Copy actions should have status messages announced by screen reader.
Active elements like clickable links should have a visual indication that they are clickable and should be able to receive keyboard focus.
The code snippets should be accessible by keyboard and screen reader. They should be announced by a screen reader, and the buttons on the component should be keyboard accessible with contextual screen reader announcements.
Expanding components and regions in the request and response documentation should have correct aria labels.
When you click a button that opens an expandable component, the keyboard focus should move into that component.
OpenAPI Document
No response

Fixed in #3621


fix(pkg): Removing pkg dependency

:tada: This PR is included in version 1.2.1 :tada:
Your semantic-release bot :package::rocket:


[BUG]: Expanding and loading state renders cell with undefined values

material-react-table version
1.15.0
react & react-dom versions
17.0.2
Describe the bug and the steps to reproduce it
When loading is true Cell component gets rendered and cell.getValue() is undefined
<MaterialReactTable
      columns={[
        {
          id: 'someId',
          accessorFn: (x) => x.firstName,
          header: 'First Name',
          Cell: ({ cell }) => {
            console.log('cell value: ', cell.getValue()); // <----- here cell.getValue() is always undefined when loading is true
            // the Cell component gets rendered;
            return <>yo</>;
          },
        },
      ]}
      state={{ isLoading: true }}
      data={[]}
      enableExpanding
    />

Minimal, Reproducible Example - (Optional, but Recommended)
https://stackblitz.com/edit/github-wtvpnu-zgsit2?file=src%2FTS.tsx,package.json,src%2FmakeData.ts
Screenshots or Videos (Optional)
No response
Do you intend to try to help solve this bug with your own PR?
None
Terms

[X] I understand that if my bug cannot be reliably reproduced in a debuggable environment, it will probably not be fixed and this issue may even be closed.

@KevinVandy this PR introduced it - https://github.com/KevinVandy/material-react-table/pull/601

Related problem: when isLoading is true, the contents of the action column are still rendered. This was not the case in 1.14.0.
See sandbox for example: https://stackblitz.com/edit/github-yb9axs?file=src%2FTS.tsx

Facing the same issue here. downgrading to 1.14.0 solves the issue.

yeah, seems like this and #721 are because of this change. Going to be reverting this behavior

fixed in v2, backported to v1.15.1


FlatList not found/exported => Docs not in-sync with current release

Description
Tried to use FlatList in a new app.
Documentation https://facebook.github.io/react-native/docs/flatlist.html describes it for the
current native version 0.43.x.
Neither
const ReactNative = require('react-native')
const {
FlatList
} = ReactNative;
nor ES6 imports
import {
...,
FlatList
} from 'react-native';
are possible.
Reproduction
I basically tried to run this example in a new created project:
https://github.com/facebook/react-native/blob/master/Examples/UIExplorer/js/FlatListExample.js
Solution
Looking at /Users/mb/pprojects/defmacro_shoppinglist/node_modules/react-native/Libraries/react-native/react-native.js
there is no export of FlatList?
Version is 0.42.3
=> oh well, I now see the problem. FlatList is introduced in 0.43! But this version is not released yet! Could you please update the documentation in-sync with react-native releases. This makes it very confusing (I'm just started to use react-native..).
Additional Information

React Native version: 0.42.3
Platform: iOS (but doesn't matter)
Operating System: MacOS
Dev tools: Xcode

cc @hramos - it looks like the 0.43 are considered stable even though it's still in RC.

0.43 was incorrectly tagged as stable yesterday. This should be fixed already but a new website deploy hasn't gone out yet due to Circle being red.

Alright, this is now fixed. It required a manual deploy of the website to ensure 0.42 was listed as latest stable.


Created user profile data & image avatar functionality

For the user profile data and image avatar functionality, I have built two pages:

first page, that will display user data if available or else it will prompt user to add data
second page for adding the user data (name, DOB, id, role) and uploading profile image

The image_picker plugin for Flutter is used to add images from the phone's camera or gallery to the avatar.
New Recording - 1_16_2023, 2_08_45 AM.webm
Also made some changes to the forgot password functionality for displaying alerts on user interaction.

@riya107 Made the required changes to Create Profile page.
https://user-images.githubusercontent.com/82928853/212619481-07756852-0192-407c-a1dd-8073a3248ef0.mp4


Intellisense removes character when replacing following token

Intellisense removes previous character of previous token if replacement occurs on a fully written token with subscript.
Basically create two variables, say A and A_0. Type A and then fully write A_0, but accept Intellisense replacement. After doing so A will disappear.
If the first variable is a token with multiple characters (like sin or a variable with subscript) then only the previous letter is deleted. Here is a video of how to reproduce.
https://github.com/DesModder/DesModder/assets/43660822/02257b7b-9ef4-4a2f-91c1-cfdeac4f287f

My bad I forgot to add. I tested on current store release (FF and Chrome) and also in Chrome's latest main build. I did not test any of the current PR branches.

This is probably an off-by-one error somewhere (I really need to add tests lol), I'll see what i can do to fix it.
On a more important note, haha funny number (issue #666 lol)

I found another one which I think is related. Might be worth testing with #667. I haven't quite gotten it to an atomic case because it was behaving weird (non trivial), but it is now stable. I don't know.
Anyway, here is the graph to test it with. I left comments to describe it, but it deletes a whole frac{}{} token in this case. Earlier it was editing a token ahead.
https://www.desmos.com/calculator/gjwsluzpr7

From what I can tell this seems to have a slightly different root cause (looks like having LaTeX both before and after an identifier to be autocompleted causes this bug)


#166394452 FIxes party rename duplication

What does this PR do?

Disallows duplicate name registration during party renaming.
Description of Task to be completed?

[x] Add test for party duplication
[x] Add logic to check if party if name is registered before a rename

How should this be manually tested?
After cloning the repository to your local machine - check README.md for instructions checkout to bg-fix-party-rename-duplicates-166394452 branch. Install the requirements and launch the flask server check here for instructions.
Using Postman open create a request with this header to signin an admin user (NB: This is the default admin user).
HEADER:
Key Content-Type: application/json.
Put this in the json body
{
    "email"<EMAIL_ADDRESS>    "password": "2019NBO37"
}

Once the admin user is signed in. Create another request with the following headers:
Key Content-Type: application/json.
Authorization header Bearer token = copied auth token

{
	"party_name": "Another party",
	"hq_address": "Mountnw 23",
	"logo_url": "http://wqwe.jcn.cm"
}

Once the party is created to change the name open a PATCH /api/v2/parties/{party_id}/name. Add the the admin token.
Put this in the json body
{
	"party_name": "Another party",
}

The API will respond with 409 CONFLICT as the party name already exists.
What are the relevant pivotal tracker stories?
#166394452
Screenshots (if appropriate)

Coverage increased (+0.01%) to 97.393% when pulling 51520d0a76182e5bdb3bb707a914fb6f8ca71db1 on bg-fix-party-rename-duplicates-166394452 into 5b1d96855f2c9d87fb4c934f74f3173390ddd417 on develop.


Unity Localization Package Support

￼
Description
Hello! I recently released a commercial game with Fungus doing a lot of the heavy lifting including localization for dialogue. While this feature works as expected it proved to be difficult with larger projects so I wanted to create something that could be used from in small to large projects now that I have some free time. With the release of Unity 2021.2 and the public v1.0 release of the Unity Localization package I decided to reimplement Fungus's localization features to use the Localization package without removing the previous functionality in the codebase.
What is the current behavior?
The current localization workflow requires you to write all your dialogue first, export it using the Localization component and then reimport it after editing the CSV in an external program.
What is the new behavior?
The new localization workflow allows you to localize your content in two ways.
The first way is the configure the LocalizedString variable in any ILocalizable component (named localized%VARIABLENAME% eg. localizedStoryText, localizedText, etc.) this is great for dialog that is repeated in multiple say commands and you’d like to assign them all to the same localization entry.
￼

The second way is to automate the creation of entries and assigning of the LocalizedString variable using the new Localization component. The component doesn’t only allow you to export entries you can also import changes made to the string table back into fungus commands as well! Once exported to a string table you will be able to export to a variety of formats (CSV, Google Sheets, or XILFF) for external editing, all of which can be imported back in.
￼

PR also includes the ability to localize to now localize VO clips in the Say command thanks to the support to be able to localize assets with the Localization package.
￼

The new behavior includes two examples, a recreation of the original Localization example and a longer example which pulls dialogue from our game No Longer Home.

The old localization system can still be used, all you need to do is remove UNITY_LOCALIZATION under Custom Defines in the Player Settings to revert back to using the old system.
Important Notes

My change require modifications or additions to documentation
My change adds demos to FungusExamples

Other information
I recommend this tutorial for learning more about the basics and getting the Localization package setup.
Requires Unity 2021.2.0f1 to see the Localization package in the Package Manager but it can be installed in earlier editors by typing in com.unity.localization under “Add package from git URL” in the Package Manager in 2019.3 and later.
One feature I have not been able to reimplement yet (making the PR still a WIP) is Localization.SubstituteStrings() I would appreciate some help on context on what it does so I can implement it myself or get help. Edit: I have implemented this in commit https://github.com/snozbot/fungus/pull/1042/commits/0d04f4775fde97001792d224a0cf403b219c42f3. I've updated to title to remove [WIP] as it is now feature complete

I would love to see this PR merged!


Ugly Numbers

Do the checklist before filing the issue:

[x] Do you have Node.js and all the relevant dev-dependencies installed?
[ ] Is this a bug fix?
[x] Is this an enhancement?
[x] Is this a feature request?

NOTE: Provide a clear and concise description of the feature that needs to be added! Or if its a bug, then provide the necessary steps to reproduce it along with screenshots.

Give your answer below:

[Function: M.ugly()] needs to be added!
For more info:
https://www.geeksforgeeks.org/ugly-numbers/
M.ugly() needs to accept a positive integer and all other arguments passed should throw a type error which needs to be handled gracefully! For error handling, you should refer to how M.catalan() is implemented.
Category: Find nth Number

I would like to claim this issue.

I would like to work on this issue

@pydevsg you're assigned!
The task is to find the nth ugly number as specifically stated within the category section! Do this by implementing the most optimized algorithm.

Thanks for the clarification pydevsg and pbiswas101 :-)

@pydevsg your time's up!

Assign this to me, please.

@thisisabdus you're assigned!