🧪 TinaCMS - Replace Cypress with Playwright e2e tests

CC @wicksipedia @Ben0189
Hey Team,
Currently, the project uses Cypress to run some end-to-end tests. We've decided to transition from Cypress to Playwright. We'll start by moving the existing Cypress tests to Playwright and then fully adopt Playwright for our end-to-end testing.

[!IMPORTANT]
Due to some pipeline issues, we are skipping the Cypress e2e tests.

Tasks
Editing Text & Rich Text

[x] Implement test to edit and verify subtitle and heading.
[x] Implement test to edit and verify bold text, paragraphs, and quotes.

Italic Text

[x] Implement test to verify that italic text is correctly rendered from markdown.
[x] Implement test to verify that italic text can be typed.

Bold Text

[x] Implement test to verify that bold text is correctly rendered from markdown.
[x] Implement test to verify that bold text can be typed.

Headings

[x] Implement test to verify that headings are correctly rendered from markdown.
[x] Implement test to verify that headings can be typed.

New Lines

[x] Implement test to verify that new lines are correctly rendered from markdown.
[x] Implement test to verify that new lines are correctly rendered from markdown with backslash.
[x] Implement test to verify that new lines can be typed.

Paragraphs

[x] Implement test to verify that paragraphs can be typed.
[x] Implement test to verify that paragraphs are correctly rendered from markdown.

Have Edit Mode Button

[ ] Implement test to verify that the user can log in.
[ ] Implement test to verify that the "Enter Edit Mode" button is present and can be clicked.
[ ] Implement test to verify that clicking the "Enter Edit Mode" button sets the tina.isEditing value in local storage to true.

First stage migrations (only rich text editor)
PR - https://github.com/tinacms/tinacms/pull/5211


TICK-384 Added alternative to view_row

It this ready ?

We should replace view_row with the operator() in all places where we only use the view to access single values. Like, view_row(...)[i] is bad, because we construct and destroy a view for a single memory access. Also prevents compiler optimizations.


Memory leak when using mpi_pool loadbalance

Hi,
I'm running emcee on a small cluster of workstations with openmpi. I find that enabling the Loadbalancing option gives a significant speed boost to my code, but it does so at the expense of the memory footprint growing quite quickly until the program crashes. This is not an issue when Loadbalancing is set to False, so I don't think it's a problem with my own code. I'm not entirely sure what could be going on.
Any pointers?
Thanks

The next version of emcee won't include an MPIPool (partly because of this unresolved issue). We're recommending that users switch to https://github.com/adrn/schwimmbad instead.


add logging of exceptions during runtime environment create

Avoids the Runtime Handler can only error while starting error logs in localstack when the invocation fails due to an error.
Previously it caused two "error reports", one via /invocations/<invokeid>/error and one via /status/<runtimeid>/<status>.

Context

Runtime errors are handled in our custom_interop: https://github.com/localstack/lambda-runtime-init/blob/localstack/cmd/localstack/custom_interop.go#L168
Related AWS docs about the init behavior: https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtime-environment.html#runtimes-lifecycle-ib
More context in Notion: https://www.notion.so/localstack/Fix-Lambda-re-spawn-loop-due-to-InvalidStatusException-649cd3b202e649179291e5caf6428a99?pvs=4


Change swarm mode ingress network

Hi -
I'm am testing out swarm mode (1.12.0-rc2) on a couple of new centos 7 virtual machines (VMWare).  One issue I face is that the default network picked for the swarm ingress network (<IP_ADDRESS>/16) conflicts with a network in my organization.  Is it possible to change the network, or change the range on swarm creation?
Otherwise, very sweet work :)
Output of docker version:
Client:
 Version:      1.12.0-rc2
 API version:  1.24
 Go version:   go1.6.2
 Git commit:   906eacd
 Built:
 OS/Arch:      linux/amd64

Server:
 Version:      1.12.0-rc2
 API version:  1.24
 Go version:   go1.6.2
 Git commit:   906eacd
 Built:
 OS/Arch:      linux/amd64

Output of docker info:
Containers: 1
 Running: 1
 Paused: 0
 Stopped: 0
Images: 2
Server Version: 1.12.0-rc2
Storage Driver: devicemapper
 Pool Name: docker-253:0-15237-pool
 Pool Blocksize: 65.54 kB
 Base Device Size: 10.74 GB
 Backing Filesystem: xfs
 Data file: /dev/loop0
 Metadata file: /dev/loop1
 Data Space Used: 265.1 MB
 Data Space Total: 107.4 GB
 Data Space Available: 4.03 GB
 Metadata Space Used: 950.3 kB
 Metadata Space Total: 2.147 GB
 Metadata Space Available: 2.147 GB
 Thin Pool Minimum Free Space: 10.74 GB
 Udev Sync Supported: true
 Deferred Removal Enabled: false
 Deferred Deletion Enabled: false
 Deferred Deleted Device Count: 0
 Data loop file: /var/lib/docker/devicemapper/devicemapper/data
 WARNING: Usage of loopback devices is strongly discouraged for production use. Either use `--storage-opt dm.thinpooldev` or use `--storage-opt dm.no_warn_on_loop_devices=true` to suppress this warning.
 Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata
 Library Version: 1.02.107-RHEL7 (2016-06-09)
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge null host overlay
Swarm: active
 NodeID: 34hiak5m1kx7uoq21zvmuv0b3
 IsManager: Yes
 Managers: 3
 Nodes: 3
 CACertHash: sha256:ccaaea96f037886b08c96488e1bf57fba1e948e7a676a395665898601f7d539b
Runtimes: default
Default Runtime: default
Security Options: seccomp
Kernel Version: 3.10.0-327.22.2.el7.x86_64
Operating System: CentOS Linux 7 (Core)
OSType: linux
Architecture: x86_64
CPUs: 2
Total Memory: 3.703 GiB
Name: XXXXXXXXXXX
ID: TJTI:I6MX:DX7R:CM4L:VH3M:FNNN:NKSO:4YFI:DPJX:TF2W:OISX:FAR5
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
WARNING: bridge-nf-call-ip6tables is disabled
Insecure Registries:
 <IP_ADDRESS>/8

/cc @mrjana @mavenugo

I know there was a plan to add this configuration to docker swarm init.
@mrjana will know about that.

@rmdashrfslash We are definitely thinking of adding the ability to configure the ingress network in the future. It just didn't make it into 1.12 code.
But just to clarify, as long as you are using a kernel in all your nodes which is greater than or equal to 3.16 this would not cause any conflicts with the host network. In those kernels it is completely in a private namespace and doesn't get exposed outside at all. Even in kernels < 3.16 it is only a problem if the conflict is in the host itself. If the host itself doesn't participate in <IP_ADDRESS> network then there is no problem.

I met the same problem too, and curiously my kernel version is 4.2.0. Because I found that there are packets from 10.255.x.x(outside of the docker and my host) to the docker service port (publish 5001), but no packets back (and too much tcp retransmission).
Any suggestion is appreciated. Thanks very much!
docker version info:
Client:
Version:      1.12.0
API version:  1.24
Go version:   go1.6.3
Git commit:   8eab29e
Built:        Thu Jul 28 22:00:36 2016
OS/Arch:      linux/amd64
Server:
Version:      1.12.0
API version:  1.24
Go version:   go1.6.3
Git commit:   8eab29e
Built:        Thu Jul 28 22:00:36 2016
OS/Arch:      linux/amd64
docker info:
Running: 0
Paused: 0
Stopped: 0
Images: 4
Server Version: 1.12.0
Storage Driver: aufs
Root Dir: /data/var/lib/docker/aufs
Backing Filesystem: extfs
Dirs: 11
Dirperm1 Supported: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: host bridge overlay null
Swarm: active
NodeID: esq4g83ffhodq3wzox4hmfkzk
Is Manager: true
ClusterID: b312564hx4b92tkhmb4d3zwfs
Managers: 3
Nodes: 3
Orchestration:
Task History Retention Limit: 5
Raft:
Snapshot interval: 10000
:WARNING: No swap limit support
Heartbeat tick: 1
Election tick: 3
Dispatcher:
Heartbeat period: 5 seconds
CA configuration:
Expiry duration: 3 months
Node Address: <IP_ADDRESS>
Runtimes: runc
Default Runtime: runc
Security Options: apparmor
Kernel Version: 4.2.0-35-generic
Operating System: Ubuntu 14.04.5 LTS
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 15.67 GiB
Name: XXXXX-01
ID: CWWZ:XXY5:2GIW:WT46:OPUU:WK6Z:HGSL:J4U3:WBGH:KUFC:XXXX:XXXX
Docker Root Dir: /data/var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Insecure Registries:
<IP_ADDRESS>/8

Couldn't a workaround to this be to create a custom overlay network and just not use the ingress for any services?

@BretFisher it seems like when you publish a port from a service, it's automatically assigned to the ingress network.  Is that correct?  I'm currently hitting this issue as well.

Right it's assigned to the ingress network for incoming traffic to published ports only, which it sounds like @rmdashrfslash is saying is the same subnet as the source of an incoming packet to a published port... but @mrjana is saying it shouldn't matter.
@rmdashrfslash if  you can give me specifics on the source IP (what exactly is the conflict) then I can try to reproduce. FYI you should be pointing traffic to the host IP for published ports... I've never needed to care about the ingress network IP's.. they don't show up in containers or on host.
Ignore my above comment, as a overlay network wouldn't affect that scenario.

This is a show-stopper for our adoption. Our in-house network is <IP_ADDRESS>/24 with subnets:
<IP_ADDRESS>/16, <IP_ADDRESS>/16, <IP_ADDRESS>/16, etc. Docker services work great when we ported over our product however nothing is routable from the swarm to our internal resources, such as our internal DBs, DNS, and internet gateway. There needs to be a way to change the ingress network. Is this on the roadmap?

It would be very helpful if there were an init option for ingress:
docker swarm init --ingress <IP_ADDRESS>/16

Changing the subnet is just one configurable parameter of a network. We have a few other configuration options today for docker network and more will come in the future. Hence instead of identifying individual configurable parameters, we must make the --ingress network itself to be replaceable. one option (cc @mrjana & @aboch) would be docker swarm init --ingress my-global-ingress-network. Ofcourse there is a chicken and egg problem here that we will not be able to create a my-global-ingress-network before swarm init is complete and also by design docker network configurations are immutable (hence we cannot create this my-global-ingress-network prior to swarm init and update later).
Hence the option would be to let the user docker network create --ingress -d overlay my-global-ingress-network after the docker swarm init --ingress <my-global-ingress-network>. Between these commands any docker service -p must fail. Also this my-global-ingress-network will be special due to --ingress flag (and there can be only one network with that flag in the swarm) and will have multiple restrictions imposed by the system.
@mrjana @al wdyt ?

I've seen requests for docker network update - if technically possible, would that be something to consider?

same issue.

We really need this feature request. Any chance this will get on a release roadmap?

+1 really need to be able to change this setting.

I face the same issue. We really need the ability to configure the ingress network.

Any chance this will get on a release roadmap? This is a huge problem for any infrastructure already using a 10.255.x.x network.

@se7enack We are working on adding this feature.

I meet the same issue.

As mentioned by @mrjana, I think the best way to solve this issue instant is upgrade the kernels.
On my ubuntu server, docker working fine with 16.04 LTS version:
apt-get install linux-generic-lts-xenial
init 6
root@iZm5effj2tm01xgnawt688Z:~# uname -a Linux iZm5effj2tm01xgnawt688Z 4.4.0-52-generic #73~14.04.1-Ubuntu SMP Wed Nov 30 17:20:32 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

@firesh I've tested this. It does not resolve the issue.

I face this same issue. but it is so curious that it seems the subnet is not not conflict.
 ifconfig | grep 10
          inet addr:<IP_ADDRESS>  Bcast:<IP_ADDRESS>  Mask:<IP_ADDRESS>

any help?

@se7enack After upgrade the kernels, you still can not use ingress. But you can create another overlay network with subnetwork(192.168.x.x or 172.16.x.x).  Need specify the network using --network: docker service create --network YOURNETWORKNAME

@aboch Any rough ETA on this?

@aboch @mrjana @mavenugo Any rough ETA on this?

@aboch will this PR help for the overlapping network range? https://github.com/docker/docker/pull/29376

@se7enack
The feature is targeted for docker 1.14
@thaJeztah
Currently, the ingress network subnet is not auto selected. So that PR wouldn't help for this.

Hi guys,
I just want to share my experience with a similar problem:
The MTU between the docker bridge and your vpn should match.
If you do not do it you will get partial or no connectivity from the container to the outside world.
This can be even more tricky because small requests will be server properly; like a traceroute.
But then when a full request is done you will not get the proper response.
IE:
curl curl http://www.greens.org/about/software/editor.txt -vI
will work
while
curl http://www.greens.org/about/software/editor.txt
will not work!
How I found the "nice" problem
With tcpdump on the vpn interface and filtering for my test host I found:
tcpdump -i vpn0 'host <IP_ADDRESS>'
17:46:58.851427 IP truncated-ip - 100 bytes missing! mail.greens.org.http > 4delbmiege.ad.here.com.47046: Flags [.], seq 1:1355, ack 104, win 227, options [nop,nop,TS val<PHONE_NUMBER> ecr 9183195], length 1354: HTTP: HTTP/1.1 200 OK
I tried to change the mtu in the interface showed in ifconfig or ip but nothing! The result didn't change.
So I checked the docker network:
docker network ls

found out my bridge network
docker network inspect NETWORD_ID

And i found that even if I changed the mtu to every interface of my system the docker inspect show to me:
"com.docker.network.driver.mtu": "1500"

Now my VPN mtu is 1300.
Finally I found a good way to start docker with the right mtu.
Just add --mtu=1300 on the daemon on startup.

i face same issue

+1

+1


test: fix on demand activation test flakyness

Warm-up (and the "tenant startup complete" metric update) happens in
a background tokio task. The tenant map is eagerly updated (can happen
before the task finishes).
The test assumed that if the tenant map was updated, then the metric
should reflect that. That's not the case, so we tweak the test to wait
for the metric.
Fixes https://github.com/neondatabase/neon/issues/7158
Checklist before requesting a review

[ ] I have performed a self-review of my code.
[ ] If it is a core feature, I have added thorough tests.
[ ] Do we need to implement analytics? if so did you add the relevant metrics to the dashboard?
[ ] If this PR requires public announcement, mark it with /release-notes label and add several sentences in this section.

Checklist before merging

[ ] Do not forget to reformat commit message to not include the above checklist

180 runs of the test without any failures in https://neon-github-public-dev.s3.amazonaws.com/reports/pr-7180/8348245330/index.html


Upgrade airlock review and unrestricted workspaces to base v0.12.0

Resolves #3617
How is this addressed

Upgrade base version
Amend Porter config to work with new base versions

To test:

Register new templates
Deploy workspaces

/test-force-approve

Should this be two separate PRs: one for the local debugging fixes and one for the referenced versions?

Doh, I've pulled the other PR into this branch. I've done it with another PR too. Let me try and revert them, unless fancy giving the #3654 a look!

Should this be two separate PRs: one for the local debugging fixes and one for the referenced versions?

Doh, I've pulled the other PR into this branch. I've done it with another PR too. Let me try and revert them, unless fancy giving the #3654 a look!

I will look at #3654 but I would like to test that one - and I've never set up local debugging before, so might need some time.

/test-force-approve


Adjust the text size for asset costs graph

The text for x & y axes look rather big

@glorymanutd

Think we should tackle this via #1223


Coercion doesn't work when reusing schemas

I think I've identified a bug: When reusing schemas (as described in the docs here), or when using a defined schema class (as described in the docs here), coercion stops working.
If I have a custom Type like so
module Types
  include Dry::Types.module

  EIN = Types::String.constructor do |str|
    str ? str.strip.chomp.gsub(/-/, '') : str
  end
end

This code works:
    form = Dry::Validation.Form do
      configure do
        config.type_specs = true
      end

      required(:ein, Types::EIN).filled
    end

    result = form.call(ein: "1234-14351345")

The above produces the correct result: result[:ein] #=> "123414351345"
While this code does not work:

    schema = Dry::Validation.Schema do
      configure do
        config.type_specs = true
      end
    end

    form = Dry::Validation.Form(schema) do
      required(:ein, Types::EIN).filled
    end

    result = form.call(ein: "1234-14351345")

The above produces the incorrect result: result[:ein] #=> "1234-14351345"
This variation of the code also does not work:

    form_schema = Dry::Validation.Form do
      configure do
        config.type_specs = true
      end
    end

    form = Dry::Validation.Form(form_schema) do
      required(:ein, Types::EIN).filled
    end

    result = form.call(ein: "1234-14351345")

The above produces the incorrect result: result[:ein] #=> "1234-14351345"
Additionally, defining a schema class and using that to build a schema also seems to prevent coercion from working.
Specifically, this does not work:
class AppSchema < Dry::Validation::Schema
  configure do |config|
    config.messages_file = './config/dry_messages.yml'
    config.type_specs = true
  end

  def self.call(params)
    Dry::Validation.Form(self).call(params)
  end
end

class Organization::Schema::Create < AppSchema
  configure do
    def real_ein?(ein)
      IrsTaxExemptRecord.exists?(ein: "#{ein}")
    end
  end

  define! do
    required(:ein, Types::EIN).value(:real_ein?)
  end
end

The above code produces: Organization::Schema::Create.(ein: "1234-141235") #=> Error! (because the ein isn't being coerced into the proper format and retains its "-")
Thanks!

I have a similar problem, I'm getting the following error when using type_specs in my schema.
undefined method 'size' for #<Dry::Types::Array::Member:0x007ff67012b1c8>

This is the schema:
Schema = Dry::Validation.Schema do
      configure do
        config.messages = :i18n
        config.type_specs = true
      end

      each do
        schema(UserSchema)
      end
    end

I do not get this error when remove the type_specs line. However, when I remove config.type_specs = true the coercions in UserSchema are not applied since the configuration of UserSchema is apparently ignored? UserSchema looks like this:
UserSchema = Dry::Validation.Form do
  configure { config.type_specs = true }
  required(:login, :string).filled(:str?, min_size?: 3)
  required(:age, [:nil, :int]).maybe(:int?, gt?: 18)
end

Related issues

type_specs and nested schemas - coercions do not happen in nested schema
Validation bug with nested schema and type_specs enable - coercions do not happen in nested schema
Can't use each { schema FormSchema } - using each with nested schema throws error

The last issue prompted me to try
each(UserSchema)

while that does not throw an error, it does not perform coercions even though type_specs is set to true.

+1

+1
I'm having the same issue. In a different scenario I was able to make nested array rules be used, as I explained here: https://discourse.dry-rb.org/t/sub-nested-arrays-with-schemas/272, but it requires to set the full coercion rules directly in the parent key, unfortunately I haven't found a way to make this work with each, as there's no key, just an array as input...

+1
I'm having the same issue
Scenario 1 (success):
IndexSchema = Dry::Validation.Form do
  configure { config.type_specs = true }

  optional(:query, Types::Strict::Hash).schema do
    required(:chars, Types::Coercible::String).filled(:str?)
    optional(:limit, Types::Coercible::Int).filled(:int?)
  end
end

IndexSchema.call(query: {chars: 'abc', limit: "1"}).result

Output (limit is integer):
{query: { chars: 'abc', limit: 1 }}

Scenario 2 (ambiguous):
IndexSchema = Dry::Validation.Form do
  configure { config.type_specs = true }

  optional(:query, Types::Strict::Hash).maybe do
    schema do
      required(:chars, Types::Coercible::String).filled(:str?)
      optional(:limit, Types::Coercible::Int).filled(:int?)
    end
  end
end

IndexSchema.call(query: {chars: 'abc', limit: "1"}).result

Output (limit is string):
{query: { chars: 'abc', limit: "1" }}

PR needed

@ifokeev You're welcome to submit one. Otherwise, we'll get back onto addressing dry-validation issues when we get the chance. It's one of our next big targets for improvement works.

I probably should have shared this a long time ago, but I came up with an incredibly hacky work around for this issue which seems to solve the problems. Basically, I created a class which allows storing and inheriting of schema configuration options, while ensuring that the schema's themselves are never reused / inherited. This way I manage to circumvent the bugs.
The code below is not quite as ugly as you might think, because eval is only run once at initialization, and then the value is cached for the lifetime of the application (I'm using eval to avoid scoping issues I was running into).
Anyway, obviously this is a temporary work-around
class ApplicationSchema
  class << self

    def definitions
      @definitions ||= []
    end

    def configurations
      @configurations ||= []
    end

    def configure(&block)
      configurations.push block if block
    end

    def define(&block)
      definitions.push block if block
    end

    def schema
      @schema ||= eval(<<-SCHEMA
          Dry::Validation.Form do
            configure do
              outer_object = self
              #{name}.configurations.each do |config_block|
                config_block.call(outer_object)
              end
            end

            outer_object = self
            #{name}.definitions.each do |definition_block|
              definition_block.call(outer_object)
            end
          end
        SCHEMA
      )
    end

    def call(params)
      schema.call(params)
    end

    def inherited(klass)
      klass.instance_variable_set("@definitions", definitions.dup)
      klass.instance_variable_set("@configurations", configurations.dup)
    end
  end

  configure do |schema|
    schema.config.messages_file = './config/dry_messages.yml'
    schema.config.type_specs = true
  end

end

You can use this ApplicationSchema like
class Shared
  class Schema
    class Address
      class CreateBase < ApplicationSchema

        define do |schema|
          schema.optional(:property).schema do
            required(:label, Types::Label).filled
            optional(:location_name, Types::Coerce::String).maybe
            optional(:street, Types::Coerce::String).maybe
            optional(:postcode, Types::Coerce::String).maybe
            optional(:suburb, Types::Coerce::String).maybe
            optional(:city_district, Types::Coerce::String).maybe
            optional(:city, Types::Coerce::String).maybe
            optional(:island, Types::Coerce::String).maybe
            optional(:state_district, Types::Coerce::String).maybe
            optional(:state, Types::Coerce::String).maybe
            optional(:country, Types::Coerce::String).maybe
          end
        end

      end
    end
  end
end

And with inheritance
require_relative 'create_base'

class Shared
  class Schema
    class Address
      class Create < ::Shared::Schema::Address::CreateBase

        define do |schema|
          schema.optional(:primary, Types::Form::Bool).filled
          schema.required(:parent_id, Types::UUID).filled
        end

      end
    end
  end
end

Usage of a schema is like Shared::Schema::Address::Create.(params)

New user of dry-validation (v 0.12.1) and I'm running into this same issue. I realize a PR is preferred but all I can do is +1 this for now.

Closing this one in favor of https://github.com/dry-rb/dry-schema/issues/25
Stay tuned for the next release!


DOCS-#3792, DOCS-#2410: Improve "Getting Started" section

Major refactoring for "Getting Started section". Migrated from PR#3898.

Improved flow and organization of sections based on #3792 structure
Updated Using Modin locally and in cluster setting
New quickstart guide and corresponding notebook
New examples page linking to notebook tutorials, articles, and talks about Modin
Added estimated read time on each page

Preview: https://modin--3965.org.readthedocs.build/en/3898/getting_started/quickstart.html
What do these changes do?

[ ] commit message follows format outlined here
[ ] passes flake8 modin/ asv_bench/benchmarks scripts/doc_checker.py
[ ] passes black --check modin/ asv_bench/benchmarks scripts/doc_checker.py
[x] signed commit with git commit -s
[x] Resolves #3792, #2410
[ ] tests added and passing
[ ] module layout described at docs/developer/architecture.rst is up-to-date

can we insert somewhere (probably in Using Modin Locally) a Note about impossibility of mixing different distribution mechanisms (eg Ray and python multiprocessing)?

One minor thing, if it's not too much trouble: break longer lines at around 88 characters so that in the future the diffs are smaller and merges are easier if/when we need to make changes.

Added line breaks at 88 chars

can we insert somewhere (probably in Using Modin Locally) a Note about impossibility of mixing different distribution mechanisms (eg Ray and python multiprocessing)?

Added note here

Btw, do we have Release Notes at some place or I missed them? If we don't have such topic - how do all think about adding it?

@Garra1980 it is a great suggestion. Let's add it in a new issue

Release notes are here. Instructions on how to write the release notes should probably go in the Contributing section and not this section.

Yeah, I was talking about adding link on Release Notes not on instructions how to write them :)

@dorisjlee, I removed redundant symbols in titles. Hope, you are fine with this.

Thanks @YarShev!

@Garra1980 it is a great suggestion. Let's add it in a new issue

@dorisjlee could you please create an issue for Release Notes?

Sure @Garra1980! I've now added this as #4024

Thanks a lot @dorisjlee!!


API Wallet Integration

Placeholder to track API wallet integration progress.
Scope overview:

[x] modify config to facilitate API wallet
[x] instantiate API wallet for node
[x] (optional) export current wallets to external repos for later use in plugin interface
[x] update and migrate wallet db tables to support multiple coins
include Ethereum API wallet into API multiwallet

[x] (https://github.com/OpenBazaar/multiwallet/pull/4) update multiwallet to use shifted wallet-interface
[x] integrate Ethereum API wallet

[x] (https://github.com/OpenBazaar/openbazaar-go/issues/1098) update /ob/config API call to include list of wallets
update API interfaces to support different coins on a per-transaction basis

Wallet API

[x] (https://github.com/OpenBazaar/openbazaar-go/issues/1099) GET wallet/address
[x] (https://github.com/OpenBazaar/openbazaar-go/issues/1100) GET wallet/balance

if no coin type is sent, all coin balances should be returned in an object keyed with the coin codes.

[x] (https://github.com/OpenBazaar/openbazaar-go/issues/1106) GET wallet/transactions
[x] (https://github.com/OpenBazaar/openbazaar-go/issues/1100) GET wallet/status
[x] (https://github.com/OpenBazaar/openbazaar-go/issues/1101) GET wallet/fees
[x] (https://github.com/OpenBazaar/openbazaar-go/issues/1102) POST wallet/spend
[x] (https://github.com/OpenBazaar/openbazaar-go/issues/1103) POST wallet/bumpfee
[x] (https://github.com/OpenBazaar/openbazaar-go/issues/1104) POST wallet/resyncblockchain
[x] (https://github.com/OpenBazaar/openbazaar-go/issues/1105) the wallet socket for new transactions will need to send a coin type.
[x] (https://github.com/OpenBazaar/openbazaar-go/issues/1105) the wallet socket for first confirmation on a transaction will need to send a coin type (Q: https://github.com/OpenBazaar/openbazaar-go/issues/1015#issuecomment-414324612)
[x] (https://github.com/OpenBazaar/openbazaar-go/issues/1108) the walletUpdate socket will need to return an object of data keyed to coin types or separate socket data would need to be delivered for each wallet.

Listing APIs

[x] (https://github.com/OpenBazaar/openbazaar-go/issues/1109) GET ob/listings

each listing will need a list of accepted coins (maybe in price.acceptedCurrencies?)

[x] (https://github.com/OpenBazaar/openbazaar-go/issues/1110) GET ob/listing

a list of accepted coins should be returned

[x] (https://github.com/OpenBazaar/openbazaar-go/issues/1111) POST ob/listing

a list of accepted coins should be sent.

Settings

[x] (https://github.com/OpenBazaar/openbazaar-go/issues/1137) GET ob/settings

return a list of preferred coins. This will be used to auto-populate new listings.

[x] (https://github.com/OpenBazaar/openbazaar-go/issues/1138) POST ob/settings

accept a list of preferred coins.

Profile

[x] (https://github.com/OpenBazaar/openbazaar-go/issues/1139) GET ob/profile

moderatorInfo should return a list of preferred coins (moderatorInfo.acceptedCurrencies)

POST/PATCH ob/profile

[x] (https://github.com/OpenBazaar/openbazaar-go/issues/1140) moderatorInfo should accept a list of preferred coins (moderatorInfo.acceptedCurrencies)
[ ] (https://github.com/OpenBazaar/openbazaar-go/issues/1141) when the list of moderators is changed, each one should be validated to make sure it supports the vendor's coins (ie, if the moderator is using a plug-in SPV wallet with a coin the vendor doesn't have).

Moderators

GET ob/moderators

[ ] (https://github.com/OpenBazaar/openbazaar-go/issues/1142) should accept a list of coins and return only moderators that accept at least one of them based on their moderatorInfo.acceptedCurrencies data.
[x] (https://github.com/OpenBazaar/openbazaar-go/issues/1143) should accept a parameter for full match. If true, only return moderators that accept all of the coins in the list of coins sent.

[x] profile.moderatorInfo.acceptedCurrencies reflects the same set as values from this task: GET full list of available currencies

Sidetasks:

[x] Discuss and resolve the backup API solution

Can we add a task to have profile.moderatorInfo.acceptedCurrencies automatically populated with all the coins in the user's wallet when their node is created?
Since we decided to not expose that in the client, it makes sense to me to have it just done at node creation. Other clients could expose the ability to change that list if they wanted.

@jjeffryes @rmisio Do you know if this task use a different notification type than usual transaction sockets?
the wallet socket for first confirmation on a transaction will need to send a coin type

It's an existing socket message, wouldn't it be whatever the existing message is?

I'm trying to determine if these two tasks share the same notification type internally:
the wallet socket for first confirmation on a transaction will need to send a coin type and the wallet socket for new transactions will need to send a coin type. I thought maybe the type is delivered in the payload in the socket and you might know from that. I can investigate.

There's a walletUpdate socket message:
{walletUpdate: {confirmed: 0, height: 537657, unconfirmed: 0}}
The first confirmation message:
{     "wallet": {         "address": "",         "canBumpFee": true,         "confirmations": 1,         "height": 1384638,         "memo": "",         "orderId": "",         "status": "PENDING",         "thumbnail": "",         "timestamp": "0001-01-01T00:00:00Z",         "txid": "f575e6cc0a88ba7609672cbf3736e2a537ad405bc882453a446b71acbf09823f",         "value": 155106     } }
(in this case there was no orderId because I just transferred funds directly between two nodes)

This is closed


Valid Palindrome LeetCode Problem with O(1) space

Problem URL -
Valid Palindrome

A solution to this question already exists in 'check_palindrome.py'  but it uses an extra space for storing the reversed string .
Provide an optimum solution and add your solution in the same file with a comment "Optimised approach"


test: run e2e test pod without framework setup

Added a simplified version of the current test/pod that allows the e2e tests to be run against an existing vault and etcd operator setup.
The multistage Dockerfile builds the test binary separately to reduce the final test-container image size.
Additionally the backup and restore tests are skipped if the S3 bucket and AWS secret env are not set.
/cc @fanminshi @colhom

lgtm after nits.


Move slidewiki presentations

I'm not sure if the site will come back, but I think it has been unavailable for a month. Maybe there is a different service they could be shared to instead.

Thanks for letting me know! We'll need to figure out a better way to share
presentations them...
Guilllaume
Le jeu. 26 juill. 2018 15 h 29, Nick Schonning<EMAIL_ADDRESS>a
écrit :

I'm not sure if the site will come back, but I think it has been
unavailable for a month. Maybe there is a different service they could be
shared to instead.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/canada-ca/OS-Advisory_Conseil-SO/issues/56, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABnJ5eaQlUCbz9-zRbkR5z7zyVMat4THks5uKhixgaJpZM4Viazr
.

Amazing what you can do just within GitHub these days - http://ottawacivictech.ca/Digital-Government-Civic-Tech-Open-Curriculum/Introduction/slides.html#1
Source is all available here:
https://github.com/YOWCT/Digital-Government-Civic-Tech-Open-Curriculum/tree/master/Introduction
Simple JavaScript frameworks can do amazing things these days.  All from Markdown.


v9.0.2 Batch Task with empty batch does not finish running

I'm not sure if I'm missing something obvious, but when I schedule a task to run on a regular basis, if there is nothing added to the batch the Task doesn't seem to ever clear out of the Currently Running list and more instances just end up being listed with a progress state of 0/0.
This can be recreated by scheduling the Rescan Files task to run every minute and setting the afterID to something greater than the highest fID on the site. Leaving this for a few minutes will end up with a number of Rescan Files tasks listed in the Currently Running listing on the Activity page.
Overall I really like the new task system! - thanks for all the work that went into tieing this all together (and for the docs)

No, this is accurate. It looks like all the existing batch code requires messages to be handled in order to update the batch. In cases where the batch has no messages it hangs.
https://github.com/aembler/concrete5/commit/0cfd988aa7448dc50a3cdc8277ce9340e0cbf927 should fix this.


ember upgrade 2.18.2

Ember upgrade, jsonedit update per #8.  This also fixes ember-c3 dummy app depreciation errors

@maxwondercorn : Are you interested in being a maintainer of ember-jsoneditor, too?
Related to https://github.com/Glavin001/ember-c3/issues/74

Yes
Sent from my iPhone

On Apr 25, 2018, at 9:34 AM, Glavin Wiechert<EMAIL_ADDRESS>wrote:
@maxwondercorn : Are you interested in being a maintainer of ember-jsoneditor, too?
Related to Glavin001/ember-c3#74
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

I have added you as a GitHub contributor to this repository.
Feel free to merge and publish when you feel you have sufficiently tested this. Thank you!


Show correct code snippet for products type of plugin

Fixes #3297
This PR addresse this issue: https://github.com/SwiftPackageIndex/SwiftPackageIndex-Server/issues/3297
Wrong code snippet shown for non-library products. Additionally, executable products are filtered out and will be addressed in a different PR.

Thanks for the PR, @supersonicbyte!
I've left a comment regarding a small thing about using rawValue.
Another thing I noticed when running your changes is that I'm getting a blank snippet:

Does this work for you or is this a problem on my end?

Hey, thanks for the feedback! Actually, I tried your suggestion and when I change the code to use rawValue the type on the controller cannot be found and that's why you get a blank. Running the code without the rawValue works. I will add your suggestion and fix it to work properly.

@finestructure Ok, updated! Please take a look when you find the time.

@cla-bot recheck please

@cla-bot check

I've opened a superseding PR #3351 to run the CI, update the snapshots, and fix a linting issue.
This one here should automatically be closed once #3351 is merged.


Added startup performance enrollment troubleshooting steps

Summarize the change in the pull request title
Describe your change, specifically why you think it's needed.
Fixes #Issue_Number (if necessary)

@marcshep-msft : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Moved PR


Merge master to fix/v0.2

The commits in this PR come from master. The CLA bot somehow is not correct. I manually overwrite CLA label.


messages getting lost when autoCommitOffset is set to true and autoCommitOnError to false

We had the setting as below
  autoRebalanceEnabled: true
              autoCommitOffset: true
              maxPollRecords: 1
              autoCommitOnError: false

There was an intermittent error while consuming messages as below
{
  "@timestamp": "2018-10-12T03:24:29.676+00:00",
  "@version": "1",
  "message": "Exception thrown when sending a message with key='xxxx' and payload='{\"key\":\xxxxxxx\",\"source_system\":\"xxxx\",\"timestamp\":\"2018-10-11T22:24:29.000+0000\",\"d...' to topic xxxxxxxxx:",
  "logger_name": "org.springframework.kafka.support.LoggingProducerListener",
  "thread_name": "kafka-producer-network-thread | producer-2",
  "level": "ERROR",
  "level_value": 40000,
  "stack_trace": "org.apache.kafka.common.errors.NotLeaderForPartitionException: This server is not the leader for that topic-partition.\n"
}

After this exception, the lag from the consumer group got reduced consistently, but no new messages were processed(available in the log).
Initially had autoCommitOnError  also as true and we thought that is what causing the issue and changed it to autoCommitOnError as false. But still the same issue.
autoRebalanceEnabled: true
autoCommitOffset: true
maxPollRecords: 1
autoCommitOnError: true
consumer code as below
@StreamListener
    @Output(XXXXXX)
    Flux<Message<String>> processMessage(@Input(XXXXXX.INPUT) Flux<String> events) {
        events
            .log()
            .map { it -> decorateEvent() }
            .map { it -> buildMessage(it.key, objectMapper.writeValueAsString(it)) }
            .doOnError{ log.info('Exception while sending the record  ' + it + ' - ' + it.getCause()) }
    }

We are trying to do a manual commit now, but not sure if that will also fix the issue. any quick response will be much appreciated!

@sobychacko Any quick help will be much appreciated. Thanks a lot for looking in to this

@olegz could you please have a look in to this

@VasuBhaskar please stop tagging individual contributors expecting a quick reply. It's not helpful not it is fair. If this is a production issue and you are a customer of Pivotal and need a priority involvement please contact our support organization. Otherwise, please be patient and we'll get to this and other issues in due time.

@VasuBhaskar Could you provide a minimal sample application and the configuration where we can reproduce this issue? That way we can troubleshoot the issue faster. Without that, it is hard to say what is happening.

@sobychacko am very sorry to have tagged individual guys :-( . Just felt that urgency as it was a prod issue. This issue occurs only when there is an connection exception while sending to topic or reading from the topic . Otherwise everything else works just fine. After the exception, offsets get committed, even though nothing gets processed

@VasuBhaskar No worries. So if I understand it correctly, there are no consistent ways to reproduce this issue, but only happens while there are connection issues. Is that right? I will investigate further if there are any known issues.

@sobychacko Yes. That is right. And this is the exception that occurred as well which created the problem in the first place.
{
  "@timestamp": "2018-10-12T03:24:29.676+00:00",
  "@version": "1",
  "message": "Exception thrown when sending a message with key='xxxx' and payload='{\"key\":\xxxxxxx\",\"source_system\":\"xxxx\",\"timestamp\":\"2018-10-11T22:24:29.000+0000\",\"d...' to topic xxxxxxxxx:",
  "logger_name": "org.springframework.kafka.support.LoggingProducerListener",
  "thread_name": "kafka-producer-network-thread | producer-2",
  "level": "ERROR",
  "level_value": 40000,
  "stack_trace": "org.apache.kafka.common.errors.NotLeaderForPartitionException: This server is not the leader for that topic-partition.\n"
}

do u think manual ack will resolve this problem.

Can you turn DEBUG logging on and get more stack trace output?

@VasuBhaskar and also, what kind of connections issues the producer is facing? Try the debug logging. It sounds to me that this problem maybe reproducible even if by simulating some connection issues on the outbound. See if you can try that.

@sobychacko working on simulating some connection issues on the outbound. will keep you posted

@VasuBhaskar Is there an update to this issue? Were you able to resolve the issue?


how can run, input a sentence, return results

not found, please give me a way

Are you using the colab that we've given here?

this may be able to help: https://ai.google.dev/gemma/docs/jax_inference

Hi @songsh,
Could you please confirm if this issue is resolved for you with the above comment ? Please feel free to close the issue if it is resolved ?
Thank you.

Closing this issue due to lack of recent activity,  Please feel free reopen if this is still a valid request. Thank you!


Week 1 assessment

Steve thinks there should be some form of assessment for week 1. In his experience students can fight back a bit if they are working on something that ultimately will not have any impact on their grade.
My thoughts - Could they write a 1 page method covering MD based purely on the week 1 pylj tutorial?

I had actually factored in assessment. But my plan would be that there is no actually assessment. They just fill in the blanks on the notebook and have a demonstrator check it over. Essentially low effort feedback-only

I am going to close this and add it to the week 1 issue


MCS-754 Updated Eval & movie folders for eval 4

https://nextcentury.atlassian.net/browse/MCS-754
Update config file validation logic for Eval 4+

@rartiss55 we did, but I didn't get far enough with the code base to know what all is cared about. If its just the arrays from line 278 -286 we could just loop through each array and look for valid answers, but I'm not sure if that all that is needed.

No worries -- this is fine for now, I'll make a ticket to come back to this.


Add debt collection link to megamenu

Add debt collection link to mega menu behind feature flag for Thursday's release of debt collection portal
Additions

Debt collection link in _vars-mega-menu.html behind DEBT_COLLECTION_RELEASE flag

Testing

Check out locally
Create DEBT_COLLECTION_RELEASE flag in admin
Verify that debt collection link appears in mega menu, under Consumer Tools after Prepaid Cards

Screenshots

Notes

Can the Consumer Credit Trends and Prepaid Cards links be moved out from behind flags in _vars-mega-menu.html?

Checklist

[ ] Changes are limited to a single goal (no scope creep)
[ ] Code can be automatically merged (no conflicts)
[ ] Code follows the standards laid out in the front end playbook
[ ] Passes all existing automated tests
[ ] New functions include new tests
[ ] New functions are documented (with a description, list of inputs, and expected output)
[ ] Placeholder code is flagged
[ ] Visually tested in supported browsers and devices
[ ] Project documentation has been updated (including the "Unreleased" section of the CHANGELOG)
[ ] Reviewers requested with the Assignee tool :arrow_right:

Should this PR be going to the 4.5 branch?

Can the Consumer Credit Trends and Prepaid Cards links be moved out from behind flags in _vars-mega-menu.html?

The answer for Prepaid Cards is definitely yes!

@Scotchester to master, then we'll cherry-pick it into 4.5.

@willbarton Ok, can we get the docs updated? http://cfpb.github.io/cfgov-refresh/release-cadence/


Error while docker compose

Step 3/4 : COPY cert.crt /etc/nginx/cert.crt
ERROR: Service 'nginx' failed to build: COPY failed: stat /var/lib/docker/tmp/docker-builder015628708/cert.crt: no such file or directory
I am using docker for windows.. Please Help

Your docker build is failing because it can't find the certificate.
Please see the readme for the required steps to run before docker-compose up. Step 1 creates a CA, step 2 self-signs a cert with the CA created in step 1. The script generates the file at cert.crt (as you can see here).
Once you created all the files, the docker build step should work fine.


Echai full stack dapp

This is for issue : #155
Project Title : Echai
Project Description :
Echai full stack web app using React, ethers.js and hardhat for testing.
FEATURES:
A user can donate fund worth of a chai amount to developers(owner) who deployed the site with a message attached to it.
A user can view how many funds the dapp holds.
A user can see whole list of donators from start to latest up to date with their message and funds.
Text Stack used:
[x] Solidity
[x] Ethers
[x] React
[x] HardHat
[x] remix
UI Screenshot:

drive link for refernce:
https://drive.google.com/drive/folders/1fM9g84aN4GYZfJp8QN-ps5xertshxx-V?usp=share_link.
Video of working:
https://user-images.githubusercontent.com/99035115/211366983-7ff09236-8c78-494f-83c7-d5ee233a061a.mp4
https://user-images.githubusercontent.com/99035115/211478542-496845d3-12e6-4165-9ebc-bc94ab46372a.mp4
Are you contributing under any open source program:
Yes

There is background noise..Fix thatv

Should I remove drive link or just remove background voice and update the link?

@DevSwayam can u please do one thing , instead of posting  the video on the drive . paste  the video directly on the readne.md of the chai project
ps :  u   have also not created  the readme for this project  please do that .

Ok

Bro i am done with everything now.

@DevSwayam  please change this :

Your video contain the sound    , create a no sound video of the  running site not of  the  code . Hope u get this .
Explain the proper steps  for HOW TO RUN THIS PROJECT ON YOUR PC:
Improve the readme of this , for refrence take  help from the merged one .

Bro i have old pc i cant turn on my recording in live running of npm hence i did it from start and i laso shown the features :
Their is list of donators. with their messages and i think my recoding get blocked whenever metamask ask for password.
I am improving readme.md

Change the video bro , u r not showing the running live site .
Also write in proper way for the installation process .

They way u written is not good bro .It's in level2 so maitain the format of readme . When any beginner see ur code then it's hard to understand him .Make all thngs in point's .
am talking about the installation steps.
and check  the previous comment also .

please add a video which shows the live  of the site . u added the video of code only

Now please check.

Great Looking forward too see more contribution from your side .

Great Looking forward too see more contribution from your side .

Thank you so much


All-None button dyndns widget

Something like this makes the "All" button change to "None" when all the checkbox items are checked.
It also reacts to the check/uncheck of each item, so it you manually check all the unchecked items, then the All/None button switches behavior to "None".
Similarly if all the items are checked and you uncheck 1 of them, then the All/None button switches behavior to "All".

This is a bit different way that #3593 could be done. I made some functions that could be called from any of the widgets, to set the state of the All/None button and to set/clear all the checkboxes etc.
@sbeaver-netgate but probably you have some thoughts about an even smarter way to make this all happen in JS.
Not that this code works better than what is currently in #3593. It reacts to check/uncheck of individual items to decide the All/None button state.

@sbeaver-netgate any chance to comment on this approach, or what is in #3593 ?
I have working code for #3547 "Allow multiple copies of a widget on dashboard" but it is on top of #3593 and I need to resolve what to do about this "None" button stuff before I can then submit the other.

Closing in favor of #3653


Cannot reconcile back to the original console-chart and grc quickly after undeploying HoH

Cannot reconcile back to the original console-chart and grc quickly after undeploying HoH
https://github.com/open-cluster-management/hub-of-hubs/blob/a91204440645447217d99e9982141ac1ac64e2ec/deploy/undeploy_hub_of_hubs.sh#L13
You may add delete subscription as what you have done in deploy hoh script.
/assign @vadimeisenbergibm

@clyang82
Please note that currently, the work Hub-of-Hubs is done in the following way:

Install ACM
Deploy Hub-of-Hubs
Add Policy/PlacementRule/PlacementBinding CRs
Delete Policy/PlacementRule/PlacementBinding CRs
Undeploy Hub-of-Hubs
Uninstall ACM

The steps 1 and 2, and also 5 and 6, are separated only for the prototype. In production, steps 1 and 2, and 5 and 6, should be the same step, so there will be no meaning to the scenario where you undeploy Hub-of-Hubs and proceed to use vanilla ACM. For the same reason, there is no point in testing steps 1, 3, 2, in this order, or steps 5,6,4.


Road Architect For Offroad Environment

Hi i use road architecture for my last game. its good to use it. Now I want to use it for offroad game. I wonder if features regarding offroad environment also added.
Regards
Muhammad Waqas

Hello,
you can probably use the normal road system to create a offroad environment. Just switch the road textures with your offroad textures. Also you should be able to deactivate the shoulders of the road with the "Shoulders enabled:" option, if you prefer just the road.
Best Regards,
Fritzs


add a sponsor classification scheme?

Can we get a bit more detail about what this means?

closing this an unnecessary for now, would reappear as a future OCDEP


feat: Persistent cache

Description
Fixes #1309
For medium/big React apps, Babel become a non negligible cost to run each time you start the dev server. Caching the transformations can have a significant impact for SPA.
First run: No cache (server startup: 591ms, total time: 20s)
Second run: With cache (server startup: 1243ms, total time: 5.2s)
https://user-images.githubusercontent.com/14235743/148314753-12a5f56f-17da-47cc-90ad-33d4a4d301ed.mp4
As suggested by @AlonMiz the start up time could be improved by using parallel fs requests. I will do it at the end when the overall design is validated.

@yyx990803 I would appreciate your take on this. I see on twitter that you are often worried when some people don't experience "fast startup" with Vite. Adding a cache layer would have a big impact for apps that are not optimised for FCP.

please fix error
[Error: ENOENT: no such file or directory, open 'D:\a\vite\vite\packages\temp\preserve-symlinks\node_modules\.vite\cache.json'

@Niputi Sorry for the trouble, I fixed the issue with open handles.

@ArnaudBarre thank you
@davidwallacejackson would you be able to try out this pull request on your big project and report back if it helps, it looks like author have had good results?

@ArnaudBarre we talked about this PR in our last team meeting. At this point, we aren't sure that the complexity of a persistent cache is justified. There are edge cases that appear because of it, that we will need to deal with. We think that there is a lot of value in continue exploring this option though, and this PR is a great way to do so. If you or others would like to add test cases for both React and Vue apps, and show performance metrics for real apps that could help to make the case for the feature. And as you have done with the cache PR, we could at least continue to implement smaller PRs that will make adding a persistent cache in the future a smaller jump. Thanks again for your work here, that so far is the further I've seen in this direction.

Thanks for your feedback! It's true that there will be a lot a config files that could impact the value of transformation and which are not taken into account here. I agree it's safe to not merge it.
I'm currently working on a dev server inspire by Vite which take caching as an important part of the design. There are for now two ideas I'm trying:

Caching at the "plugin" level, not the graph one
Pre-transform all the requests on the server, and have an equivalent of import-analysis which uses a hash of the transform request as a query parameter and uses strong browser caching. This requires a recursive invalidation of this plugin cache (like ssrTransformation in Vite) on file change (via watcher and at restart like in this PR)

For people using React and looking for some development perf improvements, I made this plugin to use swc just in dev.

A need for caching in a dev server seems to indicate you're not lazy-loading enough of your application code. Is that a bad assumption?

In this case there is no lazy loading at all. It's a professional app where most users use 70% of the app. So downloading all the app code up front (with a vendor chunk stable across most updates) is actually a better UX IMO. Would you prefer to have a spinner when opening the settings of your editor to save 100kb on updates? Even if we are still far from offline support, lazy loading would make it more complex. And this adds some engineering complexity (keeping multiple versions available at the same time, choosing the right chunk split, managing more loading state...) which (in our case) would be better invested in terms of UX in improving our chat performances or features.
Aside from the lazy loading part, the time to run the transform functions on most/all files is still something that I will pay for when running the full e2e tests suite locally or navigating in the app across a long development session.

I'm in a similar boat as @ArnaudBarre , where I have an enterprise app where the code splitting makes less sense. Even if we did want to move towards more lazy-loading, it would be nice for the development experience to not be so painful while the codebase is refactored to support that.

@bluwy is this something you do through a plugin that is publicly available? It is quite an interesting scheme that we could recommend in some cases
@ArnaudBarre @ncknuna thanks again for explaining your use cases. I think there is more to do in Vite, at least in the long run, to help here.

The import switching is a feature of https://www.routify.dev (Svelte filesystem router), which dynamically generates a routing manifest JS file that alternates between dynamic imports and direct imports (docs -- dynamicImports). Not sure if this can be done router-agnostic with a Vite plugin though, but with some grease it could be possible.


⚠ Samsung has degraded performance

In 71dd288, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 1828 ms

Resolved: Samsung performance has improved in e9054bb.


Expose Starlette options

Checklist

[X] There are no similar issues or pull requests for this yet.

Is your feature related to a problem? Please describe.
It'd be great to expose the middleware and debug parameters to pass to the Starlette admin app. This would allow, for example, to create a middleware that checks for an "admin" session cookie and redirect the user in case the cookie doesn't exist.  The debug option is useful when developing.
Describe the solution you would like.
No response
Describe alternatives you considered
No response
Additional context
No response

Thank you for the suggestion and PR, this is already merged.


application logo icons optional

ConsentCookie should load the icons from a fixed location if no location is explicitly configured for the application.

Fixed by #49


Missing labels

What do you want to improve?
Would like to be able to set labels.
What is the current behavior?
What is the new behavior?

I believe the upstream backstage chart already provides the ability to apply common labels:
https://github.com/backstage/charts/blob/f50465f9907f639fcbc4c99a5c197fdaf8f92bbd/charts/backstage/values.yaml#L32-L33
Which can be found in the janus helm chart at upstream.properties.commonLabels which should apply the labels to all the deployed objects. From testing, it appears that ONLY the deployment (not the pods or postgres resources) get the applied label.
https://github.com/janus-idp/helm-backstage/blob/417057a128e7192bce6f1a6f55a594c25a856bf2/charts/backstage/values.schema.json#L4044-L4051
We can also use the upstream.properties.backstage.properties.podLabels field in the values.yaml to include the labels for the backstage deployment's pods (The deployment itself doesn't get this label, only the pods do): https://github.com/janus-idp/helm-backstage/blob/417057a128e7192bce6f1a6f55a594c25a856bf2/charts/backstage/values.schema.json#L3732-L3739
So to get labels on both the backstage deployment and the backstage deployment's pods, the end user will need to apply both.
Currently it doesn't seem there's a way to apply labels via the helm chart for the other resources (ex: postgres stateful set, route resources, service resources, etc.)
Additionally, neither of these values are visible in the Form view on openshift, so it would require the end-user to directly modify the values.yaml via the YAML view.

It appears that the backstage upstream chart uses a bitnami postgreSQL chart which appears to also have a commonLabel field. However, when I put the commonLabel in the values.yaml:
upstream:
  nameOverride: backstage
  backstage:
    # backstage configs
  commonLabels:
    test: label
  postgresql:
     # postgresql configs

Only the backstage resources (excluding pods) get the commonLabels labels, while the postgresql resources do not for some reason, despite the postgresql chart also uses the commonLabels values when creating labels for its resources

Only the backstage resources (excluding pods) get the commonLabels labels, while the postgresql resources do not for some reason, despite the postgresql chart also uses the commonLabels values when creating labels for its resources

I think this is expected. The values are not inherited into nested Charts like this.
To set labels for postgresql you need to put commonLabels to postgresql section.
upstream:
  nameOverride: backstage
  backstage:
    # backstage configs
  commonLabels:
    test: label
  postgresql:
    commonLabels:
      test: label
    # postgresql configs

This issue stemmed from an EAP customer asking for the ability to add labels to the pods in the backstage deployment. This issue occurred to them when the dependency for the upstream backstage chart used  v1.1.2  of the upstream chart. (Approximately around the time the janus-idp chart was v2.2.0).
The podLabels configuration that fixes this issue were added into the upstream chart in backstage helm chart v1.1.3 via this pull request.
Since the current upstream backstage chart dependency is v1.2.0, this issue is resolved.


⚠ Samsung has degraded performance

In e2a6d38, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 2278 ms

Resolved: Samsung performance has improved in fffc78b.


Feature 🌟: Add "Licensing Page" Reflecting "MIT Licence"

Describe the feature
Hey @Satyam1923 ,
Here is the feature request i want to implement -
To provide clear information about the licensing of the website's content and code, I propose to add a dedicated "Licensing Page" that reflects the use of the MIT License.
This page will help users understand the terms under which they can use, modify, and distribute the website's resources.
What will i do -

Develop a new page titled "Licensing" accessible from the main navigation menu or footer.
Include a brief introduction explaining the importance of licensing.
Provide the full text of the MIT License.

Add ScreenShots
Here's How it will look like.

( I will add this page link and text in the footer section of home page as "Licensing" - )

@Satyam1923 , Could you please assign me this issue under GSSoC'24?
I'd like to work on this.
thankyou!
Record

[X] I agree to follow this project's Code of Conduct
[X] I have checked the existing issues
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

@aslams2020 fine.

hey @Satyam1923 ,
Could you please help me with this - I am unable to see live preview of the project, i followed the readme.md file instruction commands for frontend and backend. After that i'm seeing the preview as a black screen only.
please take a look -

this is the live preview -

please tell me if i left something.

@Satyam1923 Help me with this pls

@aslams2020 make a dummy firebase project and use it's config.


calnex: add QSFP FEC configuration for 100G port

New hardware provides 100G interface which is capable of FEC configuration. Enable Reed-Solomon FEC by default for 100G port.
Test Plan
Tests are fixed

Codecov Report
Base: 58.59% // Head: 58.64% // Increases project coverage by +0.04% :tada:

Coverage data is based on head (0f3413e) compared to base (ff5425a).
Patch coverage: 100.00% of modified lines in pull request are covered.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #232      +/-   ##
==========================================
+ Coverage   58.59%   58.64%   +0.04%
==========================================
  Files         102      102
  Lines        9473     9476       +3
==========================================
+ Hits         5551     5557       +6
+ Misses       3443     3441       -2
+ Partials      479      478       -1

Impacted Files
Coverage Δ

calnex/api/api.go
63.17% <ø> (ø)

calnex/config/config.go
87.50% <100.00%> (+0.25%)
:arrow_up:

timestamp/timestamp_linux.go
60.62% <0.00%> (+1.87%)
:arrow_up:

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

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Add freesurfer_queries_bsf2016.qry

Queries from:
"The white matter query language: a novel approach for describing human white matter anatomy"
Brain Structure and Function 2016

Are we sure about these queries before accepting the pull request ?
'motor.side' should be 'precentral.side'
I think that 'prefrontal.side' is overestimated because it includes frontal as well.
I'm not a neuro-anatomist but we need to be sure about these queries.
@demianw can you take a closer look on these queries or we can find somebody to take sometime as well.
Thank again for the WMQL.

Thanks flor checking @arnaudbore . I think those queries are very close to those that neuroanatomist Nikos Makris and I developed. The prefrontal cortex is included composed of sections that are on the frontal lobe in the Desikan-Killiany atlas. I will work on this PR next week when I'm back from my travels.

@arnaudbore is right the line should be
motor.side |= pre central.side
it was my mistake when I gave the query to @cbedetti

Hi @arnaudbore @cbedetti
OK, I double checked some of the issues with Nikos Makris and cross-referenced others. And there are some minor adjustments to what I initially gave to @cbedetti .
We must take in account that these labels do not map exactly to Desikan-Killiany parcellation (hence the need for the posterior_of)
motor.side |= precentral.side

superior_parietal_lobule.side |= (
      precuneus.side or
      superiorparietal.side
 )

posterior_parietal_lobule.side |= (
    supramarginal.side or
    inferioriorparietal.side
)

premotor.side |= (
      rostralanteriorcingulate.side or
      parsopercularis.side or
      (superiorfrontal.side and posterior_of(caudalmiddlefrontal.side))
 )

prefrontal.side |= (
      parstriangularis.side or
      parsorbitalis.side or
      superiorfrontal.side or
      rostralmiddlefrontal.side or
      frontalpole.side or
      lateralorbitofrontal.side
  )

Do you agree with these @arnaudbore? If so, @cbedetti would you like to make the changes or should I?
On a different point, I think we should eliminate the commented queries.
Thanks!

Hi,
I added the corrections to the pull request.
Thank you @demianw.

@cbedetti great! Did you check that they work well or that they have the expected result?

Hi,
I checked with a PhD student and we still have some concern about the definition of the premotor.
Using this atlas we would like to suggest:
premotor.side |= caudalmiddlefrontal.side or parsopercularis

Changes Unknown when pulling a6a68c1b36f1786800dca26622307151989d719e on cbedetti:queries_bsf2016 into ** on demianw:master**.

Hi,
I understand some changes are beyond the bsf2016 article. When I checked the images with @arnaudbore and the PhD student, we decide to submit these changes.

the premotor definition of @arnaudbore seems better (see cc3 on the right)
not in hemisphere.opposite was added for the cortico-spinal tract
some exclusion regions was added for the uncinate fascicle

Hi and thanks for this.
I agree with you on the definition of the premotor cortex. The posterior section superior frontal gyrus is problematic when defined through the Desikan atlas.
Regarding the exclusion queries, I'm parted, in the BSF paper we avoided their use in anatomical definitions. This is mainly because they are often used to deal with false positive tracts which differ on different tractography algorithms.
I propose this: let's keep your version of the PMC the you can generate a new query file which imports this one and adds the exclusions to these specific tracts. Maybe add a suffix to the current file name with the name of the algorithm or software you used to generate the tracts?
What say you?

Changes Unknown when pulling 1294bf9aa4cc4387c741361861db3a279ca2d129 on cbedetti:queries_bsf2016 into ** on demianw:master**.

Hi,
Seems reasonable to do it this way.
I made the changes and the two .qry are tested.
I added comment to explain freesurfer_queries_bsf2016_toad.qry.
Let me know what you think.

@cbedetti
This is great, thanks!
I am for merging, just one more thing: would you like to add yourself as the author or co-author in the files?
If not, I'll just merge
Thanks for all this work!

Changes Unknown when pulling 49056137cb778bfe903df00fea1fbcd9bd584ee1 on cbedetti:queries_bsf2016 into ** on demianw:master**.

Hi,
I added the informations.
Thank you for the opportunity.

@cbedetti great! I'm merging! And then I'm adding myself as co-author of  freesurfer_queries_bsf2016.qry as I think I did a part of that work too
Thanks for this work


Implementation of Key Object Selection Document

Looks good as far as i can tell and the tests pass (except for some of the ann package but that's out of scope i figure)

Are you sure you've been using the latest pydicom version (required for the ann package)?

Looks good as far as i can tell and the tests pass (except for some of the ann package but that's out of scope i figure)

Are you sure you've been using the latest pydicom version (required for the ann package)?

Ah yes that would do it, yeah I forgot to update my deps before running it. 👍


HTML Gen and Cells Cleanup

This PR removes all HTMLElement generation from Cells (along with the HTML modules and tests) and cleans up related code.
Motivation and Context

Because we no longer use any HTML generated from the Python side, the time has come to remove all the extra HTMLElement generation code from cells. This will help reduce the amount of code while also providing some additional advantages.

Note that this will also better prepare us for removing the use of replacement strings entirely, as well as refactoring specific WS messages and Cell lifecycle events.
Overall, this means we no longer have to worry about contents of the Cell

Approach

For the most part, this process simply involved removing HTMLElement generation and the setting of self.contents on Cell classes.
Note that I also did the following, which is important to know:

Removed a warning about "replacements not all being used up" that would crash the UI. Because replacements are generated on the front-end for the moment, we no longer need this check.
Removed multiReplace and anything that uses it. It was no longer needed.
Removed contents etc from being sent over the socket (in updateMessageFor). This should help reduce the amount of data going over the wire in outbound socket messages. It was no longer needed.
Removed all HTMLElement modules and tests
Removed Cells tests that checked for HTML validity. These are no longer needed
Minor updates / refactorings to Cell/Component combinations as needed during the process, especially Button and Clickable

How Has This Been Tested?

I have refactored the Cells tests (all passing) and tested changes incrementally in the demo web frontend as I went.

Types of changes

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

Checklist:

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

Closes
#134
#135

This looks great, but I tried squashing it, rebasing it and rebuilding it and the playground looks messed up (cards in the wrong spot etc.). I pushed it up as eric-remove-html-gen-rebased for you to check out.

@braxtonmckee I'm not sure we are seeing the same thing. I have just made a fresh install of your rebased branch and the playground looks pretty much as it has for the past week or two. Can you post a screenshot showing what you're seeing that's wrong?

Weird - this looks like it works now. I noticed that the Modal dialogs are not working, but I think that happened before this change. If you rebase this, squash, and rebuild, I think it's good to go. I'll file a ticket for the dialogs.

@braxtonmckee Ok I've squashed and rebased. CI is failing but it doesn't appear to be one of the cells tests -- some socket related thing


CFL needs to be increased a lot when increasing the number of elements.

CFL should be able to stay the same, that's like the whole concept.

Wasn't calculating CFL right, delta_x is not the element width, it is the smallest distance between two nodes. Divide it by N^2 and it will work.


Route Class

The route class should be a set of holds with the following properties:
Required attributes:

Grade
Setter
Set of holds

Possible attributes:

Style (technical, burly)
Wall ID

Implemented in firestore


PHOENIX-5235: Update SQLline version to the latest

@swaroopak  - sqlline 1.6 and up requires Java 8, which is fine for Phoenix 5.x in the master branch but can't go in the 4.x branches, which still allow for Java 7. Perhaps we could go to 1.5 in the 4.x branches and 1.7 in master?

+1

JIRA is resolved, closing PR.

check the comment above. @ChinmaySKulkarni @jpisaac


accessKey or secretKey exists Disable DefaultAWSCredentialsProviderChain

If the accessKey or secretKey property exists, I think it is better not to use DefaultAWSCredentialsProviderChain.

@tramyu Please sign the Contributor License Agreement!
Click here to manually synchronize the status of this Pull Request.
See the FAQ for frequently asked questions.

@tramyu Thank you for signing the Contributor License Agreement!


cpprestsdk:x64-windows-static build failure with set(VCPKG_PLATFORM_TOOLSET v141)

Host Environment

OS: [e.g. Windows/Linux etc...]
Compiler: revision
Windows 10, VS2017

To Reproduce
Steps to reproduce the behavior:
./vcpkg install xxxx
set(VCPKG_PLATFORM_TOOLSET v141)
.\vcpkg.exe install cpprestsdk:x64-windows-static
Failure logs
-Cut and past the appropriate build messages from the console output.
-Please attach any additional failure logs mentioned in the console output.
PS C:\src\vcpkg> .\vcpkg.exe install cpprestsdk:x64-windows-static
Computing installation plan...
The following packages will be built and installed:
    cpprestsdk[brotli,compression,core,default-features]:x64-windows-static -> 2.10.18
Detecting compiler hash for triplet x64-windows-static...
Could not locate cached archive: C:\Users\Elliot\AppData\Local\vcpkg\archives\a9\a95c815a49b0ac5f5aa7378af42bb97be92a94e6b8db8f797e88c6464a9f62ea.zip
Starting package 1/1: cpprestsdk:x64-windows-static
Building package cpprestsdk[brotli,compression,core,default-features]:x64-windows-static...
-- Using C:/src/vcpkg/downloads/Microsoft-cpprestsdk-122d09549201da5383321d870bed45ecb9e168c5.tar.gz
-- Cleaning sources at C:/src/vcpkg/buildtrees/cpprestsdk/src/ecb9e168c5-96a8d6ba89.clean. Use --editable to skip cleaning for the packages you specify.
-- Extracting source C:/src/vcpkg/downloads/Microsoft-cpprestsdk-122d09549201da5383321d870bed45ecb9e168c5.tar.gz
-- Applying patch fix-find-openssl.patch
-- Using source at C:/src/vcpkg/buildtrees/cpprestsdk/src/ecb9e168c5-96a8d6ba89.clean
-- Configuring x64-windows-static
CMake Error at scripts/cmake/vcpkg_execute_required_process.cmake:127 (message):
    Command failed: ninja -v
    Working Directory: C:/src/vcpkg/buildtrees/cpprestsdk/x64-windows-static-rel/vcpkg-parallel-configure
    Error code: 1
    See logs for more information:
      C:\src\vcpkg\buildtrees\cpprestsdk\config-x64-windows-static-out.log

Call Stack (most recent call first):
  scripts/cmake/vcpkg_configure_cmake.cmake:356 (vcpkg_execute_required_process)
  ports/cpprestsdk/portfile.cmake:26 (vcpkg_configure_cmake)
  scripts/ports.cmake:141 (include)

Error: Building package cpprestsdk:x64-windows-static failed with: BUILD_FAILED
Please ensure you're using the latest portfiles with `.\vcpkg update`, then
submit an issue at https://github.com/Microsoft/vcpkg/issues including:
  Package: cpprestsdk:x64-windows-static
  Vcpkg version: 2021-08-12-85ab112d5ee102bc6eac8cdbbfdd173a71374e04

Additionally, attach any relevant sections from the log files above.

config-x64-windows-static-out.log
Additional context
Add any other context about the problem here, such as what you have already tried to resolve the issue.

@aisnote ,Thanks for posting this issue,please reinstall zlib,then try again.

Closing this issue for no active thread for a long time. Please feel free to reopen this issue if it is still a problem for you.


feat: Update to Hookdeck Go SDK v0.0.37 and support more source verifications

This PR does a few things:
1: update to Hookdeck Go SDK v0.0.37

rename "archived" to "disabled"
fix some small type changes from the SDK
remove default API base URL because the API without versioning doesn't work

2: add more source verification providers

Ebay
Enode
FrontApp
Linear
Orb
Pylon
Shopline
Telnyx
TokenIo

@alexluong Is there a way we could auto-generate those verifications / inherit from the CLI types? The issue is that we'll be adding hundreds and it seems totally unviable to maintain them in long-term terraform without automation. In theory, the Go SDK should already be auto-updated with new verification providers.

@alexbouchardd - @alexluong's suggestion as a solution here has been code generation. I'll let him explain why.

Hi @alexbouchardd! In theory, yes, we just haven't explored that just yet. I mentioned this to @leggetter as potentially something I can explore as well.
It would be a generator of some sort to run whenever we want to sync the TF provider with the OpenAPI spec list of source verifications.

An alternative is to deal with JSON instead of a proper schema. We lose a bit of type safety but it would be more generic and we have to rely on the user to provide a valid source provider configuration.

That seems like an acceptable solution in the meantime

This is how the source verification work currently
resource "hookdeck_source_verification" "verification_example" {
  source_id = hookdeck_source.example.id
  verification = {
    stripe = {
      webhook_secret_key = "secret"
    }
  }
}

To support JSON, I think we can go about it in a few ways
1: Breaking change, new schema
resource "hookdeck_source_verification" "verification_example" {
  source_id = hookdeck_source.example.id
  verification = {
    type = "stripe"
    configs = {
      webhook_secret_key = "secret"
    }
  }
}

2: Still use existing schema but with a JSON option
resource "hookdeck_source_verification" "verification_example" {
  source_id = hookdeck_source.example.id
  verification = {
    json = json({
      type = "stripe"
      configs = {
        webhook_secret_key = "secret"
      }
    })
  }
}

Option 2 is probably a bit more flexible and easier for users. Especially if we want to continue schema support in the future, this is probably a better approach.
What do you think? I can look into supporting this option if you think the DX makes sense.

Option #2 sounds great, it provides a escape hatch for when we haven't added the provider explicitly

@alexbouchardd @leggetter Added the JSON support as mentioned above. Now this is a valid source verification configuration
resource "hookdeck_source_verification" "verification_example" {
  source_id = hookdeck_source.example.id
  verification = {
    json = jsonencode({
      type = "stripe"
      configs = {
        webhook_secret_key = "secret"
      }
    })
  }
}

This should give users enough flexibility to handle all cases if the provider hasn't been updated to support their provider just yet.

@alexbouchardd @leggetter Added the JSON support as mentioned above. Now this is a valid source verification configuration
resource "hookdeck_source_verification" "verification_example" {
  source_id = hookdeck_source.example.id
  verification = {
    json = jsonencode({
      type = "stripe"
      configs = {
        webhook_secret_key = "secret"
      }
    })
  }
}

This should give users enough flexibility to handle all cases if the provider hasn't been updated to support their provider just yet.

Nice 🎉


[Doc]--Update docs for how to delete data from namespace + reorg the admin API namespace doc

Fixes https://github.com/streamnative/pulsar/issues/1639
Motivation
To specify how soon after message acknowledgement can we expect the message to be deleted - is it immediate or is there some asynchronous cleanup process.
Modifications
1: Add "delete data from namespaces" for master release. Once the PR is approved, will sync update to previous releases.
2: Reorg the Admin API for namespace doc as some section titles are missed.

@Huanli-Meng Please resolve the conflicts. Thanks.

/pulsarbot run-failure-checks

/pulsarbot run-failure-checks

/pulsarbot run-failure-checks

/pulsarbot run-failure-checks

@codelipenghui I re-run the tests many times but the CI tests always fail. Could you please help fix it? Thanks

/pulsarbot run-failure-checks


[BUG]: Command palette label says Control / even though it's really Control k

The command palette label and on-boarding tour say the key binding is ^/ even though it's actually ^k on non-mac platforms.

Press Control / 👉  Nothing happens
Press Control k 👉 Command palette opens

Control / is for comment/uncomment in the editor.

I really wanna know where the eff that slash is coming from becuase it isnt the hotkey

it seems impossible to get rid of like a virus like we changed it from being / a long time ago why the eff is it back

also why dont the hotkey and the thing that shows up reference the same const or value like why are these seperate

I think the label was just never updated.

but like why are they even seperate seems like a recipe for disaster


Update WebCrypto conformance table

Use - to indicate function is invalid for that algorithm.
Use ✘ to indicate when the function isn't implemented at all.
For partial implementation, document the caveats.
Add missing importKey column.
Document that the following additions have been made to the runtime:

AES-CTR
AES import/export for JWK format
HMAC JWK import
ECDH (generateKey, import, export, & deriveBits/deriveKey). JWK import not implemented.
ECDSA generateKey added. Fully supported except for missing JWK import.

cc @harrishancock @mkevanz


freeciv_qt installs the GTK version

Describe the bug
freeciv_qt should provide a QT client to freeciv, which is probably named freeciv-qt if I had to guess.
Steps To Reproduce
Steps to reproduce the behavior:

Install freeciv_qt
Notice only gtk client installed (see below)

Expected behavior
A freeciv-qt executable.
Screenshots
If applicable, add screenshots to help explain your problem.

-(freeciv-qt does not exist)

The installed freeciv-gtk is indeed a gtk client.

Notify maintainers

@SuperSandro2000

(You were the last person to commit, so I choose you :)  )
(I don't believe the listed maintainer exists).

Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 5.13.13, NixOS, 21.11 (Porcupine)`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.4pre20210802_47e96bb`
 - channels(greghab): `"nixos-20.09-20.09.4244.47e580e291f"`
 - channels(root): `"nixos-21.11pre312407.8a2ec31e224"`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`

Maintainer information:
# a list of nixpkgs attributes affected by the problem
attribute:
# a list of nixos modules affected by the problem
module:

#136905


waybar: 0.10.0 -> 0.10.1

Description of changes
Changelog: https://github.com/alexays/waybar/releases/tag/0.10.1
cc @FlorianFranzen @lovesegfault @minijackson @rodrgz @Synthetica9 @khaneliman

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.


Import of useId breaks when using React version < 18

useId was introduced in React version 18, so when you use an earlier version of React the import in src/hooks/useId.ts breaks. I forked this repo and created my own solution, see https://github.com/GiordanoArman/react-accordion/commit/d1e249d694b7ff5e87fe0438474007917c862057. But it would be nice to include this fix in this repo.

Hey @GiordanoArman , thanks for finding the issue and making a fix. The changes look good to me. Please feel free to summit a PR from your fork and I will merge it.

Also, it would be great if we can make a small refactor for the import statement like the below:
import React, { useState, useEffect } from 'react';

then refer to useID
const _useId = React.useId || useIdShim;

This style looks more natural to me in a typical React codebase.

@szhsin sure, also I would change the logic so that the shim would always return an id (and never undefined). What do you think?

That will cause mismatch during client-side hydration if components are also rendered on server side.
During server rendering, the useEffect is not called so that output html will not contain ids. This ensures server output matches the initial client side render.
You can read more about hydration and mismatch here.
Try your code in a Nextjs project with React 17 (which has SSR by default), you will see mismatch warnings in browser console.

alright I'll just keep the agreed upon changes then

@szhsin here we go https://github.com/szhsin/react-accordion/pull/473

@GiordanoArman fixed and released in v1.2.3. Thanks for bringing the issue to our attention.


Update AntDesign.json

Typo :)

Agreed @hampustagerud. Closing for now, this will probably be fixed in version 4 of the icon set.


Fix ParticlesMaterial spread and add "spread_normal" property

Fixes #47145
Supersedes #47146
Instead of doing some butchery with atan and then manipulating angles, we simply rotate the vector.
Additionally, a custom up vector is added.
If the direction and up are parallel, either the Y axis or the X axis is chosen as the up vector, whichever is not parallel to the direction.

I don't think "up" is a good name: people will most likely will assign the y vector and expect it to work.
I'm trying to think of something different, but I'd also like to do some research in math first to determine if there is a mathematical way to pick a random vec2 in a plane that doesn't have defined axes, so that we don't need to expose this variable at all.

Well, setting up to be the y axis will always work, in the sense that it will still be emitting in the chosen direction.
Also, we need an up axis, because we have the flatness property, and the up axis determines along which axis it should get flatter.
But I agree, the distribution could be better, currently it is quite rectangular.

@mortarroad after some brainstorming with a friend we came up with picking the vector like this:
(x, y, z) -> (-y, z, x)
Can you try if this looks better?

Actually, something better from here
So, given vector
 v = [a;b;c];
in R^3, it follows that any point (x,y,z) that satisifies a*x + b*y + c*z = 0 (i.e. a point that lives on plane whos normal vector is v) will define components of a vector that is orthogonal to v.
One such vector is
u = [0;-c;b];
or, for example,
u = [-c,0,a];
(you can choose whatever you prefer, but it cannot be [0;0;0])
... Now, given u and v, compute the third vector that is orthogonal to both u and v with
w = cross(u,v);
To make an orthonormla basis use
u1 = u/norm(u);
v1 = v/norm(v);
w1 = w/norm(w);

@QbieShay Is that a formula for deriving the up vector from the direction?
If so, it won't work either:
Let direction = (1, 1, -1).
Then up = (-1, -1, 1), which is parallel to direction.

aw :( I'm still not sure about this. I suppose in this case we can restore the singularity, but instead place it on the X axis?
Alternatively I think we can call this property "basis vector" and give it a meaningful description such as "used to calculate the angles for particles. please don't make it the same direction as the direction vector. Orthogonal to the direction vector would be best."

Emitting either happens in the XZ plane, in which Y is a good choice for up, or mostly along Y, in which X or Z is a good choice for up.
There's no good solution here.
Maybe we can automatically set up to be Z, if the user chooses Y as the direction in the editor.
I still think "up" is the right name. Everything else would be confusing.
A fitting description could be:
"A vector perpendicular to direction, along which spread is applied. The second implicit vector for applying the spread is orthogonal to both up and direction."

I disagree with "up" being a good choice. It's confusing: it's not necessarily pointing up. What about spread normal?

Renamed up to spread_normal.
Added docs for spread_normal.

Hey @mortarroad. First of all, thanks for all the time you spent on this. I'm super sorry, but upon reviewing this code, and the addition to a user facing variable, I'm under the impression that your original implementation was the best one. I have given it more thought, and I don't believe that there are many cases for people smoothly rotating the direction of the particle shader to justify adding a user facing parameters.
Sorry again for changing my mind, and thanks for your time!

Are you sure?
I mean, the user can just leave the variable at its default value without having to care about it.
But if you're sure, I'll just remove it and have it pick either Y or X at the up vector automatically as in the original patch.

Yes I think that would be best. Thanks for your patience :pray:

Thanks!


puffin_egui deadlock if new_frame is called from another thread

I'm running into a deadlock in puffin_egui if new_frame() is called from a thread other than the UI thread.
I built a sampling profiler that runs in a single thread, manually creates ThreadProfiler instances for all threads running in the process, and samples their stack traces at intervals, so I'm calling new_frame from that thread rather than my UI thread.
Here puffin takes the GlobalFrameView lock and holds it across the UI function call:
https://github.com/EmbarkStudios/puffin/blob/0dd10b2d4d67416fe340716b7bd0fa0ab4138491/puffin_egui/src/lib.rs#L117-L130
The profiler ui call itself contains profiling calls, which calls ThreadProfiler::end_scope internally, which tries to take the GlobalProfiler lock. So you have a nested GlobalFrameView lock -> GlobalProfiler lock acquisition in the UI.
GlobalProfiler::lock().new_frame() has the GlobalProfiler locked and calls the sink function here, which tries to lock the GlobalFrameView: https://github.com/EmbarkStudios/puffin/blob/0dd10b2d4d67416fe340716b7bd0fa0ab4138491/puffin/src/profile_view.rs#L259
This mismatched lock order triggers a deadlock.

This seems like an interesting issue  (also your sampling profiler sounds very cool).
I'm a bit confused on the exact order of these locks and accesses - I'm not familiar with puffin internals - could you possibly explain it again if my explanation is wrong? It seems like we have one thread doing GlobalFrameView::lock() -> GlobalProfiler::lock(), with another doing the reverse order GlobalProfiler::lock() -> GlobalFrameView::lock().
I assume that using a re-entrant Mutex would not fix this problem, because they are executing on different thread. Perhaps we could try using a proxy GlobalProfiler instance, so that the GlobalProfiler::SINGLETON writes to the profiler UI's proxy profiler, and the profiler UI only ever reads the proxy profiler?
A better alternative might be to try to lock the profiler, read all the data from it, and then unlock and call the profiler UI using the data we read, instead of accessing the GlobalProfiler. This would mean the reading of data couldn't be orofiler, but would allow the profiler UI to contain profiling calls as usual.