Unnest relation can't accept a field from its join table

Describe the bug
There is a common usage of SQL to operate the nested data that is allowed by Postgres and DuckDB but DataFusion can't execute.
Postgres
postgres=# create table unnest_test (c1 int[]);
CREATE TABLE
postgres=# insert into unnest_test values (ARRAY [1,2,3]);
INSERT 0 1
postgres=# select * from unnest_test u, unnest(u.c1);
   c1    | unnest
---------+--------
 {1,2,3} |      1
 {1,2,3} |      2
 {1,2,3} |      3
(3 rows)

DuckDB
D create table t1(c1 int[]);
D insert into t1 values ([1,2,3]);
D select * from t1, unnest(t1.c1);
┌───────────┬───────┐
│    c1     │  c1   │
│  int32[]  │ int32 │
├───────────┼───────┤
│ [1, 2, 3] │     1 │
│ [1, 2, 3] │     2 │
│ [1, 2, 3] │     3 │
└───────────┴───────┘

To Reproduce
It can be reproduced by the following SQL (I just added them in the sqlogicitests unnest.slt and ran the test)
statement ok
create table t1(c1 array<int>);

statement ok
insert into t1 values ([1,2,3]);

query ?I
select * from t1, unnest(t1.c1)
----
[1, 2, 3] 1
[1, 2, 3] 2
[1, 2, 3] 3

Then, it will throw the error:
Running "unnest.slt"
External error: query failed: DataFusion error: Schema error: No field named t1.c1.
[SQL] select * from t1, unnest(t1.c1)

Expected behavior
The test mentioned above should pass.
Additional context
No response

This should be a LATERAL JOIN, with the LATERAL keyword omitted. We do not support it yet.
As stated in the PostgreSQL documentation.

Table functions appearing in FROM can also be preceded by the key word LATERAL, but for functions the key word is optional;

Hello! I'm happy to take on the logical planning piece of this.

Postgres appears to simply plan this type of query as a NestedLoops join:
 Nested Loop  (cost=0.00..295.60 rows=13600 width=36)
   Output: u.c1, unnest.unnest
   ->  Seq Scan on public.unnest_test u  (cost=0.00..23.60 rows=1360 width=32)
         Output: u.c1
   ->  Function Scan on pg_catalog.unnest  (cost=0.00..0.10 rows=10 width=4)
         Output: unnest.unnest
         Function Call: unnest(u.c1)

🤔
I think the postgres join operator re-evaluates the right input (pg_catalog.unnest) on each input row to the join which is how the lateral joins can refer to the outer query
The current DataFusion join operators don't run the input over and over again -- they normally run each input and then combine them (they don't restart inputs)
So in a query like
select * from t1, unnest(t1.c1)

I think we would need a (new) type of JoinExec that actually does run the outer query (aka unnest(t1.c1) for each input row of t1) 🤔

@goldmedal  also pointed out this may be related to supporting table functions that take columns as arguments (DataFusion only support taking constants at the moment)

After some more research, I think this ticket is now a dupe of https://github.com/apache/datafusion/issues/10048

After some more research, I think this ticket is now a dupe of #10048

Agreed. The logical plan part has been finished. Let's close this issue and move to #10048.


[CentOS7] Second NIC does not bring up with systemctl restart network

https://github.com/GoogleCloudPlatform/compute-image-packages/blob/e725e854cfeb6ede8470692dca082b5549bae2b3/google_compute_engine/distro_lib/el_7/utils.py#L66
Why not BOOTPROTO="dhcp" so it conforms to initscripts?
Currently if you restart network by "systemctl restart network", the second NIC does not bring up.
I noticed that network configurations are done by google-network-setup.service, but that is not obvious thing for standard distro users. And one may want to have some additional configurations, e.g. routes, in ifcfg-ethX file.

This caught us in production on the 13th when the 0yum-daily cron job updated:
Sep 13 08:30:24 Updated: google-compute-engine-oslogin.x86_64 1.3.1-1.el7
We lost our static route that transits over a VPC network peer.
Turns out this was not the first time, we had a mystery static route loss again back on the 13th Jun:
Jun 13 06:35:25 Updated: python-google-compute-engine.noarch 2.8.3-1.el7
Looks like it nukes our /etc/sysconfig/network-scripts/ifcfg-eth1 each time.


Allow Custom tex_templates.yml File

Motivation

I wanted to be able to create a custom tex_templates.yml file and reference the tex template from the custom_config.yml, without changing any source files.
Proposed changes

default_config.yml > allow to change the template file under the tex keyword.
tex_file_writing.yml > get template file from config before reaching for the default.

Test

Create custom_config.yml:

tex:
    template_file: "custom_tex_templates.yml"
style:
    tex_template: "custom"

Create custom_tex_templates.yml

custom:
  description: ""
  compiler: xelatex
  preamble: |-
    \usepackage[english]{babel}
    \usepackage[utf8]{inputenc}
    \usepackage{fontspec}
    \setmainfont{Times New Roman}[Ligatures=NoCommon]
    \linespread{1}

Test File:

class Test(Scene):
    def construct(self):
        self.add(TexText("Hello World"))

The new text is now in Times New Roman font.

Closing as unplanned


git: upgrade RIOT submodule

Contribution description
Upgrade RIOT-OS submodule:
from commit: 0ddbe042eb78a8fef90f83256ef0759c3e0abc7c
to commit: 921f778af9084981826095c4ac834f373cc38bad
Testing procedure
Nothing in special, the firmware should compile and run without issues.
Issues/PRs references
None

i will try again when next release


Implement angular_riverpod

Since Riverpod does not depend on Flutter, we could use Riverpod in AngularDart

Note: if you want this, make sure to :+1: the issue (and potentially make recommendations)
While cool, this is a low priority for me, as I have some doubts about whether people actually care or not.
Remember: all the time spent on this is time that I could spend on something else, such as:

devtools
documentation
more examples

Disclaimer: I'm probably biased since we don't use anguar_riverpod.
I think adding angular_riverpod to your priorities could slow down iteration of riverpod. It's one more thing to maintain while the api and docs are still stabilizing.

Clearly, this isn't useful
So I'll close this.
If anyone wants to pick it up, feel free to contact me :smile:

Clearly, this isn't useful
So I'll close this.
If anyone wants to pick it up, feel free to contact me :smile:


Push notifications in multiple devices

when a user log in in a new device the notifications are sent to the old one.
We should guarantee that only 1 device id/token is related to 1 user
Possible solutions:

Remove previous device id/tokens when a user log in to its account
Remove all device id/tokens related to a user when logouts

problem still present


Wrong value for attribute rel on link elements

Describe the bug
If import path includes query parameters, value for attribute rel on link elements may be wrong
https://github.com/vitejs/vite/blob/main/packages/vite/src/node/plugins/importAnalysisBuild.ts#L52
eg:
if dep equals /assets/breath-btn.a8a19f92.css?bid=30039, isCss will be false, so we will finally get <link rel="modulepreload" as="script" crossorigin="" href="/assets/breath-btn.a8a19f92.css?bid=30039">
Reproduction

System Info
System:
    OS: macOS 10.15.7
    CPU: (12) x64 Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
    Memory: 1.42 GB / 16.00 GB
    Shell: 5.7.1 - /bin/zsh
  Binaries:
    Node: 12.18.3 - ~/.nvm/versions/node/v12.18.3/bin/node
    Yarn: 1.22.10 - /usr/local/bin/yarn
    npm: 6.14.6 - ~/.nvm/versions/node/v12.18.3/bin/npm
  Browsers:
    Chrome: 92.0.4515.159
    Safari: 14.1.2
  npmPackages:
    @vitejs/plugin-vue: ^1.1.5 => 1.2.1
    vite: ^2.3.8 => 2.3.8

Used Package Manager
npm
Logs
No response
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Make sure this is a Vite issue and not a framework-specific issue. For example, if it's a Vue SFC related bug, it should likely be reported to https://github.com/vuejs/vue-next instead.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

how to import the breath-btn css ?

how to import the breath-btn css ?

@wznonstop  Can you help provide a small repo to reproduce this bug or provide some more detailed information , thanks


implement redis_hybrid cache

@Jeffail here is a pattern for a using a in-memory cache (risretto, its great) as a read-through onto redis, coupled with a invalidation channel so it can be used as a distributed in-memory cache using redis as a broker.
I would have loved to do this without requiring a redis specifically, but the invalidation channel is important for the distributed nature of this cache type, and the other caches do not implement a similar mechanism.

Thanks @iluminae this is really interesting.
I had a plan for eventually implementing cache layering within Benthos so that you could potentially have any number of read-throughs, but this takes that further with the distributed invalidation part. It would be awesome to find a clean way of pulling this out into generic components.
I'll take some time to think this through.

Sounds good to me - I tried to make this very much like your read through design, but I really wanted that invalidation channel.

another couple thoughts on this:

we could implement risretto as another cache type or replace the memory implementation with risretto - then use the memory and redis one here.
we could make several interfaces: [cache,localCache,remoteCache,invalidatingCache] and have this readthrough implementation take an array of caches as config params, then all the other cache types implement either {local,remote,invalidating}Cache. If the type is invalidatingCache, then we run the invalidatingCache methods of Listen() and Invalidate(key string)

That could work but I prefer keeping the interfaces common and simpler for plugin authors. An alternative would be to implement a read-through cache type for the simple leveled caches implementation:
resources:
  caches:
    levels:
      read_through: [foo, bar]
    foo:
      memory:
        ttl: 60
    bar:
      redis:
        ...

And then complement with a read_through_invalidated type that could use real Benthos inputs and outputs for broadcasting and listening for invalidations:
resources:
  caches:
    levels:
      read_through_invalidated:
        caches: [foo, bar]
        invalidator_input:
          redis_pubsub:
            ...
        invalidator_output:
          redis_pubsub:
            ...
    foo:
      memory:
        ttl: 60
    bar:
      redis:
        ...

Will need some more thought I think.

that sounds awesome - I am all about that. Im not sure the infrastructure within the cache type you would need to run inputs and outputs in a vacuum like that, but I love the design.
feel free to close this if you have that implementation in the works.


removed automatic focus from reference strip, which caused HTML pages…

… to jump unwantedly to the reference strip upon loading

The failed test was just our intermittent issue; nothing to do with this patch.
Thank you for fixing this!


Gopass doesn't find private GPGKeys

I have created a git repo here which sets up an ubuntu system with a private gpg key then as a dirty task on the end installs gopass
https://github.com/boxrick/setup-pgp
So doing a 'vagrant up' then 'vagrant ssh'
Once inside the virtual machine running
export GOPASS_DEBUG=true; gopass init
Shows there are no keys present
[DEBUG] Saved config to /home/ubuntu/.config/gopass/config.yml: &{Root:0xc420123230 Mounts:map[] Version:1.6.10 XXX:map[]}
[DEBUG] gpg.detectBinary - Looking for 'gpg2' ...
[DEBUG] gpg.detectBinary - Found 'gpg2' at '/usr/bin/gpg2' (2.1.11)
[DEBUG] gpg.detectBinary - Looking for 'gpg1' ...
[DEBUG] gpg.detectBinary - Looking for 'gpg' ...
[DEBUG] gpg.detectBinary - Found 'gpg' at '/usr/bin/gpg' (1.4.20)
[DEBUG] gpg.detectBinary - using '/usr/bin/gpg2'
[init] Initializing a new password store ...
[init] [DEBUG] gpg.listKeys: /usr/bin/gpg2 [/usr/bin/gpg2 --with-colons --with-fingerprint --fixed-list-mode --list-secret-keys]

[init] [DEBUG] Stacktrace: No useable private keys found
github.com/justwatchcom/gopass/action.(*Action).askForPrivateKey
	/home/tex/src/go/src/github.com/justwatchcom/gopass/action/clihelper.go:72
github.com/justwatchcom/gopass/action.(*Action).init
	/home/tex/src/go/src/github.com/justwatchcom/gopass/action/init.go:67
github.com/justwatchcom/gopass/action.(*Action).Init
	/home/tex/src/go/src/github.com/justwatchcom/gopass/action/init.go:51
main.getCommands.func55
	/home/tex/src/go/src/github.com/justwatchcom/gopass/commands.go:526
github.com/justwatchcom/gopass/vendor/github.com/urfave/cli.HandleAction
	/home/tex/src/go/src/github.com/justwatchcom/gopass/vendor/github.com/urfave/cli/app.go:501
github.com/justwatchcom/gopass/vendor/github.com/urfave/cli.Command.Run
	/home/tex/src/go/src/github.com/justwatchcom/gopass/vendor/github.com/urfave/cli/command.go:165
github.com/justwatchcom/gopass/vendor/github.com/urfave/cli.(*App).Run
	/home/tex/src/go/src/github.com/justwatchcom/gopass/vendor/github.com/urfave/cli/app.go:259
main.main
	/home/tex/src/go/src/github.com/justwatchcom/gopass/main.go:63
runtime.main
	/usr/local/go/src/runtime/proc.go:185
runtime.goexit
	/usr/local/go/src/runtime/asm_amd64.s:2337
failed to read user input
github.com/justwatchcom/gopass/action.(*Action).init
	/home/tex/src/go/src/github.com/justwatchcom/gopass/action/init.go:69
github.com/justwatchcom/gopass/action.(*Action).Init
	/home/tex/src/go/src/github.com/justwatchcom/gopass/action/init.go:51
main.getCommands.func55
	/home/tex/src/go/src/github.com/justwatchcom/gopass/commands.go:526
github.com/justwatchcom/gopass/vendor/github.com/urfave/cli.HandleAction
	/home/tex/src/go/src/github.com/justwatchcom/gopass/vendor/github.com/urfave/cli/app.go:501
github.com/justwatchcom/gopass/vendor/github.com/urfave/cli.Command.Run
	/home/tex/src/go/src/github.com/justwatchcom/gopass/vendor/github.com/urfave/cli/command.go:165
github.com/justwatchcom/gopass/vendor/github.com/urfave/cli.(*App).Run
	/home/tex/src/go/src/github.com/justwatchcom/gopass/vendor/github.com/urfave/cli/app.go:259
main.main
	/home/tex/src/go/src/github.com/justwatchcom/gopass/main.go:63
runtime.main
	/usr/local/go/src/runtime/proc.go:185
runtime.goexit
	/usr/local/go/src/runtime/asm_amd64.s:2337

Error: failed to initialized store: failed to read user input: No useable private keys found

Yet running the command manually shows there are keys present:
/usr/bin/gpg2 --with-colons --with-fingerprint --fixed-list-mode --list-secret-keys
sec:-:2048:1:3AC0AD9012C74A1A:1517336111:::-:::escaESCA:::+::::
fpr:::::::::CEFC845CC1B345D60BB6DA9B3AC0AD9012C74A1A:
uid:-::::1517336111::27930D51C56D29D49FACE0FCA3E6A57BE1523AE3::test@user.com:::::::::

I can only assume this is being caused by the way this is being interpreted within https://github.com/justwatchcom/gopass/blob/bf0b4e1fc42c71e3048bb0acce3e4491be4b3410/backend/crypto/gpg/cli/gpg.go

https://github.com/gopasspw/gopass/issues/960#issuecomment-518827152


onFilter hook is broken

Hello,
The example here :
https://react-bootstrap-table.github.io/react-bootstrap-table2/storybook/index.html?selectedKind=Column Filter&selectedStory=Filter Hooks&full=0&addons=1&stories=1&panelRight=0&addonPanel=storybook%2Factions%2Factions-panel
is broken

I have tried this hook in my own project and I have the same error.

Best Regards.

I found the problem : it is not a hook but a customFilter :)
We must take the filtered data in second parameter and return a filtered collection :
onFilter: (filterVal, data) {
  return data.filter(elmt => elmt.includes(filterVal))
}

To conclude it is just a matter of documentation :)

One remark : onFilter is not called when the text in the input is deleted.
Is it normal ?

For me it seems like bug. According to docs it does not require return value. "...called when column filter being triggered. If you return..." https://react-bootstrap-table.github.io/react-bootstrap-table2/docs/filter-props.html#textfilter
I was using it as a handler without return value to update some app state when user changes filter. Now i cant find a solution as onTableChange works only in remote mode.

hum...

This is why onFilter is not called when manually clear filter

For me it seems like bug. According to docs it does not require return value. "...called when column filter being triggered. If you return..." https://react-bootstrap-table.github.io/react-bootstrap-table2/docs/filter-props.html#textfilter
I was using it as a handler without return value to update some app state when user changes filter. Now i cant find a solution as onTableChange works only in remote mode.

Yes Ideally it has to filter

@jendamozna The workaround to listen input change is to use the onInput Event Attribute because onChange is already used.
https://www.w3schools.com/tags/ev_oninput.asp
textFilter({
  dataField: 'id',
  text: 'id',
  onInput: function(e) {
    // our code here
  }
});

Thanks, onInput is working fine. Applicable also on selectFilter().

it's a regression issue from last version, I will fix it soon

Fixed in newest version:
https://react-bootstrap-table.github.io/react-bootstrap-table2/blog/2019/08/25/version-bump.html


make refmt run right for WSL used. and Case splitting for current language style

for https://github.com/freebroccolo/ocaml-language-server/pull/118
add user settings : reason.command.useWSL, reason.command.shell, reason.command.shellargs,

Thanks for the PR. Sorry for the delay in responding to this.
It's a little bit hard to review this and the associated PR for the server since there are a lot of formatting and whitespace changes which don't seem related to purpose of the PR.
Have you looked at this thread?
There has been some initial work on supporting WSL directly in the language server but it is not ready to be enabled yet. In order for it to function properly it needs to be integrated directly with the merlin task queue in such a way that the file locations can be translated back and forth between the windows and unix formats.
I appreciate the effort but I think at the moment I would prefer not to merge this in its current form.

thank you for you time,
sorry the comments, I was just going to fix myself at the start :P,  I can't wait use reason/bs in win10, but the most common device I use is surface book, it not work very will when switch to linux.
so , I will or you can close this , and One importance things about  https://github.com/freebroccolo/ocaml-language-server/pull/118#issuecomment-388291191  I want say is :
------->
followed the issues/195 ,use Option - Manual Install way,  I think  "reason.path.refmt": "bash -ic refmt" can't work , because I found session.environment.spawn AKA(childProcess.spawn) can't accept The first parameter(command) like this , only work for bash or ls that, not ls -al eg. must put argument to args Array. so I change it for all spawn call, that's mostly what I do.
and I have an unrelated question:
when in reason file , I can't use ALT+left mouse jump to line for function/var define,   but  in bucklescript  it work will,  is I broke it? how add/fix it?

I missed your reply but as far as getting the reason tooling to work in the way described in that thread it would be best to ask in the thread or on discord.  I don't have much experience with trying to use the tooling that way. For now I use a VM on windows.

when in reason file , I can't use ALT+left mouse jump to line for function/var define, but in bucklescript it work will, is I broke it? how add/fix it?

It's hard to say anything concrete without more details about the project. If you are just using a plain OCaml or Reason native project and everything is installed via Opam, there shouldn't be any problems. When using Bucklescript there may be some issues upstream depending on whether all of the necessary compiled artifacts are being packaged up with the tooling. I remember there were some issues with this in the past but I thought they were resolved. I don't use Bucklescript personally at the moment so maybe someone else who does can comment.


the add-source config in pom.xml is error

<goals> 	<goal>add-source</goal> </goals> <configuration> 	<sources> 		<source>${basedir}/target/generated-sources</source> 	</sources> </configuration>
I think this config above is incorrect.
It must change to config like below：
<goals>     <goal>add-source</goal> </goals> <configuration>     <sources>         <source>${basedir}/target/generated-sources/protobuf/java</source>         <source>${basedir}/target/generated-sources/protobuf/grpc-java</source>     </sources> </configuration>
so it can find the correct source folder.

@chenyouhuang are you experiencing any errors?
I did a mvn clean and mvn install -DskipTests and see no build errors with the current pom config.

@chenyouhuang kindly ping?

reopen if you have more questions. thanks.


GSSoC: Adding Contribution.md

To streamline the contribution process and make it easier for new contributors to get involved, it's important to have clear and detailed contribution guidelines. A CONTRIBUTING.md file outlines the steps and best practices for contributing to the project, ensuring consistency and high-quality contributions.
Please assign me this issue

Okay, Raise a PR by 30th May


Certificate Signing Requests documentation for signerName needs to explain application in-cluster TLS usage model

Each time I read through https://kubernetes.io/docs/reference/access-authn-authz/certificate-signing-requests/#kubernetes-signers, the first 3 values seem to be only for kubernetes infrastructure (kubelets and for callers to the kube api server).  What about for applications that want to do TLS between each other using the internal service-urls, like https://service-name.namespace ?   Currently, in our applications running on K8s 1.17 and before, we're able to give our application startup code logic to create a CSR using the service-url and approve it (the mounted apikey has the role to approve the CSRs).  The K8s infrastructure would then create the certs in the CSRs and applications would use that to configure their https-listening.  But from the documentation, I can't figure out which value we should use to maintain doing this in K8s 1.18+.

/sig auth

/sig auth

We have found that what works is to re-use the 'kubernetes.io/kublet-serving' value for the signerName, and adjusting the CSR to then have kubelet-compatible values like:
   csr.setSubject([
      {
        name: 'commonName',
        value: `system:node:${serviceName}.${namespace}.svc.cluster.local`
      },
      {
        name: 'organizationName',
        value: 'system:nodes'
      },
      ...

and in the extensions:
           {
            name: 'subjectAltName',
            altNames: [
              {
                // type 2 is DNS
                type: 2,
                value: `${serviceName}.${namespace}`
              },              },
              {
                type: 2,
                value: `${serviceName}.${namespace}.svc.cluster.local`
              }
            ]
          }

Our application development team prefers this approach to a separate certificate-signer because it enables our applications to use the existing automounted ca.csr to validate peer traffic without having to setup an additional mount & ca.crt file.

We have found that what works is to re-use the 'kubernetes.io/kublet-serving' value for the signerName, and adjusting the CSR to then have kubelet-compatible values like:
   csr.setSubject([
      {
        name: 'commonName',
        value: `system:node:${serviceName}.${namespace}.svc.cluster.local`
      },
      {
        name: 'organizationName',
        value: 'system:nodes'
      },
      ...

and in the extensions:
           {
            name: 'subjectAltName',
            altNames: [
              {
                // type 2 is DNS
                type: 2,
                value: `${serviceName}.${namespace}`
              },              },
              {
                type: 2,
                value: `${serviceName}.${namespace}.svc.cluster.local`
              }
            ]
          }

Our application development team prefers this approach to a separate certificate-signer because it enables our applications to use the existing automounted ca.csr to validate peer traffic without having to setup an additional mount & ca.crt file.

What about for applications that want to do TLS between each other using the internal service-urls, like https://service-name.namespace ?

That use is not yet supported by built-in Kubernetes signers, but is requested at https://github.com/kubernetes/kubernetes/issues/63732
/close


Could not find org.spigotmc:spigot:1.15.2-R0.1-SNAPSHOT when compiling for bukkit

When compiling the plugin for bukkit, none of the repositories in the build.gradle are found to contain the spigot snapshot:
> Could not resolve all files for configuration ':bukkit:compileClasspath'.
   > Could not find org.spigotmc:spigot:1.15.2-R0.1-SNAPSHOT.

The files gradle searches for in the relevant repository are:
- https://hub.spigotmc.org/nexus/content/repositories/snapshots/org/spigotmc/spigot/1.15.2-R0.1-SNAPSHOT/maven-metadata.xml
- https://hub.spigotmc.org/nexus/content/repositories/snapshots/org/spigotmc/spigot/1.15.2-R0.1-SNAPSHOT/spigot-1.15.2-R0.1-SNAPSHOT.pom
- https://hub.spigotmc.org/nexus/content/repositories/snapshots/org/spigotmc/spigot/1.15.2-R0.1-SNAPSHOT/spigot-1.15.2-R0.1-SNAPSHOT.jar

I browsed to https://hub.spigotmc.org/nexus/content/repositories/snapshots/org/spigotmc/ but was only able to find spigot-api and plugin-annotations, not spigot.

Because spigot cannot be posted publicly due to licensing reasons. You have to build it yourself.


[WIP] CI Update

Re-run the CI with the latest version of mdoc

@dend I'm still seeing the F# signatures here. Weren't we removing them in order to merge this PR?

@mairaw waiting for the next CI to complete - once done, the F# signatures will be removed and this PR can be merged.

Closing this PR to make sure we re-run with latest changes.


refactor: use typescript to build project, migrate lib to ts

the idea is to make the change backwards compatible and as easy as possible where the aeproject lib can be used from esm style typescript projects and cjs style node js projects. I hope everything is working as expected and I didn't introduce any breaking changes

I'll try to rollback the code-style changes, they are not meant to be part of this PR, sorry.


In MBEDTLS_ARIA_C config, implemeting 16 bits swap.

Signed-off-by: David Carlier<EMAIL_ADDRESS>Status
READY
Requires Backporting
NO
Migrations
If there is any API change, what's the incentive and logic for it.
NO

I tried the proposed assembly in a separate file in order to try understanding how it works while avoiding the register selection issues that seem to be happening when inlined in other functions in aria.c, but it doesn't seem to be giving the expected result:
#include <stdint.h>
#include <stdio.h>

uint32_t aria_p1( uint32_t x )
{
    uint32_t r;
    __asm( "xchgb %b0, %h0" : "=q"(r) : "0"(x) );
    return( r );
}

#define ARIA_P1(x) ((((x) >> 8) & 0x00FF00FF) ^ (((x) & 0x00FF00FF) << 8))

int main(void) {
    uint32_t x = 0xaabbccdd;
    printf("%08x -> %08x (ref: %08x)\n", x, aria_p1(x), ARIA_P1(x));
}

Compiling and executing:
% gcc -Wall -Wextra -O2 xchgb.c -o xchgb && ./xchgb
aabbccdd -> aabbddcc (ref: bbaaddcc)

It appears that the top bytes have not been swapped as they should. It's unclear to me whether there's a way to fix this without going back to two instructions.

You re right I can t come up without two instructions here.

Thanks for trying anyway, this would have been a nice improvement!


Install of module k3s.pp fails when creating cluster

Just trying to build a small cluster with 1.9.0, node installation throws following error:
module.kube-hetzner.null_resource.agents["0-0-agent-small"] (remote-exec): + /sbin/semodule -v -i /usr/share/selinux/packages/k3s.pp
module.kube-hetzner.null_resource.agents["0-0-agent-small"] (remote-exec): Attempting to install module '/usr/share/selinux/packages/k3s.pp':
module.kube-hetzner.null_resource.agents["0-0-agent-small"] (remote-exec): libsemanage.map_compressed_file: Unable to open /usr/share/selinux/packages/k3s.pp
module.kube-hetzner.null_resource.agents["0-0-agent-small"] (remote-exec):  (No such file or directory).
module.kube-hetzner.null_resource.agents["0-0-agent-small"] (remote-exec): libsemanage.semanage_direct_install_file: Unable to read file /usr/share/selinux/packages/k3s.pp
module.kube-hetzner.null_resource.agents["0-0-agent-small"] (remote-exec):  (No such file or directory).
module.kube-hetzner.null_resource.agents["0-0-agent-small"] (remote-exec): /sbin/semodule:  Failed on /usr/share/selinux/packages/k3s.pp!

Anyone experienced this already?

Looks like the install of  transactional-update shell <<< "zypper --no-gpg-checks --non-interactive install https://github.com/kube-hetzner/terraform-hcloud-kube-hetzner/raw/master/.extra/k3s-selinux-next.rpm" didn't work.. or the reboot...

@ifeulner Weird. It definitely failed when you tried. Please terraform init -upgrade and try again.

Just FYI, the fix is coming to the main rancher repo, so that's just a quick patch. Please retry again!
More info on this here https://github.com/k3s-io/k3s-selinux/issues/36

@ifeulner I'm considering this issue fixed, as just tried again and no one else complained. Also, the k3s folks just deployed the new testing rpm, so soon it's coming to stable, as soon as we have that, I will revert to using the rancher repo to fetch it.

I'm currently hitting this issue. The agent nodes (all three of them) have this error. Using stable as release channel. The control planes worked though.

@gerwim Please update your cluster to the latest and greatest version of the module, see pinned discussions.

@mysticaltech Ah, I updated my previous message (but did not save it 🤡):
The issue is caused because of signature validation issue. The arm version worked fine, the x86 is returning an error. Removing the snapshots and rebuilding them (packer build hcloud-microos-snapshots.pkr.hcl) fixed it! 👍
hcloud.microos-x86-snapshot: Retrieving: k3s-selinux-1.4-1.sle.noarch (Plain RPM files cache) (1/1),  20.5 KiB
    hcloud.microos-x86-snapshot: k3s-selinux-1.4-1.sle.noarch.rpm:
    hcloud.microos-x86-snapshot:     Header V3 RSA/SHA256 Signature, key ID 925ea29ae257814a: NOKEY
    hcloud.microos-x86-snapshot:     V3 RSA/SHA256 Signature, key ID 925ea29ae257814a: NOKEY
==> hcloud.microos-x86-snapshot: warning: /var/tmp/zypp.qZPNOY/zypper/_tmpRPMcache_/%CLI%/k3s-selinux-1.4-1.sle.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID e257814a: NOKEY
    hcloud.microos-x86-snapshot:
==> hcloud.microos-x86-snapshot: k3s-selinux-1.4-1.sle.noarch (Plain RPM files cache): Signature verification failed [4-Signatures public key is not available]


WIP: use structopt (master) 0.2

Replaces #48.
cc @TeXitoi

Looks great!

Awesome! Let me know when 0.2 is released and I'll change this to the crates.io version and release quicli 0.2!

You forgot to update examples

Good catch! Btw, I'm not sure it makes sense to use u64 for this flag. Would you still say this is a good practice? Or should I switch to u8?

u64 is the worst solution I think (after i64). Anything else is better.
Personnally, I'll opt for u8, yes.

Agreed. Updated.

structopt v0.2.0 published

🎉
bors r+


⚠ Processors has degraded performance

In 3bfa48c, Processors ($STATUS_URL) experienced degraded performance:

HTTP code: 200
Response time: 99 ms

Resolved: Processors performance has improved in 0f5ea52.


discobox for custom class of 1 class.   in the mask_feat_head, the item of num_classes should be 1 or 2 ? Does this value need to be changed?

@ssli23  Sorry to reply later.
The  num_classes in  the config  is the actual category number, which need not add 1.  So, num_classes should be 1 for custom class of 1 class.


Online Accounts Option and some more Unattended Stuff

Is your feature request related to a problem? Please describe.

Well, there is no actual problems but local account can be an option rather then a must. All gamepass players must login and it seems like a good option. (Not necessary though, since windows 11 s- at usernames it can be a better choice to enter some kind of leventkaanoguz rather than leven (win 11 takes first 5 letters as username as you know)). And also, since most programs dont like it, user name can be forced to no space, no-non-english letters.
Also we can enter the key at the microwin rather than on setup, this can make installation more unattended.
If microwin is going to install on the same PC or laptop, etc, there can be option for disk partitioning like how microwin can automatically injects drivers from current win11 install.
Maybe iso-creation-stage program install and tweaks
Describe the solution you'd like

1- Option to use local accounts
2- Licence key on microwin iso creation
3- iso-creation stage disk partition and settings
4- iso-creation-stage program install and tweaks
Describe alternatives you've considered

Additional context

Duh...
You can run slui to go to the activation settings, from which you can change your product key
It's best to let the user decide right before the installation
Someone else had asked that before. I made that request possible with a PR, but it got closed because it added bloat to MicroWin

Duh...

You can run slui to go to the activation settings, from which you can change your product key

It's best to let the user decide right before the installation

Someone else had asked that before. I made that request possible with a PR, but it got closed because it added bloat to MicroWin

Tysm for all the replies, and i totally agree with the duh part


Epicfaace feature/webdriver selenium tests

Resolves
What Github issue does this resolve (please include link)?
Proposed Changes
Describe what this Pull Request does
Reason for Changes
Explain why these changes should be made
Test Coverage
Please show how you have added tests to cover your changes

Was just testing the travis build. Closing.


feat(touch): supports multiple files

Does what it says. From the (updated) docs:

touch([options,] file [, file ...])
touch([options,] file_array)

This is consistent with the API for ls(), cp(), mv(), rm(), etc.

@ariporad this should be fixed now

LGTM! Will merge once Travis is done.

LGTM!


Feature Request: Rewrite this app in C++

It's a joke.

I was like this when I see the notification


When using Multus - CNI err:Failed to allocate pool: No available address pools.

What happened:
When we try to deploy multus with Azure CNI, eth1 is completely ignored by the Azure CNI plugin and as the result it is not possible to attach second interface to a pod.
This is the error from /var/log/azure-vnet.log
2021/11/25 03:52:58 [4061] [cni-net] Processing ADD command with args {ContainerID:9ae31f5f156f2b5a134ba93c7ce37ff69344ec5458de2b004275dbcd989134dc Netns:/proc/3956/ns/net IfName:net1 Args:IgnoreUnknown=true;K8S_POD_NAMESPACE=default;K8S_POD_NAME=vcu-pod;K8S_POD_INFRA_CONTAINER_ID=9ae31f5f156f2b5a134ba93c7ce37ff69344ec5458de2b004275dbcd989134dc;K8S_POD_UID= Path:/opt/cni/bin:/opt/cni/bin StdinData:{"bridge":"azure2","cniVersion":"0.3.1","ipam":{"environment":"azure","type":"azure-vnet-ipam"},"logLevel":"info","master":"eth1","name":"azure222","type":"azure-vnet"}}.
2021/11/25 03:52:58 [4061] [cni-net] Read network configuration &{CNIVersion:0.3.1 Name:azure222 Type:azure-vnet Mode: Master:eth1 Bridge:azure2 LogLevel:info LogTarget: InfraVnetAddressSpace: IPV6Mode: ServiceCidrs: VnetCidrs: PodNamespaceForDualNetwork:[] IPsToRouteViaHost:[] MultiTenancy:false EnableSnatOnHost:false EnableExactMatchForPodName:false DisableHairpinOnHostInterface:false DisableIPTableLock:false CNSUrl: Ipam:{Type:azure-vnet-ipam Environment:azure AddrSpace: Subnet: Address: QueryInterval:} DNS:{Nameservers:[] Domain: Search:[] Options:[]} RuntimeConfig:{PortMappings:[] DNS:{Servers:[] Searches:[] Options:[]}} AdditionalArgs:[]}.
2021/11/25 03:52:58 [4061] Get number of endpoints for ifname eth0 network azure222
2021/11/25 03:52:58 [4061] Result from multitenancy
2021/11/25 03:52:58 [4061] [cni-net] Creating network azure222.
2021/11/25 03:52:58 [4061] [cni] Calling plugin azure-vnet-ipam ADD nwCfg:&{CNIVersion:0.3.1 Name:azure222 Type:azure-vnet Mode: Master:eth1 Bridge:azure2 LogLevel:info LogTarget: InfraVnetAddressSpace: IPV6Mode: ServiceCidrs: VnetCidrs: PodNamespaceForDualNetwork:[] IPsToRouteViaHost:[] MultiTenancy:false EnableSnatOnHost:false EnableExactMatchForPodName:false DisableHairpinOnHostInterface:false DisableIPTableLock:false CNSUrl: Ipam:{Type:azure-vnet-ipam Environment:azure AddrSpace: Subnet: Address: QueryInterval:} DNS:{Nameservers:[] Domain: Search:[] Options:[]} RuntimeConfig:{PortMappings:[] DNS:{Servers:[] Searches:[] Options:[]}} AdditionalArgs:[]}.
2021/11/25 03:52:58 [4061] [cni] Plugin azure-vnet-ipam returned result:, err:Failed to allocate pool: No available address pools.
2021/11/25 03:52:58 [4061] [azure-vnet] Failed to allocate pool: Failed to delegate: Failed to allocate pool: No available address pools.
2021/11/25 03:52:58 [4061] [cni-net] ADD command completed with result:Interfaces:[{Name:net1 Mac: Sandbox:}], DNS:{Nameservers:[] Domain: Search:[] Options:[]} err:Failed to allocate pool: Failed to delegate: Failed to allocate pool: No available address pools.
2021/11/25 03:52:58 [4061] Failed to execute network plugin, err:Failed to allocate pool: Failed to delegate: Failed to allocate pool: No available address pools.
2021/11/25 03:52:58 [4061] [cni-net] Plugin stopped.
2021/11/25 03:52:58 [4061] Report plugin error
What you expected to happen:
Azure CNI should create a second network for eth1.
How to reproduce it:
We have vnet <IP_ADDRESS>/15 with two subnets <IP_ADDRESS>/16 and <IP_ADDRESS>/16.
Here is the AKS-engine config.
{
"apiVersion": "vlabs",
"properties": {
"masterProfile": {
"count": 1,
"dnsPrefix": "ACSKubeMaster",
"vmSize": "Standard_DS2_v2",
"vnetSubnetId": "vnetSubnetId": "/subscriptions//providers/Microsoft.Network/virtualNetworks//subnets/default",
"firstConsecutiveStaticIP": "<IP_ADDRESS>",
"vnetCidr": "<IP_ADDRESS>/15"
},
"agentPoolProfiles": [
{
"name": "k8sagentpoo1",
"count": 2,
"vmSize": "Standard_DS2_v2",
"vnetSubnetId": "/subscriptions//providers/Microsoft.Network/virtualNetworks//subnets/default",
"availabilityProfile": "VirtualMachineScaleSets"
}
],
"linuxProfile": {
"adminUsername": "azureuser",
"ssh": {
"publicKeys": [
{
"keyData":  ""
}
]
}
},
"servicePrincipalProfile": {
"clientId": "",
"secret": ""
}
}
}
Multus was installed using this guide:
https://github.com/k8snetworkplumbingwg/multus-cni/blob/master/docs/quickstart.md#installation
When multus was deployed we modified vmss to add second NIC. Next, upgraded the vmss model to the latest version.
Deployed NAD.
apiVersion: k8s.cni.cncf.io/v1
kind: NetworkAttachmentDefinition
metadata:
name: macvlan-conf
namespace: default
spec:
config: '
{
"cniVersion": "0.3.1",
"name": "azure222",
"type": "azure-vnet",
"master": "eth1",
"bridge": "azure2",
"logLevel": "info",
"ipam": {
"type": "azure-vnet-ipam",
"environment": "azure"
}
}
'
Deployed pod that uses the NAD
apiVersion: v1
kind: Pod
metadata:
name: podA
annotations:
k8s.v1.cni.cncf.io/networks: macvlan-conf
spec:
containers:

name: podA
image: docker.io/centos/tools:latest
command:

/sbin/init
nodeSelector:
label: nodeA

Orchestrator and Version (e.g. Kubernetes, Docker):
Operating System (Linux/Windows):
NAME="Ubuntu"
VERSION="18.04.5 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04.5 LTS"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic
Kernel (e.g. uanme -a for Linux or $(Get-ItemProperty -Path "C:\windows\system32\hal.dll").VersionInfo.FileVersion for Windows):
Linux k8s-k8sagentpoo1-29370234-vmss000000 5.4.0-1036-azure #38~18.04.1-Ubuntu SMP Wed Jan 6 18:26:30 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
P.S. you have a typo in the command above. It should be uname -a.
Anything else we need to know?:
[Miscellaneous information that will assist in solving the issue.]

IMO, multus configuration is not activated, please make sure the name of multus config will be listed before configuration of azure cni.

@VasylR did you ever get this working?


Generate types to .ts instead of .d.ts files.

What's changed

Fixed warnings from Solidity files (tests printed scary yellow text and I got scared)
Changed emitted files to .ts for Ethers v5 target.

What needs to be discussed
I left hardhat.d.ts as .d.ts because after renaming to .ts extending HardhatEthersHelpersBase in hardhat fixture project clashes with the definition pfHardhatEthersHelpers of @nomiclabs/hardhat-ethers.
Interface 'import("d:/workspace/TypeChain/node_modules/hardhat/types/runtime").HardhatEthersHelpers' incorrectly extends interface 'import("d:/workspace/TypeChain/node_modules/@nomiclabs/hardhat-ethers/types/index").HardhatEthersHelpers'.

 Types of property 'getContractFactory' are incompatible.
    Type '{ (name: "EdgeCases", signerOrOptions?: Signer | FactoryOptions | undefined): Promise<EdgeCases__factory>; (name: "SafeMath", signerOrOptions?: Signer | ... 1 more ... | undefined): Promise<...>; (name: "TestContract", signerOrOptions?: Signer | ... 1 more ... | undefined): Promise<...>; (name: "TestContract1", sign...' is not assignable to type '{ (name: string, signerOrOptions?: FactoryOptions | Signer | undefined): Promise<ContractFactory>; (abi: any[], bytecode: BytesLike, signer?: Signer | undefined): Promise<...>; }'.
      Types of parameters 'name' and 'name' are incompatible.
        Type 'string' is not assignable to type '"EdgeCases"'.ts(2430)

Thinking about it more, I feel leaving that modules augmentation in a .d.ts file might make sense — this is basically writing to global namespace, so if somebody publishes this generated file to somebody elses node_modules, we can easily end up with a clash on getContractFactory types.
To-Do

[x] Add a test to assert that declare module "hardhat/runtime/types" works.
[x] Emit .ts in web3js target.

Disclaimer: This might have problems not covered by our testing pipeline, so I'd probably prerelease and try using it in real world projects.

This is nice! This will be shipped with v6, won't it? What's the ETA for that?

@paulrberg next week 🔥

why? this is inconvenient in monorepo.


Backport "Parse search query param in Scaladoc" to LTS

Backports #19669 to the LTS branch.
PR submitted by the release tooling.

No regressions detected in the community build up to lts-19080.
Reference


python37Packages.hg-evolve: 10.1.0 -> 10.2.0.post1

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python37Packages.hg-evolve is: "Enables the “changeset evolution” feature of Mercurial core"
meta.homepage for python37Packages.hg-evolve is: "https://www.mercurial-scm.org/doc/evolution/"
meta.changelog for python37Packages.hg-evolve is: ""
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS

Warning: a test defined in passthru.tests did not pass

0 of 0 passed binary check by having a zero exit code.

0 of 0 passed binary check by having the new version present in output.

found 10.2.0.post1 with grep in /nix/store/yrm84xsywnfb9ahrmr6qg8mcmwrysnrd-python3.7-hg-evolve-10.2.0.post1

directory tree listing: https://gist.github.com/16c4abf110345ffbbb6db826d051003c

du listing: https://gist.github.com/66caad89bb57135f5a0e6b4946eac350

Rebuild report (if merged into master) (click to expand)

12 total rebuild path(s)

3 package rebuild(s)

3 x86_64-linux rebuild(s)
3 i686-linux rebuild(s)
3 x86_64-darwin rebuild(s)
3 aarch64-linux rebuild(s)

First fifty rebuilds by attrpath
python37Packages.hg-evolve
python38Packages.hg-evolve
python39Packages.hg-evolve

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/yrm84xsywnfb9ahrmr6qg8mcmwrysnrd-python3.7-hg-evolve-10.2.0.post1 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A python37Packages.hg-evolve https://github.com/r-ryantm/nixpkgs/archive/6c16d7a8e7a21ea4189bd060080a2c7ec75c734a.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/yrm84xsywnfb9ahrmr6qg8mcmwrysnrd-python3.7-hg-evolve-10.2.0.post1
ls -la /nix/store/yrm84xsywnfb9ahrmr6qg8mcmwrysnrd-python3.7-hg-evolve-10.2.0.post1/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

3 packages built:

python37Packages.hg-evolve
python38Packages.hg-evolve
python39Packages.hg-evolve

Maintainer pings
cc @xavierzwirtz for testing.

Superseded by #125106


Add support for coverage module

Chrome devtools coverage is pretty mind blowing. Its insanely fast. I'm guessing this is because v8 does some magic internally to record this.
Having puppeteer report coverage would be great. This means I can write asserts on coverage.
I don't think devtools provides source-mapped coverage info but that would be amazing.
page.enableCoverage({files: []}) // rules on which files to track coverage (could be source mapped ones)
page.coverage.??? // module to show coverage info

Duplicate of #320


wg_engine: composition and blend optimization - PART 2

wg_engine: aabb based masking optimization

used fragment shaders for mask applience instead of compute shaders
less render targets swithing
aabb based mask application. Masks computes only on the area with shapes, but not full screen
shape aabb based on transformed shape bbox

Ready for direct mask application (part 3)
Samples to verify:

Masking
MaskingMethods

@SergeyLebedkin Hello, how % can be improved in your local test?

@SergeyLebedkin Hello, how % can be improved in your local test?

From 170 fps to 200 fps on masking test (15%)
The reason is that Scene Blending still works on compute shaders, but not on fragments and apllies for full screen
And also masking can be applied directly during shape rendering (any type), but this is a PART 3 stage
So, in the next step we will have 2 options:

Direct mask application
Scene Blending move to fragment shaders (based on aabb area)
It will also increase perofmance to the theoretical limit for out workflows

@SergeyLebedkin the Lottie example crashed when built with thread sanitizer (on mac)

@SergeyLebedkin the Lottie example crashed when built with thread sanitizer (on mac)

correction - crash is present also on main

Hello, sharing performance result in Web Browser.
This patch indicates around 65FPS of 120, gained 37%+ improvement than previous build (was 41FPS).
Memory Usage is the same.


Missing actions in modifications_long.tsv

In rows where the attributes "expected_value" or "preferred_unit" are being modified, the "action" column is left blank. What modification is supposed to be happening here? @pkalita-lbl @turbomam do you remember what the intent was?
Examples
https://github.com/microbiomedata/submission-schema/blob/0b9413915f63bd7fa9be70f32061db49dc422009/sheets_and_friends/tsv_in/modifications_long.tsv#L94
https://github.com/microbiomedata/submission-schema/blob/0b9413915f63bd7fa9be70f32061db49dc422009/sheets_and_friends/tsv_in/modifications_long.tsv#L222

I don't know enough of the history here to know if that was intentional or not, but in actuality those rows currently do nothing.
The logs generated by sheets_and_friends as it processes the modifications_log.tsv file are quite noisy (noisy but also cryptic 🙃), but you can see here on line 3161 of the output of make all: https://github.com/microbiomedata/submission-schema/actions/runs/8827491751/job/24234818535#step:7:3162 It says it's processing the slot extreme_event, there is no action (nan), the target is expected_value and the value is date, string. The next line down (3162) says no action for nan indicating that it didn't do anything for that row (source).
Because there are no LinkML metamodel elements called expected_value or preferred_unit (unlike, say, range or description used in other rows), if I had to make a guess I would say those rows were maybe supposed to have the action replace_annotation (source).
So I think two valid paths forward are:

Add replace_annotation as the action to those rows
Remove the rows entirely

Maybe @turbomam could chime in on his preference

Yeah, it looks like I was just confusing the capabilities of a couple of different pieces of software, like schemasheets, sheets_and_friends and yq. expected_value and preferred_unit are annotation keys, not LinkML features, like @pkalita-lbl said. Even if we did add those, I'm not sure they would show up in the Submission Portal interface. I'll look though that now.

ammonium_nitrogen  has an expected_value annotation of 'measurement value', but that doesn't show up when you double-click on the 'ammonium nitrogen' column header on a SoilInterface Submission Portal screen.
I think we can just remove those TSV rows.

Although there is a replace_attribute action

@turbomam @bmeluch not really sure if this is active or not?  Can you please close or move to the next sprint or to the backlog?


Why not include the ballista-cli in the member of workspace

Is your feature request related to a problem or challenge? Please describe what you are trying to do.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
(This section helps Arrow developers understand the context and why for this feature, in addition to  the what)
From https://github.com/apache/arrow-ballista/blob/a2c794e72f0b6e21b05bb8c05b38f68bba206a44/Cargo.toml#L27 toml file, the ballista-cli is exclude in the workspace.
Could you please explain this @andygrove ?
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

I actually don't know why we chose to exclude DataFusion-cli and ballista-cli from the workspaces. It would seem better to me to include them.

I actually don't know why we chose to exclude DataFusion-cli and ballista-cli from the workspaces. It would seem better to me to include them.

There is the context https://github.com/apache/arrow-datafusion/pull/2112 for removing the cli from the toml.


Flaky example testing in CI

          Build failed (retrying...):

run-examples

Originally posted by @bors[bot] in https://github.com/bevyengine/bevy/issues/7423#issuecomment-1419802907
@mockersf and I think there's a system that's exiting the window that has a critical system order ambiguity. Hence why it only sometimes fails.

command to run the example as in CI:
CI_TESTING_CONFIG=.github/example-run/alien_cake_addict.ron cargo run --example alien_cake_addict --features "bevy_ci_testing,trace,trace_chrome"

I couldn't reproduce on macOS, the issue happened on Linux in CI. It seems it didn't happen in CI in the last few runs

Closing unless / until we reproduce.


Scaling policy type does not support all its possible values

Describe the Bug
Module has variables scale_up_policy_type and scale_down_policy_type. According to documentation they support all values allowed in autoscaling_policy tf resource namely SimpleScaling, StepScaling and TargetTrackingScaling. On the other hand implementation of scaling policies does not contain blocks step_adjustments and target_tracking_configuration which are necessary to use StepScaling or TargetTrackingScaling respectively. This means that effectively only SimpleScaling is available.
Expected Behavior
Option A - support SimpleScaling

Drop variables scale_*_policy_type and replace them with hardcoded SimpleScaling
Explicit description of this in readme

Option B - full support for all three policies

That makes sense.
Option B makes the most sense to me. If you have some free time, please feel free to contribute :pray:

@james64 Thank you for bringing this to our attention.
For now, we are going to document that only SimpleScaling is supported, but we will leave the variables (with default values) to leave room for future enhancements and to not break existing modules that set them.
We will accept a PR that adds support for the other scaling types if it includes examples of them in the examples/complete test.


How to get TX HASH after sendBoc?

I can not figure out how to get the HASH transaction of sending TON.
After transfer.getQuery() I get query and can get .hash() from it - but this is hash of whole transaction, but how can I get hash of outgoing message only?
I don't understand something somewhere :)

const query = await transfer.getQuery();
const hash = TonWeb.utils.bytesToBase64(await query.hash());
const boc = await query.toBoc(false);
const bocBase64 = TonWeb.utils.bytesToBase64(boc);
const result = await tonweb.provider.sendBoc(bocBase64);

@mi444k hi, i has same troubles. Has you solution to fix it?
Tnx!

Noup.

@mi444k I assume sendBocReturnHash function should have been also provided to get transaction hash after sending boc to blockchain. Am I right? https://toncenter.com/api/v2/sendBocReturnHash


Delete policy with user defined labels during CNP update

Summary of changes:
When doing a policy update of an existing CNP, where that new CNP
does not contain a single valid rule defined in its spec, the old CNP
rules would be kept running creating a unsynced state against the policy
installed in kubernetes

steps to reproduce:
install:
apiVersion: "cilium.io/v2"
kind: CiliumNetworkPolicy
metadata:
  name: "guestbook-web"
  annotations:
    "foo": "bar"
specs:
- endpointSelector:
    matchLabels:
      k8s-app.guestbook: web-3
  ingress:
  - fromEndpoints:
    - matchLabels:
        "reserved.world": ""
    toPorts:
    - ports:
      - port: "80"
        protocol: TCP

apply:
apiVersion: "cilium.io/v2"
kind: CiliumNetworkPolicy
metadata:
  name: "guestbook-web"
  annotations:
    "foo": "bar"
specs:
- endpointSelector:
    matchLabels:
      k8s-app.guestbook: web-2
  ingress:
  - fromEndpoints:
    - matchLabels:
        "reserved.world": ""
    toPorts:
    - ports:
      - port: "80"
        protocol: TCP
  labels:
  - key: foo
    value: "baz"

and verify that the rule web-3 still exists in cilium policy get

This change is

test-me-please

test-me-please

Rebased to resolve merge conflict

test-me-please

Not sure I understand the concepts here correctly. Does this mean that labels in a CNP spec are not supposed to change the identity of a CNP rule, but the identity of a CNP rule should be determined solely by the CNP metadata. Does the same consideration apply to CNP metadata name v.s. CNP metadata annotations? That is, should a rule with the same name but with different annotations replace an older rule (with the same name, but different annotations)? If so, then maybe we should document CNP Spec labels (aka "user defined labels") as "additional annotations"?
Either way, it seems to me that maybe we should consider having a clearer definition of a rule's identity. Maybe we could use that also with cilium policy import so that imported rules that have the identity of an existing rule would replace those rules rather than simply appending the new rules on top of the existing ones.

@jrajahalme
I think you are confusing 2 concepts :-)
A rule installed in the Cilium Policy Repository based in a CNP contains at least 3 labels: the policy name, the policy namespace and a "derived-from" label. (I don't recall the exact label's name)
In the following example, the policy installed will have 3 labels for each rule: name: guestbook-web, namespace: default, and derived-from: cnp.
apiVersion: "cilium.io/v2"
kind: CiliumNetworkPolicy
metadata:
  name: "guestbook-web"
specs:
- endpointSelector:
    matchLabels:
      k8s-app.guestbook: web-3
  ingress:
  - fromEndpoints:
    - matchLabels:
        "reserved.world": ""
    toPorts:
    - ports:
      - port: "80"
        protocol: TCP

In the following example, the policy installed will have 4 labels for each rule: name: guestbook-web, namespace: default, derived-from: cnp and user.defined.label.foo: baz
apiVersion: "cilium.io/v2"
kind: CiliumNetworkPolicy
metadata:
  name: "guestbook-web"
specs:
- endpointSelector:
    matchLabels:
      k8s-app.guestbook: web-2
  ingress:
  - fromEndpoints:
    - matchLabels:
        "reserved.world": ""
    toPorts:
    - ports:
      - port: "80"
        protocol: TCP
  labels:
  - key: foo
    value: "baz"

The annotations are never used for define a rule label, only the labels a user defines in the spec of the CNP. The problem here is, whenever the user applies a policy with more labels than previously defined, Cilium won't be able to replace the old rules because we are searching for all rules that contains 4 labels and the rules installed in the repository only contains 3 labels.

@aanm Thanks for the detailed answer! But I'm still wondering that if the user defined label is part of the policy rule's "identity" (however we define it), then the latter rule is a different rule. Why should the insertion of the latter rule replace the former? The user clearly gave it different labels, so now we should have two rules, no?

@aanm Thanks for the detailed answer! But I'm still wondering that if the user defined label is part of the policy rule's "identity" (however we define it), then the latter rule is a different rule. Why should the insertion of the latter rule replace the former? The user clearly gave it different labels, so now we should have two rules, no?

@jrajahalme Not quite, because in Kubernetes the objects are uniquely identified by apiVersion, kind, metadata.name and metadata.namespace. The user replaced the same Kubernetes object, we should reflect what is installed in Kubernetes.

@aanm Assuming we only implement API version 'v2', and only deal wth CNP rules. That leaves metadata.namespace and metadata.name. I guess these get translated to (two) rule labels. Are we properly considering only those labels as "identifying" a rule in the Cilium policy repository, or are we somehow treating all labels the same way and that's why any user defined labels made replace not work? I'm kind of wondering why a replace option is not enough, even in the presence of additional labels.
It would be nice if we were able to do "cilium policy import" and that would also properly replace old rules with new ones, given that they have the same identifying labels...

test-me-please

@aanm Assuming we only implement API version 'v2', and only deal wth CNP rules. That leaves metadata.namespace and metadata.name. I guess these get translated to (two) rule labels. Are we properly considering only those labels as "identifying" a rule in the Cilium policy repository, or are we somehow treating all labels the same way and that's why any user defined labels made replace not work? I'm kind of wondering why a replace option is not enough, even in the presence of additional labels.

@jrajahalme We are using user labels as identifiers of a rule as well.

On Oct 1, 2018, at 05:49, André Martins<EMAIL_ADDRESS>wrote:
@aanm Assuming we only implement API version 'v2', and only deal wth CNP rules. That leaves metadata.namespace and metadata.name. I guess these get translated to (two) rule labels. Are we properly considering only those labels as "identifying" a rule in the Cilium policy repository, or are we somehow treating all labels the same way and that's why any user defined labels made replace not work? I'm kind of wondering why a replace option is not enough, even in the presence of additional labels.
@jrajahalme We are using user labels as identifiers of a rule as well.

But only for non-CNP rule, right? So that a k8s defined policy rule is considered as replacing an old one if it has the same (metadata) name & namespace, regardless of any user defined labels?
Jarno

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

On Oct 1, 2018, at 05:49, André Martins @.***> wrote: @aanm Assuming we only implement API version 'v2', and only deal wth CNP rules. That leaves metadata.namespace and metadata.name. I guess these get translated to (two) rule labels. Are we properly considering only those labels as "identifying" a rule in the Cilium policy repository, or are we somehow treating all labels the same way and that's why any user defined labels made replace not work? I'm kind of wondering why a replace option is not enough, even in the presence of additional labels. @jrajahalme We are using user labels as identifiers of a rule as well.
But only for non-CNP rule, right? So that a k8s defined policy rule is considered as replacing an old one if it has the same (metadata) name & namespace, regardless of any user defined labels? Jarno
…
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.

I don't think I understood the question but a Kubernetes Network Policy does not have user defined labels in its spec.

On Oct 1, 2018, at 07:06, André Martins<EMAIL_ADDRESS>wrote:
On Oct 1, 2018, at 05:49, André Martins @.***> wrote: @aanm Assuming we only implement API version 'v2', and only deal wth CNP rules. That leaves metadata.namespace and metadata.name. I guess these get translated to (two) rule labels. Are we properly considering only those labels as "identifying" a rule in the Cilium policy repository, or are we somehow treating all labels the same way and that's why any user defined labels made replace not work? I'm kind of wondering why a replace option is not enough, even in the presence of additional labels. @jrajahalme We are using user labels as identifiers of a rule as well.
But only for non-CNP rule, right? So that a k8s defined policy rule is considered as replacing an old one if it has the same (metadata) name & namespace, regardless of any user defined labels? Jarno
…
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.
I don't think I understood the question but a Kubernetes Network Policy does not have user defined labels in its spec.

Sorry for the loose language. With “CNP” I meant a Cilium Network Policy installed via k8s as a custom resource.
I think I finally got where I was confused. We do not have stable identities for cilium policy rules at all. But a CRD (which can contain many rules) has a stable identity (namespace, name, etc) and when policy rules are imported from a CRD all old rules that were imported from a CDR with the same identity must be deleted.
The problem was that the CDR identity is translated to the rule labels, which can also contain other labels (such as user defined labels). Given this we can’t simply assume, when importing a CRD, that a rule replaces an old one if it has the same labels, but we have to delete old rules with the CRD-identifying labels explicitly.
Jarno

@jrajahalme correct!
Me, Thomas and Ray have discussed. The user labels will not be used to do any operations of add / update / delete rules based on CNP.

test-me-please

test-me-please

test-missed-k8s

test-upstream-k8s

test-me-please

test-me-please

test-me-please


EnableModExpansion: allows overriding scale/speed inside ESL entries

Separated the ESL expansion stuff from #266, since I'm probably gonna redo that PR eventually, and I guess it's better to get this stuff in sooner than later.
This adds a EnableModExpansion setting which enables the hooks for allowing scale/speed to be set inside ESL, had to change how the flag for enabling speed/scale is set though, since it seems 0xA might actually be in use (I didn't see any code using it, but the field is defined)
Now instead of setting 0xA to 1, you'll need to set the first nibble of it to F instead.
eg. if 0xA was set to 03, you'd set it to F3, or if 0xA is 00 just set it to F0.
With that set the last 4 bytes of the ESL entry will be treated as two uint16_t percentage values, first one as speed percent, second as scale percent.
Also added stuff to allow scaling in ETS as well, as requested at #303, more info in the comment below, seems to be working fine from what I've heard 😸
Still need to fix the interaction issue mentioned below though... hopefully can figure something out for it soon.

I tested the Speed and Size and its working nice like the old build. I need to test now the ETS size.

Added code to also scale the ETS models collision radius/height as well, many thanks to @Corazon-SA for helping to test & refine it 👍
We noticed that some objects have weird collision where the radius begins at an offsetted position inside the models, seems doors use this a lot - fortunately scaling that offset by the collision scale value mostly seems to get collision to match up with the scale, but sometimes this scaled-offset isn't that perfect (maybe the original values weren't an exact match in the beginning, and now scaling them up makes that more apparent..)
To get around that I added a flag which lets you specify the model scale & collision scale separately, so modders can fine-tune it if they need to.
The ETS_DATA struct was pretty much all occupied already, but it seems the EtcModelNo_2 field (uint16_t) is actually restricted by the game to values 0x40 and below, so with a single patch we can make the game treat it as a byte instead, giving us an extra byte to use as a flag.
With the flag set the unused 12-byte scale area gets treated as two 6-byte vectors, one for model scale & one for collision scale, the vectors are 2-byte shorts for X Y Z, values are specified as percentages (so for 2x scale you'd set it as 200 / 200 / 200)
The flag is at 0x3 into the ETS struct, setting that to F0 will enable this "short mode".
Some tools already treat the 12-byte scale area as a normal 12-byte vector, those can still be used with this fine, as long as that flag isn't set then both model & collision will get the values taken from there.
Getting late here and I'm pretty tired, I'll update OP with a better description tomorrow :)

Its working, and the Collision Build too, ETS with collision working perfectly. Thank you. Darth is without computer so i'm testing it alone.

Well looking into the checks for window "jump out" prompt to appear it seems cPlayer::actionSelect is responsible for the prompt itself, which calls a bunch of check funcs to see if you're near a window/door/etc.
windowCheck calls into ChkWindow, which seems to use SceAtCheckFieldInfo to find an AEV related to the window, that finally calls into sceAtHitCheck which seems to be what actually checks if you're near it, looks like AEV has hit_dir_ang_48 / hit_open_ang_49 fields that it uses to check against, I guess maybe modders can just update those ang fields if they need to, doesn't seem like there's much else we can change there at least...
Should be fine to merge, I'll add the debug build fix here in a sec, and maybe add some more info about what mod expansion does into settings_string.h too.

Why is this, exactly? Anything broken there?
Hmm not really sure, haven't tried building it with the latest changes in a while, there are some commits in there like the column helper funcs that I'd guess might conflict though, not really sure if I can just remove those from the branch or not...

I've been thinking about redoing the Em manager side of it for a while though, would be nice if that could be 'popped-out' as a separate window so that you could see it while playing, kinda like the debug stuff added to ocarina of time here: https://youtu.be/r1BPWSADWck?t=206
(I like the way they added a toolbar menu at the top there too, if we ever added more debug-window kinda stuff it might be nice to add something like that too)

Should be fine to merge, I'll add the debug build fix here in a sec, and maybe add some more info about what mod expansion does into settings_string.h too.

Pushed, also checked with the usual EXEs, seems to be fine.

Hmm not really sure, haven't tried building it with the latest changes in a while, there are some commits in there like the column helper funcs that I'd guess might conflict though, not really sure if I can just remove those from the branch or not...

Ah, I rebased the branch some time ago, so I think there should be only minor conflicts? Haven't checked again since then.

but it'd be nice if that could be 'popped-out' as a separate window so that you could see it while playing, kinda like the debug stuff added to ocarina of time here: https://youtu.be/r1BPWSADWck?t=203

Oh, that seems nice. We can definitely add an option to pop out the window. Not sure how we'd handle passing input to it, though. Unless you think the game shouldn't have input passed to it as long as the pop up is open?

Pushed, also checked with the usual EXEs, seems to be fine.

Many thanks!

Unless you think the game shouldn't have input passed to it as long as the pop up is open?

I was thinking of it more like an overlay kinda, eg. you'd first open it from cfgMenu, be able to press buttons/select Ems/etc while still in the cfgMenu "mode" to choose what you want to monitor, but closing down cfgMenu would still leave the Em/debug window on screen, with inputs going to the game as normal.
Then if you need to adjust anything on that window (or move it/close it down) you can just bring up cfgMenu again, which would let inputs go to all the windows again.
Not sure how possible that is with the current setup, we do already have the console window drawing without cfgMenu needing to be shown at least, so I guess displaying it shouldn't be too hard, not sure about inputs though.

Well if you guys need help to test something i'm here to do the necessary, every new features feels very good to me, loved. Count on me.


Fixed melon block in 1.13

Also removed the useless semicolons

Thanks very much!

Pretty sure you forgot to merge :p

Ummmm whoops :( Really?  Does look like it... sadly I can't merge now because you deleted the branch too!
If you can undelete please do... otherwise if you don't want author credit I can just copy the diffs myself.

Do it! I don't think the change is enough important to consider credits ^^


Unable to use rpull from container registry

I follow the instructions on https://github.com/alibaba/accelerated-container-image/blob/main/docs/EXAMPLES.md
However, I got this error:
➜  accelerated-container-image git:(main) sudo bin/ctr rpull staging-registry.yuri.moe/redis:6.2.1_obd && sudo ctr run --net-host --snapshotter=overlaybd --rm -t staging-registry.yuri.moe/redis:6.2.1_obd demo
staging-registry.yuri.moe/redis:6.2.1_obd:                                        resolved       |++++++++++++++++++++++++++++++++++++++|
manifest-sha256:23d8acc1c468e678019c12784bac514b09908c0accc7bf2a56ae8fe7fea9e1d6: downloading    |--------------------------------------|    0.0 B/3.3 KiB
elapsed: 0.2 s                                                                    total:   0.0 B (0.0 B/s)
done
ctr: failed to attach and mount for snapshot 7: failed to enable target for /sys/kernel/config/target/core/user_999999999/dev_7, failed:failed to open remote file https://staging-registry.yuri.moe/v2/redis/blobs/sha256:5b8ddc4be300c03f643ace1d74a62a3614224569b7d2ef46d69f4a3e96fcb856: unknown

These are the commands that run to get the OBD image and upload to my own registry.
sudo ctr content fetch registry.hub.docker.com/library/redis:6.2.1
sudo bin/ctr obdconv registry.hub.docker.com/library/redis:6.2.1 localhost:5000/redis:6.2.1_obd
sudo ctr i push  staging-registry.yuri.moe/redis:6.2.1_obd

I am able to lazy pull the image and run using this image registry.hub.docker.com/overlaybd/redis:6.2.1_obd
The registry is running and open to the public in case you would like to test that out. It is the latest image from https://hub.docker.com/_/registry if you want to set up your own regsitry.

Because of the problem above, I don't know how to generate the block-trace optimized image.

@mc256  This is caused by the different behaviors of registries. I fix it in overlaybd (https://github.com/alibaba/overlaybd/pull/56) and you can merge it.  But I am not sure whether it completely solved and hope you to provide the version of you registry so that we can try other situations.

The version of my registry is 2.7.1
https://hub.docker.com/layers/registry/library/registry/2.7.1/images/sha256-42043edfae481178f07aa077fa872fcc242e276d302f4ac2026d9d2eb65b955f?context=explore

Thanks! It seems to work now. But it does not work for a second attempt, I will have to reboot the computer.
sudo bin/ctr rpull staging-registry.yuri.moe/redis:6.2.1_obd && sudo ctr run --net-host --snapshotter=overlaybd --rm -t staging-registry.yuri.moe/redis:6.2.1_obd demo
staging-registry.yuri.moe/redis:6.2.1_obd: resolving      |--------------------------------------|
elapsed: 0.1 s                             total:   0.0 B (0.0 B/s)
done
ctr: failed to attach and mount for snapshot 7: failed to write target max_data_area_mb for /sys/kernel/config/target/core/user_999999999/dev_7: write /sys/kernel/config/target/core/user_999999999/dev_7/control: invalid argument: unknown

Do you have any idea why it gives this error?

It is weird, I can no longer run the container, it gives me this error:
ctr: failed to attach and mount for snapshot 7: failed to mount /dev/sdd to /var/lib/overlaybd/snapshots/7/block/mountpoint: read-only file system: unknown

@mc256  so sorry for toooooo loooooong time - -!
In these days i tried registry v2.7.1 and it worked. your error about "failed to write target max_data_area_mb" is about failing to set a tcmu parameter. So i think the problem is related to tcmu kernel modules, you may try a newer kernel?
If new kernel worked, i will make it ignore this error for compatibility.


[qtbase] Change qt source downloads to point at GitHub

The current Qt download URLs appear to be broken (https://code.qt.io/qt/qtbase.git). Additionally, we strongly prefer downloading HTTPS tarballs over git clone, since that supports asset caching.
This PR moves the qtbase tree of downloads to come from the official qt mirror on GitHub.
@Neumann-A for review

The problem with that it that the Github mirrors have a rather huge delay of being updated.
Try to update the links to:
https://code.qt.io/cgit/qt/qtbase.git/

How huge? The latest commit on qt/qtbase is from 9 hours ago, for example (https://github.com/qt/qtbase/commit/6376b1c5a708ddb1a82e81cbc7ce4df159ba565b). I am very interested in moving away from using git clone to access the sources as well.

How huge?

Huge enough that I noticed when trying to update qt 3 days after a release. Furthermore the repos might not all be in sync with each other. If you don't want to clone would  git archive --remote be an option to explore?

The problem with git archive is that the results depend upon the precise git version, host OS, and/or timestamp :(. I spent many hours trying to find a reliable way to get the same output across different git versions, but to no luck.

The problem with git archive is that the results depend upon the precise git version, host OS, and/or timestamp :(. I spent many hours trying to find a reliable way to get the same output across different git versions, but to no luck.

What exactly did you try? Did you turn off all the auto conversion git does (e.g. platform dependent lineendings and stuff)?

Yep, all of that was disabled (core.autocrlf=false).
The problems that I encountered across the various export formats were some variants of:

Unavailable on all platforms (esp. Windows)
The archive format literally has a built-in code for what OS it was created on :(
Embedded timestamps
The version of the packer changed the precise ordering of the files

I know I tried both .tar.gz and .zip, I forget now whether zstd, tar.bz2, or lzma were available on Windows.

@ras0219-msft: According to the docs you can change the default export to be used. E.g. you can create tar files and change the command it uses. So just reroute that to cmake tar xz ?

see https://git-scm.com/docs/git-archive#Documentation/git-archive.txt-tarltformatgtcommand

Yep, all of that was disabled (core.autocrlf=false).
The problems that I encountered across the various export formats were some variants of:

Not available on all platforms (esp. Windows)
The archive format literally has a built-in code for what OS it was created on :(
Embedded timestamps
The version of the packer changed the precise ordering of the files (I think git's built-in implementation of tar had this issue; git versions newer than a certain version have a different order on Windows)

I know I tried both .tar.gz and .zip, I forget now whether zstd, tar.bz2, or lzma were available on Windows.

So some research shows (15 min):
For 1: probably need to use cmake tar. Maybe not if the below is used?
For 2-4: There are special commands to feed to tar. https://reproducible-builds.org/docs/archives/ http://h2.jaguarpaw.co.uk/posts/reproducible-tar/ https://wiki.debian.org/ReproducibleBuilds/Howto https://phabricator.kde.org/D25494 https://salsa.debian.org/reproducible-builds/reproducible-website/-/merge_requests/50/diffs

The simplest alternative, and common practice with other package managers, is to use official release tarballs, with git as alternative resource for HEAD builds.

The simplest alternative, and common practice with other package managers, is to use official release tarballs, with git as alternative resource for HEAD builds.

There has been problems with that in Qt5 in the past. Especially some of the qt packages don't have an official release tarball which would mean partly fragmenting the download part of those ports.
I rather want to see vcpkg_from_git work correctly with asset catching then implement a workaround. Currently I don't feel like all options/possibilities there have been explored/exhausted.

I rather want to see vcpkg_from_git work correctly with asset catching then implement a workaround. Currently I don't feel like all options/possibilities there have been explored/exhausted.

AFAIU the problem is with implementations on the git server side, i.e. outside of vcpkg control.

AFAIU the problem is with implementations on the git server side, i.e. outside of vcpkg control.

Nope all on the client side. Getting a stable and reproducible hash for the archive on all platforms is problem.
The clone of the repo can be forced to be equivalent to what is on the server.

using
tar --sort=name --mtime="@${SOURCE_DATE_EPOCH}" --owner=0 --group=0 --numeric-owner --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=atime,delete=ctime --mode=777 -cf <out_archive> <dir_to_pack>
with SOURCE_DATE_EPOCH=0. The --mtime flag can probably be replaced with something like --mtime='2015-10-21 00:00Z' --clamp-mtime
but with the above command I was able to produce archives with the same hash of the same folder between windows and wsl.
On windows I used the bundled tar which comes with git (GNU tar 1.34) in wsl i had GNU tar 1.30. I assume at least tar version 1.28 is required.
I first created an archive with git archive which i extracted and repacked manually. Maybe there is a way to tell git archive to call tar with certain command line switches.

According to https://www.atlassian.com/git/tutorials/export-git-archive. git archive can be piped by by omitting the --output option so I think it should be possible to create reproducible archives with constant hashes with it.

So using:
git -c core.autocrlf=false archive --format tar --prefix=archive/ HEAD | tar -xf - && tar --sort=name --mtime='2020-06-05 00:00Z' --clamp-mtime --owner=0 --group=0 --numeric-owner --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=atime,delete=ctime --mode=777 -cf vcpkg-test.tar archive/
produces the same archive in git bash on windows and in wsl using the current vcpkg master checkout separatly (checked with cmake -E sha512sum)

It is on our roadmap to figure out asset caching for vcpkg_from_git(), however regardless we prefer to pull direct tarballs whenever possible.
It appears that Qt publishes releases across three channels:

Official release tarballs from https://download.qt.io. This has the fewest available modules, but is the maximally correct option (official release tarballs)
GitHub mirrors under https://github.com/qt. This has every module except qtinterfaceframework. Note that tags are only created for releases for some of the repos; others use branches. This is the v6.3.0 / 6.3.0 ref split.
Finally, for qtinterfaceframework, I can't find another source than using git to access code.qt.io.

I believe I've also simplified the update process while making sure it works with the above; the gist now is that building qtbase with QT_UPDATE_VERSION=1 will FATAL_ERROR but as a side effect write out ports/qtbase/cmake/qt_port_data.cmake and update the vcpkg.json files. Now there's even less "mandatory" manual work when updating to a new version.
In a normal build (QT_UPDATE_VERSION=0), that file will be included, which contains all the SHA/URL/FILENAME data for the qt modules.
This change does remove QT_UPDATE_VERSION behavior for individual ports, but I'm not sure where that was specifically useful before. It also removes the A/B side-by-side data, but given that a) all of this is tracked in git and b) versioning, I'm not sure what scenarios that was enabling before.
@Neumann-A does this more streamlined approach work for you?

Official release tarballs from https://download.qt.io. This has the fewest available modules, but is the maximally correct option (official release tarballs)

The long term reference for package maintainers is https://download.qt.io/archive/qt/.

I'm working on getting the qlitehtml/litehtml dependencies updated. It looks like they're only needed for the assistant feature as well, so I'm moving them into an if().
I'll keep pushing changes to this PR. If you'd like to pick them up into https://github.com/microsoft/vcpkg/pull/25259 that's good by me, or if that's green and merges first I'm happy to deal with any merge conflicts back into this PR.

I'm working on getting the qlitehtml/litehtml dependencies updated. It looks like they're only needed for the assistant feature as well, so I'm moving them into an if().

If you use the tarball from the official repo you don't need anything of this since it is in the archive. qttools was already updated to only use qt_install_submodule in https://github.com/microsoft/vcpkg/pull/25259.

I'll keep pushing changes to this PR

depends on the change ;) I am just waiting for a new vcpkg-tool release to correctly working CI again.

Any progress here?

can be closed. Already done.


Fixing black lint issues

Fixing black lint issues
Depends-On:  https://github.com/openstack-k8s-operators/openstack-tests-list/pull/17

/recheck

recheck

seems like this needs to be rebased

recheck


[ux] iOS smoth scrolling

Improvement of scrolling experience on iOS.
Signed-off-by: Denis Beklarov<EMAIL_ADDRESS>

@uncledent: Could you please amend your commit message to include your email in angle brackets?

Something like this: Signed-off-by: John Doe<EMAIL_ADDRESS>

@uncledent: Now it shows 3 commits instead of 1.

To merge, we need 1 commit with the right Sign-Off message. Could you please squash your commits?

It's a kind of tricky now, I'll do it better tomorrow.

Finally it should be right now..

@uncledent: Thanks a lot for the contribution! We have added your name to our community page: https://vmware.github.io/clarity/community

@adityarb88 Thank you!


A question about equation(1) to equation(2).

Hi HanSheng, very excellent work!
In equation (2), likelihood fuction p(X|y) is defined as .
We can view p(X|y) as the joint probability of p(X1|y), ... , p(X2|y). So .
||fi(y)|| is reprojective error and its value from 0 to infinity. Let x be ||fi(y)||, . So p(Xi|y) is not a pdf.
Is my induction correct? If my induction is correct, statement p(X|y) is not proper here. And following equation can't use Bayes theorem to get p(y|X).
Perhaps i'm splitting hairs, but it really confused me.

Yes the likelihood is not a PDF. Likelihood has nothing to do with density. Only after applying the Bayesian rule can the posterior become a PDF.

Yes the likelihood is not a PDF. Likelihood has nothing to do with density. Only after applying the Bayesian rule can the posterior become a PDF.

The likelihood function is not as normal as usual. Can u give me more detail about how to get equation(2) from equation(1)? Or there is not a strictly math induction?

If you strictly consider the likelihood to be the conditional probability density of X, then Eq. (2) is incomplete because a normalization factor is missing. But this is OK because it's being used as a likelihood and its absolute scale doesn't matter.

Thanks a lot. Excellent work again and wish I could figure out all the equations and intuitions.


[PE-D][Tester B] Task UI cards only displayed under certain conditions

It seems like the task card UI is only displayed after the task is assigned to at least one person in the address book. Perhaps you guys might want to consider other cases where the user uses the address book as a "notepad" to record tasks only for themselves, or in cases where the user hasn't decided to who to assign a task. In these cases the UI cards for the tasks won't get displayed, will there be a better way around this?

Labels: type.FunctionalityBug severity.Medium
original: HakkaNgin/ped#8

Duplicate #169