Executing K3s from Docker stucks on Failed to get CA certs

Environmental Info:
K3s Version:  latest

k3s version v1.20.14+k3s1 (6149cba2)
go version go1.15.15
Node(s) CPU architecture, OS, and Version:

Linux pc-136.home 5.15.10-200.fc35.x86_64 #1 SMP Fri Dec 17 14:46:39 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
Cluster Configuration:

Describe the bug:

I execute K3s using the docker image with :
docker run --tmpfs /run --tmpfs /var/run -e K3S_URL=https://mycluster:6443 -e K3S_TOKEN=mynodetoken --privileged  rancher/k3s
It gets stuck showing
time="2022-01-04T10:37:53.698311411Z" level=error msg="failed to get CA certs: Get "https://<IP_ADDRESS>:42803/cacerts\": read tcp <IP_ADDRESS>:52318-><IP_ADDRESS>:42803: read: connection reset by peer"
Steps To Reproduce:

Installed K3s: docker run --tmpfs /run --tmpfs /var/run -e K3S_URL=https://mycluster:6443 -e K3S_TOKEN=mynodetoken --privileged rancher/k3s

Expected behavior:

K3s starting fine
Actual behavior:

Error with failed to get CA certs
If I try to to open https://mycluster:6443/cacerts or using localhost or <IP_ADDRESS> , or using the port 42803 as shown in the log, nothing is not working
Additional context / logs:

Backporting

[ ] Needs backporting to older releases

What is the server mycluster?  Is that an actual host on your network, another Docker container, etc?

@brandond nop, it's a totally made up name..... I've assumed that this is the name my cluster will be published , the similar way as other K8s distros ( CRC e.g ) that create a name : api-crc-testing:6443

@brandond ups, my fault on the copy-paste , I will fix the command in the description.

No... that's the URL of a server that the agent will attempt to join. The environment variable is equivalent to setting the --server CLI flag. If you don't have an existing server/cluster to join, you shouldn't set it.

But if I dont set it then it complains that the --server is mandatory

Correct, because the rancher/k3s image defaults to running an agent if not otherwise configured, and agents require both a server and a token when connecting to a server.
Did you want to run:
docker run --tmpfs /run --tmpfs /var/run -e K3S_TOKEN=mynodetoken --privileged rancher/k3s server

Ohhhhh that "server" made a real difference :+1:
But now I have several errors : https://gist.github.com/jonathanvila/b1a5583f8e98aed0b161a4de1451e6c0

F0104 17:47:52.424230      22 kubelet.go:1367] Failed to start ContainerManager failed to get rootfs info: failed to get device for dir "/var/lib/kubelet": could not find device with major: 0, minor: 35 in cached partitions map
This is a crash somewhere in the core Kubelet code. I can't reproduce this locally when running the same command as you, but I suspect it has something to do with the tmpfs volumes you're mounting in the container. Why are you doing that?

Same command with a colleague in Mac and another Linux distro and it worked fine.
I'm trying to reproduce this : https://github.com/testcontainers/testcontainers-java/pull/4582/files#diff-0a74318afacc2d638c24ac87f1642eed4f15510d1f3ea60e40fd438ce5595f8aR17

A bit of light googling suggests that it could also be related to the node filesystem... are you by any chance using btrfs subvolumes? I've seen the kubelet have a hard time with that.

docker run --expose=6443 --expose=8443  --name k3s2 -e K3S_TOKEN=mynodetoken --privileged rancher/k3s server
Same errors inside the container....
Regarding the volumes :

So yeah, btrfs subvolumes. Looks like you're also using the docker btrfs snapshotter. I don't think that's handled properly by the kubelet when running inside a container. You may need to stick with something that uses ext4/xfs, at least for /var/lib/docker.

yep apparently not :(
docker run --expose=6443 --expose=8443  --name k3s5 -e K3S_TOKEN=mynodetoken -e K3S_SNAPSHOTTER=btrfs --privileged rancher/k3s:v1.23.1-rc1-k3s1 server

log
...........
I0104 18:53:25.348429      57 reconciler.go:295] "Volume detached for volume \"content\" (UniqueName: \"kubernetes.io/configmap/93f8ef66-df68-4e82-92c7-9afe330d23e0-content\") on node \"d46a82a77513\" DevicePath \"\""
I0104 18:53:25.348455      57 reconciler.go:295] "Volume detached for volume \"kube-api-access-p7828\" (UniqueName: \"kubernetes.io/projected/93f8ef66-df68-4e82-92c7-9afe330d23e0-kube-api-access-p7828\") on node \"d46a82a77513\" DevicePath \"\""
I0104 18:53:25.348463      57 reconciler.go:295] "Volume detached for volume \"values\" (UniqueName: \"kubernetes.io/configmap/93f8ef66-df68-4e82-92c7-9afe330d23e0-values\") on node \"d46a82a77513\" DevicePath \"\""
W0104 18:53:34.047150      57 fs.go:599] Unable to get btrfs mountpoint IDs: stat failed on /dev/mapper/luks-a1f97aea-fa42-4a22-bbdd-1f5b86f16eb3 with error: no such file or directory
W0104 18:53:34.047354      57 fs.go:599] Unable to get btrfs mountpoint IDs: stat failed on /dev/mapper/luks-a1f97aea-fa42-4a22-bbdd-1f5b86f16eb3 with error: no such file or directory
W0104 18:53:34.047376      57 fs.go:599] Unable to get btrfs mountpoint IDs: stat failed on /dev/mapper/luks-a1f97aea-fa42-4a22-bbdd-1f5b86f16eb3 with error: no such file or directory
W0104 18:53:34.053156      57 fs.go:599] Unable to get btrfs mountpoint IDs: stat failed on /dev/mapper/luks-a1f97aea-fa42-4a22-bbdd-1f5b86f16eb3 with error: no such file or directory

Probably because /dev in the container is not the same as /dev on the host? Most of the big Kubernetes providers (Google, Amazon, VMware, MS, etc) just use ext4 or xfs for their cluster distros, so you will in general find btrfs to be not very well supported by the project.


bump capi 1.7.1 from 1.6.4

Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/approve

/lgtm


Move Diffie-Hellman into WeakKeyEx category

Noticed that we had a category WeakKeyEx, but were not using it for Diffie-Hellman Key Exchange Algorithm and options. This pull request places Diffie-Hellman and associated settings for Key Exchange Algorithms into the Weak Key Exchange Algorithms category.

But depending on the choice you make for the key length, DH is not weak, maybe it would be more useful to deprecate smaller key lengths (2048 bits and less)

I may be misunderstanding the DH key exchange, but isn't it capped at 2048 key lengths? To use better would require the use of Elliptic-Curve Diffie-Hellman (ECDH), which is broken out as its own entity?

DH can have the following values:
https://github.com/Crosse/SchannelGroupPolicy/blob/c9b9e40abb2e2281951165423e74681d378f7884/template/schannel.admx#L813-L834
Of those, only 1024 (as I understand it) is considered weak. Moreover, in the description field for the Diffie-Hellman settings, we have this warning:
https://github.com/Crosse/SchannelGroupPolicy/blob/c9b9e40abb2e2281951165423e74681d378f7884/template/en-US/schannel.adml#L357-L360
I think the best course of action would be to update the README, since 75% of the values one can choose for the key length are considered safe and we do our best to call out which ones those are. Does that sound okay?

While I do agree with everything @Crosse has said, leaving Diffie-Hellman active but increasing the minimum key length could lead to lower performance VS ECDH and other key exchanges.
IBM has a good article with relevant information in the "additional information" section  of https://www.ibm.com/support/pages/how-disable-ssltls-diffie-hellman-keys-less-2048-bits .
If we do not designate Diffie-Hellman as weak (at least with the default key length of 1024), then much additional information should be added the the Readme to prevent a novice user from making security or perform impacting choices.
Maybe the category shouldn't be "Weak Key Exchanges", but instead "Legacy Key Exchanges"?


proxy problem

Where should I get or buy multiple proxies? what do you recommend?
Doesn't the bot itself change the IP of each account?
I don't know anything about using a proxy, please guide me in the right way.
Is there a way to do this automatically?

@AntiWarforever There are many platforms like Webshare, ProxyCheap, and others that provide proxies.
If you provide proxies, the bot will automatically assign a proxy to each account. For example, if you have 5 sessions and 5 proxies, the bot will assign one proxy to each session.
You need to provide the proxies in a file named proxies.txt using the following format:
type://user:pass@ip:port
Example: socks5://admin:admin@<IP_ADDRESS>:8080
The bot will automatically manage the proxies for each account based on this setup.
You can also manage your proxies by specifying them directly in the sessions/accounts.json file. Make sure each session or account is mapped to a specific proxy in the file.

@AntiWarforever There are many platforms like Webshare, ProxyCheap, and others that provide proxies. If you provide proxies, the bot will automatically assign a proxy to each account. For example, if you have 5 sessions and 5 proxies, the bot will assign one proxy to each session.
You need to provide the proxies in a file named proxies.txt using the following format:
type://user:pass@ip:port
Example: socks5://admin:admin@<IP_ADDRESS>:8080
The bot will automatically manage the proxies for each account based on this setup.
You can also manage your proxies by specifying them directly in the sessions/accounts.json file. Make sure each session or account is mapped to a specific proxy in the file.

@AntiWarforever There are many platforms like Webshare, ProxyCheap, and others that provide proxies.
If you have put proxies in proxies.txt, the bot will automatically assign a proxy to each account. For example, if you have 5 sessions and 5 proxies, the bot will assign one proxy to each session.
You need to put proxies in proxies.txt using the following format:
type://user:pass@ip:port
Example: socks5://admin:admin@<IP_ADDRESS>:8080
The bot will automatically manage the proxies for each account based on this setup.
You can also manage your proxies by specifying them directly in the sessions/accounts.json file. Make sure each session or account is mapped to a specific proxy in the file.

I want to buy the service from the webshare site for 18 accounts in your script
But you have better experience and what is your suggestion plan?
Which service or plan is suitable for this work?
See attached photo

Currently, I am not using any proxies and have not used befor, because I only have 12 accounts.
I am telling you what I know; I don't know anything beyond that. Sorry for that.

@AntiWarforever Currently, I am not using any proxies and have not used befor, because I only have 12 accounts.
I am telling you what I know; I don't know anything beyond that. Sorry for that.


BV crash when you edit properties

steps:

Click central to open the leftbar
update firing threshold

duplicate of https://github.com/feagi/brain-visualizer/issues/368


Adding link to blog

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs-ref-conceptual/spring-framework/configure-spring-boot-starter-java-app-with-cosmos-db.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

#sign-off

@brunoborges Its already linked to the right doc. There are two approached for linking, adding an inline link or referring to the link with its shortcut name. If you see raw markdown content of this file, there is a list of URIs at the end of doc and this URI is referred while linking.

#sign-off


Get Agent ARN from the Connect Stream.

Hi,
We know the 'Username' we are retrieving with help of agent.getConfiguration().username using the Connect Stream.
Similarly, Is there any way to retrieve the Agent ARN through the Connect Stream?

There isn't currently, but we're aware of the need and are already tracking it on our side.

Hi @ninjamike54 , is there any update on this issue? 🤔

Any update on this issue?

Sorry for the long wait time. We are still tracking this issue on our end.

I have an alternative that until the official API will be released.
The Sample agent event stream says that the "name" of the agent queue is null.

This queue has a name of "null" because it's an agent queue, and agent queues don't have names.

And the ID part of the agent queue is the same as the agent's ID.(For now...)
const AGENT_QUEUE_PATTERN = new RegExp('arn:aws:connect:([\\w|\\-]+):(\\w+):instance/([\\w|\\-]+)/queue/agent/([\\w|\\-]+)');

connect.agent((agent) => {
  const agentQueue = agent.getConfiguration().routingProfile.queues.filter(queue => queue.name === null)
  // group[0] all
  // group[1] region
  // group[2] AWS AccountID
  // group[3] Amazon Connect InstanceID
  // group[4] AgentID
  const groups = AGENT_QUEUE_PATTERN.exec(agentQueue[0].queueARN);
  const agentArn = `arn:aws:connect:${groups[1]}:${groups[2]}:instance/${groups[3]}/agent/${groups[4]}`;

  console.log(agentArn);
}

Also, for all Ids such as queueId and contactId, It's actually Arn.

Can we get this fixed? can't understand why this has been open for 5 years now.

agentARN should be always present in the object returned from agent.getConfiguration(). It'd be appreciated if you could share the repro steps for the empty agentARN scenario.
Meanwhile, let us fix the typing issue.

getAgentARN API has been added to the newest update in Streams!
https://github.com/amazon-connect/amazon-connect-streams/releases/tag/v2.13.1


Add rui and icons module

Added the rui and icons module, which can be imported from @replit/extensions/rui and @replit/extensions/icons.
Changed files (excluding imported components):

package.json

Added the modules and their type declarations

src/rui/components/Rui.tsx

A wrapper component that injects the CSS vars of the user's theme
Falls back to the default replitDark theme if not an extension/failed to fetch theme

src/react/useThemeValues

Fixed an accidental incorrect name.  The hook name was supposed to be useThemeValues but was useTheme instead

src/themes/global

Added some interactive tokens at the end since those were causing some tokens with elevation to go whacky

example/App.tsx

Changed up the example yet again to use RUI and an icon to make sure it works

Example Usage
import { Rui, View, Text } from '@replit/extensions/rui';
import { Puzzle } from '@replit/extensions/icons';

function App() {
  return (
    <View>
      <Text variant="headerBig">Extension <Puzzle size={32} /></Text>
    </View>
  );
}

Note to self: add docstrings and example usage for every RUI component

Why did this get closed? 🤔

too many stuff in one single package, will attempt to do this again in the future

hai

hai

lol

are well all commenting on this

no

yes


Updated validations.py python script.

Updated validations.py python script.
Fixed the behavior of validate_user function in validations.py.
Fixes #<issue_number_goes_here>

It's a good idea to open an issue first for discussion.

[ ] Tests pass
[ ] Appropriate changes to README are included in PR

updated validations.py script with adding one more if else condition


[Storage] Migrate file upload/upload-batch to track 2

This checklist is used to make sure that common guidelines for a pull request are followed.

For new extensions:

[ ] My extension description/summary conforms to the Extension Summary Guidelines.

About Extension Publish
There is a pipeline to automatically build, upload and publish extension wheels.
Once your PR is merged into master branch, a new PR will be created to update src/index.json automatically.
The precondition is to put your code inside this repo and upgrade the version in the PR but do not modify src/index.json.

If this PR is for a new extension or change to an existing extension, use the following to try out the changes in this PR:
docker run -it microsoft/azure-cli:latest
export EXT=<NAME>
pip install --upgrade --target ~/.azure/cliextensions/$EXT "git+https://github.com/zhoxing-ms/azure-cli-extensions.git@track2_file_upload#subdirectory=src/$EXT&egg=$EXT"

Storage

@zhoxing-ms could you resolve my comments?


Use a more stable and actual URL for namespace of our EBML Schema

I suggest that we also include a declaration of the namespace in the narrative of the RFC, equivalent of https://tools.ietf.org/html/rfc4826#section-3.4.4.

I also prefer urn:ietf:rfc:8794 as well, particularly after reviewing @mcr's comments.

Closing this in favor of #388


Support for QoS Percentage Utilization at Policy Level for Shared QoS Policies

Thanks Robert Brown for raising this on discord.
Harvest should add support for displaying QoS percentage utilization at the policy level for shared QoS policies.

@rahulguptajss Thanks for sharing. I was taking a look on this new section and I was wondering what does this new section give me? But If I am not wrong, I have seen the same information in the section Fixed QoS Shared Policy Utilization  than the info in  Fixed QoS Workload Utilization since we don't use shared workloads with more than 1 item. So I can't contribute much. Sorry
I think it is a interesting visualization for people who use more than 1 workload in a Qos policy. Thank you.


DelayedSaturatedMMM deprecations and moving files

Description

Related Issue

[ ] Closes #
[ ] Related to #

Checklist

[ ] Checked that the pre-commit linting/style checks pass
[ ] Included tests that prove the fix is effective or that the new feature works
[ ] Added necessary documentation (docstrings and/or example notebooks)
[ ] If you are a pro: each commit corresponds to a relevant logical change

Modules affected

[ ] MMM
[ ] CLV

Type of change

[ ] New feature / enhancement
[ ] Bug fix
[ ] Documentation
[ ] Maintenance
[ ] Other (please specify):

📚 Documentation preview 📚: https://pymc-marketing--965.org.readthedocs.build/en/965/

Need to work through the documentation and notebooks


Can we have an updated version for Core 1.1?

I'm using MonoDevelop <IP_ADDRESS>2, with Mono <IP_ADDRESS>5
I've been able to build the Addin (v 0.6) with difficulty (for example ILRepack is not in package.config)
And it installs OK.
But running it is terribly slow, and a simple console app hangs on load at "Loading workspace documents".
Is this an ongoing project?
Thx

ILRepack is in the src/.nuget/packages.config file. It should restore if you run a restore for the entire solution from the command line.
project.json + .xproj have been made obsolete and are replaced with .csproj files and PackageReferences. Support for this new .NET Core project file format is currently available in Visual Studio for Mac. Since project.json + .xproj have been made obsolete I am not actively working on this addin.

Pity!
Thanks for quick response.
Someone is working on similar for Eclipse! https://github.com/mickaelistria/aCute
Sorry, my nuget,exe wasn't working. MonoDevelop only restored project dependencies.
Thx.

So I had a quick look at this. The .NET Core SDK 1.0.1 (.NET Core runtime 1.1 and 1.0) does not support project.json apart from migrating it to the new format. It does not look like the projectmodel-server command line argument is supported any more. This seems to have been removed around preview 3. This was used by the DNX addin to get all the information about the project, such as references.
The latest C# plugin, which uses Omnisharp, for VSCode seems to upgrade project.json files to .csproj files.
So I think the only way the DNX addin would work is if you use an old version of .NET Core which still has the projectmodel-server command.

Since project.json + .xproj have been made obsolete I am not actively working on this addin.

So I think the only way the DNX addin would work is if you use an old version of .NET Core which still has the projectmodel-server command.

Those things said - would it be reasonable to alter the README for this repo.  Indicating that it is not currently under development and won't support the current .NET Core?  I only discovered that it wouldn't work after I'd downloaded the add-in and spent a while trying to figure out why it wasn't working (including visiting the github issues).

@craigfowler - Sure. I have updated the readme.


Introduce compressed etcd snapshots

Signed-off-by: Shreyas Rao<EMAIL_ADDRESS>How to categorize this PR?

/area backup
/kind enhancement
/component etcd-druid
What this PR does / why we need it:
This PR revendors etcd-druid v0.5.0 and configures the CompressionSpec for the Etcd resource as gzip compression policy, as introduced by https://github.com/gardener/etcd-druid/pull/138.
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
Has to go in with https://github.com/gardener/gardener/pull/3952 and https://github.com/gardener/gardener/pull/3828.
Release note:

Introduce compressed etcd backups for faster upload and download of etcd snapshots.

/invite @amshuman-kr
/invite @abdasgupta
/invite @rfranzke

/rebase

/hold until https://sap-ti.slack.com/archives/C0177NLL8V9/p1619608337034400 is sorted out

/unhold as v1.22 is released


single() on insert doesn't seem possible

Describe the bug
By using useInsertMutation (or upsert or update of course), whatever we want to select() in the third parameter, it returns an array.
A .single() method exists in the supabase query also on the insert which enables the possibility to not return an array but an object directly.
To Reproduce
In the following query, we can see the insertNewTeam which is used only to insert a single row, and so using normally a .single() in the insert is perfect, so that the value in the data return doesn't need to use a data[0] which is hugly.
const { mutateAsync: insertNewTeamMember } = useInsertMutation(
    createClient().from("teams_members"),
    ["id_user", "id_team", "permission"],
    "id_user, id_team, permission",
  );

  const { mutateAsync: insertNewTeam } = useInsertMutation(
    createClient().from("teams"),
    ["id_owner", "name", "id"],
    "id, name, id_owner",
  );

  const handleInsertNewPersonnalTeam = async () => {
    if (!dataSession?.userId) {
      return null;
    }
    insertNewTeam([{ id_owner: dataSession.userId, name: "Main Team" }], {
      onSuccess: (data, variables) => {
        if (!variables[0].id_owner) {
          throw new Error("No user id");
        }
        //@ts-ignore
        if (!data[0].id) {
          throw new Error("No team id");
        }
        //@ts-ignore
        insertNewTeamMember([
          {
            id_user: variables[0].id_owner,
            //@ts-ignore
            id_team: data[0].id,
            permission: "full_access",
          },
        ]);
      },
    });
  };

Expected behavior
Have the possibility to use .single() or .maybeSingle() method probably or at least an option "single" in the useInsert, useUpdate, etc.
Additional context
Maybe this refine handling dataProvider could help think about the best way to achieve it : https://github.com/refinedev/refine/blob/master/packages/supabase/src/dataProvider/index.ts

The tag should be changed to "enhancement" but I can't, sorry for the mistake

@psteinroe Yes I totally understand as we can achieve quite everything with arrays, but is there a specific reason why the updateMutation is receiving an object and not an array so ?

@psteinroe Yes I totally understand as we can achieve quite everything with arrays, but is there a specific reason why the updateMutation is receiving an object and not an array so ?

because cache helpers operates on primary keys only, so you can only update one at a time per request. its different for upsert and insert, because you pass the primary keys in the input.

Got it, thanks so much for explaining this in detail!


Use main Branch Instead Of 3.x?

When https://github.com/mage-os/terraform/issues/44 is finished, it should be possible to configure the default branch via Terraform. However, I wonder why we shouldn't just use the main branch for the latest 2.4-compatible version of this extension. I suggest simply renaming / moving the branch 3.x to main. Is there any reason against this, @gowrizrh? Thanks!

we could. i've been only managing a release line like 2.x or 3.x via long lived branches. that way when want to backport a change to the relevant major version we could simply merge in a PR. if there's a better way to manage multiple release versions then i'm happy to  take a look.

IMHO, it absolutely makes sense to have separate branches if you really need separate codebases for e.g. 2.3/2.4. However, I would only create separate branches for old versions (like the 2.x branch for Magento 2.3). I think the current codebase compatible with the latest version could still be in the main branch.

the advantage of having separate branches mean that their corresponding release tags will always reside in their dedicated branch as opposed to being in the main branch during whenever that major version is on the main branch but as soon as you create another major version, they'll have to go into their dedicated branch.

it's not a big deal eitherway, but the idea of a branch holding its release line makes sense to me. i just took this model of from lumen or laravel.
alternatively we could keep merging the current release line back into main periodically. but i'd rather prefer to switch the default branch as we keep releasing new major versions.

Okay, all fine. I added support for this in https://github.com/mage-os/terraform/pull/48 and changed the default branch of this repository to 3.x.


Translate heading in post editor

https://trello.com/c/C6ZRJfKH/322-translate-heading-123-and-comment-successfully-sent

Is there any particular reason for using {'string'} instead of just normal string literal "string"?

Fixes: #796

@Sekhmet  no preference just changed it to string literal, my editor encases it in {} as default


On windows, all arguments are expanded, leading to issues with square brackets in argument values

On windows, Click will expand arguments (interpolating environment variables, globbing filenames). This was added as a feature because windows CMD doesn't do any of this itself, as opposed to unix shells.
Example program:
import click

@click.command()
@click.argument('test')
def main(test):
    print(test)

if __name__ == '__main__':
    main()

Running this with a particular xpath query gives:
C:\>Test\clicktest.py ".//storage/*[@attribute='zcl:commissioning:install-code']/text()"
Traceback (most recent call last):
  File "C:\Test\clicktest.py", line 9, in <module>
    main()
  File "C:\Program Files (x86)\Python39-32\lib\site-packages\click\core.py", line 1137, in __call__
    return self.main(*args, **kwargs)
  File "C:\Program Files (x86)\Python39-32\lib\site-packages\click\core.py", line 1049, in main
args = _expand_args(args)
  File "C:\Program Files (x86)\Python39-32\lib\site-packages\click\utils.py", line 572, in _expand_args
    matches = glob(arg, recursive=glob_recursive)
  File "C:\Program Files (x86)\Python39-32\lib\glob.py", line 22, in glob
    return list(iglob(pathname, recursive=recursive))
  File "C:\Program Files (x86)\Python39-32\lib\glob.py", line 74, in _iglob
    for dirname in dirs:
  File "C:\Program Files (x86)\Python39-32\lib\glob.py", line 75, in _iglob
    for name in glob_in_dir(dirname, basename, dironly):
  File "C:\Program Files (x86)\Python39-32\lib\glob.py", line 86, in _glob1
    return fnmatch.filter(names, pattern)
  File "C:\Program Files (x86)\Python39-32\lib\fnmatch.py", line 58, in filter
    match = _compile_pattern(pat)
  File "C:\Program Files (x86)\Python39-32\lib\fnmatch.py", line 52, in _compile_pattern
    return re.compile(res).match
  File "C:\Program Files (x86)\Python39-32\lib\re.py", line 252, in compile
    return _compile(pattern, flags)
  File "C:\Program Files (x86)\Python39-32\lib\re.py", line 304, in _compile
    p = sre_compile.compile(pattern, flags)
  File "C:\Program Files (x86)\Python39-32\lib\sre_compile.py", line 764, in compile
    p = sre_parse.parse(p, flags)
  File "C:\Program Files (x86)\Python39-32\lib\sre_parse.py", line 948, in parse
    p = _parse_sub(source, state, flags & SRE_FLAG_VERBOSE, 0)
  File "C:\Program Files (x86)\Python39-32\lib\sre_parse.py", line 443, in _parse_sub
    itemsappend(_parse(source, state, verbose, nested + 1,
  File "C:\Program Files (x86)\Python39-32\lib\sre_parse.py", line 834, in _parse
    p = _parse_sub(source, state, sub_verbose, nested + 1)
  File "C:\Program Files (x86)\Python39-32\lib\sre_parse.py", line 443, in _parse_sub
    itemsappend(_parse(source, state, verbose, nested + 1,
  File "C:\Program Files (x86)\Python39-32\lib\sre_parse.py", line 598, in _parse
    raise source.error(msg, len(this) + 1 + len(that))
re.error: bad character range l-c at position 43
C:\>

I expected:
C:\>Test\clicktest.py ".//storage/*[@attribute='zcl:commissioning:install-code']/text()"
.//storage/*[@attribute='zcl:commissioning:install-code']/text()
C:\>

In my particular use-case, adding windows_expand_args=False to the invocation of main is acceptable, but that disables expansion for all argument, which is rather binary and may not be enough for others.
Since I have a work-around, don't spend time on this on my account. Just thought I'd mention this. Ideally, this would be something that could be set per-argument, but of course this expansion happens before actually parsing the arguments. At that point it isn't yet known which argument is going to be parsed as which click.option or click.argument.
Environment:

Python version: 3.9.6 (32 bit)
Click version: 8.0.1

If your want other behavior, you'll need to disable Click's as you've already shown then write your own.


Implement SumTranform

Before submitting (must do checklist)

[x] Did you read the contribution guide?
[x] Did you update the docs? We use Numpy format for all the methods and classes.
[x] Did you write any new necessary tests?
[ ] Did you update the CHANGELOG?

Proposed Changes

Look at #1013
Closing issues

Closes #1013

Codecov Report

Merging #1021 (10af571) into master (a465a2a) will decrease coverage by 77.62%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##           master   #1021       +/-   ##
==========================================
- Coverage   85.74%   8.11%   -77.63%
==========================================
  Files         162     162
  Lines        8616    8622        +6
==========================================
- Hits         7388     700     -6688
- Misses       1228    7922     +6694

Impacted Files
Coverage Δ

etna/transforms/__init__.py
0.00% <0.00%> (-100.00%)
:arrow_down:

etna/transforms/math/__init__.py
0.00% <0.00%> (-100.00%)
:arrow_down:

etna/transforms/math/statistics.py
0.00% <0.00%> (-99.36%)
:arrow_down:

etna/models/naive.py
0.00% <0.00%> (-100.00%)
:arrow_down:

etna/models/utils.py
0.00% <0.00%> (-100.00%)
:arrow_down:

etna/auto/__init__.py
0.00% <0.00%> (-100.00%)
:arrow_down:

etna/metrics/utils.py
0.00% <0.00%> (-100.00%)
:arrow_down:

etna/models/linear.py
0.00% <0.00%> (-100.00%)
:arrow_down:

etna/models/nn/mlp.py
0.00% <0.00%> (-100.00%)
:arrow_down:

etna/models/nn/rnn.py
0.00% <0.00%> (-100.00%)
:arrow_down:

... and 141 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Tests for IBM device failing.

Issue description
The tests for the IBM device are currently failing, due to a user argument passed to IBM.
A couple of months ago, IBM deprecated their original v1 API, for a new v2 API, and it is possible that ProjectQ (which is only minimally maintained) did not update their interface accordingly.
Since this is out of the scope of this plugin, we will wait for further changes in ProjectQ.

It looks like ProjectQ's IBM backend was updated for the v2 API:
https://github.com/ProjectQ-Framework/ProjectQ/tree/develop/projectq/backends/_ibm
Can we modify the pinned version of ProjectQ in requirements.txt to the latest version, and see if this fixes the tests?

I'm using the latest version and it fails, but this is no surprise since we are calling the IBM device using the old signature. I'll try to fix that...

This one was long fixed.

This one was long fixed.


Sentinel logstash docs - add ECS note and update supported versions

@yelevin
@limwainstein
Can you review the proposed changes?
When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

#sign-off

Thanks, @limwainstein.
@yelevin - Can you review the proposed update to your article and enter #sign-off in a comment if it's approved for merge?
Thanks!

just waiting on a #sign-off from @yelevin . thanks

#sign-off


Textual runbook sample appears to fail

I'm using the sample script in the "Textual runbook sample" but when the runbook runs, it repeats the Connect-AzureRMAccount three times and never appears to get the connection or setup an environment where I can execute commands.  Am I doing something wrong?

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 81c284ea-3656-836f-7eab-388773e0e382
Version Independent ID: 71329bef-2d4f-4ff6-5a03-83b99b2269e9
Content: Connection assets in Azure Automation
Content Source: articles/automation/automation-connections.md
Service: automation
GitHub Login: @georgewallace
Microsoft Alias: gwallace

@tumtum73 Thanks for your feedback! We will investigate and update soon on it.

I reran that code again this morning and it works fine. Not sure if it was an environment thing or you modified something but it's working.


SOLVED THE REDIRECTING ISSUE

Pull Request Checklist

[x] I have added screenshots and videos to show before and after the working of my code.
[x] I have ensured that the screen size is set to 100% while making the video.
[x] I have synced the latest fork with my local repository and resolved any conflicts.
[x] I understand that if any the above conditions are not met , my PR will not be MERGED .

please give level 1

Show before and after changes video

Show before and after changes video

https://github.com/user-attachments/assets/461384c7-432f-40d1-9682-66c4faaef67e


v5 gulp.src/dest copies text files 1:1 but breaks binary files

I'm assuming this isn't another situation where the expected behaviour has changed, apologies if it is!
What were you expecting to happen?
In previous versions of gulp, running gulp.src("input/*").pipe(gulp.dest("public/")); would copy files from input to public without altering them.
What actually happened?
In gulp v5 the above copies text files to the destination correctly, but binary files are altered. They're about twice the size, and seem to be converted to text.
Please give us a sample of your gulpfile
This task is meant to copy fonts from a few locations to a location in the .gitignore - the svg fonts are fine, but the rest are broken.
https://github.com/prurigro/hypothetical/blob/master/gulpfile.js#L290
Terminal output / screenshots
top of the original file:

further down in the original file (where the binary data:

top of the copied file:

further down in the copied file:

Please provide the following information:

OS & version [e.g. MacOS Catalina 10.15.4]: Archlinux (up-to-date)
node version (run node -v): v21.7.1
npm version (run npm -v): 10.5.0
gulp version (run gulp -v): CLI version: 3.0.0 - Local version: 5.0.0

Thanks for your time!

This is by design and the first breaking change highlighted in our release blog: https://medium.com/gulpjs/announcing-gulp-v5-c67d077dbdb7
Copying files really shouldn't be done with gulp streams, as you are just using them to glob, which doesn't need the overhead of streams. You can just read the directory and copy.
If you still want to take on that overhead, you definitely should not be copying without { read: false } configuration because you are reading all the files into memory to write them back out again. If dest() sees empty contents, it does a 1-1 copy which is way faster.
If you need to read for some reason, you can always set { encoding: false } to ignore all encoding options.

Thanks again for pointing me in the right direction :) It seems like setting { encoding: false } gets me back to where I was with the least friction for now, and I'll look at doing it in a more correct way once the documentation's been updated.

Docs have been updated: https://github.com/gulpjs/gulp/blob/master/docs/api/src.md#options
You need to add { encoding: false } for binary files.


Supporting a logical NOT operator

There does not seem to be support for a NOT operator at the moment at the same logical level as AND and OR (only negative operators essentially like NOT IN, NOT NULL etc.). Do you think it would be possible to add support for it, or to point to a preferred way to add it in the existing code base?
I open this as an issue as this may be probably introduced in different ways in the project.
This may not look as a big deal not to have this NOT operator but it makes it difficult to map an existing tree to an sql request using this library. And this would mean going back to JPA or another library to build the actual SQL query.
I have been tinkering a bit with the existing version, and after seeing the comment about the unary operators being handled for now as binary ones with a null right hand condition, here is current approach to have something handling it quickly in the where section:

build upon AndOr, adding a Not interface and make AndOr extend it (for simplicity's sake but could be reused in parallel, even though all three usually go together)

public interface Not<Q> {
    Q not();
}

handling the null righthand operand in DefaultOutput for unary operators, like in appendOperation()

            ...
        } else if(leftOperand instanceof Condition) {
            if (condition.getRightOperand() == null) {
                appendOperator(condition.getOperator());
                if (depth > 0) {
                    qb.openParenthesis();
                }
                appendOperation((Condition) leftOperand, depth + 1);
                if (depth > 0) {
                    qb.closeParenthesis();
                }
            } else {
                ...

provide an Unary class with static not shorthand to be able to write not(subject) instead of subject.not()

Here is the test case I'm currently working with:
    @Test
    public void testSingleQueryWhereNot() {
        final String name = "firstName";
        final String email =<EMAIL_ADDRESS>        for (int i = 0; i < 10; i++) {
            Person person = randomPerson();
            switch (i) {
                case 0:
                    person.setName(name);
                    break;
                case 1:
                    person.setEmail(email);
                    break;
            }
            data.insert(person);
        }
        try (Result<Person> query = data.select(Person.class)
                .where(not(
                        Person.NAME.equal(name)
                            .or(Person.EMAIL.equal(email)))
                ).get()) {
            assertEquals(8, query.toList().size());
        }
    }

Hi thanks for the detailed proposal. Yes this is something definitely that should be supported but is not currently. The advantage of having the not() on the expression is that in Kotlin for example that can be an overloaded operator so you could write !. That doesn't look nice in Java where your static function is better, however its possible to support both.

Closing for now, thanks for the PR!


Add finished property to once_trigger

Jenkins, test this please.

Jenkins CI test (for commit 9d076a4612791fe81d175d59df336efa55acb695, target branch master) failed with status FAILURE.
(For contributors, please wait until the reviewer confirms the details of the error.)

Jenkins, test this please.

Jenkins CI test (for commit 9d076a4612791fe81d175d59df336efa55acb695, target branch master) failed with status FAILURE.
(For contributors, please wait until the reviewer confirms the details of the error.)

Jenkins, test this please.

Jenkins CI test (for commit 9d076a4612791fe81d175d59df336efa55acb695, target branch master) failed with status FAILURE.
(For contributors, please wait until the reviewer confirms the details of the error.)

Could you remove import six? LGTM except for that.

Thanks.
Jenkins, test this please.

Jenkins CI test (for commit e66561fb951af9561de383414fba797b87e19a60, target branch master) succeeded!

LGTM

Thanks!!


Missing license file

License file for this project is missing and github doesn't recognize used license.
In Cargo.toml it seems that this crate is licensed under MIT license.
If I understand correctly, MIT license requires for license to be placed together with source code.  Would be nice if repository would contain this license file.

Good catch, thanks.  I've made this update.


TC Contact button 03 - Pressing the "Contact" button leads to an external window

Description: On pressing the "Contact" button, a new window pops up.
Pre-conditions: The https://admin.peviitor.ro/ page is opened.

Step 1: Press the "Contact" button.
Expected results: On pressing the "Contact" button, a new window pops up.


bad link to microformats2

it says [microformats2]

That's normal W3C spec convention for an internal reference, now linked to the references section below per W3C practices.
Fixed in https://www.w3.org/wiki/index.php?title=Post-type-discovery&oldid=87174


feat: runner now runs profiles, probes, and assignments

runner now supports running the full-cycle, except for running the analyze score. I'll get to that in another PR. My main objective in this PR is a working DA collect.
I fixed a few bugs added from the recent collect enhancements, but very few. Most of them I just commented out...
collect/browser-dom-environment has all the new pages commented out.
collect/http-xhr has the new http2 featured commented out.
collect/http2-session is disabled (with the disabled flag in package.json)

I figured it was better for me get DA working so I can jump back into ScraperReport... or I can fix the commented out/disabled plugins, but even then, it's probably best for another PR...
And fixing these collect bugs should be much easier now. Just run node runner/scripts/1-collectProfiles.js.

That’s fine. Is it documented somewhere how exactly these are breaking? They were working for me testing in chrome 79. Is this something with older browsers?

On Jan 2, 2021, at 9:09 PM, Caleb Clark<EMAIL_ADDRESS>wrote:

runner now supports running the full-cycle, except for running the analyze score. I'll get to that in another PR. My main objective in this PR is a working DA collect.
I fixed a few bugs added from the recent collect enhancements, but very few. Most of them I just commented out...
collect/browser-dom-environment has all the new pages commented out.
collect/http-xhr has the new http2 featured commented out.
collect/http2-session is disabled (with the disabled flag in package.json)
I figured it was better for me get DA working so I can jump back into ScraperReport... or I can fix the commented out/disabled plugins, but even then, it's probably best for another PR.
You can view, comment on, or merge this pull request online at:
https://github.com/ulixee/double-agent/pull/27
Commit Summary
feat: runner now collects profiles, extracts probes, and runs assignments
File Changes
M collect-controller/lib/Server.ts (90)
M collect/lib/getAllPlugins.ts (10)
M collect/plugins/browser-dom-environment/index.ts (60)
M collect/plugins/http-xhr/index.ts (2)
M collect/plugins/http2-session/package.json (1)
A config/data-generators/ProbesGenerator.ts (85)
M config/scripts/regenerateProbes.ts (76)
M package.json (1)
M runner/.gitignore (2)
D runner/forEachAssignment.ts (96)
A runner/lib/assignmentServer.ts (26)
R runner/lib/cleanPuppeteerPageCache.ts (2)
A runner/lib/forEachAssignment.ts (48)
R runner/lib/runAssignmentInPuppeteer.ts (4)
A runner/lib/saveAssignmentToProfileDir.ts (17)
M runner/package.json (5)
A runner/scripts/1-collectProfile.ts (49)
A runner/scripts/2-extractProbes.ts (13)
R runner/scripts/3-completeAssignments.ts (15)
A runner/scripts/4-analyzeAssignmentOutput.ts (1)
M tls-server/child.ts (4)
M tls-server/lib/IncomingMessage.ts (5)
M yarn.lock (8)
Patch Links:
https://github.com/ulixee/double-agent/pull/27.patch
https://github.com/ulixee/double-agent/pull/27.diff
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub, or unsubscribe.

That’s fine. Is it documented somewhere how exactly these are breaking? They were working for me testing in chrome 79. Is this something with older browsers?

On Jan 2, 2021, at 9:09 PM, Caleb Clark<EMAIL_ADDRESS>wrote:

runner now supports running the full-cycle, except for running the analyze score. I'll get to that in another PR. My main objective in this PR is a working DA collect.
I fixed a few bugs added from the recent collect enhancements, but very few. Most of them I just commented out...
collect/browser-dom-environment has all the new pages commented out.
collect/http-xhr has the new http2 featured commented out.
collect/http2-session is disabled (with the disabled flag in package.json)
I figured it was better for me get DA working so I can jump back into ScraperReport... or I can fix the commented out/disabled plugins, but even then, it's probably best for another PR.
You can view, comment on, or merge this pull request online at:
https://github.com/ulixee/double-agent/pull/27
Commit Summary
feat: runner now collects profiles, extracts probes, and runs assignments
File Changes
M collect-controller/lib/Server.ts (90)
M collect/lib/getAllPlugins.ts (10)
M collect/plugins/browser-dom-environment/index.ts (60)
M collect/plugins/http-xhr/index.ts (2)
M collect/plugins/http2-session/package.json (1)
A config/data-generators/ProbesGenerator.ts (85)
M config/scripts/regenerateProbes.ts (76)
M package.json (1)
M runner/.gitignore (2)
D runner/forEachAssignment.ts (96)
A runner/lib/assignmentServer.ts (26)
R runner/lib/cleanPuppeteerPageCache.ts (2)
A runner/lib/forEachAssignment.ts (48)
R runner/lib/runAssignmentInPuppeteer.ts (4)
A runner/lib/saveAssignmentToProfileDir.ts (17)
M runner/package.json (5)
A runner/scripts/1-collectProfile.ts (49)
A runner/scripts/2-extractProbes.ts (13)
R runner/scripts/3-completeAssignments.ts (15)
A runner/scripts/4-analyzeAssignmentOutput.ts (1)
M tls-server/child.ts (4)
M tls-server/lib/IncomingMessage.ts (5)
M yarn.lock (8)
Patch Links:
https://github.com/ulixee/double-agent/pull/27.patch
https://github.com/ulixee/double-agent/pull/27.diff
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub, or unsubscribe.

I didn't document how they were breaking, but I'm pretty sure they appear if you run the new node runner/scripts/1-collectProfiles.js I created in DA.
I haven't looked into all the issues, but the ones I looked at seemed to be broken regardless of browser version. For example, browser-codecs had been changed to https in registerRoute but registerPages was still calling http. That wouldn't run regardless of browser version (I fixed this one in the last PR). I just assumed most of the other bugs were similar.

I didn't document how they were breaking, but I'm pretty sure they appear if you run the new node runner/scripts/1-collectProfiles.js I created in DA.
I haven't looked into all the issues, but the ones I looked at seemed to be broken regardless of browser version. For example, browser-codecs had been changed to https in registerRoute but registerPages was still calling http. That wouldn't run regardless of browser version (I fixed this one in the last PR). I just assumed most of the other bugs were similar.

My purpose in this PR wasn't to fix existing bugs. Instead I added the tools that make it much easier to test and fix within DA without needing to run Slab or ScraperReport.

My purpose in this PR wasn't to fix existing bugs. Instead I added the tools that make it much easier to test and fix within DA without needing to run Slab or ScraperReport.


Make cluster & node name required and change type to dnsLabel

Rancher versions: 2.0 master 1/18
Results: Make the names field required and the change the type to dnsLabel so we can validate the name field without having to POST.
We really need to do this so that we can validate the Node name during the template creation instead of during RKE cluster creation.  Especially since i can't remove or edit them after I added them.

Currently, Machine/Node has 4 name fields:

Field
Type
Create
Update

requestedHostname
dnsLabel
true
false

hostname
string
false
false

nodeName
string
false
false

name
string
true
true

I discussed this with @vincent99 and he said that this is the correct state, and no further changes are required.

Version - 2.0 master 2/20
Verified fixed


[Docs] ControlNet data prepare

Motivation
Documentation on how to prepare the dataset for ControlNet.
Checklist
Before PR:

[ ] Pre-commit or other linting tools are used to fix the potential lint issues.
[ ] Bug fixes are fully covered by unit tests, the case that causes the bug should be added in the unit tests.
[ ] The modification is covered by complete unit tests. If not, please add more unit test to ensure the correctness.
[ ] The documentation has been modified accordingly, like docstring or example tutorials.

:books: Documentation preview :books:: https://DiffEngine--100.org.readthedocs.build/en/100/

@alelordelo Sorry, You can check here.
https://diffengine.readthedocs.io/en/latest/user_guides/dataset_prepare.html


Support  SVG logo.

right now things are hardcoded as logo.png

Any reason to support url ?
On Thu, Mar 24, 2022 at 7:57 PM Ross Barnowski @.***>
wrote:

Along these lines, it might be nice to support urls for the logo
configuration.
—
Reply to this email directly, view it on GitHub
https://github.com/jupyter/papyri/issues/117#issuecomment-1077947428,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AACR5TYDUYI37XJZJEIPU2LVBS3KVANCNFSM5RQOKOSQ
.
You are receiving this because you authored the thread.Message ID:
@.***>

In the long run I guess not since it's safe to assume that individual projects will have their logos available in their own docs dirs. I guess this is more related to the current state of affairs where the project logo has to be included in the papyri source directory in order to work with the example configs.

In the long run I guess not since it's safe to assume that individual projects will have their logos available in their own docs dirs. I guess this is more related to the current state of affairs where the project logo has to be included in the papyri source directory in order to work with the example configs.

I mean even now you can use an absolute path in the <package>.toml file that point to a local version of the repo with the logo. I just haven't found a nice way to do it in a generic way. I could set numpy logo to /Users/bussonniermatthias/dev/numpy/doc/source/_static/numpylogo.svg but that woudl work only on my machine.


Replace json.Decoder in go-runtime/encoding with completely custom JSON decoder/encoder

encoding.go relies heavily on json.Decoder (link) to decode a JSON blob into a reflect.Value.
Problems with the current approach:
1. json.Decoder does not support Peek() via its public interface.
In order to read the next token in the JSON string, we need to call d.Token(), which pops a token off the buffer. At the same time, we rely on calling d.Decode(&value) to decode basic types, and Decode() itself pops the token that it decodes into value. Suppose you need to split off a branch case for handling nulls, and if not null, then call Decode(). How do you find out that the next token is null? If you call Token(), then you will have removed that token from the buffer, and Decode() won't be able to decode it. Currently, to work around this, we've built a dirty local implementation of Peek() that scans ahead for delimiters, but having this sit downstream of the decoder itself is very hacky and will incur maintenance cost.
2. We are mixing stdlib automagic with custom decoding logic and may go out of sync (technically we already are out of sync)
The purpose of the go-runtime encoding package is to encode/decode FTL-supported types into/from JSON. We need custom logic for some FTL types (e.g. ftl.Option), so we definitely cannot rely purely on the std JSON tooling in Go. Now that we rely on both, we have an issue where the stdlib JSON encoding logic comes with assumptions that we break (e.g. we do not respect field naming from Go struct tags), and vice versus (our custom logic necessarily builds in assumptions that are inconsistent with stdlib's behavior). For example, our encoding package lowerCamelCases field keys, whereas stdlib's json takes the struct field name directly. Yet, we cannot tell FTL users to completely throw stdlib JSON assumptions out the window, since we do use it for some parts of our parsing. However, this leads to them trusting all the stdlib assumptions even when they shouldn't. For example, pfi sets JSON field names using Go tags (e.g. `json:"customname"`), but our custom encoding logic doesn't actually use the field names provided. No one seems to have noticed yet.
3. Is an iterative buffer approach really the best design pattern for managing encoding of a multitude of types?
Switching to a more declarative approach (e.g. registering parsible types with handlers and classifiers) would scale better, especially as we consider type widening: https://github.com/TBD54566975/ftl/issues/1296

We should discuss prioritization in triage


Introduce Preliminary Version of the Guideline Document for Update Propagation

Purpose

This PR addresses https://github.com/wso2/container-guide/issues/1.

Goals

Introduce Preliminary Version of the Guideline Document for Update Propagation

@chamindi-a I have updated the PR with the requested changes, as of now.


Native iOS screen shows keyboard, underlying Flutter view moves text up for keyboard, doesn't reset when keyboard/native screen dismissed

Internal b/206667860
When Flutter launches a native iOS view controller with textfield as the first responder, the Flutter view moves up to accommodate the keyboard.  When the keyboard and native view controller are dismissed, the view does not reset, and still looks like a keyboard is present at the bottom.
Note "Launch external screen" is centered at the beginning, and higher after the view controller is dismissed:
https://user-images.githubusercontent.com/682784/142705925-2e1ef42d-b13a-49a0-80fa-8a2b137d8311.mov
From internal bug report:

I guess this is what happened:

When launching the iOS screen with textField as the first repsonder, keyboard started to show during transition
Flutter view captured the event and corresponded to it (move the view up)
When the screen is dismissed, Flutter view never capture any "keyboard dismissed" event and hence the view is not reset.

Steps to reproduce:
$ flutter create -t plugin --platforms ios test_plugin

ios/Classes/SwiftTestPlugin.swift
import Flutter
import UIKit

public class SwiftTestPlugin: NSObject, FlutterPlugin {
  public static func register(with registrar: FlutterPluginRegistrar) {
    let channel = FlutterMethodChannel(name: "test_plugin", binaryMessenger: registrar.messenger())
    let instance = SwiftTestPlugin()
    registrar.addMethodCallDelegate(instance, channel: channel)
  }

  public func handle(_ call: FlutterMethodCall, result: @escaping FlutterResult) {
    let vc = TextFieldViewController()
    vc.modalPresentationStyle = .fullScreen
    UIApplication.shared.keyWindow?.rootViewController?.present(vc, animated: true, completion: nil);
  }
}

class TextFieldViewController: UIViewController{
  override func viewDidLoad() {
    super.viewDidLoad()
    let sampleTextField =  UITextField(frame: CGRect(x: 20, y: 100, width: 300, height: 40))
    sampleTextField.placeholder = "Enter text here"
    sampleTextField.font = UIFont.systemFont(ofSize: 15)
    sampleTextField.borderStyle = UITextField.BorderStyle.roundedRect
    sampleTextField.autocorrectionType = UITextAutocorrectionType.no
    sampleTextField.keyboardType = UIKeyboardType.default
    sampleTextField.returnKeyType = UIReturnKeyType.done
    sampleTextField.clearButtonMode = UITextField.ViewMode.whileEditing
    sampleTextField.contentVerticalAlignment = UIControl.ContentVerticalAlignment.center
    sampleTextField.becomeFirstResponder()
    self.view.addSubview(sampleTextField)

    let button = UIButton(frame: CGRect(x: 20, y: 300, width: 300, height: 40))
    button.setTitle("Cancel", for: UIControl.State.normal)
    button.addTarget(self, action: #selector(didButtonClick), for: .touchUpInside)
    self.view.addSubview(button)
  }

  @objc
  func didButtonClick(sender: UIButton!) {
    self.dismiss(animated: true)
  }
}

example/lib/main.dart
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';

void main() async {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      home: MyHomePage(),
    );
  }
}

class MyHomePage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: TextButton(
          onPressed: () {
            MethodChannel('test_plugin').invokeMethod('fullScreen');
          },
          child: Text('Launch external screen'),
        ),
      ),
    );
  }
}

Run the example app on a physical device or simulator:
$ cd test_plugin/example
$ flutter run

[✓] Flutter (Channel master, 2.6.0-12.0.pre.758, on macOS 11.6 20G165 darwin-x64, locale en-US)
    • Flutter version 2.6.0-12.0.pre.758 at /Users/m/Projects/flutter
    • Upstream repository git@github.com:jmagman/flutter.git
    • Framework revision 570e39d38b (30 hours ago), 2021-11-19 03:03:04 +0900
    • Engine revision a3ef1d5351
    • Dart version 2.16.0 (build 2.16.0-20.0.dev)
    • DevTools version 2.8.0

Bisected to https://github.com/flutter/engine/pull/29281 @luckysmg @gaaclarke

When the keyboard is dismissed the finished BOOL passed to the completion block -[UIView animateWithDuration:animations: completion:] is NO, so -[FlutterViewController ensureViewportMetricsIsCorrect] isn't called before the FlutterViewController view reappears.
Calling -ensureViewportMetricsIsCorrect when finished is NO seems to resolve this.
https://github.com/flutter/engine/blob/485b37cda2b25a92bf6db5dc2fe9407fcb2fa3d4/shell/platform/darwin/ios/framework/Source/FlutterViewController.mm#L1207-L1208
-          [self ensureViewportMetricsIsCorrect];
         }
+        [self ensureViewportMetricsIsCorrect];

I will work on a test for this on Monday.

When the keyboard dismiss ，the BOOL should be true
发自我的iPhone
------------------ Original ------------------
From: Jenn Magder @.>
Date: Sat,Nov 20,2021 10:48 AM
To: flutter/flutter @.>
Cc: WenJingRui @.>, Mention @.>
Subject: Re: [flutter/flutter] Native iOS screen shows keyboard, underlyingFlutter view moves text up for keyboard, doesn't reset when keyboard/nativescreen dismissed (Issue #93944)
When the keyboard is dismissed the finished BOOL passed to the completion block -[UIView animateWithDuration:animations: completion:] is NO, so -[FlutterViewController ensureViewportMetricsIsCorrect] isn't called before the FlutterViewController view reappears.
Calling -ensureViewportMetricsIsCorrect when finished is NO seems to resolve this.
https://github.com/flutter/engine/blob/485b37cda2b25a92bf6db5dc2fe9407fcb2fa3d4/shell/platform/darwin/ios/framework/Source/FlutterViewController.mm#L1207-L1208

     [self ensureViewportMetricsIsCorrect];          } +        [self ensureViewportMetricsIsCorrect];

I will work on a test for this on Monday.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.

When the keyboard dismiss ，the BOOL should be true

I stepped through it, in this scenario when the keyboard dismisses, it's NO.

Got it，I will take a look

I have tried your code and move the ensureViewportMetricsIsCorrect  outside the condition judgement like below:
completion:^(BOOL finished) {
        if (self.displayLink == currentDisplayLink) {
          [self invalidateDisplayLink];
        }
      [self removeKeyboardAnimationView];
      [self ensureViewportMetricsIsCorrect];
      }];

The problem seems to resolve.
https://user-images.githubusercontent.com/49340347/142716018-030a9260-e4f5-406c-bba3-3a76c663b8c9.MP4
But when I switch the keyboard very quickly,it will quickly jump one frame.The reason I wrote  ensureViewportMetricsIsCorrect  in the finshed condition is that: When user switch keyboard very quickly,The open animation is not finshed and the close animation is about to start,if we still call ensureViewportMetricsIsCorrect this time, it will jump to the end position,and move with CADisplayLink callback later.It will leads a jump...Here is the video...
https://user-images.githubusercontent.com/49340347/142716025-b975a953-e032-414f-a320-b3edab98a5c2.MOV

Fixed by https://github.com/flutter/engine/pull/29862


[Feature] Allow viewing diff without entering password

I stumbled upon the project a few days ago and finally got around to deploying it.
I'd love to be able to allow viewing the diff link without putting in a password (for example, sending a notification to a Discord announcement channel where anyone could see the diff but not change settings)
For now I'm making it work with BasicAuth with Traefik in from of the instance but a simpler solution would be nice.

In theory this is a one-line change, but not sure what exactly (if anything) can be changed from the diff page @dgtlmoon ?

@dtomlinson91 i really dont think this is a one-line change.. not to be integrated properly, you are ofcourse welcome to fork your own hack..

I've sort of seen a few use cases where this would be pretty handy recently, sometimes I want to send the diff to a friend or colleague but i dont want to give them access to my list, and I also want to be sure they are looking at the right 'snapshot'
I can think it needs a few bits of functionality

Provide a default compare-date in the URL when sharing
Maybe the token in the URL can be a hash of the URL and the install UUID
Check the token is valid when site is using a password

This is the only thing that is missing for me in this SW. I have multiple family members that are interested in being notified about changes in certain websites, but I do not want them to have full access to mess with the settings or see my plaintext passwords for email notifications.

A solution should be closer, looks like we can jump on the RSS viewer token, which operates the same way
https://github.com/dgtlmoon/changedetection.io/blob/17511d0d7d56bb840d5c6511cd4a5ce582ac5455/changedetectionio/__init__.py#L244

I guess it also needs the token added to the URL of the watch in the notification.. however it means the same token could be used to view other watches.. although its a UUID so its hard to guess

Another idea is some settings that could be

Allow diff access when password is enabled

To anyone/open
To each diff page with access token in URL

@i-am-gizm0 @mzltest @jtagcat @dtomlinson91  now merged into the latest build

@raqua also


No popup menu shows up

I would like to view emoji popup menu as depicted in the gif inside readme file, but it does not show up.
I'm on Ubuntu Linux 14.04, with Neovim 0.3: are there any prerequisites to make it work?
Thanks

This github-emoji source is defined in https://github.com/ncm2/ncm2-github/blob/master/autoload/ncm2_github.vim#L129
To force it on any filetype, you could use call ncm2#override_source("github-emoji",  {"scope": []})


Escaping special characters breaks --set array syntax.

The change merged in #136 breaks setting arrays.  As per the helm documentation:
--set name={a, b, c} translates to:
name:
  - a
  - b
  - c

Also, as far as I can we don't absolutely need this feature because you can just add "\\" in front of special characters. Like this:
    set:
    - name: scalar
      value: "item1\\,item2"

Example:
--- #chart template
apiVersion: v1
kind: ConfigMap
metadata:
  name: arrtest
data:
  arrtest: |
    {{- range .Values.array }}
    {{ . }}
    {{- end}}

--- #helmfile
releases:
  - name: test
    chart: ./arrtest
    set:
    - name: array
      value: "{item1,item2}"

Output:
/usr/local/bin/helmfile_darwin_amd64_0_15_0 sync --args "--dry-run --debug"
exec: helm repo update
Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "stable" chart repository
Update Complete. ⎈ Happy Helming!⎈
exec: helm dependency update /tmp/test_chart/arrtest
No requirements found in /tmp/test_chart/arrtest/charts.
exec: helm upgrade --install --reset-values test /tmp/test_chart/arrtest --set array=\{item1\,item2\} --dry-run --debug
[debug] Created tunnel using local port: '53227'

[debug] SERVER: "<IP_ADDRESS>:53227"

Error: UPGRADE FAILED: render error in "arrtest/templates/arrtest.yaml": template: arrtest/templates/arrtest.yaml:8:21: executing "arrtest/templates/arrtest.yaml" at <.Values.array>: range can't iterate over {item1,item2}
err: exit status 1

@teejaded Thanks for the feedback!
You are correct. And thanks to everyone's feedback including
this PR, my understanding is now that we should avoid relying on --set at
all.
Helmfile recently introduced inline values in values: key(#139). The usage is
basically same as the former --set, but it doesn't suffer from this escaping issue. Would you
mind trying it?
Also, probably we should deprecate the set: key asap not to confuse
people?

I can confirm that inline values work for my personal use cases.  Sorry for the delay, it took me a while to debug the templating I used to DRY things up.
I'm not sure how someone might replace a single index in an array without --set.  I'm fairly sure it's the only way since arrays replace instead of merge in yaml files.

@teejaded Good point! Thanks for pointing it out. Then, how about leaving set: as-is? To be extra clear, we don't need to revert #136, right?
Also, it would be nicer to have a clear documentation that says set: is mainly for replacing a single index in an array.

Also: Do we still need setString:(#119 ) to replace a single index in an array while forcing a string value? cc/ @osterman

Okay so how about:
set:
  someArray[0]:
    - 1
    - 2
    - 3
  someArrayLikeString[0]: 1,2,3

to be translated to:
--set someArray[0]='{1,2,3},someArrayLikeString[0]=1\,2\,3'

This way, users would never be forced to deal with escaping.

In #207, I decided to stick with the current set: configuration syntax in the meantime, to keep feature parity with helm with least effort.
So, this issue is going to be resolved by adding support for setting an array as:
set:
- name: someArray[0]
  array:
  - 1
  - 2
  - 3


Enter VR button not always shown for Vive/Rift

This is probably a race condition, but when it doesn't show, I've been able to get it to show by using the "[x] Disable Cache" option in the Network tab in the Chrome Debugger.

I found that i can ensure the VR button to show consistently by pubishing
the graph (from edit).
Otherwise would not show when opening graph from user page.
On May 3, 2016 6:49 AM, "Jaakko Manninen"<EMAIL_ADDRESS>wrote:

This is probably a race condition, but when it doesn't show, I've been
able to get it to show by using the "[x] Disable Cache" option in the
Network tab in the Chrome Debugger.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub
https://github.com/vizorvr/vizor/issues/1616

@eric-schleicher I'm unable to reproduce this anymore. Are you?

Sorry this slipped by unnoticed.   Will try again.
On May 19, 2016 11:31 AM, "Jaakko Manninen"<EMAIL_ADDRESS>wrote:

Closed #1616 https://github.com/vizorvr/vizor/issues/1616.
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/vizorvr/vizor/issues/1616#event-666204451

Woot!
On Oct 13, 2016 6:30 PM, "Jaakko Manninen"<EMAIL_ADDRESS>wrote:

Closed #1616 https://github.com/vizorvr/vizor/issues/1616.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/vizorvr/vizor/issues/1616#event-823377251, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AH4Ql3vzX714XeU5goBzVuYO4uUlbi0dks5qzts-gaJpZM4IWO9k
.


[SPARK-11102] [SQL] Uninformative exception when specifing non-exist …

…input for JSON data source
Here's the exception after this patch
scala> val people = sqlContext.read.json("/Users/hadoop/github/spark/examples/src/main/resources/people.json")
15/10/16 07:41:10 INFO JSONRelation: Listing hdfs://<IP_ADDRESS>:9000/Users/jzhang/github/spark/examples/src/main/resources/users.parquet on driver
java.lang.RuntimeException: Input paths do not exist or are empty directories, Input Paths=hdfs://<IP_ADDRESS>:9000/Users/hadoop/github/spark/examples/src/main/resources/people.json
	at org.apache.spark.sql.execution.datasources.json.JSONRelation.org$apache$spark$sql$execution$datasources$json$JSONRelation$$createBaseRdd(JSONRelation.scala:91)
	at org.apache.spark.sql.execution.datasources.json.JSONRelation$$anonfun$6$$anonfun$apply$1.apply(JSONRelation.scala:109)
	at org.apache.spark.sql.execution.datasources.json.JSONRelation$$anonfun$6$$anonfun$apply$1.apply(JSONRelation.scala:109)
	at scala.Option.getOrElse(Option.scala:120)
	at org.apache.spark.sql.execution.datasources.json.JSONRelation$$anonfun$6.apply(JSONRelation.scala:109)
	at org.apache.spark.sql.execution.datasources.json.JSONRelation$$anonfun$6.apply(JSONRelation.scala:103)
	at scala.Option.getOrElse(Option.scala:120)
	at org.apache.spark.sql.execution.datasources.json.JSONRelation.dataSchema$lzycompute(JSONRelation.scala:103)
	at org.apache.spark.sql.execution.datasources.json.JSONRelation.dataSchema(JSONRelation.scala:102)
	at org.apache.spark.sql.sources.HadoopFsRelation.schema$lzycompute(interfaces.scala:561)
	at org.apache.spark.sql.sources.HadoopFsRelation.schema(interfaces.scala:560)
	at org.apache.spark.sql.execution.datasources.LogicalRelation.<init>(LogicalRelation.scala:37)
	at org.apache.spark.sql.DataFrameReader.load(DataFrameReader.scala:123)
	at org.apache.spark.sql.DataFrameReader.load(DataFrameReader.scala:107)
	at org.apache.spark.sql.DataFrameReader.json(DataFrameReader.scala:222)
	at $iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC.<init>(<console>:19)
	at $iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC.<init>(<console>:24)
	at $iwC$$iwC$$iwC$$iwC$$iwC$$iwC.<init>(<console>:26)
	at $iwC$$iwC$$iwC$$iwC$$iwC.<init>(<console>:28)
	at $iwC$$iwC$$iwC$$iwC.<init>(<console>:30)
	at $iwC$$iwC$$iwC.<init>(<console>:32)
	at $iwC$$iwC.<init>(<console>:34)
	at $iwC.<init>(<console>:36)
	at <init>(<console>:38)
	at .<init>(<console>:42)
	at .<clinit>(<console>)
	at .<init>(<console>:7)
	at .<clinit>(<console>)

Merged build triggered.

Merged build started.

Test build #43817 has started for   PR 9142 at commit 312cbe2.

Test build #43817 has finished for   PR 9142 at commit 312cbe2.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/43817/
Test FAILed.

@zjffdu are you able to update this PR?

It looks like this PR and #8899 are trying to solve the same issue. I'm going to link those JIRA tickets as duplicates.

Close this PR as it is a duplicate of #8899

@zjffdu can you reopen this?

Merged build triggered.

Merged build started.

Test build #44059 has started for PR 9142 at commit 312cbe2.

Test build #44059 has finished for PR 9142 at commit 312cbe2.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/44059/
Test FAILed.

Merged build triggered.

Merged build started.

Test build #44136 has started for PR 9142 at commit a165cb4.

Test build #44136 has finished for PR 9142 at commit a165cb4.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/44136/
Test FAILed.

It's corrupted with other commits after I rebase, close it and will create another PR

Hey, does this support hadoop Globs and Wildcards? For which release this has been fixed? I guess 1.6, right?

I just upgraded to to hadoop 2.6.4 and Spark 1.6 and I still get :
java.io.IOException: No input paths specified in job
	at org.apache.hadoop.mapred.FileInputFormat.listStatus(FileInputFormat.java:201)
	at org.apache.hadoop.mapred.FileInputFormat.getSplits(FileInputFormat.java:313)
	at org.apache.spark.rdd.HadoopRDD.getPartitions(HadoopRDD.scala:199)
	at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:239)

I do :
sqlContext.read.json("/mnt/views-p/base/2016/01/*/*-xyz.json").rdd


dts: bindings: Add Pmod connector GPIO nexus

Add a GPIO nexus binding for Pmod interface connectors. This commit also includes a header file with macros that map signal names in the Pmod specification to the corresponding indices in the GPIO nexus, meant for use in devicetree files.
There are multiple boards in the tree sporting Pmod connectors where this binding could be useful. With the right GPIO mapping nodes and pinctrl nodes added to the board definitions it becomes easy to set up the devicetree for Pmod peripherals. At Elektronikutvecklingsbyrån we already use this with some in-house boards for prototyping.
Example:
&spi3 {
    status = "okay";

    cs-gpios = <&pmod2 PMOD_SPI_CS GPIO_ACTIVE_LOW>;
    pinctrl-0 = <&spi3_pmod2_default>;
    pinctrl-1 = <&spi3_pmod2_sleep>;
    pinctrl-names = "default", "sleep";

    sensor@0 { /* ... */ };
};

To provide additional arguments for why this will be useful, the following boards all have PMOD connectors:
imxrt685_evk
lpcxpresso55s28
dragino_nbsn95
lpcxpresso55s16
lpcxpresso55s16
lpcxpresso51u68
lpcxpresso55s69
cy8ckit_062_wifi_bt
lpcxpresso55s36
lpcxpresso55s36
lpcxpresso54114
cy8ckit_062_ble
dragino_lsn50
stm32l496g_disco
stm32l562e_dk
stm32h735g_disco
lpcxpresso55s06
lpcxpresso55s06
mimxrt595_evk
b_l4s5i_iot01a

I made the requested change of name and added SCL/SDA/MOSI/MISO/SCK signal defines that I had initially omitted since they would normally not be used with GPIO nexus, but I figure they can be used in a pinch with a bit-banged bus driver.
I also added Pmod connectors to two boards but unfortunately I don't have either of them on hand to verify the pinout,  so if that's a requirement I will have to order some or ask assistance of someone.

I made the requested change of name and added SCL/SDA/MOSI/MISO/SCK signal defines that I had initially omitted since they would normally not be used with GPIO nexus, but I figure they can be used in a pinch with a bit-banged bus driver.
I also added Pmod connectors to two boards but unfortunately I don't have either of them on hand to verify the pinout, so if that's a requirement I will have to order some or ask assistance of someone.

I don't get it. If you do not have any in-tree board with a Pmod connector, how come you are adding a binding for it upstream?

@henrikbrixandersen Thanks for approving. This dropped off my radar, sorry for not replying sooner.

I don't get it. If you do not have any in-tree board with a Pmod connector, how come you are adding a binding for it upstream?

We have out-of-tree boards using it and we think it's pretty great for rapidly prototyping new hardware designs, and we enjoy sharing the tools we build and use. It's a topic we've been thinking about writing a blog post about, so we're in the works of releasing an open-hardware board that really goes all in on Pmod.

We have out-of-tree boards using it and we think it's pretty great for rapidly prototyping new hardware designs, and we enjoy sharing the tools we build and use. It's a topic we've been thinking about writing a blog post about, so we're in the works of releasing an open-hardware board that really goes all in on Pmod.

Interesting. I will look forward to hearing more about that.
The reason we need in-tree users is to ensure we cover this addition in CI and not just let it sit there to bitrot (even if it is just a DTS binding).


Fix preemptive TileJSON loading

Fixes #10342.
We cannot leave the tile IDLE. That causes the tile queue not to make room for other tiles that need to be loaded. By setting the tile state to EMPTY, we now tell the queue that there is nothing to do with the tile.

Am I allowed to approve this PR?


Allow a child selector for the handle

This makes it possible to select a handle based on a class name inside the
resized component.

Not sure I understand why you would want to limit your selector like this. You can already do what you are asking by using a full DOM selector, so why make things more complicated by having more confusing syntax to provide the selector?
Also unless I don't understand the code right it looks like you are using .find() which will limit you to the child scope - what if you want a selector outside of the child scope?

@RickStrahl
There is no limitation at all. .find() is only used when the selector is prepended by a > (as I explained in the readme).
You cannot do that for several elements (like in your example with table columns) without using IDs. See the changes in the tablecolumns plugin. It is not necessary to ask for the selector in the drag event as we can obtain this information right in the beginning when setting up the resizable. Please show me the global selector that would work for the table columns plugin if I'm missing something, but I guess the lack of this selector made you implement the plugin like this (with the drag event).
I was using this syntax as its similar to css and especially scss where you can prepend a selector with > in a sub-style like
.foo {
  > .bar {
  }
}

is equal to css .foo > .bar.
I was also thinking about an option like handleIsChild or so which enables to usage of .find() which avoids a special syntax. Do you think thats better?

@RickStrahl are you still onto this?

Ok finally had a chance to take a look at this and this looks good. I didn't understand exactly what you meant initially and this makes sense. Using the> relatative syntax might prove useful for other stuff as well.
Thanks.

Glad I could help


Explain experimental/deprecated from users perspective.

Add explanations similar to: https://beam.apache.org/documentation/sdks/javadoc/2.3.0/org/apache/beam/sdk/annotations/Experimental.html

R: @udim


no detection of library if class and module name are different

The following library inclusion gives "import file not found..." in pycharm.
testcase.robot:
*** Settings ***
Library             module.foo
module.py:
class foo:
def keyword_implementation(self):
pass

dup of i think #65 so fixed in #110


Peer-to-peer code review 24.12.2021

Hello, Yuriy!
Your code is really good and your application is really nice!
Kindly,
Your Morning session team

Thanks.


Don't restrict reading Options from YamlObjects

The previous readField implementation was expecting to read Option values always from YamlObjects. I believe that shouldn't be enforced. This change avoids deserialization errors in cases the provided YamlValue isn't an YamlObject.
This allows, for instance, to deserialize an empty YAML document into a product with all optional fields.

This fixes #1.

Both spray-json and this library require that case classes are always represented as objects, even if they have no fields at all (see jsonFormat0). Semantically, I believe it is different to have an optional case class field and a non-optional case class field whose fields are all optional and the default protocols should make that distinction (there is always a way to override that behavior). That said, the message that was shown was clearly misleading and it should be corrected.
If you still want to merge this nonetheless, you need to find a solution for this case at least:
scala> import net.jcazevedo.moultingyaml._
import net.jcazevedo.moultingyaml._

scala> import net.jcazevedo.moultingyaml.DefaultYamlProtocol._
import net.jcazevedo.moultingyaml.DefaultYamlProtocol._

scala> case class Number(n: Option[Int])
defined class Number

scala> implicit val jf = yamlFormat1(Number)
jf: net.jcazevedo.moultingyaml.YamlFormat[Number] = net.jcazevedo.moultingyaml.ProductFormats$$anon$8@8f00c3f

scala> "Hello world".parseYaml.convertTo[Number]
res0: Number = Number(None)

I think it makes sense to allow empty representations of objects in the document root, since we allow it deeper in the tree, i.e.:
scala> import net.jcazevedo.moultingyaml._
import net.jcazevedo.moultingyaml._

scala> import net.jcazevedo.moultingyaml.DefaultYamlProtocol._
import net.jcazevedo.moultingyaml.DefaultYamlProtocol._

scala> case class Foo(f: Option[Foo])
defined class Foo

scala> implicit val yf: YamlFormat[Foo] = lazyFormat(yamlFormat1(Foo))
yf: net.jcazevedo.moultingyaml.YamlFormat[Foo] = net.jcazevedo.moultingyaml.AdditionalFormats$$anon$4@ac5bd92

scala> """f:""".parseYaml.convertTo[Foo]
res0: Foo = Foo(None)

b0d8cb0 fixes the issue you pointed out.

In the example above, the objects you are trying to deserialize in the two cases are not the same.
Empty documents are interpreted by SnakeYAML as YamlNull. f: is equal to f: ~, while   is equal to ~.
scala> "f:".parseYaml.convertTo[Foo]
res0: Foo = Foo(None)

In this case, you successfully deserialized a Foo and the null content must "match" an Option[Foo]. It matches, as optionFormat reads and writes None values as YamlNull.
scala> "".parseYaml.convertTo[Foo]
net.jcazevedo.moultingyaml.package$DeserializationException: YamlObject expected in field 'f'
  at net.jcazevedo.moultingyaml.package$.deserializationError(package.scala:23)
  at net.jcazevedo.moultingyaml.ProductFormats$class.readField(ProductFormats.scala:243)
  at net.jcazevedo.moultingyaml.DefaultYamlProtocol$.readField(DefaultYamlProtocol.scala:10)

In this case, the whole document must "match" a Foo. A YamlNull currently can't be parsed as a Foo, regardless of whether it has any mandatory field or not. On the other hand...
scala> "".parseYaml.convertTo[Option[Foo]]
res2: Option[Foo] = None

This is the case that better relates to the first one. You're trying to parse an Option[Foo] but you find an empty document.
Merging this pull request means that YamlNull will be a valid representation of a non-optional case class that has all its fields optional. What do you intend to do with the somewhat special yamlFormat0? It currently fails to deserialize if the YAML is not an object, but it should be treated as its n-ary cousins.

You're right. Sorry for the misleading example.
Besides the issue with yamlFormat0, my example also inadvertently points out that there would be no way to distinguish the representation of a case class with all fields as None and the None representation of an Option of the same case class. Taking that into account, I don't think this should be merged.
Let's leave the empty document representation as YamlNull and improve the deserialization error message in cases where we were expecting an YamlObject and got an YamlNull. I'll do it in a separate pull request. Do you agree?

Yes, I agree. I think it is the most well-defined behavior, though it may be somewhat cumbersome to write a {} in a document for it to be an empty object and not a null.


Missing dependency - System.Runtime.CompilerServices.Unsafe

Since I updated from version 2.0.7 to 3.0.2, this error #649 has since been solved, but another similar one has appeared before, if I can see correctly, it has been fixed #582, you could not add a similar solution to "System.Runtime.CompilerServices .Unsafe" dependency?
Exception type : System.BadImageFormatException
Message : Could not load file or assembly 'System.Runtime.CompilerServices.Unsafe, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. Reference assemblies should not be loaded for execution.  They can only be loaded in the Reflection-only loader context. (Exception from HRESULT: 0x80131058)
StackTrace :    at System.Span`1..ctor(T[] array)
   at MonoTorrent.BEncoding.BEncodedValue.Encode() in C:\Projects\monotorrent\src\MonoTorrent.BEncoding\MonoTorrent.BEncoding\BEncodedValue.cs:line 50
   at MonoTorrent.BEncoding.BEncodedValue.Clone[T](T value) in C:\Projects\monotorrent\src\MonoTorrent.BEncoding\MonoTorrent.BEncoding\BEncodedValue.cs:line 65
   at MonoTorrent.EditableTorrent..ctor(BEncodedDictionary metadata) in C:\Projects\monotorrent\src\MonoTorrent.Client\MonoTorrent\EditableTorrent.cs:line 123
   at MonoTorrent.TorrentCreator..ctor(TorrentType type, Factories factories) in C:\Projects\monotorrent\src\MonoTorrent.Client\MonoTorrent\TorrentCreator.cs:line 178
   at MultiUploader.Helpers.Torrents.<CreateTorrentAsync>d__0.MoveNext()
Exception type : System.BadImageFormatException
Message : Cannot load a reference assembly for execution.

Could you confirm which .net framework version you're targeting for your application?

https://www.nuget.org/packages/MonoTorrent#dependencies-body-tab
According to nuget the dependency has been specified correctly for net472.
Are you using an SDK style project, or a regular project? If it's a regular one then you might have to add those references manually. They should transitively apply if you have an SDK style project though.
I'll double check later, but at first glance it doesn't look obviously broken

This csproj file resulted in the correct set of files in the output directory, and MonoTorrent works as expected:
<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net472</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="MonoTorrent" Version="3.0.2" />
  </ItemGroup>

</Project>

.NET Framework 4.7.2 with VS Installer Project

I'm no expert with the VS Installer project. If it can't cope with regular csproj, then either manually referencing every binary explicitly, or (perhaps?) manually referencing every relevant nuget package, should ensure the correct set of binaries are packaged. From a "NuGet package" perspective, I'm not aware of anything I can do to help in your situation.
If there are package settings/properties i can set to make this work, do let me know though!

I'll close this as the package seems correctly set up. The odds are high the issue lies with the vs installer project, or your usage of it.


PayWithFlutterwave does not work with expo

I'm trying to use this module on a react native expo managed workflow app and it doesn't seem to be working. The button is rendered properly, but when it is pressed, it blurs for a while, in some loading state but doesn't open the webview, after a few seconds it returns to normal and nothing happens, no errors or response.

Hello @jacquesikot apologies for the delayed response, please can you confirm you already had react-native-webview installed? Also, can you share your implementation(remove your public key)?

The package worked previously for me, but now the modal opens & shows invalid link

Hi @phoward38 all right, this is being looked into, will feedback here as I receive updates.

Hi @phoward38 this issue you mentioned has been resolved please try again.


Guests Index Thows 500 Error

Actual Behavior:
When searching for guests, the API results return a 500 error.
Additional Information:
On the API, not the front but the impact is front-end.
Can't replicate on my development machine.

Resolved via API

Still happening...


Bug: Initial load fails

Describe the bug
load fails and webrtc connection does not complete when page is opened for the first time.
To Reproduce
Steps to reproduce the behavior:

open plre site as secret page

Expected behavior

display ploted object

Screenshots

Desktop (please complete the following information):

OS: MacOS
Browser: Chrome

Additional context

Log
Uncaught TypeError: Cannot destructure property 'EditorState' of 'i.libs' as it is undefined.
    at Function.<anonymous> (1df93b7f.20ae8614.js:1:21865)
    at 1df93b7f.20ae8614.js:1:82869
    at 537.a1f928e6.js:1:79172
    at Set.forEach (<anonymous>)
    at t.has.e.<computed> [as changeActive] (537.a1f928e6.js:1:79142)
    at Function.<anonymous> (1df93b7f.20ae8614.js:1:71953)
    at 1df93b7f.20ae8614.js:1:82869
    at 537.a1f928e6.js:1:79172
    at Set.forEach (<anonymous>)
    at t.has.e.<computed> [as connected] (537.a1f928e6.js:1:79142)

WebSocket connection to 'wss://y-webrtc-eu.fly.dev/' failed:

Perhaps changeActive is started before codemirror dynamic import completes.
https://github.com/tseijp/plre/blob/0ef920745aa0778e0b9e32ae366e723c9643b6e1/examples/docs/ui/organisms/hooks/useCodemirror.ts#L92-L99
https://github.com/tseijp/plre/blob/0ef920745aa0778e0b9e32ae366e723c9643b6e1/examples/docs/ui/templates/hooks/useInitStorage.ts#L166-L180


Can we create a record from frameProcessor (record video with a watermark / label)❓

Question
Hi !
Thanks for this awesome lib', but there is a thing I want to do, and I'm not sure that it can answer to :
While recording a video, I want to add variable texts on it (like a label at the bottom).
With frameProcessor, I think I can read my RN states and add a little text box, but it seems to live aside the  recording, not in it...

Does this plugin permit to record a video WITH the labels on the screen ?
Or is there a way to create the mp4 directly from the frameProcessor, that receives the video frame + the RN state and can update each frame with the label box on it ?

Thanks !
EDIT
I'm not sure this question is linked to #526
I'm not trying to do something as advanced as VR, but the author seems to find a way to record video after frames processing
What I tried
No response
VisionCamera Version
2.12.1
Additional information

[ ] I am using Expo
[X] I have read the Troubleshooting Guide
[X] I agree to follow this project's Code of Conduct
[X] I searched for similar questions in the issues page as well as in the discussions page and found none.

Hi!
No, frame processors are currently "read only"/"blackbox", and everything you draw onto the Camera View is not part of the hardware capture pipeline.
This would be possible by simulatneously recording the video as usually (mp4), and then drawing the rendered content (your watermark) into the video before writing it each frame. This is how ARKit (Swift/iOS) does this as well, but it's really really complex.

Hi,
Thanks for the answer,
I take a look at react-native-video-watermark, which basically use (for Android) mp4compose ; it seems to replay the video, and draw a canvas for each frame, applying on it various filters.
In my case, I don't need real time preview, but I need a watermark-like that can change while video running (unlike mp4compose).
It seems that no solution exists at this time :/
That could be a potential awesome feature for this plugin ;)

Hi, maybe you can implement watermark like any image layout inside the video using the ffmpeg library.

Marking this as a duplicate of https://github.com/mrousavy/react-native-vision-camera/issues/724. We are actively working on adding support for write-back frame processors in Vision Camera V3 (the in-progress PR for this functionality can be found at https://github.com/mrousavy/react-native-vision-camera/pull/1198).

@thomas-coldwell , Can u help? I can not install #1198 pull request to check with you


gil_load inside docker has another threading scheme

Setup: WSL2 ubuntu22 over windows 11
In our deployment, we have two options to run gil_load module:

django application running on our laptop
django application running inside containers

The gil module is loaded as part of the application init on a different spawned thread.
The first one works ok. Before we invoke "./manage.py runserver" the application detects only one thread with "threading.active_count()) and continues to load the module and gather gil stats.
The second one detects bunch of other python threads such as:
WriterThread, ReaderThread, PyDBCommandThread, TimeoutThread, CheckAliveThread.
Those threads seems to pop up only when runserver django command is executed
The following code demonstrated this. This is a entrypoint script that is executed as part of the django boot up. The code that prints the number of active threads is also executed from within the django app. In the comments I am writing down the output, number of detected threads, for each command:
export LD_PRELOAD=$(python3 -c "import gil_load; print(gil_load.preload_path)"):$LD_PRELOAD # LD_PRELOAD is set OK! echo $(python3 -c "import threading; print(threading.active_count())") # shows one thread only, OK python manage.py runserver <IP_ADDRESS>:8000 # shows 6 threads when one of the inner django application initalizes the gil module, Not good
PS:
This issue also happens when gunicorn is used. instead of django runserver.
Therefore, the gil library probably needs to be written for docker containers.

As a workaround:

Can we add a flag that ignore the thread detection? I assume it will affect the gil load stats.

Is the problem that by the time your code calls  gil_load.init(), the other threads already exist and so it raises an exception?
Unfortunately, the way gil_load.init() works, it needs a guarantee that no other threads are running. This is because it acquires and releases.the GIL and inspects memory to see what changed, in order to locate the GIL in memory. If other threads are running, they may change other contents of memory that may mess with this.
A workaround might be to execute gil_load.init() as part of interpreter startup somehow. For example you could add a .pth file to site-packages that imports gil_load.and runs init(), perhaps conditional on some environment variable being set so that it doesn't affect all Python processes. Another method could be to make a sitecustomize.py, or however that works.
Yet another method could be to find out how the runserver launches itself, and make a wrapper script around it that calls gil_load.init() before running the runserver with runpy or similar, or just importing and calling its main() function if it has one.

Unfortunately, the way gil_load.init() works, it needs a guarantee that no other threads are running. This is because it acquires and releases the GIL and inspects memory to see what changed, in order to locate the GIL in memory. If other threads are running, they may change other contents of memory that may mess with this.

If I understand you, this may affect accuracy of the gil stats. but we may be still interested to acquire this data. it may be accurate enough to use that data regardless. That's why this flag may be even experimental if needed

It's not that it would affect accuracy in some quantitative way, it's that gil_load.init() will probabilistically fail if other threads are running. It may either fail to locate the GIL, or it will see some other piece of unrelated memory changed, and it will mistake that for the GIL.
I recommend the approach of hooking gil_load.init() into interpreter startup with a .pth file if you can't ensure other threads won't be running before your application code starts.


last ver MPQ file replacement failed

I am glad that the new version has fixed the issue of the replacement prompt box being too large
But new problems have arisen
He said the file already exists and cannot be created. In theory, I don't need to create it, but just replace it. He didn't even ask for replacement, so he couldn't create it directly

Also, may I ask if cascview can support remakes of Warcraft 1 and 2
If there is a plan to update, I would like to know the approximate time to prepare a new Chinese text in advance

I believe that replacing any map will prompt like this. I encountered this when replacing AI and J scripts

Battle.net cannot be downloaded for free I didn't expect you not to make a purchase
If you can register
try -- I'm not sure if there's a charge
https://www.kunkunwu.com/post/5491.html
https://www.kunkunwu.com/post/5490.html

I fixed the replace dialog in MPQ Editor. However, there are known issues in displaying message box that I still need to fix.

I added support for Warcraft I Remastered and Warcraft II Remastered to CascView. Enjoy.


Limit tests

Fixes deis/workflow-e2e#196
Fixes deis/workflow-e2e#199
Fixes deis/workflow-e2e#200
Fixes deis/workflow-e2e#201

One minor thing I noticed, otherwise LGTM.

Nice catch @Joshua-Anderson. I'm going to spend a bit of time investigating why that was passing as it was written. But fixed.

I'm thinking it was passing because the SDK returned 1 item but the count on the object was set to two. The code doesn't look at the requested limit, it only looks at the effective limits (returned items vs total count).

Could you possibly add limits tests for KeysList()?

I also noticed that we still need tests for  limits on app.Logs(). If you want to want to wait and do these in a different PR that's perfectly fine as well.

Thanks @Joshua-Anderson. Somehow missed the keys test. Added.

After my changes to codecov, you need to rebase. Sorry!

Current coverage is 24.85% (diff: 38.81%)

No coverage report found for master at 05892a7.

Powered by Codecov. Last update 05892a7...3554758


Catch up

Comparing local main w/ origin w/ this pull request, in other words I messed something up.


Open-box animation added

Title and Issue number

I have added the project .Can it be merged now?
Close #4795

Checklist:

[X] I have mentioned the issue number in my Pull Request.
[] I have commented my code, particularly in hard-to-understand areas
[] I have created a helpful and easy to understand README.md

@MohitGupta121 ,@TusharKesarwani Please review my PR.