Add Dockerfile for arm32 build (raspberry pi3 and below)

Fix for build issues on raspberry pi3.
Since pypi does not store binary wheels for pip packages, docker build tries to build packages.

Thanks for the contribution♥. I'm testing it on my raspberry pi.
Could you explain a bit more about the difference between buildkit and nobuildkit, and which one is recommended to use for building the image locally.

Hi, you can read more about buildkit here:
https://docs.docker.com/build/buildkit/
It will replace the "old" docker building method, and it has some advanced options (like that bind mount, that I used to make the wheels accessible in the release image, without actually COPY-ing the wheel files to the release image).
So if you have a new enough docker, then you should use buildkit.
If you use "podman" instead of docker....well, I have no idea whether podman's buildkit support is good enough or not.....

Thanks! It works like a charm on my raspberry pi.


Circularize disconected ways in roundabout

Description
In many cases, a roundabout is not a closed way, usually due to route relations.
When this happens, is a hell to circularize these segments. It would be very helpful if we could circularize these ways, as if they were closed in one single way.
Regards.
Screenshots
No response

this is #2048


Fix #287: Adds -pubtypes, -pubfuncs, and -jsontag CLI flags

-pubtypes make the generated types public
-pubfuncs makes the generated functions public
-jsontag add a json:”...” field tag

Awesome, thanks for this!
Would you add test cases for this? Copy the cmd/edgeql-go/testdata/no-args directory and rename once for each of the new options. Adjust the directory content for the behavior with the option being tested. Then add a test case for each new directory here.
It would be great if the new options were added to the usage example in the docs.
I'm wondering if the -jsontag should perhaps be more general. Maybe it could be -tags and accept name+strategy pairs like json:snakecase. This would allow adding multiple tags and being able to choose the name transformation strategy. I think it would be nice to split this into its own PR. I don't want the design discussion for this to hold up the other two options.

Feel free to make any changes you need.  I thought I would send you this contribution to get you started.  But I'm fine using a fork.

Closing in favor of https://github.com/edgedb/edgedb-go/pull/317 and https://github.com/edgedb/edgedb-go/pull/318.


function Json unquote

Proposed changes
Issue Number: close #17216
Problem summary
Implement json_unquote.
mysql> SELECT json_unquote('"doris"');
+-------------------------+
| json_unquote('"doris"') |
+-------------------------+
| doris                   |
+-------------------------+

Checklist(Required)

[ ] Does it affect the original behavior
[x] Has unit tests been added
[x] Has document been added or modified
[ ] Does it need to update dependencies
[x] Is this PR support rollback (If NO, please explain WHY)

Further comments
Currently, the NO_BACKSLASH_ESCAPES sql mode specified in the MySQL documentation at  does not actually take effect. Therefore, even if a user enables NO_BACKSLASH_ESCAPES, the behavior of json_unquote will not change.

run buildall

run buildall

add a regression test for normal string and "".

TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 33.13 seconds
stream load tsv:          447 seconds loaded<PHONE_NUMBER>9 Bytes, about 159 MB/s
stream load json:         24 seconds loaded<PHONE_NUMBER> Bytes, about 93 MB/s
stream load orc:          73 seconds loaded<PHONE_NUMBER> Bytes, about 14 MB/s
stream load parquet:          30 seconds loaded 861443392 Bytes, about 27 MB/s
https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/tmp/20230325151441_clickbench_pr_120626.html

done

run buildall

run buildall

run buildall

run buildall

LGTM

run p1


CU 4/14

confimed to go ahead

Thanks for the submission! The current output reflected your submission is:
https://hopkinsidd.github.io/rsv-forecast-hub_website/


compiling tests via-ir causes issues with warp & block.timestamp stored in memory

Component
Forge
Have you ensured that all of these are up to date?

[X] Foundry
[X] Foundryup

What version of Foundry are you on?
forge 0.2.0 (276a122 2022-04-20T18:04:32.540251+00:00)
What command(s) is the bug in?
forge test
Operating System
macOS (amd)
Describe the bug
Can explore with this repo on commit b2dd8cfafa79d02394826e8f01138e849d78f784

forge install
make test
see tests passing
update foundry.toml to build via-ir = true
forge test -vvv --match-test createERC20
see test failing

the error appears to be with vestingStart, which is block.timestamp saved to memory at the beginning & later tested against. It appears to jump forward with the warp. My guess (not confirmed browsing opcode output) is that via-ir is trying to save me gas by skipping the m{store,load} for the timestamp (bc in regular contracts block timestamps don't change w/i execution of a fn) & just re-loading block.timestamp freshly on later reference
(to debug this I had to use emit log_uint -- couldn't seem to get console2 or console to output to trace.. but that's a separate topic)
fortunately this is easy enough to fix in my own case since vestingStart is only ever 0 how/where I was currently using it (and via-ir doesn't appear to save any gas for these contracts)
wanted to flag for others in the meantime

I'm not surethis is a Foundry issue. When you call vm.warp, then the block's timestamp is set to what you pass to warp for the remainder of the test until vm.warp is called with a new value. For that reason, if Solidity optimized things by calling block.timestamp again, you would see whatever you passed to warp.
It might be that Solidity instead optimizes by putting block.timestamp on the stack before it is actually called and then does a pop or other stack operation later. This is sound for normal Solidity since block.timestamp is immutable under normal circumstances, but obviously breaks things for us.
The only real fix we could do is track the location of stack items that have been produced by block.timestamp (and other immutables too like block.number, further complicating things), however, this would break tests like:
uint256 timestampBefore = block.timestamp;
vm.warp(block.timestamp + x);
assertEq(timestamp - x, timestampBefore);

I'm not really sure what we should do here. Pinging @hrkrshnn and @gakonst

ye so likely we will need to provide a helper function here that blackboxes it from the compiler. @hrkrshnn what do you think about going more general and native with a blackbox inside solidity?

Hmm, looking at this more: the TIMESTAMP opcode costs 2 gas, so this is a weird optimization. DUP1 costs 3 gas and POP costs 2 gas, so really, there isn't any gas saving here?

the optimizer might be relevant for test contracts if you hit the "stack too deep" error

@onbjerg Might be possible to config the compiler so that optimization is mostly off but "stack too deep" doesn't happen.

solidity issue  10354 comment
solidity-coverage issue 675 comment

Interesting as a workaround, but I'm not sure we can do that in Forge since it would require some knowledge of the expected test outcome, and for us to bruteforce the optimizer settings until it might work? :thinking:

Hmm, looking at this more: the TIMESTAMP opcode costs 2 gas, so this is a weird optimization. DUP1 costs 3 gas and POP costs 2 gas, so really, there isn't any gas saving here?

Good point. I think it's easiest to fix this: made https://github.com/ethereum/solidity/issues/12963 to track.  @onbjerg

Thanks for flagging @wminshew, closing given:

we've tracked it down to Solidity and have the relevant issues tracked.
you have a workaround for this in your case

It might be that Solidity instead optimizes by putting block.timestamp on the stack before it is actually called and then does a pop or other stack operation later. This is sound for normal Solidity since block.timestamp is immutable under normal circumstances, but obviously breaks things for us.

@onbjerg Just checked this. This doesn't seem to be true:
interface VM {
    function warp(uint) external;
}
contract C {
    VM vm = VM(address(0));
    function f() external {
        // test code (without IR this passes)
        vm.warp(100);
        assert(block.timestamp == 100);
        vm.warp(200);
        assert(block.timestamp == 200);
    }
}

Looked at both the --ir-optimized --optimize and --asm --via-ir --optimize for the above code. There are two references to timestamp. So it's not getting dup-ed.

Right, I think I had it confused; what is actually happening is that you replace all occurrences of a variable that just contains block.timestamp with block.timestamp (which is a fair optimization but muddies things for us). See this example:
interface VM {
    function warp(uint) external;
}
contract C {
    VM vm = VM(address(0x7109709ECfa91a80626fF3989D68f67F5b1DD12D));

    function testF() external {
        // test code (without IR this passes)
        uint256 start = block.timestamp;
        vm.warp(100);
        assert(start == 0);
    }
}

added a minimal repro in https://github.com/ethereum/solidity/issues/12963#issuecomment-1110070343

Hi guys, I'm facing the same on 0.8.27

I'm facing this in 0.8.28.
function testGetPastAccumulator_ExactMatch_OldestAccumulator(
        uint32 aStartTime,
        uint256 aBlockTime,
        uint256 aObservationsToWrite
    ) external randomizeStartTime(aStartTime) {
        console2.log("start time at beginning", block.timestamp);
        // assume
        uint256 lBlockTime = bound(aBlockTime, 1, 30);
        uint16 lObservationsToWrite = uint16(bound(aObservationsToWrite, 3, Buffer.SIZE * 3)); // go around it 3 times maximum

        // arrange
        uint256 lStartTime = block.timestamp;
        console2.log("after assignment", lStartTime);
        _fillBuffer(lBlockTime, lObservationsToWrite);
        (,,, uint16 lIndex) = _pair.getReserves();

        // act
        vm.startPrank(address(_queryProcessor));
        console2.log("start", lStartTime);
        console2.log(_pair.observation(lIndex.next()).timestamp);
        uint256 lAgo = lObservationsToWrite > Buffer.SIZE
            ? block.timestamp - _pair.observation(lIndex.next()).timestamp
            : block.timestamp - (lStartTime + lBlockTime);
        int256 lAcc = _queryProcessor.getPastAccumulator(_pair, PriceType.RAW_PRICE, lIndex, lAgo);

        // assert
        Observation memory lObs = _pair.observation(lObservationsToWrite > Buffer.SIZE ? lIndex.next() : 0);
        assertEq(lAcc, lObs.logAccRawPrice);
        vm.stopPrank();
    }

In this case lStartTime gets arbitrarily modified and therefore the two console logs output different values even though there is no modification to lStartTime

These cheatcodes could potentially be useful:
    /// Gets the current `block.number`.
    /// You should use this instead of `block.number` if you use `vm.roll`, as `block.number` is assumed to be constant across a transaction,
    /// and as a result will get optimized out by the compiler.
    /// See https://github.com/foundry-rs/foundry/issues/6180
    function getBlockNumber() external view returns (uint256 height);

    /// Gets the current `block.timestamp`.
    /// You should use this instead of `block.timestamp` if you use `vm.warp`, as `block.timestamp` is assumed to be constant across a transaction,
    /// and as a result will get optimized out by the compiler.
    /// See https://github.com/foundry-rs/foundry/issues/6180
    function getBlockTimestamp() external view returns (uint256 timestamp);

https://github.com/foundry-rs/forge-std/blob/master/src/Vm.sol#L577-L587


Return formatter errors to the client when a config fails validation.

Relates to #122

not sure these are formatter or blast run errors that show in the formatter logs..

The formatter logs only include errors/messages from the formatter and it's wrapping server

The error log should be written to file so it can be retrieved from the blast service.

This is handled by the rewrite.


Make interactive walkthrough

See https://zurb.com/playground/jquery-joyride-feature-tour-plugin

Also see http://github.hubspot.com/shepherd/docs/welcome/


Compiling Issue

I dont know if this code was designed to be Compiled alongside a Kernel, but i have been trying and i have been getting errors
This is what the full error log shows
gcc -m32 -o kernel.o -c kernel.cpp
In file included from kernel.cpp:4:
Cairo Desktop/Cairo Desktop/Interfaces/IDesktopManager.h:1:7: error: expected nested-name-specifier before ‘CairoDesktop’
1 | using CairoDesktop.Common;
|       ^~~~~~~~~~~~
Cairo Desktop/Cairo Desktop/Interfaces/IDesktopManager.h:2:7: error: expected nested-name-specifier before ‘CairoDesktop’
2 | using CairoDesktop.Services;
|       ^~~~~~~~~~~~
Cairo Desktop/Cairo Desktop/Interfaces/IDesktopManager.h:3:7: error: expected nested-name-specifier before ‘ManagedShell’
3 | using ManagedShell.Common.SupportingClasses;
|       ^~~~~~~~~~~~
Cairo Desktop/Cairo Desktop/Interfaces/IDesktopManager.h:4:7: error: expected nested-name-specifier before ‘ManagedShell’
4 | using ManagedShell.ShellFolders;
|       ^~~~~~~~~~~~
Cairo Desktop/Cairo Desktop/Interfaces/IDesktopManager.h:6:23: error: expected ‘{’ before ‘.’ token
6 | namespace CairoDesktop.Interfaces {
|                       ^
Cairo Desktop/Cairo Desktop/Interfaces/IDesktopManager.h:6:23: error: expected unqualified-id before ‘.’ token
In file included from kernel.cpp:5:
Cairo Desktop/Cairo Desktop/Interfaces/IWindowManager.h:1:7: error: expected nested-name-specifier before ‘CairoDesktop’
1 | using CairoDesktop.Services;
|       ^~~~~~~~~~~~
Cairo Desktop/Cairo Desktop/Interfaces/IWindowManager.h:2:7: error: expected nested-name-specifier before ‘CairoDesktop’
2 | using CairoDesktop.SupportingClasses;
|       ^~~~~~~~~~~~
Cairo Desktop/Cairo Desktop/Interfaces/IWindowManager.h:3:7: error: expected nested-name-specifier before ‘ManagedShell’
3 | using ManagedShell.AppBar;
|       ^~~~~~~~~~~~
Cairo Desktop/Cairo Desktop/Interfaces/IWindowManager.h:4:7: error: expected nested-name-specifier before ‘System’
4 | using System;
|       ^~~~~~
Cairo Desktop/Cairo Desktop/Interfaces/IWindowManager.h:5:7: error: expected nested-name-specifier before ‘System’
5 | using System.Collections.Generic;
|       ^~~~~~
Cairo Desktop/Cairo Desktop/Interfaces/IWindowManager.h:7:23: error: expected ‘{’ before ‘.’ token
7 | namespace CairoDesktop.Interfaces
|                       ^
Cairo Desktop/Cairo Desktop/Interfaces/IWindowManager.h:7:23: error: expected unqualified-id before ‘.’ token
kernel.cpp: In function ‘void kernelMain(const void*, uint32_t)’:
kernel.cpp:30:12: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
30 |     printf("Welcome to NexusOS! The Current Version is 1.0a1. The Build Number is 10281521x.");
|            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make: *** [Makefile:9: kernel.o] Error 1
If someone could figure that out, that would be great

Ok, so I have changed the IDesktopManager and IWindowManager back to .cs from .h. Rather than getting those errors, i am now getting a No File or Directory Found Error, even though i set the code to point to the correct directory, which does exist in the File Explorer. The Error Looks Like This:
kernel.cpp:4:10: fatal error: D:\NexusOS 1.0\Cairo Desktop\Cairo Desktop\Interfaces\IDesktopManager.cs: No such file or directory
4 | #include "D:\NexusOS 1.0\Cairo Desktop\Cairo Desktop\Interfaces\IDesktopManager.cs"
|          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make: *** [Makefile:9: kernel.o] Error 1
The Code to Compile these C# files into the Kernel.cpp file looks like this:
#include "D:\NexusOS 1.0\Cairo Desktop\Cairo Desktop\Interfaces\IDesktopManager.cs"
#include "D:\NexusOS 1.0\Cairo Desktop\Cairo Desktop\Interfaces\IWindowManager.cs"
I have also linked Files to This if you want to try and debug it. Note that i had not adjusted any of the Code with the .cs files at the time of uploading them.
https://github.com/MacTechNexusYT/NexusOS

You are going to have to provide more information if you want assistance. From the looks of it, you have created some header files and copied the contends of some of cairo’s interfaces into them. To my knowledge, none of the c variant compilers will will c# code in this manner. Could you elaborate more?

Ok, so I have changed the IDesktopManager and IWindowManager back to .cs from .h. Rather than getting those errors, i am now getting a No File or Directory Found Error, even though i set the code to point to the correct directory, which does exist in the File Explorer. The Error Looks Like This:
kernel.cpp:4:10: fatal error: D:\NexusOS 1.0\Cairo Desktop\Cairo Desktop\Interfaces\IDesktopManager.cs: No such file or directory
4 | #include "D:\NexusOS 1.0\Cairo Desktop\Cairo Desktop\Interfaces\IDesktopManager.cs"
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make: *** [Makefile:9: kernel.o] Error 1
The Code to Compile these C# files into the Kernel.cpp file looks like this:
#include "D:\NexusOS 1.0\Cairo Desktop\Cairo Desktop\Interfaces\IDesktopManager.cs"
#include "D:\NexusOS 1.0\Cairo Desktop\Cairo Desktop\Interfaces\IWindowManager.cs"
I have also linked Files to my Repository in the link below if you want to try and debug it. Note that i had not adjusted any of the Code with the .cs files at the time of uploading them.
https://github.com/MacTechNexusYT/NexusOS

Are you attempting to compile a linux or other non-windows OS?
Cairo is a windows shell enhancement/replacement.
Also, your repo may be private. I receive a 404 when navigating.

Im trying to Compile it as an Other non-windows OS
Try the link now


#65 no-redirect should disable the follow redirect

@npeters Thank you for the contribution.
Could you please resolve the conflict?
Have a nice week :)

@all-contributors please add @npeters for  code

The github action work well now !  Thank you @quangson91

@quangson91
Hi.
The '@no-redirect' setting of this binary does not work(also homebrew). Please check if there are any mistakes when packaging.


[e2e]: nodejs push main default slsa3

Repo: https://github.com/slsa-framework/example-package/tree/main
Run: https://github.com/slsa-framework/example-package/actions/runs/8028672003
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.nodejs.push.main.default.slsa3.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.nodejs.push.main.default.slsa3.yml
Trigger: push
Branch: main
Date: Sat Feb 24 06:10:26 UTC 2024

Repo: https://github.com/slsa-framework/example-package/tree/main
Run: https://github.com/slsa-framework/example-package/actions/runs/8035954189
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.nodejs.push.main.default.slsa3.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.nodejs.push.main.default.slsa3.yml
Trigger: push
Branch: main
Date: Sun Feb 25 06:10:38 UTC 2024
Tests are passing now. Closing this issue.


chore: Add Instruction::map_values_mut

Description
Problem*
Working towards #6751
Summary*
I noticed in a few places we use Instruction::map_values we clone the instruction beforehand to get around borrowing restrictions. This means we should mutate in place though instead of using map_values to produce another Instruction value, so I've added map_values_mut for Instruction and DataBus and searched through to find each case we could use these as well as the existing TerminatorInstruction::mutate_values which I've renamed.
Additional Context
Documentation*
Check one:

[x] No documentation needed.
[ ] Documentation included in this PR.
[ ] [For Experimental Features] Documentation to be submitted in a separate PR.

PR Checklist*

[x] I have tested the changes locally.
[x] I have formatted the changes with Prettier and/or cargo fmt on default settings.

I'm not seeing a big benefit to the peak memory usage here although the heaptrack profiling was done on the rollup-base-private circuit which our CI doesn't currently track. I'll profile this again tomorrow to see if we should go ahead and merge.

@TomAFrench I'd think this change would generally benefit runtime speed more than memory use since the extra clones we did before would just get freed afterward anyway. I'm not sure why the time for private-kernel-inner seems to have noticeably increased though.


Fix to get "Stage" using setedtarget

Might as well add the banner now too.

Suggestions:
Set target to should do nothing instead of throwing when sprite it was meant to switch to doesn't exist.
Get list should return empty string instead of throwing when list is not found.
Set list should do nothing instead of throwing when list is not found.
Set list should do nothing string instead of throwing when json is invalid.
Set list should do nothing instead of crashing scratch-gui when json represents something other than 1-dimensional array of strings, numbers or booleans (and list is shown).
Get brightness should return empty string instead of undefined, when value is invalid.
Import image shouldn't do anything instead of importing gray question mark costume when download fails.
Import sound shouldn't do anything instead of importing silent 0 second sound when download fails.
Import project shoul do nothing instead of after 15 seconds breaking the editor when download fails (especially considering that it fails with default value)

I will fix all of those instead of  Import image because you should see that it failed to fetch.

Also brightnessByColor will stay the same, because what it returns makes sense.

importProject can't be handled correctly, so sadly I can't fix that.

Set list should do nothing instead of crashing scratch-gui when json represents something other than 1-dimensional array of strings, numbers or booleans (and list is shown).

This can be fixed by checking parsed result in Array.isArray(valueToCheck), and then looping though each element of array and using typeof to check each element.

Also brightnessByColor will stay the same, because what it returns makes sense.

In scratch reporter blocks should never return undefined, null, arrays, objects, etc. The only valid values scratch can work with are numbers, strings and booleans.

Set list is already fixed. Gonna also change the brightness block tomorrow I guess.

Set list should do nothing instead of throwing when list is not found.
Set list should do nothing string instead of throwing when json is invalid.

Those 2 are fixed.

Set list should do nothing instead of crashing scratch-gui when json represents something other than 1-dimensional array of strings, numbers or booleans (and list is shown).

This isn't because the block itself sets the value successfully without throwing errors, but after the list is shown, since the value is invalid, it crashes.
Basically this (crash trying to read the length of (not) a list):

And this (crash trying to display one of the list values):

Oh, right. Gonna just check if it's valid json to fix the issue in the first image. Idk how I would go about the 2nd one tho.

Gonna just check if it's valid json to fix the issue in the first image.

123 from the first image is a valid json.
To fix the issues from the first image, after parsing the value with JSON.parse, put result into a variable. Then check that variable using Array.isArray(valueToCheck). If it returns false, then the value was wrong and the block should do nothing, so return from it.
If it returned true, then it is a valid array, so the code can proceed. The next thing to do is to loop through every element and check it's value using typeof(valueToCheck). If it returns something other than "string", "number" or "boolean" then the value wasn't valid and may cause the what is shown on the second image, so once again, the block shouldn't do anything, return from it.
If looping finishes, it means that nothing invalid was found and it is safe to set the list.

I will probably delist this extension from the homepage until the bugs that reportedly break scratch-gui or the editor are addressed

@Xeltalliv All issues you mentioned are fixed. You can check if there is anything left, because everything seems stable to me now. The sound and image import blocks will still return default stuff, as that is intended.

The problem from the second image isn't fixed.

The issue from the second image still isn't fixed.
Also, your use of this code may be problematic, since there doesn't seem to be any license information about it.

When I tested it, the issue in the 2nd image was fixed. I typed the same thing you did, and it worked as intended. Out of curiosity, how did you trigger the issue now?

I created a list, showed it, and then activated the block to set it to [{"toString":1}]. First activating the block and then showing the list also worked.


MakeCode CI failure

Currently the MakeCode CI builds are failing:
https://github.com/lancaster-university/codal-microbit-v2/actions/workflows/makecode.yml

The error is not very descriptive:
building bundled libs/blocksprj
*** yotta target bbc-microbit-classic-gcc@https://github.com/lancaster-university/yotta-target-bbc-microbit-classic-gcc
info: get versions for bbc-microbit-classic-gcc
error: Expecting value: line 1 column 1 (char 0)
INTERNAL ERROR: Error: yotta target bbc-microbit-classic-gcc@https://github.com/lancaster-university/yotta-target-bbc-microbit-classic-gcc: exit code 255
    at ChildProcess.<anonymous> (/home/runner/work/codal-microbit-v2/codal-microbit-v2/node_modules/pxt-core/built/buildengine.js:293:24)
    at ChildProcess.emit (node:events:513:28)
    at maybeClose (node:internal/child_process:1100:16)
    at Process.ChildProcess._handle.onexit (node:internal/child_process:304:5)

Digest: sha256:48fe950715eabc42c6438de7a5c81f15ccdfb7c79b808b6b2fc2f3c30e733c5c
Status: Downloaded newer image for pext/yotta:update-yotta3
/usr/local/lib/python2.7/dist-packages/jwt/utils.py:8: CryptographyDeprecationWarning: Python 2 is no longer supported by the Python core team. Support for it is now deprecated in cryptography, and will be removed in the next release.
  from cryptography.hazmat.primitives.asymmetric.utils import (
info: get versions for bbc-microbit-classic-gcc
error: No JSON object could be decoded
INTERNAL ERROR: Error: Exit code: 255 from cd built/dockeryt; docker run --rm -v /home/runner/work/codal-microbit-v2/codal-microbit-v2/libs/blocksprj/built/dockeryt/:/src -w /src --env YOTTA_GITHUB_AUTHTOKEN=*** pext/yotta:update-yotta3 yotta target bbc-microbit-classic-gcc@https://github.com/lancaster-university/yotta-target-bbc-microbit-classic-gcc
    at ChildProcess.<anonymous> (/home/runner/work/codal-microbit-v2/codal-microbit-v2/node_modules/pxt-core/built/nodeutil.js:78:24)
    at ChildProcess.emit (node:events:513:28)
    at maybeClose (node:internal/child_process:1100:16)
    at Process.ChildProcess._handle.onexit (node:internal/child_process:304:5)

However, they run correctly in my fork:
https://github.com/microbit-carlos/codal-microbit-v2/actions/runs/5282488564
The only difference I can think of is the population of the `` secret in the repo settings?

I've pushed to this repo a branch which only builds CODAL with MakeCode using the PXT_COMPILE_SWITCHES=csv---mbcodal env var, and that runs correctly, so the issue is isolated to the DAL/yotta build:
https://github.com/lancaster-university/codal-microbit-v2/actions/runs/5282570183

Do we have a way forward for the deprecation of yotta? Otherwise this is just going to keep reappearing :(

The proposal is to replace it with CODAL-style CMake files and build.py, but in the meantime we'll need to to continue using Yotta with GitHub tokens.

@JohnVidler as the current branch will be tagged for MakeCode live, could you fix this issue before the tag (and restart the latest workflow run) so that we can get a CI build of MakeCode before tagging?

Okay, so the docker build will fail anyway due to https://github.com/microsoft/pxt-microbit/issues/5313, but the "local build" (nodocker) in CI should still work to completion once this is fixed.

I've updated the token in this repo with a fine grained read-only token from my account.
That fixes the issue building the "no docker" MakeCode build, but due to https://github.com/lancaster-university/codal-microbit-v2/issues/338 the "docker" build will fail, as the docker image is not available in Docker Hub.
As a temporary measure, to be able to tell if the nodocker builds fail, I'll disable the build with docker until we can fetch the image from a public registry.

The docker image has  been pushed to DockerHub and we can restore the MakeCode builds with Docker:

https://github.com/lancaster-university/codal-microbit-v2/pull/407


"key contains no private key" could really mean "EC private keys not supported"

Is your feature request related to a problem? Please describe.
When using http2 = true with TLS alongside the Lego ACME client which defaults to generating EC256 keys, SWS fails to start with the following error:
2023-05-28T03:45:38.129495Z ERROR static_web_server::server: server failed to start up: failed to initialize TLS probably because invalid cert or key file
Caused by:
     key contains no private key

This error goes away when I force Lego to give me an rsa4096 key instead. Seems like the Warp code doesn't support Elliptic Curve keys, which begin with -----BEGIN EC PRIVATE KEY-----.
Describe the solution you'd like
Seems like rustls_pemfile crate does support EC keys if you call read_one and do pattern matching on the result. Not sure if the rest of the code will accept it.
Describe alternatives you've considered
Generate RSA keys instead. Or just make the error message clearer if EC keys aren't easy to support ATM.
Additional context
N/A

Good catch!
You're right. The warp code does not support EC private keys but rustls_pemfile does.
However, giving this a quick look up and trying locally. I found that effectively, it works for SWS by doing the proper pattern matching for rustls_pemfile::Item::ECKey(key).
So a feature PR should come next to support EC private keys in the minor next release.

BTW this is probably related to #148.

That was fast, thanks!
Also found this as another workaround for people on older versions: https://github.com/seanmonstar/warp/issues/1014

Ready for next minor. So a test from your side in the meantime should be appreciated.

My test was successful! Thanks!

Released on v2.17.0


Change request: A way to conditionally disable MSBuildGitHash

I want to disable MSBuildGitHash in Debug config because it increases compilation time, but useless in debug for me.
Also it seems that project may rebuild because of MSBuildGitHash even if nothing changed in the project.
For example when I edit tests main project also recompiled even if it wasn't changed.

An easy way to do this would be to add a condition to the PackageReference:
<PackageReference Include="MSBuildGitHash" Condition="$(Configuration) != 'Debug'"/>

This raising an interesting point though. This package should include proper build logic to avoid a full rebuild if the repository version is unchanged. I'll have to think about how to best achieve that, which might take me a while to get to. In the mean time I hope the above workaround is sufficient for you.

It doesn't work in VS 17 & VS 19 (see https://stackoverflow.com/questions/48590270/packagereference-condition-is-ignored)
But this workaround works:
  <Choose>
    <When Condition=" '$(Configuration)' != 'Debug' ">
      <ItemGroup>
        <PackageReference Include="MSBuildGitHash">
          <Version>2.0.2</Version>
        </PackageReference>
      </ItemGroup>
    </When>
  </Choose>

Unfortunatelly it is not compatible with Manage NuGet packages VS UI. It doesn't see the package. And I hope that when I will manage another packages, this workaround will not be broken.
So I would like to have some conditional property like MSBuildGitHashValidate that can disable the package.

Unfortunatelly it is not compatible with Manage NuGet packages VS UI. It doesn't see the package. And I hope that when I will manage another packages, this workaround will not be broken.

Also with this workaround when installing new package VS tries to remove MSBuildGitHash if current config is Debug.
Any chances for fix?

I'm probably not going to make any further changes to this package as there is a better way to do this now . The .NET project system and MSBuild have changed significantly since I created this package, and trying to keep up with those changes is difficult. Fortunately, some of those changes have made it easier to do this without needing a nuget package. See the update that I provided to this SO answer:
https://stackoverflow.com/questions/15141338/embed-git-commit-hash-in-a-net-dll/45248069#45248069
This new technique is what I've been using for my projects, and I'm happier with it than I was with needing this custom package.

AddSourceRevisionToInformationalVersion/SourceRevisionId awesome undocumented something. It still looks like MS Build magic :)
While using NuGet package is straightforward (and documented) way to add this functionality without MS Build knowledge.
And also good way to reuse this functionality (compared to copy-paste from .csproj to .csproj) until it will be added to CSPROJ editor in VS.


Release Google.Cloud.ResourceManager.V3 version 1.0.0

Changes in this release:
No API changes - just promotion to GA.

Created release for Google.Cloud.ResourceManager.V3-1.0.0


Bump version to 0.49.1 - Round 1

Which issue does this PR close?

Part of https://github.com/apache/opendal/issues/5011
Rationale for this change

What changes are included in this PR?

Are there any user-facing changes?

I think we should avoid congestion, and some services can consider reducing the frequency of tests.
Error response from daemon: Head "https://registry-1.docker.io/v2/alluxio/alluxio/manifests/2.9.3": received unexpected HTTP status: 502 Bad Gateway

I think we should avoid congestion, and some services can consider reducing the frequency of tests.

Feel free to improve if you have a plan.

Feel free to improve if you have a plan.

Ok, I will put it in my work queue.


Add more translation on section01

i did not know there is quite lot of line.
i am sorry to what i done.
this is quite hard to prepare recruit and do something with.
but i will try.

Nicely done!


ARROW-8204: [Rust] [DataFusion] Add support for aliased expressions in SQL

Note that this follows on from https://github.com/apache/arrow/pull/6703 so I'll rebase once that is merged.
Also note that this depends on sqlparser 0.2.5 which I just published.

@paddyhoran This is now rebased and ready for review

Not sure why CI passed as sql-parser was not updated, I opened a JIRA


[RELEASE] Release 3.6

Work Plan
Create release x.y :
Prior to the release work

[x] slack post advising of upcoming release & linking to issue
[x] advance warning in developer/community call
[x] final agreement to start branch in team call & identification of outstanding issues
[x] Agree required updates/versions for additional repos including egeria-ui, egeria-reactui, connectors etc

Branching & Correcting versions

[x] Create branch
[x] Reassign any issues not being worked on to the next release
[x] Update version for master (ie x.y-SNAPSHOT > x.y+1-SNAPSHOT)
[x] Update version for branch (ie x.y-SNAPSHOT -> x.y)

Final updates to the release

[x] Ensure any remaining fixes are merged into branch (and vice-versa to master)

Generate a release image for testing

[x] Start release pipeline manually to generate container image

Updating the React UI (as this is part of the notebook test). Note egeria-ui is out of scope other than inclusion of current release

[n/a] Create branch
[n/a] Update version in master
[n/a] Update version in new branch
[n/a] Ensure new container image is available for testing (there is no distinct release pipeline)

Updating the Helm Charts (egeria-charts repo)

[x] checker correct container images are on docker.io & quay.io (these are built by the 'merge' build of a release)
[x] update image versions for helm charts (egeria-charts repo) (using -prerelease for chart version)

Final tests

[x] Check swagger doc renders (no regressions)
[x] Verify odpi-egeria-lab chart (pods active/ready)
[x] Verify egeria-base chart (pods active/ready)
[x] Check notebooks (config, start, data catalog at a minimum)
[x] Check polymer UI (only possible to check it runs - no demo scenario for more)
[x] Check React UI (rex, tex, glossary author)
[ ] CTS - graph
[ ] CTS - inmemory

Final Docs

[ ] Update release notes in egeria-docs

Final build and publish

[ ] Run 'release' pipeline on branch to push candidates to oss.sonatype.org
[ ] 'close' staging repo & Validate artifacts ok (number, structure, validations) on oss.sonatype.org
[ ] Create final github releases for egeria (add link to egeria docs)
[ ] Close repo on oss.sonatype.org (once updated) for egeria, release
[ ] Check 'release' repo on oss.sonatype.org has artifacts
[ ] Update final versions of egeria-charts to release ie x.y
[ ] Publish that release is now shipped via slack #egeria-announce
[ ] Additional posts to social media
[ ] Communicate to other repo owners ie for connectors so that they can be rebuilt/shipped as needed

Additional components

ReactUI

[n/a] Create final github release

PostGres Connector

[n/a] Create branch
[n/a] Update version in master
[n/a] Update version in new branch of connector, and of prereq egeria artifacts
[n/a] Run release action, check sonatype & release
[n/a] Create github release

I propose to discuss in the next call on 2022-02-22 & that we branch later this week - ideally Thu or Fri

Agreed in developer call 2022-02-24 that we will branch today

Same version of react UI as previous release (3.5.0) - as no changes
same version of business UI as previous release (3.2.0) - no changes due to refactoring of UI

@cmgrote mentioned on dev call there were some issues seen with CTS for xtdb when run from the helm chart, whilst all worked ok when run via notebook. I will therefore first run the CTS across mem/graph via notebook as usual, but also try cts across all 3 repos (including xtdb) via the chart.

Notebooks/charts all ok, other than some changes to failures noted in #5021. This is on incomplete work/notebook with a known issue so should not be a concern. WIll verify.

CTS test results (graph):
        "testCaseCount": 5703,
        "testFailedCount": 1,
        "testPassCount": 5702,

The failing list assertion is:
                            "repository-relationship-property-search-10: findRelationshipsByProperty found 2/1 expected results using parameters: {asOfTime=null, fromRelatio
nshipElement=0, limitResultsByStatus=null, matchCriteria=All, matchProperties=InstanceProperties{propertyNames=java.util.HashMap$KeyIterator@6cd6798c, propertyCount=1, insta
nceProperties={deployer=PrimitivePropertyValue{primitiveValue=\\Qdeployer.1\\E, primitiveDefCategory=PrimitiveDefCategory{code=11, name='string', javaClassName='java.lang.St
ring', guid='b34a64b9-554a-42b1-8f8a-7d5c2339f9c4'}, instancePropertyCategory=InstancePropertyCategory{typeCode=1, typeName='Primitive', typeDescription='A primitive type.'}
, typeGUID='null', typeName='null'}}}, pageSize=10, relationshipTypeGUID=2480aa71-44c5-414d-8b32-9c4340786d77, sequencingOrder=null, sequencingProperty=null}"

Will also run inmem and investigate
cc:

The above issue didn't re-occur. It's possible the test started slightly too early before kafka was fully up (there may be a startup issue .. but if so it's probably a long-running issue, or strimzi specific, rather than new)
However the inmemory cts also failed with the same error as above
                        "unsuccessfulAssertions": [
                            "repository-relationship-property-search-10: findRelationshipsByProperty found 2/1 expected results using parameters: {asOfTime=null, fromR
elationshipElement=0, limitResultsByStatus=null, matchCriteria=All, matchProperties=InstanceProperties{propertyNames=java.util.HashMap$KeyIterator@5715f6c6, propertyCo
unt=1, instanceProperties={deployer=PrimitivePropertyValue{primitiveValue=\\Qdeployer.1\\E, primitiveDefCategory=PrimitiveDefCategory{code=11, name='string', javaClass
Name='java.lang.String', guid='b34a64b9-554a-42b1-8f8a-7d5c2339f9c4'}, instancePropertyCategory=InstancePropertyCategory{typeCode=1, typeName='Primitive', typeDescript
ion='A primitive type.'}, typeGUID='null', typeName='null'}}}, pageSize=10, relationshipTypeGUID=2480aa71-44c5-414d-8b32-9c4340786d77, sequencingOrder=null, sequencing
Property=null}"

cc: @mandy-chessell

The xtdb test completed with failures -- however quite different, and most likely an xtdb related issue. These aren't normally tested for a release so will not block this release on that basis. The issue can be found at https://github.com/odpi/egeria-connector-xtdb/issues/319

I think most of the failures you ran into with the XT connector are from the last release -- there was a bug that's been fixed but is only currently in the SNAPSHOT builds. I'm seeing the same repository-relationship-property-search-10 failure, against the same relationship type.
I've noted that this relationship type (SupportedSoftwareCapability) is new in the 3.6 release, and more interestingly that in the same OpenMetadataTypesArchive there is:

a deprecated relationship (SoftwareServerSupportedCapability)
the TypeDefPatch that does the deprecation sets the supertype of the deprecated relationship to SupportedSoftwareCapability

I think this is the very first time that we're using super types anywhere for relationships? (I know we had mentioned the idea in a previous issue and started a feature branch, but that was never finalized.) I suspect it's this super-typing of a relationship that's throwing off the way the CTS has currently been written -- I don't think the CTS has anticipated that super types would be used for relationships... (It's also quite plausible that none of the repositories are currently handling super typed relationships, either, as I don't think they've ever been tested for this scenario.)
Is there any particular reason why we're trying to introduce relationship super types for the very first time on a deprecated relationship typedef (this seems strange)?
    private TypeDefPatch deprecateSoftwareServerSupportedCapabilityRelationship()
    {
        /*
         * Create the Patch
         */
        final String typeName = "SoftwareServerSupportedCapability";
        final String superTypeName = "SupportedSoftwareCapability";

        TypeDefPatch  typeDefPatch = archiveBuilder.getPatchForType(typeName);

        typeDefPatch.setUpdatedBy(originatorName);
        typeDefPatch.setUpdateTime(creationDate);
        typeDefPatch.setSuperType(this.archiveBuilder.getRelationshipDef(superTypeName));
        typeDefPatch.setTypeDefStatus(TypeDefStatus.DEPRECATED_TYPEDEF);

        return typeDefPatch;
    }

It's also not clear to me why that's suddenly coming up for all of these repositories now, as it looks like the OpenMetadataTypeArchive file has not been updated in the last 2 months, which would imply this super type change was actually there in the 3.5 release as well (?)
(Also I note that we have not marked the OpenMetadataTypesArchive3_5 file for the 3.6 release, which presumably we need to do even if there were no changes to the OpenMetadataTypesArchive file itself for the 3.6 release, so that we don't lose track of which type changes were included in which release?)

On the archive, we have not in the past created empty archive files for releases where there have been no type changes.  There have not been many instances of this :)
Looking at the type definition, the impact of removing the inheritance is that IT Infrastructure OMAS will need to ensure it issues retrieve requests for both relationships when retrieving the capabilities of a server.   However, if we are not ready for inheritied relationshhips yet in the CTS/repositories then we should remove it and I will make changes to IT Infrastructure OMAS in 3.7.  I do not think we need to do this in the 3.6 branch because IT Infrastructure OMAS is still in development.

On above point -- mandy, thanks for pointing out that change went in to 3.5 also. I checked the results from 3.5, and we did not have a test failure so either

the failure is intermittent
the failure is caused by another change
something else has changed in the infrastructure/dependencies to cause a failure

The failing test case is listed as findRelationshipsByProperty with regex to match set 0 NONE returned no unexpected relationships. . The property search is on string. How do we match this to a specific type being tested?

It does seem that this failure is intermittent -- I've been able to run the CTS successfully and unsuccessfully for exactly the same code and parameters. I believe this is due to the CTS picking properties to test for search in a non-deterministic way, e.g. the first it finds in a hashmap, which isn't ordered so will vary from one run to another.
I think the trick is whether the property it picks to test happens to exist at multiple levels of the inheritance hierarchy or not -- if it does, I believe it'll result in this kind of issue; while if it does not, then this issue may be missed due to simple luck. (It just happens that the particular relationship I flagged only has one property (out of 3) that does not have this kind of overlap between super and subtype -- so odds are more in favor of hitting the error than not.)
See #6290 for some initial changes in this direction, as discussed previously...
I'm going to re-test locally with removing the attributes from the now-child relationship the same way as I've done for the others in #6290 and see if that resolves this problem as well (for now) in the CTS.

Graph CTS now passes

   "testCaseCount": 5703,
        "testFailedCount": 0,
        "testPassCount": 5703,

in-memory CTS passed
        "testCaseCount": 5703,
        "testFailedCount": 0,
        "testPassCount": 5703,

Release 3.6 done, though curated release notes still to do.

cc: @cmgrote

This is now complete - no further specific work planned on 3.6


envoy: support tls session ticket keys

Currently, K8s -> Envoy secret sync only supports the following cases.

K8s Secret of type TLS -> Envoy Secret of type TLSCertificate
K8s Secret of type Opaque with key ca.crt -> Envoy Secret of type CertificateValidationContext

This commit adds support for the case where TLSSessionTicketKeys.
It requires a K8s Secret of type Opaque where the encryption key is stored in the data field with key tls.sessionticket.key.
In addition, there's support for 9 additional keys that are (in addition to the encryption key) to decrypt sessions (support for key rotation). These should be stored in the data field with keys `tls.sessionticket.key.[1-9]).
As per Envoys documentation, each key needs to align with the following spec.
Each key must contain exactly 80 bytes of cryptographically-secure random data. For example, the output of openssl rand 80.

Note: In addition, this PR adds support for Envoy resource name-qualification and cilium xds config injection for TLS Session Ticket Keys implementation via SDS (TLS Downstreamcontext)

/test


Error 502 on API Query

I've got a piece of software that uses got to query the graphQL api, that worked until recently when it started to receive 502 error codes
Here are the logged options of the request :
{
  "agent": {},
  "decompress": true,
  "timeout": {},
  "prefixUrl": "",
  "body": "blah-blah long body because it's graphql"
  "ignoreInvalidCookies": false,
  "context": {},
  "followRedirect": true,
  "maxRedirects": 10,
  "throwHttpErrors": true,
  "username": "",
  "password": "",
  "http2": false,
  "allowGetBody": false,
  "headers": {
    "user-agent": "got (https://github.com/sindresorhus/got)",
    "content-type": "application/json",
    "content-length": "1655",
    "accept": "application/json",
    "accept-encoding": "gzip, deflate, br"
  },
  "methodRewriting": false,
  "method": "POST",
  "cacheOptions": {},
  "https": {},
  "resolveBodyOnly": false,
  "isStream": false,
  "responseType": "json",
  "url": "https://live.worldcubeassociation.org/api",
  "pagination": {
    "countLimit": null,
    "backoff": 0,
    "requestLimit": 10000,
    "stackAllItems": false
  },
  "setHost": true,
  "enableUnixSockets": true
}

Thank you for your help

@ClementValot I see, I think the issue is that the query is too complex and makes the server run out of memory. If you remove the nested results part it seems to work fine:
const competitionQuery = `
    query Competition($id:ID!) {
        competition(id:$id) {
        name
            competitionEvents {
                id
                event {
                  id
                  name
                }
                rounds {
                    active
                    id
                    name
                    number
                    open
                    results {
                        ranking
                        person {
                            id
                            name
                            wcaId
                        }
                    }
                }
            }
        }
    }
`;

That's an issue with GraphQL APIs, ideally we should add complexity analysis to prevent such queries to go through. For now please avoid so much levels of nested relations.

I added some basic rules in 535191fd2e8919629be3c3ac7f76520d8031a7c5 to prevent from too complex queries and now the query you posted returns a proper error.

It used to work properly before the infra changes :'(
Having to make several requests kinda defeats the purpose of GraphQL, doesn't it? 🤔
I'll rewrite, thanks for the help!

It used to work properly before the infra changes :'(

Interesting, the base instance has less memory now and the app scales horizontally. Though looking into logs it seems like the OOM is significant, so it may be related to runtime change (both OS and the language runtime), which would be surprising too. But either way, I think we should've been doing complexity analysis in the first place anyway, so thanks for opening the issue.

Having to make several requests kinda defeats the purpose of GraphQL, doesn't it? 🤔

Not necessarily, handling a request is one thing, but underneath it requires several database queries and memory allocation, so that needs to be capped too. Imagine a typical GraphQL API that returns a long list of entries, it would usually be paginated, so to get many entries you need to query multiple pages one by one. Similarly, allowing arbitrarily nested graphql queries may just be too resource-heavy, and that also allows a bad actor to easily crash the app.
Also note that technically speaking the main purpose of the API is for the WCA Live client itself, so as long as it can successfully make its queries it works as expected. While it is allowed for other clients to call the API, it's not optimised for such purpose and it's not expected to be relied on heavily. For most cases we people should use WCIF instead, and query the WCA Live API only if they actually need access to results as soon as entered (rather than synchronized).

It is for live commentary purposes, I print cheat sheets about every finalist once per competition as soon as the finals round is open, and tried to optimize by minimizing the number of queries, but I'll clean that up.
Thank you!

@ClementValot actually I think you can still do it with a single query. Instead of querying for competitor data on every results (which leads to a bunch of duplicate objects), you could query for just competitor ids and extend the query with competitor data:
query Competition($id:ID!) {
  competition(id:$id) {
    name
    competitionEvents {
      id
      event {
        id
        name
      }
      rounds {
        active
        id
        name
        number
        open
        results {
          ranking
          person {
            id
          }
        }
      }
    }
    competitors {
      id
      name
      wcaId
      results {
        advancing
        attempts {
          result
        }
        average
        averageRecordTag
        best
        ranking
        round {
          name
          number
          competitionEvent {
            event {
              id
              name
            }
          }
        }
        singleRecordTag
      }
    }
  }
}

Then you lookup competitor info in that list :)


LimitlessLED - temperature slider inverted for pre-v6 brdiges

https://github.com/home-assistant/home-assistant/commit/dbd6f7e4ed768b733c14f5dfa1704379807c0b30 reversed warm/cold, as described in https://github.com/home-assistant/home-assistant/issues/7333. However, the change introduced exactly the same issue for pre-v6 bridges since there is no bridge version check.

I'm seeing this fault on 0.57.2 with a v3 bridge.
My dual white bulbs are inverted, warm white is cool, and vice versa.


Replace loglevel binary with small shell script

Issue: SURE-8512
Problem
The loglevel binary is built from a separate project that is essentially unmaintained: https://github.com/rancher/loglevel/blob/master/main.go
It serves very little purpose and is just a thin wrapper around a HTTP API presented via unix socket within the rancher container.
Solution
Replace project and binary with shell script. Shell script should support the same CLI flags and env vars as the binary.
Testing
Covered by tests
Engineering Testing
Manual Testing
Ran the script myself, seems to work
Automated Testing

Test types added/modified:

Integration (Go Framework)

QA Testing Considerations
Regressions Considerations
Existing / newly added automated tests that provide evidence there are no regressions:

Should I merge this myself now that it's approved, or should someone on the Rancher side do it? Same question re: backports.

@brandond Totally up to you. Typically I like to let the PR author merge (in case they find something that they would like to change last minute), but if you don't have the permissions I can do it.
Similar answer for the backports, typically the PR author would do it but I can if you would like.

What branch should I target with the backport? release/v2.9?


Get all user comment

I am trying to build web application for visualizing users activity in comments by time but .getUser(user).getComments() return only 25 comments.
How could I get all user comments?

It's paginated, you can pass parameters like so: getComments({ limit: 50 })
And for all the things you can pass in just see listings at the very top of https://www.reddit.com/dev/api


calicoctl rule 'to' clause doesn't work following a 'from tag'.

For example:
calicoctl profile PROFILE1 rule add inbound allow udp from <IP_ADDRESS> to <IP_ADDRESS> works, but
calicoctl profile PROFILE1 rule add inbound allow udp from tag PROFILE1 to <IP_ADDRESS> doesn't.
There isn't really any workaround for this, because the 'from' has to precede the 'to' (and someone might want to pass two tags anyway.

(By works, I mean the command is accepted (no output), and by doesn't I mean rejected by printing the usage statement.)

I've tried this using the rule update < json command with the above "doesn't work" rule, and that works fine.  The rule show command also works.

Here's the command that the below input should be matching:
calicoctl profile PROFILE1 rule add inbound allow udp from tag PROFILE1 to <IP_ADDRESS>
calicoctl profile <PROFILE> rule add (inbound|outbound) [--at=<POSITION>]
    (allow|deny) [(
      (tcp|udp) [(from [(ports <SRCPORTS>)] [(tag <SRCTAG>)] [<SRCCIDR>])]
                [(to   [(ports <DSTPORTS>)] [(tag <DSTTAG>)] [<DSTCIDR>])] |
      icmp [(type <ICMPTYPE> [(code <ICMPCODE>)])]
           [(from [(tag <SRCTAG>)] [<SRCCIDR>])]
           [(to   [(tag <DSTTAG>)] [<DSTCIDR>])] |
      [(from [(tag <SRCTAG>)] [<SRCCIDR>])]
      [(to   [(tag <DSTTAG>)] [<DSTCIDR>])]
    )]

I think docopt is interpretting the "to" in the 2nd command as the , then sees the <IP_ADDRESS> and cannot match it to any of its possible input criteria.


Selectively apply ItemStackCapabilities

Previous implementation applies the capability to every item stack, causing issues with AE2 and some other things apparently

Yeah, lots of stuff was sorta left there as-is. We're currently wrapping things up for this patch before getting to work on the major 2.x rewrite. I'll review this as soon as I can with Aqu before deciding to merge. Thanks for the PR.


Freeze image sha for dind-sidecar example test.

The example test examples/v1/taskruns/dind-sidecar.yaml has been failing in multiple PRs:

https://github.com/tektoncd/pipeline/pull/7492#issuecomment-1858094356
https://github.com/tektoncd/pipeline/pull/7494#issuecomment-1858208742
https://github.com/tektoncd/pipeline/pull/7458#issuecomment-1858132922

That example has not been updated in a year. My guess is that the new image which was released 16 hours ago (at this point) is causing this.
When the image is tagged to the previous version (docker:24.0.6-dind) in the taskrun yaml, it executes fine. This PR updates the example test to use the sha256 of the previously working image.This PR fixes https://github.com/tektoncd/pipeline/issues/7496.

Changes

Submitter Checklist
As the author of this PR, please check off the items in this checklist:

[ ] Has Docs if any changes are user facing, including updates to minimum requirements e.g. Kubernetes version bumps
[ ] Has Tests included if any functionality added or changed
[x] Follows the commit message standard
[x] Meets the Tekton contributor standards (including functionality, content, code)
[x] Has a kind label. You can add one by adding a comment on this PR that contains /kind <type>. Valid types are bug, cleanup, design, documentation, feature, flake, misc, question, tep
[ ] Release notes block below has been updated with any user facing changes (API changes, bug fixes, changes requiring upgrade notices or deprecation warnings). See some examples of good release notes.
[ ] Release notes contains the string "action required" if the change requires additional action from users switching to the new release

Release Notes
NONE

/kind bug

/assign @vdemeester

/approve
/lgtm

/lgtm


Handle Firebase.database.ServerValue.TIMESTAMP as a valid value for date

As said in the title, if you want to set a Date to the current server date, you can use 'Firebase.database.ServerValue.TIMESTAMP' in place of a date, and the server will replace it with it current time on update / insert.
Since this value is not in date format, it get replaced by null by the JSONSerializer.

Is this suppose to work when reading back the saved timestamp?
Because, after saving a model that has a field with the value "firebase.database.ServerValue.TIMESTAMP", that object is committed as expected on Firebase  (e.g. 14......), but locally it remains as {".sv": "timestamp" } for the duration of the app. Refreshing the page will load the correct value.

That is weird, after a write to the server, the server should update the
client with the new value. At least it seems to work on my test.
On Wed, Nov 30, 2016 at 6:33 PM, Adrian Crețu<EMAIL_ADDRESS>wrote:

Is this suppose to work when reading back the saved timestamp?
Because, after saving a model that has a field with the value
"firebase.database.ServerValue.TIMESTAMP", that object is committed as
expected on Firebase (e.g. 14......), but locally it remains as {".sv":
"timestamp" } for the duration of the app. Refreshing the page will load
the correct value.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/firebase/emberfire/issues/447#issuecomment-263939193,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABNXG_oBgT9WEWC6CwLkkcH-gkmQcDbdks5rDbNbgaJpZM4KWxcu
.

I don't see this happening, at least not after the initial save. I have observed it does update after some other entities are being written, but the minimum code below exhibits the problem anyway.
Model:
export default DS.Model.extend({   created: DS.attr('date'),   user: DS.belongsTo('user'),   board: DS.belongsTo('board'),   score: DS.attr('number') });
Code:
const gameRecord = this.get('store').createRecord('game', {   created: window.firebase.database.ServerValue.TIMESTAMP, }); gameRecord.save().then(() => {   this.store.findRecord('game', gameRecord.id).then((game) => {     console.log(game.get('created'));   // prints: Object { .sv: "timestamp" }   }); });
Ember inspector also shows the same thing for the saved entity.

Yeah I think it is because it has not yet being updated. When you save,
data are sent to the server. After sometimes ( normally quick ) the server
send back, via a web socket, a message with the new value. So until it has
been synced you will end up with this the string value. The only other
option would be to set it up to null after, since the value has to be
written by the server and the get back to the client.
On 30 Nov 2016 7:09 pm, "Adrian Crețu"<EMAIL_ADDRESS>wrote:

I don't see this happening, at least not after the initial save. I have
observed it does update after some other entities are being written, but
the minimum code below exhibits the problem anyway.
Model:
export default DS.Model.extend({ created: DS.attr('date'), user:
DS.belongsTo('user'), board: DS.belongsTo('board'), score:
DS.attr('number') });
Code:
const gameRecord = this.get('store').createRecord('game', { created:
window.firebase.database.ServerValue.TIMESTAMP, });
gameRecord.save().then(() => { this.store.findRecord('game',
gameRecord.id).then((game) => { console.log(game.get('created')); //
prints: Object { .sv: "timestamp" } }); });
Ember inspector also shows the same thing for the saved entity.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/firebase/emberfire/issues/447#issuecomment-263948793,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABNXG2W19kN5xLDwGF3Z6pP_hBHBwk76ks5rDbvqgaJpZM4KWxcu
.

I am not sure I follow you, but what I am experiencing is that the timestamp never updates locally to a resolved number, unless I reload the page. I was mistaken earlier when saying I observed it updating, they were older entities after a page reload.
Syncing and saving to firebase is instantaneous, the timestamp is saved fine in the database, there's no lag and a websocket is being used for the communication, just as you mentioned.
Ember      : 2.10.0
Ember Data : 2.10.0
Firebase   : 3.6.2
Emberfire: 2.0.5

I never tried it with 2.10, so that might come from that ( running on 2.9 ).
On Wed, Nov 30, 2016 at 8:15 PM, Adrian Crețu<EMAIL_ADDRESS>wrote:

I am not sure I follow you, but what I am experiencing is that the
timestamp never updates locally to a resolved number, unless I reload the
page. I was mistaken earlier when saying I observed it updating, they were
older entities after a page reload.
Syncing and saving to firebase is instantaneous, the timestamp is saved
fine in the database, there's no lag and a websocket is being used for the
communication, just as you mentioned.
Ember : 2.10.0 Ember Data : 2.10.0 Firebase : 3.6.2 Emberfire: 2.0.5
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/firebase/emberfire/issues/447#issuecomment-263966429,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABNXG1tRQQyp8ZQnB6BeVwuYGQSxlO0rks5rDctEgaJpZM4KWxcu
.

Actually, I just upgraded to 2.10 from 2.9.1 and reinstalled all NPM and Bower modules from scratch, just to make sure I'm not doing smething wrong. So the issue is present in 2.9 as well.

In your code, in the mode game, can you add an observer on created and
console.debug it value when it change ? like:
createdObserver : Ember.observer("created", function() {
  console.debug(`==> ${this.get("created")}`)
})

and see if it ever change ?
On Wed, Nov 30, 2016 at 8:20 PM, Adrian Crețu<EMAIL_ADDRESS>wrote:

Actually, I just upgraded to 2.10 from 2.9.1 and reinstalled all NPM and
Bower modules from scratch, just to make sure I'm not doing smething wrong.
So the issue is present in 2.9 as well.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/firebase/emberfire/issues/447#issuecomment-263968004,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABNXGyXJqiEPMs1S4fZMmv57HElBWvDoks5rDcyXgaJpZM4KWxcu
.

I have added the code and it triggers exactly once, that is, before entity.save()
It does not trigger at any point after that, no matter if I update or create any other entity.
I have stripped the entire model down to only the `created`` field, and the issue persists.

This is the output I have :
==> [object Object]
==> Wed Nov 30 2016 20:55:25 GMT+0100 (W. Europe Standard Time)
This is my code :
save() {
const notValid = this.get("isDeleted")||this.get("isError")
if (!notValid) {
this.set("updatedAt", firebase.database.ServerValue.TIMESTAMP)
}
return this._super()
},
updateAtObserver:Ember.observer("updatedAt", function() {
console.debug(==> ${this.get("updatedAt")})
})
Note that the first [object Object] is normal as
firebase.database.ServerValue.TIMESTAMP is an object.
On Wed, Nov 30, 2016 at 8:40 PM, Adrian Crețu<EMAIL_ADDRESS>wrote:

I have added the code and it triggers exactly once, that is, before
entity.save()
It does not trigger at any point after that, no matter if I update or
create any other entity.
I have stripped the entire model down to only the `created`` field, and
the issue persists.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/firebase/emberfire/issues/447#issuecomment-263973218,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABNXG9Zx1XI2031EZvoz9MoW9KLHTLtmks5rDdErgaJpZM4KWxcu
.

If I update the timestamp of a newly created item in firebase, it will also update to a Date() in Ember. **But I don't see a newly created entity updating itself after it is saved,,like you are describing, either using createRecord() or set(). ** What version of Ember are you using? Frankly, I don't really understand why would a property value change of a new item would trigger after a save(), unless there's some internal syncing going on after a firebase ref set() which detects that the local property value is not the same as the server one. Is this what should happen and something changed between Ember 2.9 and 2.9.1?

I'm not sure I understand what you are trying to say here. I'm using ember 2.10 now ( was testing to be sure ).
For the trigger, it is not because of ember, but because of the way firebase work. When you work with firebase, you can register an even to be notified whenever a value is changed / added / deleted. That is what emberfire do. So when you 'save', emberfire set ( or update ) a value in firebase. In return, firebase notify all the the different code that is watching, also emberfire. I actually made an optimization in emberfire not that long ago, because firebase was queueing a lot of notification, and emberfire would trigger a lot of 'property' update because of that. ( https://github.com/firebase/emberfire/pull/421 )

Ho wait you mean just right after it get created ? I'm actually not sure if it get updated.

You are correct, it is not updated after creation, and as such findRecord() will also use a cached non-updated record.
I have added a console.log inside the firebase callback registered by listenForChanges and it only fires if I manually update the entity in firebase console.

Well then the change might be more involve in this case. But the workaround is also pretty simple I guess. For clarity :
model = this.store.createRecord("the-model")
model.save().then (
  () => model.set("created", firebase.database.ServerValue.TIMESTAMP)
).then(
  () => model.save()
)

The workaround does work, but it's unusable with my enforced firebase rules (new entity must have valid timestamp). To avoid two round-trips, I think the best solution is for the placeholder to be removed locally after it is sent to firebase, accounting for the clock skew.
https://firebase.google.com/docs/database/web/offline-capabilities#server-timestamps

I'm not sure how you would get the clockskew, since you can read it only when you receive an update :/ maybe place a new Date() when you create your game and then update with the SERVERTIME value ? That would looks like :
model = this.store.createRecord("game", {
  created:new Date()
})
model.save().then (
  () => model.set("created", firebase.database.ServerValue.TIMESTAMP)
).then(
  () => model.save()
)

The clock skew is updated via subscribing to a predefined local endpoint, (similar to the ondisconnect event), has nothing to do with other data. The entire point of the timestamp placeholder, IMHO, is to secure your firebase against attacks like clients trying to write random dates into it, such as "new Date()" and also to be able to write it just once :)
So, locally, the placeholder can be estimated via "new Date() + clock_skew" - it is the client's problem if his clock is set to 1995, because on firebase it has the correct value and it will be read back on first occasion.

But you still need to have an update call from firebase. So I'm not sure
where it is going. And there is no way to protect anything client side. The
only "good way" would be for your backend to write this value, and client
to have only read only access.
On Wed, Nov 30, 2016 at 11:14 PM, Adrian Crețu<EMAIL_ADDRESS>wrote:

The clock skew is updated via subscribing to a predefined local endpoint,
(similar to the ondisconnect event), has nothing to do with other data. The
entire point of the timestamp placeholder, IMHO, is to secure your firebase
against attacks like clients trying to write random dates into it, such as
"new Date()" and also to be able to write it just once :)
So, locally, the placeholder can be estimated via "new Date() +
clock_skew" - it is the client's problem if his clock is set to 1995,
because on firebase it has the correct value and it will be read back on
first occasion.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/firebase/emberfire/issues/447#issuecomment-264013437,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABNXG-wLzk0jq8LgxkMHB6WKwlqRT6aiks5rDfVKgaJpZM4KWxcu
.

I haven't played with the clock skew callbacks, but I suspect it should fire at least once. Until it doesn't, we can assume it to be 0. It's just for estimating temporarily a timestamp, after all, instead of getting back an Object. And yes, there's firebase rules to only allow "write-once" for a value, and that value to be the timestamp of now.

Yes but it is still on the client side, so you can modify the code that
write the value anyway you want :). Anyway, I think you are right and it is
probably better to set it to zero. It is a bit late where I am now, so if
you want to do it do not hesitate.
On 30 Nov 2016 11:22 pm, "Adrian Crețu"<EMAIL_ADDRESS>wrote:

I haven't played with the clock skew callbacks, but I suspect it should
fire at least once. Until it doesn't, we can assume it to be 0. It's just
for estimating temporarily a timestamp, after all, instead of getting back
an Object. And yes, there's firebase rules to only allow "write-once" for a
value, and that value to be the timestamp of now.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/firebase/emberfire/issues/447#issuecomment-264015465,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABNXG2_YcJdfKljDxo7lR1824p4ie6Ioks5rDfc_gaJpZM4KWxcu
.

@adriancretu what did you end up doing? I'm also trying to avoid {".sv": "timestamp" } in the store until it is synced with the server.


iOS: firebase_messaging "onMessage" is not called if UNUserNotificationCenter.current().delegate was set

On iOS: If another plugin, e.g. flutter_local_notifications, sets UNUserNotificationCenter.current().delegate to a value (i.e. not to nil), then "onMessage" is not called when a Firebase message is received while the app is in foreground.
To test it you can just put firebase_messaging and flutter_local_notifications into your yaml file (and run flutter get), start your app and send a Firebase message to it. The app's "onMessage" method won't be called. Then remove flutter_local_notifications from the yaml file (and run flutter get) and try it again. Now "onMessage" is correctly called.
This seems to be a bug in firebase_messaging. It probably has to put itself into UNUserNotificationCenter.current().delegate and proxy requests to the previous delegate. The plugin flutter_local_notifications should probably do the same. And maybe this problem should be solved in general in the FlutterPluginRegistrar.

I saw now that this problem is even mentioned here https://pub.dartlang.org/packages/flutter_local_notifications . There it says

NOTE: this plugin registers itself as the delegate to handle incoming notifications and actions. This may cause problems if you're using other plugins for push notifications (e.g. firebase_messaging)

But the problem should nevertheless be fixed, either using a proxy for the delegate or by adding a way to add multiple delegates in FlutterPluginRegistrar.

@dg76 Please file the issue to https://github.com/FirebaseExtended/flutterfire/issues and close it here.

@BondarenkoStas But the best way to fix it would be to fix it in FlutterPluginRegistrar instead of using workarounds in every plugin. Isn't this the correct place to report bugs in FlutterPluginRegistrar?

@dg76
Is this still a valid issue using latest Flutter version ?
Also, firebase_messaging has gone through lot of updates recently, so you may want to try by using latest firebase_messaging plugin version and see if it has resolved your issue.

Hi! I think it is already fixed, there was a similar issue here: #22099
I also looked at the code of firebase_messaging and at least for iOS it does not seem to be necessary any more to keep a reference to the original delegate and "proxy-call" its functions. So I will close this issue now.


Server suddenly assigns new Steam/Player IDs

Describe the bug

After updating to todays patch, our server suddenly started to assign different Player/Steam ID´s to people which lead to them having to create new characters because the server thinks they are new players. I cannot see where the issue comes from so far. First I thought it might be connected to just 1 or 2 steam accounts, but it happens to all players on the server. When making a new character and exploring the server, everything that was built and all pals in the bases are still there.
I have now written in multiple places. Nobody was able to help and I´ve seen only a few people having the same issue. I am hoping someone who is deep into the topic might know what is causing it and if it has something to do with this repo at all.
To Reproduce
Restart the server, update to v<IP_ADDRESS> and join the server.
Expected behavior
Players should be able to log in and get their (old) ID assigned so they´re able to play their characters.
Actual behavior
Players get new IDs assigned and they have to create new characters.
OS information (IMPORTANT)

OS:  Ubuntu 22.04
Palworld Version:   <IP_ADDRESS>
Docker Image Version:  0.35.0

Hardware information (IMPORTANT)

CPU:  Intel Core i7-8700 6 Core
Memory:  64 DDR4

docker-compose.yml contents (IMPORTANT)

docker-compose.yml
---
services:
   palworld:
      image: thijsvanloef/palworld-server-docker:latest
      restart: unless-stopped
      container_name: palworld-server
      stop_grace_period: 30s
      ports:
        - 8211:8211/udp
        - 27015:27015/udp
      env_file:
         -  .env
      volumes:
         - ./palworld:/palworld/

Bug Report Checklist

[X] I searched for my issue on the Known issues page
[X] I searched for my issue in the Closed issues
[X] I have included all relevant information required above.

Are you sure players were assigned new steam ID's on the server instead of the saves got corrupted as mentioned in #457 ?

I think i have the same problem. After the update my player save data is not loading (new character screen). The world data seems ok. I tried to restore multiple back-ups, but that didn't work.

I do not have any code relating to any of the logic regarding player ID generation. I do believe this needs to be addressed by the Palworld devs. https://forms.pocketpair.jp/palworld


Pip install fails on MacOS with Python 3.12

Hi, when I try to do "pip install pysqlite3", I get the following error below. I tried installing sqlite3 via homebrew but the problem persists. What should I do to fix this?
`Collecting pysqlite3
Using cached pysqlite3-0.5.3.tar.gz (40 kB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Building wheels for collected packages: pysqlite3
Building wheel for pysqlite3 (pyproject.toml) ... error
error: subprocess-exited-with-error
× Building wheel for pysqlite3 (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [32 lines of output]
running bdist_wheel
running build
running build_py
creating build
creating build/lib.macosx-14.0-arm64-cpython-312
creating build/lib.macosx-14.0-arm64-cpython-312/pysqlite3
copying pysqlite3/init.py -> build/lib.macosx-14.0-arm64-cpython-312/pysqlite3
copying pysqlite3/dbapi2.py -> build/lib.macosx-14.0-arm64-cpython-312/pysqlite3
running build_ext
Builds a C extension linking against libsqlite3 library
building 'pysqlite3._sqlite3' extension
creating build/temp.macosx-14.0-arm64-cpython-312
creating build/temp.macosx-14.0-arm64-cpython-312/src
clang -fno-strict-overflow -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -O3 -Wall -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk -Qunused-arguments -DMODULE_NAME="pysqlite3.dbapi2" -I/usr/include -I/Users/jason1/base/include<EMAIL_ADDRESS>-c src/blob.c -o build/temp.macosx-14.0-arm64-cpython-312/src/blob.o
clang -fno-strict-overflow -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -O3 -Wall -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk -Qunused-arguments -DMODULE_NAME="pysqlite3.dbapi2" -I/usr/include -I/Users/jason1/base/include<EMAIL_ADDRESS>-c src/cache.c -o build/temp.macosx-14.0-arm64-cpython-312/src/cache.o
clang -fno-strict-overflow -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -O3 -Wall -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk -Qunused-arguments -DMODULE_NAME="pysqlite3.dbapi2" -I/usr/include -I/Users/jason1/base/include<EMAIL_ADDRESS>-c src/connection.c -o build/temp.macosx-14.0-arm64-cpython-312/src/connection.o
src/connection.c:1389:10: error: call to undeclared function 'sqlite3_enable_load_extension'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
rc = sqlite3_enable_load_extension(self->db, onoff);
^
src/connection.c:1389:10: note: did you mean 'pysqlite_enable_load_extension'?
src/connection.c:1376:18: note: 'pysqlite_enable_load_extension' declared here
static PyObject* pysqlite_enable_load_extension(pysqlite_Connection* self, PyObject* args)
^
src/connection.c:1413:10: error: call to undeclared function 'sqlite3_load_extension'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
rc = sqlite3_load_extension(self->db, extension_name, 0, &errmsg);
^
src/connection.c:1413:10: note: did you mean 'pysqlite_load_extension'?
src/connection.c:1399:18: note: 'pysqlite_load_extension' declared here
static PyObject* pysqlite_load_extension(pysqlite_Connection* self, PyObject* args)
^
2 errors generated.
error: command '/usr/bin/clang' failed with exit code 1
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for pysqlite3
Failed to build pysqlite3
ERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (pysqlite3)`

Looks like your header is missing the declaration for sqlite3_enable_load_extension


Add support for login in through ZooHome database

Closes #483

@alianos- when this is merged, just make sure to not have any "zooniverse_home" databases defined in your database.yml and things should continue to work normally.


Swiftype partial strings

Partial strings (of, for example, people's names) seem not to be bringing up search results. “caser” doesn't bring up “John Caserta”. This works on edu because the people have their own pages and the names are in the page titles. The titles are treated as data-type="string" values, whereas the body is treated as data-type="text". text fields are searched through using whole words. string fields are searched through as a continuous string.
Options suggested by Swiftype customer support are:
adding swiftype data tags to the names
Christopher Swift
Kerci Marcello Stroud

or adding meta tags to the head
<meta class="swiftype" name="staff" data-type="string" content="Christopher Swift" />
<meta class="swiftype" name="staff" data-type="string" content="Brian Clark" />

The meta tag reference can be found here.

Hey Jay,
I feel like you might have tried these methods and they didn't help - right?  Please just let me know if you'd like me to reach out to Swiftype again for more options.  I definitely feel like search is important to people, so I would tend to prioritize this - so please just let me know if I can help more.
Thanks,
Carrie

I just haven't had the time to try it :(
On Wed, Apr 12, 2017 at 3:16 PM, cmiller02<EMAIL_ADDRESS>wrote:

Hey Jay,
I feel like you might have tried these methods and they didn't help -
right? Please just let me know if you'd like me to reach out to Swiftype
again for more options. I definitely feel like search is important to
people, so I would tend to prioritize this - so please just let me know if
I can help more.
Thanks,
Carrie
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/risd/wh-info/issues/40#issuecomment-293679564, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AGrHDBJW_FgyUIw1YsPe5fJ8H3ZlC-vTks5rvSMFgaJpZM4MQMUi
.

Hey @cmiller02, I just pushed the latest templates. Can you force a recrawl? I am noticing that I can get partial results for something like jewelry or payable, but still having trouble getting partial results for some names like Gunnar or lucinda. I'm not sure what this is about, but perhaps the recrawl and new meta tags will help? It still feel strange to me that its working well with some strings and not others.

Thanks for your continued work on this, @rubillionaire. I just initiated a recrawl from Swiftype.

@cmiller02 can this be closed?


Keyboard issue

Hello Flutter community.
Suppose I have a simple web app that only contains a TextField.
I receive the below error when type a character, although it works.
Another exception was thrown: Assertion failed: file:///flutter_sdk_path/flutter/packages/flutter/lib/src/services/hardware_keyboard.dart:441:16

Why this exception occurs and how can I resolve it?

Flutter doctor -v
[✓] Flutter (Channel stable, 2.5.2, on Ubuntu 16.04.4 LTS 4.8.0-36-generic, locale en_US.UTF-8)
    • Flutter version 2.5.2 at /home/MyWorks/flutter_sdk/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 3595343e20 (7 weeks ago), 2021-09-30 12:58:18 -0700
    • Engine revision 6ac856380f
    • Dart version 2.14.3

[!] Android toolchain - develop for Android devices (Android SDK version 29.0.0)
    • Android SDK at /home/MyWorks/Applications/Android/Sdk
    ✗ cmdline-tools component is missing
      Run `path/to/sdkmanager --install "cmdline-tools;latest"`
      See https://developer.android.com/studio/command-line for more details.
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/linux#android-setup for more details.

[✓] Chrome - develop for the web
    • Chrome at google-chrome

[✓] Linux toolchain - develop for Linux desktop
    • clang version 3.8.0-2ubuntu4 (tags/RELEASE_380/final)
    • cmake version 3.18.1
    • ninja version 1.8.2
    • pkg-config version 0.29.1

[✓] Android Studio (version 4.1)
    • Android Studio at /home/MyWorks/Applications/AndroidStudio_3_4_2_0
    • Flutter plugin version 57.0.1
    • Dart plugin version 201.9335
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)

[✓] IntelliJ IDEA Ultimate Edition (version 2018.3)
    • IntelliJ at /home/MyDownloads/1_Programming_Tools/intellij_2018_3/JetBrains_2018_3/idea
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] Connected device (2 available)
    • Linux (desktop) • linux  • linux-x64      • Ubuntu 16.04.4 LTS 4.8.0-36-generic
    • Chrome (web)    • chrome • web-javascript • Google Chrome 65.0.3325.181

! Doctor found issues in 1 category.

Hi @BigGitWorld, Thanks for filing the issue. Please try upgrading to the latest stable 2.5.3 by running flutter upgrade and see if the assertion error still occurs, if it does then please share the complete error logs along with the steps to reproduce the issue. Additionally, it's always good to verify it on the master branch as it contains the latest commits and fixes.
you may switch to the latest master channel using
flutter channel master
flutter upgrade


undefined reference to `i2c_smbus_write_byte'

I tried to compile your code....but it ended with this error massage:
root@server:/home/am2315/src# make all
gcc -Wall -c am2315.c -o am2315.o -lm
am2315.c: In function ‘am2315_wakeup’:
am2315.c:86:2: warning: implicit declaration of function ‘i2c_smbus_write_byte’ [-Wimplicit-function-declaration]
am2315.c: In function ‘am2315_set_addr’:
am2315.c:173:2: warning: implicit declaration of function ‘ioctl’ [-Wimplicit-function-declaration]
gcc -Wall am2315.o test.c -o test.o -lm
am2315.o: In function am2315_wakeup': am2315.c:(.text+0x16): undefined reference to i2c_smbus_write_byte'
collect2: ld returned 1 exit status
make: *** [all] Error 1
Please give me a tip how to compile the C-Code.
Regards.

My fault.
Solution:
sudo apt-get install libi2c-dev


Add login requirement option for component library URL

Optional config to require login to use component library browser, on by default.

closed via #18


specific string to the identifiers output for aggregate

After running the example data, and looking at the aggregated ouput,
The specific string and associated reads, sometimes do not match with the data/ID's in child.fq ?  is this correct?
Matching case:
string in read_ids_aggregated.fasta:  TGCCAGGAA
ID: m54329U_190619_052546/165412986/ccs$
Here we find a match in child.fa
1 @m54329U_190619_052546/165412986/ccs
2 CCATCTCAAAAAATCAATCAATCAATAAATCAATACATA............
Non-matching case;
string in read_ids_aggregated.fasta: CATGGGAGC
ID's: m54329U_190629_180018/58722384/ccs$m54329U_190617_231905/26280060/ccs$
Here we do not find the expected matching read ID's child.fa for string, but different ID's do match:
1 @m54329U_190619_052546/165412986/ccs
2 CCATCTCAAAAAATCAATCAATCAATAAATCAATACAT...................
29 @m54329U_190615_010947/134415974/ccs
30 GTAGGGAACACAGTCGGGCTAGAAAGTCCATTGACCACTCAGGGCCAT.....................

Hi, in the aggregated results we report the canonical version of the strings we found (canonical version: lexicographical minimum between the string and its reverse-and-complement). For this reason you cannot find that string but actually you can find its reverse-and-complement (GCTCCCATG).
Thanks for pointing this out btw: we'll better specify it in the README.


updates from paper analyses for HIV, TB and malaria

Updates include:
palliative care HSI for HIV
palliative care HSI for TB
priority ranking spreadsheet updated to include new EndOfLifeCare HSIs
updated TB diagnostic referral pathway, moving all xpert testing to facility level 2 (as consumables for xpert not available at level 1a and 1b)
remove unused parameters
update data in ResourceFiles
remove shorter paediatric treatment for TB as not commonly used in practice
add consistent repeat healthcare seeking behaviour cap for HIV, TB and malaria HSIs
remove parameters and code relating to scenario setting (not required for master, only for analyses)
include data_parameter for TB to match updated data (ending 2022)
new TbDecideDeath feature schedules hospital stay prior to death and determines probability of death via. linear model
HSI_Tb_ScreeningAndRefer accepts argument facility_level
HSI_ClinicaDiagnosis is now separate (was previously just a diagnostic test) meaning we can track the HR requirements
additional properties in HIV: hv_on_cotrimoxazole, hv_date_treated
schedule hospital stay prior to AIDS death
These changes were all implemented for branches used for the analysis in the recent two papers and so outputs have been checked and are all consistent with expectations.

@tbhallett I have an error occurring in test_analysis: test_get_parameter_functions
Dataframe or series not of the expected size and shape:Tb:rate_testing_active_tb >> updated_value=   year  ...  coverage_ipt_paediatric_contacts
I can see it's down to the data contained in ResourceFile_Improved_Healthsystem_And_Healthcare_Seeking but I don't want to edit this without Bingling's input. Let me know what you'd prefer me to do.

@tbhallett Hi Tim, this error is now occurring but I'm not sure what the correct fix would be:
test_analysis.py:315: in test_get_parameter_functions
    assert name in sim.modules[module].parameters, f"Parameter not recognised: {module}:{name}."
E   AssertionError: Parameter not recognised: CareOfWomenDuringPregnancy:prob_intervention_delivered_ifa.
E   assert 'prob_intervention_delivered_ifa' in {'effect_of_ifa_for_resolving_anaemia': [0.7, 0.7], 'prob_adherent_ifa': [0.37, 0.34], 'prob_delivery_modes_ec': [[0, 0, 1], [0, 0, 1]], 'prob_delivery_modes_spe': [[0.05, 0.05, 0.9], [0.05, 0.05, 0.9]], ...}
E    +  where {'effect_of_ifa_for_resolving_anaemia': [0.7, 0.7], 'prob_adherent_ifa': [0.37, 0.34], 'prob_delivery_modes_ec': [[0, 0, 1], [0, 0, 1]], 'prob_delivery_modes_spe': [[0.05, 0.05, 0.9], [0.05, 0.05, 0.9]], ...} = <tlo.methods.care_of_women_during_pregnancy.CareOfWomenDuringPregnancy object at 0x7fcc589162c0>.parameters

I had updated the spreadsheet resources/ResourceFile_Improved_Healthsystem_And_Healthcare_Seeking.xlsx
as there is now updated data in ResourceFile_TB which was causing a conflict. No other data was changed.
Is it possible that the parameter CareOfWomenDuringPregnancy:prob_intervention_delivered_ifa was removed at some point but still exists in ResourceFile_Improved_Healthsystem_And_Healthcare_Seeking.xlsx? Should it still be there?

@tbhallett one test is failing in test_healthsystem:test_all_treatment_ids_defined_in_priority_policies
where treatment ID PostnatalCare_Comprehensive is not defined in the priority policies but is in clean_set_of_filtered_treatment_ids. It occurs in HSI_Labour_ReceivesComprehensiveEmergencyObstetricCare. Should this be included in the priority policies?

@tdm32 --- I can start the review, but please could you resolve the conflicts on this branch and merge in master?

With the changes, I think the HIV should be declared as an Optional dependency for the modules that now use HIV properties (e.g. bladder_cancer, CDM, drepression, malaria, oesophageal_cancer, other_adult_cancer, schistosomiasis). {I couldn't make this comment in the code during PR review as that part of the file hadn't been touched.}

I've added Hiv as optional init dependency for bladder cancer, CMD, depression and other adult cancers

Many .docx / *.xlsx files are being updated in this PR: are these all intentional? (As they are binary, I can't easily see what is being changed; and I know that sometimes changes get captured in git that we don't want.)

I think this should only include the docx/xlsx files that have been changed now. I've updated the write-ups to include HIV as a risk factor and the CMD files include HIV as a risk factor for all processes, which is set to 1 for all types of events except onset

@tbhallett This PR does contain the buggy commit which includes those changes around the malaria do_at_generic_first_appt function. When this is resolved, it may cause conflicts in this branch.

@tbhallett This PR does contain the buggy commit which includes those changes around the malaria do_at_generic_first_appt function. When this is resolved, it may cause conflicts in this branch.

That's ok, we can still go ahead and merge this branch as the fix being developed targets master

@tbhallett This is ready for review now


hope akshare will add data for commodity option expiry dates

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
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
hope akshare will add data for commodity option expiry dates

Is your feature request related to a problem? Please describe. A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
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 hope akshare will add data for commodity option expiry dates

有合适的数据源会增加


Fix food trash not spawning

About the PR

Fixes #20463
Why / Balance

After the recent food refactor which renamed the Trash variable to TrashPrototype, the TrashPrototype variable in FoodComponent.cs no longer pointed to the correct yml data field
Media

[X] I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase

Changelog

:cl:

fix: Trash spawns correctly after food is eaten.

dont change the yml change the field to Trash so datafield automatic name is correct

Oh so the change in FoodComponent.cs was accidental?

yes a sneaky field name that didnt match its datafield tag

Ight, I thought the datafield was supposed to be changed to be more intuitive/explicit or something, anyway changed the .cs to match the .yml's instead and now the clown can live happily ever after having banana peels again


Read and load Surveys, Jobs, and Tasks from proto

Towards #1730
Fixes #2500
Fixes #2501

Reads Surveys and Jobs from proto, with back support for older databases that don't use proto.

[x] Reads the survey list and surveys from proto, and survey/<SURVEY_ID>/jobs for the jobs belonging to the survey.
[x] Fixes the proto converters to support lists of nested messages, boolean, and converts Longs to Ints.
[x] Cleans up
[ ] Tests for *Converters and FirestoreToProtobufExt
[x] Includes taskId in the Condition after fix: https://github.com/google/ground-platform/pull/1902
[ ] Blocked on https://github.com/google/ground-platform/issues/1911, where not all tasks are being properly serialized into proto.

Ran a local ground-platform at HEAD via npm run start:local
Created a survey with all question types
Ran the emulator in localDebug variant which pull from local emulator
Ensured that old, non-proto surveys still load as a fallback.

PTAL @gino-m, @shobhitagarwal1612!

/gcbrun


no module named crab

SO I both did pip install -U crab and the github downloads, and it still gives me the error message that I don't have crab. I am currently using anaconda. Is there a compatibility issue with it?

I have encounter the same problem No module named crab, then I do sudo pip install scikits.crab , It says No distributions at all found for scikits.crab , did anyone can give me some clues ?

Hello guys, I have found solution in another article
Solution:
git clone https://github.com/muricoca/crab.git
python setup.py install
good luck ~


Why does allowed_by_robots and one_agent_allowed_by_robots parse robotstxt for each request?

This API and example are really confusing...
Why cannot we simply parse once and then call methods to check if URL is allowed?...

Good point. This crate simply ported the Google original library to Rust. Therefore we kept the logic remain: parse -> emit for each request. Indeed, this could be optimized to one parse for multiple requests. (p.s. I don't know why Google never did this.) Of course, contributions are always welcome.

I was looking for a decent robots.txt library written in rust to integrate into my Broad Web Crawler and so far this one seems like the best bet because of "google" and tests...
But I don't like "parse for each request approach", seems hurtful and unnecessary for performance reasons,
from a swift look at source code I think the change would be somewhere here
https://github.com/Folyd/robotstxt/blob/d46c028d63f15c52ec5ebd321db7782b7c033e81/src/matcher.rs#L350
If I get some time in the next couple of weeks I might go for it :)