Comply to Swift 4.1

Update flatMap to compactMap

Awesome, thank you 🙌

No Worries
On Sun, Apr 15, 2018 at 8:15 PM, Martin Rechsteiner <
<EMAIL_ADDRESS>wrote:

Awesome, thank you 🙌
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/rechsteiner/Parchment/pull/171#issuecomment-381401992,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AEYtD9PFbinMFaU_7e3FDN-P_D7xSZyBks5tozn7gaJpZM4TVASh
.

--
Best Regards,
Jonathan Ng
Notice: The information contained in this communication is intended solely
for the use of the individual or entity to whom it is addressed and others
authorized to receive it. It may contain confidential or legally privileged
information. If you are not the intended recipient you are hereby notified
that any disclosure, copying, distribution or taking any action in reliance
on the contents of this information is strictly prohibited and may be
unlawful. If you have received this communication in error, please notify
us immediately by responding to this email and then delete it from your
system.


Custom favicon. Close #80.

cc @ForNeVeR

That's the best Blue Cogwheel around here! Thank you!

@ForNeVeR do you approve this shit?

I was waiting for Travis.


Fix typescript types for typescript 2.4

Typescript does a lot more analysis than previous versions. This (1) exposed some bugs in the types and (2) caused the compiler to run out of memory and crash. The crash, and many of the new checks, can be avoided by passing --noStrictGenericChecks but users of immutable shouldn't be required to do that.
Improved Checks

The return type of Stack.flatMap's mapper was incorrectly M but should be Iterable<M>.
Set and related types should extend Collection<never, T> not Collection<T, T>. That's because Collection.map (and flatMap and filter) assert that the returned collection has the same key type and a different value type. But Set.map returns Set<T>, which, if it extends Collection<T, T> changes both the key type and value type. Changing to Set<T> extends Collection<never, T> means that the key type never changes.

Workarounds

Map and related types have a flatMap method that is not a valid Collection.flatMap implementation because it changes the key type and value type, much like Set (see #1283). However, here the implementation and the type are wrong, so I worked around the problem by letting Map.flatMap return Map<any, any> instead of Map<KM, VM> (the previous type) or Map<K, M> (a valid subtype of Collection.flatMap).
(Fixed in Typescript 2.5.3) In Typescript 2.4, the compiler spends too much time and memory checking the extends relationships between Collection and its subtypes. For example, OrderedMap extends Map extends Collection.Keyed extends Collection. The worst offender is toSeq since it refers to a subtype, Seq, which is then extended multiple times by further subtypes. This makes checking goes around in circles multiple times for each subtype. I chose to rely on upcoming optimisations in Typescript 2.5.3 that will short-circuit most of these cycles.

Both workarounds have multiple possible fixes; for example, workaround (1) could instead declare two overloads of flatMap, one with the Collection-compatible type and one with the current type. Workaround (2) could delete toSeq entirely from Collection, or change the return type of toSeq to any in Collection, or change the return type of toSeq in subtypes of Collection.

We noticed the issue with Set and map, flatMap as well. (See #879)

The failing tests points out an additional bug with the definition of Set.has, which for other collections checks the key but for sets checks for the value.
I'm still working on running tests locally, but I don't know how to copy type-definitions/Immutable.d.ts to dist/immutable-nonambient.d.ts, which is what the tests refer to. I poked around the gulpfile and didn't find anything? Is this manual?

Never mind, I eventually got it by running through the tasks in package.json

this is could be totally the wrong place to report this (or maybe not?) but I tried to port my immutables‑using typescript app to<EMAIL_ADDRESS>and the immutables code from this pull request, and I get an unexpected behaviour.
See my commit:
https://github.com/emmanueltouzery/ng-typeview/commit/86ab9e6a7cdb5a920ed778d45be4e52b203964c6
I would have thought the extra cast I added to make it build wouldn't be needed? Without it, it appears to infer type {} for Map<string,string>.get(string), instead of string|undefined and I have no idea why.
That cast was not needed with tsc 2.3 and the previous immutables TS bindings.

@emmanueltouzery the problem is that controllerNameToFilename: Map<{}, {}>. If you manually annotate it as Map<string, string>, the compiler error goes away. I'll see why the call to the map constructor doesn't infer the right type arguments.

I tracked the problem back to the preceding declaration:
    const controllerNameToFilename =
        Map(
            viewInfos
                .filter(vi => vi.controllerName.isSome())
			          // JS files are not going to have a scope interface
			          // definition so they're not helpful. Also, we can
			          // get twice the same file: original TS & compiled JS.
			          // => keep only the original TS in that case.
			          .filter(vi => vi.fileName.toLowerCase().endsWith(".ts"))
                .map(vi => [vi.controllerName.some(), vi.fileName] as [string, string]));

Notice that I added as [string, string] there at the end. Without it, the return type is inferred as string[], and the wrong overload of map gets chosen, and controllerNameToFilename gets the type Map<{}, {}> instead of Map<string, string>. I'm not sure why this worked in previous versions of immutable, though.

Happy to see work here, but some feedback:

I think all of the changes with key: never aren't correct where previously they were correct.
Ideally we can avoid returning any types. What we did for better flow support was just add explicit overrides of methods on the final concrete collection types.

Here's an example of where code goes wrong without key: never:
let nset = Immutable.Set.of(1,2,3,4)
let ncol: Immutable.Collection<number, number> = nset;
nset.map(v => v.toString()).map((v, k) => k.length);
ncol.map(v => v.toString()).map((v, k) => k.length);

The last two lines produces Set { 1 } at runtime, but the last line has a type error because map(v => v.toString()) produces a Collection<number, string> not Collection<string, string>, so the types say that k: number in map((v, k) => k.length)
With key: never you are prevented from using the key with sets. You have to use the value instead. Both lines have a type error and have to change the second map to map(v => v.length).
I understand this is a break for Typescript 2.3 code that uses the keys of a Set today, so if you have guidance I would appreciate it. I'm still thinking about the second case; there might be a way to avoid breaks there.

@sandersn thanks for the example, I think perhaps this would be better solved by a more specific type for map() that's aware of a new key type as well on Set (and SeqSet) rather than blocking the use of keys

OK, I restored the original behaviour for subclasses. I had to do this by adding overloads in the base classes (Seq, Collection, etc) to account for the inconsistent types coming from Set and Dictionary. Instead of a single more specific type, this allows overrides to override one of two different types.
Most of these overloads are reasonable, except for Collection.map, because Set.map has identical parameter types to Collection.map, just a different return type. So the compiler can't distinguish them and always chooses the first one. There I used a hack suggested by @DanielRosenwasser, which is a variadic function (...args: never[]): any. Anything is assignable to this, but it won't be called by mistake because values with type never are so rare.

Also, overloads are not inherited, so only uses of the base Collection interface will see the bogus overload. Most people will only ever see the methods that go with the collection type they're using.

Thanks for your help on this. I amended a few changes in the process of merging this, please let me know if any follow ups are necessary

Nope, looks good. I forgot about the test changes for Set that no longer needed to be changed.


Bug in ScanPatternGenerator.cs

https://github.com/Field-Robotics-Japan/UnitySensors/blob/ebc71051b1c649f177f746d49b1da12cb5d240c4/Assets/UnitySensors/Editor/LiDAR/ScanPatternGenerator.cs#L174-L183
Loop variables "azimuth" is rewritten in the for statement. (Line 176)
This will cause an error when "_direction" value is set to "Direction.CCW".

Fixed in #113


Support reading&exporting Indoor cycling activity into CSV

Implement exporting indoor cycling activities to CSV files.
The structure of 0x40 tag is as follows:
typedef struct
{
    uint32_t timestamp;
    float    distance_meters;
    uint16_t calories;
    uint16_t cycling_cadence;
} INDOOR_CYCLING_RECORD;

Related to #108 (TCX would be a second step)
Example test file with heart rate & cadence data:
Indoor_22-29-42.ttbin.zip

Awesome! Thanks.


[review] Catch an uncaught exception in remote-process's main

Errors thrown by the name/service resolver were not properly caught and were
escaping main().
Wrap resolution and connection in a try-catch block and unify error detection
in both steps (one was using an output argument, the other was using
exceptions).
@tcahuzax @krocard Please review.

This pull request is now managed with CodeReviewHub. Refresh.

:+1:

:shipit:


Examples Are Missing JS File

Hi all,
Maybe I've lost my marbles, but all the 'samples' are missing the following link: ../../dist/Chart.bundle.js
Thus, they cannot be sampled...
Edit: I just found the live link on your main webpage, perhaps the samples can be refactored to this instead of including the file...? https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.1.6/Chart.bundle.js
BR,
Rich

Hi,
I just downloaded the latest release zip (https://github.com/chartjs/Chart.js/archive/v2.1.6.zip) unpacked it locally and checked for example "Chart.js-2.1.6/samples/bar.html" and in this context the links work fine.
I think the samples are not indented to work if you just clone the repo.
A refactoring like you suggested would cause changes to the sample for every new release.
BR,
Michael

Hi Michael,
Thanks, I see the other link now. I'm sure others have probably had this issue and moved on, so perhaps it's something you guys want to consider addressing, either way, thanks for the reply.
/Rich

just to leave an official answer here. The reason the sample files don't work during a clone is that we've removed the built files from the repository. We ran into a number of issues with PRs accidentally changing them and in general its not recommended practice to keep built files in source control.
One thing that has been proposed by @tannerlinsley for the samples is to include Chart.js from NPM CDN and always use the latest version: https://npmcdn.com/chart.js/dist/Chart.bundle.min.js As new versions are added, that link will resolve to the latest NPM version

Hi etimberg,
Thanks for elaborating on your reasoning. As for the live CDN link, I agree; that was what I was trying to imply in my first comment, but perhaps I should have been more literal.
/Rich

Rather than using the CDN, you can always run gulp build to build the files into a dist folder.


Remove functional API

Codecov Report

Merging #222 (8150032) into main (3ebac63) will decrease coverage by 0.06%.
The diff coverage is 100.00%.

Additional details and impacted files

@@            Coverage Diff             @@
##             main     #222      +/-   ##
==========================================
- Coverage   89.25%   89.18%   -0.07%
==========================================
  Files          52       52
  Lines        5331     5335       +4
  Branches      549      549
==========================================
  Hits         4758     4758
- Misses        438      441       +3
- Partials      135      136       +1

Impacted Files
Coverage Δ

src/ott/solvers/linear/acceleration.py
96.61% <ø> (ø)

src/ott/solvers/linear/sinkhorn.py
95.63% <ø> (-1.31%)
:arrow_down:

...tt/tools/gaussian_mixture/gaussian_mixture_pair.py
92.30% <100.00%> (+0.30%)
:arrow_up:

src/ott/tools/segment_sinkhorn.py
100.00% <100.00%> (ø)

src/ott/tools/sinkhorn_divergence.py
98.33% <100.00%> (+0.08%)
:arrow_up:


Updated GridView Samples

Description
For the GridView page, I added two samples:

Basic Example that shows extensive source code, including code-behind
Layout example that shows how to increase space between columns/rows as well as setting a max number of items to layout before wrapping.

I also edited the existing sample to improve its functionality (make drag and drop work, eliminate swipe), and edited the sample code to make it more detailed and helpful.
Motivation and Context

This update makes GridView more accessible to new users through the basic sample, as it provides a starting point that users can copy/paste and test on their own. The other new sample provides helpful layout information that may not have been easily found. The overall changes to the code samples will improve users' understanding of how the control works.
How Has This Been Tested?

Manually tested by me, with corner cases for all of the input fields (negative numbers, non-numbers, etc).
Screenshots (if appropriate):
Basic sample:

Layout sample:

Types of changes

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

In dark theme, the item text isn't legible:

In dark theme, the item text isn't legible:

Changed to use BackgroundBaseMediumBrush to better support the shift between light and dark mode.

@anawishnoff - it looks like recent pulls into master has caused merge conflicts. Can you please resolve these conflicts?

@stmoy done!


Updating openshift-enterprise-ansible-operator builder & base images to be consistent with ART

Updating openshift-enterprise-ansible-operator builder & base images to be consistent with ART
Reconciling with https://github.com/openshift/ocp-build-data/tree/f66c03011773dc3755ad874fc691be612914d65f/images/openshift-enterprise-ansible-operator.yml
If you have any questions about this pull request, please reach out to @art-team in the #aos-art coreos slack channel.
Depends on https://github.com/openshift/images/pull/44 . Allow it to merge and then run /test all on this PR.

/close Closing in favor of PR #85

/close


Handling of .terraform.lock.hcl

Will there be any way of upgrading providers' locks in batches?
I mean something that will run terraform init -upgrade for the whole Terragrunt module tree.
Even first generating of .terraform.lock.hcl files is not straightforward and I needed to use terragrunt output-all to make it faster.
Imagine having hundreds of Terragrunt modules in your tree, that's my use case.

I just achieved this yesterday by doing the following:
Add -upgrade flag to all init commands:
terraform {
  extra_arguments "init_args" {
    commands = [
      "init"
    ]

    arguments = [
      "-upgrade",
    ]
  }
}

Then simply run plan on all your modules:
tg plan-all

This will force update all your lock files.

I just achieved this yesterday by doing the following:
Add -upgrade flag to all init commands:
terraform {
  extra_arguments "init_args" {
    commands = [
      "init"
    ]

    arguments = [
      "-upgrade",
    ]
  }
}

Then simply run plan on all your modules:
tg plan-all

This will force update all your lock files.

I achieved it with running output-all, but this is just a workaround and produces unnecessary overhead for getting state file and checking for outputs.
Ideally creating init-all would solve those issues.

I achieved it with running output-all, but this is just a workaround and produces unnecessary overhead for getting state file and checking for outputs.
Ideally creating init-all would solve those issues.

Seems like #492 would solve this, right?

Seems like #492 would solve this, right?

Seems like #492 would solve this, right?

Yes, if it'll ever get done.

Seems like #492 would solve this, right?

Yes, if it'll ever get done.

Hey guys.
I'm just wondering what people are doing around Terragrunt and these 'helpful' new lockfiles. So say you have the structure in terragrunt like;
env/region/stack
./prod/eu-west-1/consume-ami
./nonprod/eu-west-1/consume-ami
./dev/eu-west-1/consume-ami

It would make sense to me that all 3 envs (dev/nonprod/prod) have the same lockfile contents, if you are promoting a release(git tag/commit/etc) through your environments. To do this it seems I'd need to in the first path generate the new .terraform.lock.hcl then manually copy it to the other two environments paths. That seems open to human error especially when we're talking about 100's of stacks and just messy and not very DRY.
I guess ideally it'd be good if .terraform.lock.hcl was outside of the env/region path and bound to all stacks containing the same name, any idea how that would be possible using Terragrunt ?
The other option I thought is in CI during the DEV planb/apply stage we pass the .terraform.lock.hcl file on through the pipeline, but then if you attempt to re-run the same TAG X days later and a new provider downloads results could differ.

Hey guys.
I'm just wondering what people are doing around Terragrunt and these 'helpful' new lockfiles. So say you have the structure in terragrunt like;
env/region/stack
./prod/eu-west-1/consume-ami
./nonprod/eu-west-1/consume-ami
./dev/eu-west-1/consume-ami

It would make sense to me that all 3 envs (dev/nonprod/prod) have the same lockfile contents, if you are promoting a release(git tag/commit/etc) through your environments. To do this it seems I'd need to in the first path generate the new .terraform.lock.hcl then manually copy it to the other two environments paths. That seems open to human error especially when we're talking about 100's of stacks and just messy and not very DRY.
I guess ideally it'd be good if .terraform.lock.hcl was outside of the env/region path and bound to all stacks containing the same name, any idea how that would be possible using Terragrunt ?
The other option I thought is in CI during the DEV planb/apply stage we pass the .terraform.lock.hcl file on through the pipeline, but then if you attempt to re-run the same TAG X days later and a new provider downloads results could differ.

That's not SDLC. First you update it on dev and test if it's ok.
Then you run on staging, test it and then on production.
With lock files you see at any given point in time which specific provider version was used exactly where.

That's not SDLC. First you update it on dev and test if it's ok.
Then you run on staging, test it and then on production.
With lock files you see at any given point in time which specific provider version was used exactly where.

We do that but in a different way. We test it on dev env(lets say feature branch), then if passed we merge+tag the repo and promote the tag upwards, but if we need to manually copy the file to lockfile to ./nonprod/eu-west-1/consume-ami
&& ./dev/eu-west-1/consume-ami then humans will forget/make a mistake and then nonprod/prod could result in different providers in the lockfile (earlier lockfile contents). So it'd be better if all ENV stacks used a single source lockfile so when it passes test in dev env and merged+tagged the other envs references it.

We do that but in a different way. We test it on dev env(lets say feature branch), then if passed we merge+tag the repo and promote the tag upwards, but if we need to manually copy the file to lockfile to ./nonprod/eu-west-1/consume-ami
&& ./dev/eu-west-1/consume-ami then humans will forget/make a mistake and then nonprod/prod could result in different providers in the lockfile (earlier lockfile contents). So it'd be better if all ENV stacks used a single source lockfile so when it passes test in dev env and merged+tagged the other envs references it.

I'm also struggling with the new lockfile. Seems like a similar use case to @eperdeme. For us it's one module, many many implementations of the same module managing a baseline set of resources across all accounts of a given "env" or "stage" (so, all "dev" accounts, for example). The new lockfile is quite painful to update across all of the terragrunt directories, and would basically involve a human or CI process running init for all of them, committing the change, opening a new pr, etc.
The only advantage I can see to the lockfile is the hashes. The versions can already get pinned in the terraform config block. So for now, my workaround is basically just to git-ignore the lockfile. 🤷♂ I also already construct the plugin-cache with known providers. So, pin provider versions, use terraform-bundle to create the plugin-cache with those versions, and host that for the build system. Build system retrieves the bundle, sets up the plugin-cache so only those versions are used/available, runs terragrunt. Also added an after-hook in the terragrunt config to remove .terraform.lock.hcl, to reduce the clutter when I am working locally.
  after_hook "terraform_lock" {
    commands = get_terraform_commands_that_need_locking()
    execute  = ["rm", "-f", "${get_terragrunt_dir()}/.terraform.lock.hcl"]
  }

I'm considering keeping a more central copy of the lockfile in one place in the project, and using a before-hook to copy it into the terragrunt working dir before any command. I'd still remove it from the working dir after, and separately manage updates to that central copy.

I'm also struggling with the new lockfile. Seems like a similar use case to @eperdeme. For us it's one module, many many implementations of the same module managing a baseline set of resources across all accounts of a given "env" or "stage" (so, all "dev" accounts, for example). The new lockfile is quite painful to update across all of the terragrunt directories, and would basically involve a human or CI process running init for all of them, committing the change, opening a new pr, etc.
The only advantage I can see to the lockfile is the hashes. The versions can already get pinned in the terraform config block. So for now, my workaround is basically just to git-ignore the lockfile. 🤷♂ I also already construct the plugin-cache with known providers. So, pin provider versions, use terraform-bundle to create the plugin-cache with those versions, and host that for the build system. Build system retrieves the bundle, sets up the plugin-cache so only those versions are used/available, runs terragrunt. Also added an after-hook in the terragrunt config to remove .terraform.lock.hcl, to reduce the clutter when I am working locally.
  after_hook "terraform_lock" {
    commands = get_terraform_commands_that_need_locking()
    execute  = ["rm", "-f", "${get_terragrunt_dir()}/.terraform.lock.hcl"]
  }

I'm considering keeping a more central copy of the lockfile in one place in the project, and using a before-hook to copy it into the terragrunt working dir before any command. I'd still remove it from the working dir after, and separately manage updates to that central copy.

Thanks for providing more context everyone. A few thoughts:

A single, central lock file for each module doesn't really work as a general-purpose solution, as you may be using different versions of that module in different environments, and each version may have a different lock file.
So I guess for now, the recommended solution is, when updating the version number on a module, you run init, and commit the lock file too. That said, I agree this is a lot of annoying overhead.
I wonder if the lock file should be versioned with the module itself? That is, you create the module in, say, an infrastructure-modules repo, and in that repo, you run init to generate the lock file, and commit it. Then, whenever you use that module with Terragrunt in, say, an infrastructure-live repo, the lock file will be downloaded with the module code. You can then safely ignore the lock file Terragrunt copies for you next to the terragrunt.hcl file; perhaps we can even add a flag to disable that copying behavior?

Thanks for providing more context everyone. A few thoughts:

A single, central lock file for each module doesn't really work as a general-purpose solution, as you may be using different versions of that module in different environments, and each version may have a different lock file.
So I guess for now, the recommended solution is, when updating the version number on a module, you run init, and commit the lock file too. That said, I agree this is a lot of annoying overhead.
I wonder if the lock file should be versioned with the module itself? That is, you create the module in, say, an infrastructure-modules repo, and in that repo, you run init to generate the lock file, and commit it. Then, whenever you use that module with Terragrunt in, say, an infrastructure-live repo, the lock file will be downloaded with the module code. You can then safely ignore the lock file Terragrunt copies for you next to the terragrunt.hcl file; perhaps we can even add a flag to disable that copying behavior?

So I guess for now, the recommended solution is, when updating the version number on a module, you run init, and commit the lock file too. That said, I agree this is a lot of annoying overhead.

I guess I can make script that will run init in each directory with terragrunt.hcl. But having init-all built in would be more elegant solution.

I wonder if the lock file should be versioned with the module itself? That is, you create the module in, say, an infrastructure-modules repo, and in that repo, you run init to generate the lock file, and commit it. Then, whenever you use that module with Terragrunt in, say, an infrastructure-live repo, the lock file will be downloaded with the module code. You can then safely ignore the lock file Terragrunt copies for you next to the terragrunt.hcl file; perhaps we can even add a flag to disable that copying behavior?

It will not work in my case for example. My modules' monorepo uses the newest providers, as there is only terraform validate running in its CI system and they are rarely updated.
But then in live infra repo I'm using version constraints for each module, and they can be different, depending on SDLC environment, type, etc. That way I can promote versions of providers without the need of making releases on modules' monorepo.
Also wouldn't the file be overwritten automatically by Terragrunt if its coming from module's repo?

So I guess for now, the recommended solution is, when updating the version number on a module, you run init, and commit the lock file too. That said, I agree this is a lot of annoying overhead.

I guess I can make script that will run init in each directory with terragrunt.hcl. But having init-all built in would be more elegant solution.

I wonder if the lock file should be versioned with the module itself? That is, you create the module in, say, an infrastructure-modules repo, and in that repo, you run init to generate the lock file, and commit it. Then, whenever you use that module with Terragrunt in, say, an infrastructure-live repo, the lock file will be downloaded with the module code. You can then safely ignore the lock file Terragrunt copies for you next to the terragrunt.hcl file; perhaps we can even add a flag to disable that copying behavior?

It will not work in my case for example. My modules' monorepo uses the newest providers, as there is only terraform validate running in its CI system and they are rarely updated.
But then in live infra repo I'm using version constraints for each module, and they can be different, depending on SDLC environment, type, etc. That way I can promote versions of providers without the need of making releases on modules' monorepo.
Also wouldn't the file be overwritten automatically by Terragrunt if its coming from module's repo?

So I guess for now, the recommended solution is, when updating the version number on a module, you run init, and commit the lock file too. That said, I agree this is a lot of annoying overhead.

I guess I can make script that will run init in each directory with terragrunt.hcl. But having init-all built in would be more elegant solution.

Agreed. PRs welcome!

I wonder if the lock file should be versioned with the module itself? That is, you create the module in, say, an infrastructure-modules repo, and in that repo, you run init to generate the lock file, and commit it. Then, whenever you use that module with Terragrunt in, say, an infrastructure-live repo, the lock file will be downloaded with the module code. You can then safely ignore the lock file Terragrunt copies for you next to the terragrunt.hcl file; perhaps we can even add a flag to disable that copying behavior?

It will not work in my case for example. My modules' monorepo uses the newest providers, as there is only terraform validate running in its CI system and they are rarely updated.
But then in live infra repo I'm using version constraints for each module, and they can be different, depending on SDLC environment, type, etc. That way I can promote versions of providers without the need of making releases on modules' monorepo.

Hm, we typically have all of our automated testing in the modules repo... So bumping provider version numbers there makes a lot more sense to me, as then it goes through the entire test suite. And if that test suite passes, we release a new version of the modules repo to indicate that provider versions were upgraded and tested. The live repo should mostly be to define environments and set environment-specific variables for them. Using live to test out different provider versions seems more risky, no?

Also wouldn't the file be overwritten automatically by Terragrunt if its coming from module's repo?

If you had the lock file checked into the live repo too, then yes, Terragrunt would copy it and overwrite the one from the modules repo. But my point is that you wouldn't check the lock file into your live repo at all.

So I guess for now, the recommended solution is, when updating the version number on a module, you run init, and commit the lock file too. That said, I agree this is a lot of annoying overhead.

I guess I can make script that will run init in each directory with terragrunt.hcl. But having init-all built in would be more elegant solution.

Agreed. PRs welcome!

I wonder if the lock file should be versioned with the module itself? That is, you create the module in, say, an infrastructure-modules repo, and in that repo, you run init to generate the lock file, and commit it. Then, whenever you use that module with Terragrunt in, say, an infrastructure-live repo, the lock file will be downloaded with the module code. You can then safely ignore the lock file Terragrunt copies for you next to the terragrunt.hcl file; perhaps we can even add a flag to disable that copying behavior?

It will not work in my case for example. My modules' monorepo uses the newest providers, as there is only terraform validate running in its CI system and they are rarely updated.
But then in live infra repo I'm using version constraints for each module, and they can be different, depending on SDLC environment, type, etc. That way I can promote versions of providers without the need of making releases on modules' monorepo.

Hm, we typically have all of our automated testing in the modules repo... So bumping provider version numbers there makes a lot more sense to me, as then it goes through the entire test suite. And if that test suite passes, we release a new version of the modules repo to indicate that provider versions were upgraded and tested. The live repo should mostly be to define environments and set environment-specific variables for them. Using live to test out different provider versions seems more risky, no?

Also wouldn't the file be overwritten automatically by Terragrunt if its coming from module's repo?

If you had the lock file checked into the live repo too, then yes, Terragrunt would copy it and overwrite the one from the modules repo. But my point is that you wouldn't check the lock file into your live repo at all.

I guess I can make script that will run init in each directory with terragrunt.hcl. But having init-all built in would be more elegant solution.

I have a PR that implements #492 in https://github.com/gruntwork-io/terragrunt/pull/1520, which should allow you to do init-all by running terragrunt run-all init -upgrade. You can subscribe to that PR to be notified when we merge + release it.

I guess I can make script that will run init in each directory with terragrunt.hcl. But having init-all built in would be more elegant solution.

I have a PR that implements #492 in https://github.com/gruntwork-io/terragrunt/pull/1520, which should allow you to do init-all by running terragrunt run-all init -upgrade. You can subscribe to that PR to be notified when we merge + release it.

#1520 is now merged and released as https://github.com/gruntwork-io/terragrunt/releases/tag/v0.28.1

Love it! Tomorrow I'll test it. Thank you all.


❓Validate seamless usage of synergy with Vue

Story

As a developer using the Synergy Design System, I would like to use the provided web-components seamlessly in my vue.js application.
DoD

[ ] Create a sample vue/vite application from scratch.
[ ] Install the latest version of the components.
[ ] Create a form and try to hook it into vues form handling.

This test should shed light into wether it makes sense to provide custom vue.js wrappers.

Idea: use the chance to create a Vue starter

Done at https://github.com/SickDesignSystem/synergy-starter-vue


Difficulties with more than one service per app

It is difficult to use this runtime to deploy more than one service per app to AppEngine, due to the requirement of each service to share nginx-app.conf php.ini and supervisord.conf files.
We could add a runtime_config variable conf_dir that can be used to change the configuration dir from the default (/app) to something else (like /app/config/my_service)

It would also be great if changing endpoint in app.yaml from endpoint.sh would bypass starting NGINX/php-fpm

This docker image doesn't know anything about runtime_config. It's solely implemented by the gcloud SDK.
Anyways we have Dockerfile limitation.
Can you create another directory for another service?

It would also be great if changing endpoint in app.yaml from endpoint.sh would bypass starting NGINX/php-fpm

It is also gcloud SDK's responsibility to change CMD in the generated Dockerfile.

I assumed since document_root gets passed in as $DOCUMENT_ROOT, then something else could get passed in as well. Are you saying document_root is a whitelisted config value in gcloud?

For user supplied php.ini, it's implemented by the --configure option of PHP.
--with-config-file-scan-dir=$APP_DIR

For other user-supplied configuration files, we can introduce something like USER_CONF_DIR defaults to /app.
However, I still don't think it's warrant to introduce more complexity into the docker image. It can be implemented in gcloud SDK layer.

How do we decide which directives are right for gcloud, and which are right for this image? Anything not specific to app.yaml would go here, so this image can be usable in other contexts (kubernetes, etc).

OK. How about to introduce few environment variables; APP_NGINX_ADDITIONAL_CONF, APP_NGINX_CONF, and PHP_FPM_CONF_OVERRIDE?

When those environment variables are available, we can prefix ${APP_DIR}/ and just use the values. For example, you can specify different nginx-app.conf with the following yaml files.
app.yaml
runtime: php
vm: true

runtime_config:
  document_root: web

Then APP_NGINX_ADDITIONAL_CONF falls back to '/app/nginx-app.conf' for this service.
worker.yaml
runtime: php
vm: true
service: worker

runtime_config:
  document_root: web
env_variables:
  APP_NGINX_ADDITIONAL_CONF: config/worker-nginx-app.conf

Then the runtime looks for '/app/config/worker-nginx-app.conf'
How does it sound?

This sounds good! Would we also have APP_SUPERVISORD_CONF and APP_PHP_INI_CONF?


(minor) Could it be ValueInjecter instead of valueinjecter?

Hi Valentin,
I looks like "ValueInjecter" name is used consistently across the project/package name, website and documentation:
https://image.prntscr.com/image/eSkgG_-XTKWy9vp7T6klQQ.png
However for package Id in nuspec file it is "valueinjecter", which leads to this:
https://image.prntscr.com/image/crUKaoacSvqtXOnUQodZ6A.png
Is there a specific reason why "valueinjecter" is being used as technical package Id, instead of "ValueInjecter"? Could the package Id be the same "ValueInjecter" as well?
Thank you!

there is no reason, the package Id should be ValueInjecter

Sounds great, would be nice to get it updated in any of the future releases!
Thank you so much!

you can try updating now

Now it's working great, thanks!


FIX - run apk update on same line as package deps

Description
This PR fixes an issue in our broker's dockerfile where we run apk-update on a separate line which causes the registry lookup to be cached (this can lead to issues when installing packages on the subsequent line)
See approach here: http://lenguyenthedat.com/docker-cache/
Related PRs
Related change https://github.com/sparkswap/lnd-engine/pull/169
Todos

[ ] Tests
[ ] Documentation
[ ] Link to Trello

 Bust cache when running apt-get update

Had to update package-lock cause tests failed on circle-ci


Allow

What problem does this feature solve?
I love Vuejs, and .vue SFCs. But occasionally I end up with an HTML template that's extremely large and hard to read. I'm talking about components where all the sub-parts are tightly coupled and breaking them down into sub-components is not an obvious win.
I could break them down anyway, but that's considerable amount of work considering the tight coupling. I'll either send a LOT of state down using props, or i'll have to move the state to Vuex, even though I'd prefer to keep that state local to that parent SFC.
A nice solution, would be to just allow something akin to template macros/splitting within Vue. See below for a random syntax example.
What does the proposed API look like?
<template>
    ... 5 lines of html ...
   <step1/>
   <step2/>
</template>

<step1>
... 30 lines of html ...
</step1>

<step2>
... 40 lines of html...
</step2>

<script></script>
<style></style>

Because it's all in one file, and all the templates use the same script and style scope, you can just copy/paste things around, and organise. No props, no imports. It's basically just like macros. If I could have the IDE or an extension do this I wouldn't need for vue to do it.  Code folding has never really worked well for me.

This is doable via a custom webpack loader but there's not much that can be done in vue actually.
If it's extremely long, you should split into multiple components. This will need to create new props to communicate between subcomponents or even use $parent if they're tightly coupled


fix: Adding and removing items causes overflow count to incorrectly increase in FluentOverflow

🐛 Bug Report
Adding and removing items causes overflow count to incorrectly increase. The number stops reflecting the real overflow value.
💻 Repro or Code Sample
Razor:
https://github.com/dotnet/aspire/blob/3cd891a57338b0a5bafc39c4586c54fc94989afe/src/Aspire.Dashboard/Components/Controls/ChartContainer.razor#L31-L52
Code behind:
https://github.com/dotnet/aspire/blob/3cd891a57338b0a5bafc39c4586c54fc94989afe/src/Aspire.Dashboard/Model/CounterChartViewModel.cs
Demo:

🤔 Expected Behavior
Overflow count is correct.
😯 Current Behavior
Adding and removing items causes overflow count to increase incorrectly.
💁 Possible Solution

🔦 Context

🌍 Your Environment

OS & Device: Windows
Browser: Chrome
.NET: .NET 8

The Remove feature seems to be faulty :-) Let us fix it for the next version.

That will be fixed in the next release #1385


IllegaleStateException after doing Donation

An IllegalStateException with IabHelper.flagAsync is thrown after a donation is made from the DonationsActivity. Afterwards the same SKU cannot be selected, the dialog box shows a spinner instead.
StackTrace:
java.lang.IllegalStateException:
at com.ae.apps.common.utils.inapp.IabHelper.flagStartAsync (IabHelper.java:819)
at com.ae.apps.common.utils.inapp.IabHelper.launchPurchaseFlow (IabHelper.java:373)
at com.ae.apps.common.utils.inapp.IabHelper.launchPurchaseFlow (IabHelper.java:338)
at com.ae.apps.common.activities.DonationsBaseActivity.launchPurchaseFlow (DonationsBaseActivity.java:86)
at com.ae.apps.messagecounter.activities.DonationsActivity.access$000 (DonationsActivity.java:39)
at com.ae.apps.messagecounter.activities.DonationsActivity$1.onClick (DonationsActivity.java:88)

More leads

https://stackoverflow.com/questions/15066095/illegalstateexception-in-iab-v3
https://stackoverflow.com/questions/14130044/android-billing-exception
https://github.com/ekux44/LampShade/commit/102d170f4dfcfa274a97c1e98dc425d12ee3236e

The DonationsActivity code seems to be written correctly.
There might be an issue with the button not being disabled and the user double clicks on the button as in the below answer.
https://stackoverflow.com/a/33905606/592025


Add better song of double time enhancement

Allows you to advance to any time up until an hour prior to moon fall. In my testing some of the actor respawns look a little weird when in the frozen state, but snap into place when resuming time. Works with all 3 clock types.
todo:

[ ] Render the analog stick graphic from shops, and maybe flash the clock to make it more obvious what's happening

Build Artifacts

2ship-linux.zip
2ship-mac.zip
2ship-windows.zip

I was just trying this out because I was curious what it would look like. I like what you've done from a gameplay perspective, but one thing that might be awkward is getting to the exact time that I want as I find the analog stick is a bit too sensitive. So if I am say trying to travel to a specific time, I might overshoot and have to go backwards, but might also overshoot that as well. What you have now is great for doing large time jumps though.
I'm not sure how to make this better UX-wise. Perhaps a modifier button like Z to make it a bit less sensitive to the analog stick input?

Perhaps a modifier button like Z to make it a bit less sensitive to the analog stick input?

I like that idea, I have incorporated this. It's currently not obvious that is an option but I'll probably do another pass on the "UI" of this feature in the future and account for it.


NullReference Exception in AuditConfiguration

In AuditConfiguration.cs line 37 entry.Entity is null and it is throwing an exception on GetType(). (downloaded the latest sources and compiled with pdbs to get the line numbers).
This call is coming from EntityFramework-Plus-master\EntityFramework-Plus-master\src\shared\Z.EF.Plus.Audit.Shared\Audit\PreSaveChanges.cs
var rightIsAudited = audit.CurrentOrDefaultConfiguration.IsAuditedEntity(rightEntity);
The rightIsAudited.entry is null. This is happening when deleting an entity with relationship deletion being logged. In this case I was using  entitySet.FindAsync(key) where entityset had a foreign key(m:1) that was not prefetch(e.g. using include).
After I changed the call from FindAsync to Single + Include parent object things start working.
However, I think this should probably work. What are your thoughts on this? Perhaps a more clear exception at least.
Thanks!

Hello @dmeierotto ,
Thank you for reporting.
I'm still not sure what's my though about it. I believe it will be way more clear for me when I will try this scenario later this week I hope.
Best Regards,
Jonathan


Remote template refs

Summary
This would add the ability to reference workflow templates from remote sources via URL without needing to have them applied into a cluster, thus reducing maintenance burden.
I already have a partially working PoC of this running locally. The implementation thus far attempts to fetch the raw YAML from the URL, parse it into a WorkflowTemplate and then extract the indicated template from it.
For the sake of simplicity, I am storing the URL in a new RemoteTemplateRef struct, though it would certainly be possible to add it to the existing TemplateRef struct instead if that is preferred.
example:
remoteTemplateRef:
  url: https://github.com/codefresh-io/argo-hub/raw/main/workflows/argo-workflows-utils/versions/0.0.1/workflowTemplate.yaml
  template: echo

I have also not yet considered HTTP-related enhancements such as response caching, retries, timeouts etc., which may be desired for production usage. I would appreciate any feedback on that.
Assuming others are interested in this feature, I would very much like to continue building it out.
Use Cases

This would enable the ability to quickly use a utility template from a remote source (e.g. CodeFresh's Argo Hub repo) without needing to pre-install it. Would be interested in discovering what other potential use cases folks have for this feature.

Message from the maintainers:
Love this enhancement proposal? Give it a 👍. We prioritise the proposals with the most 👍.

This appears to have duplicated #2847, which had some discussion and  has more upvotes


calculate ANI for eukaryotes such as fungi

Thank you very much for such a great tool, I have a question, can the tool calculate ANI for eukaryotes such as fungi and if so what are the precautions to be taken?

I've used skani to calculate ANI between eukaryotic genomes recovered from metagenomics (e.g. phytoplankton) and our results were concordant with mummer-based approaches. I'd say go for it. If the genomes are very fragmented, you may benefit from varying the preset --slow, --medium commands, otherwise, defaults should be okay.

I'II try. Thanks a lot.

Could share your article for me. Thanks a lot.


[WIP] Tests/Cleanup

Resolves #18 and #21
cc @mrocklin

+10

We might also want to add other tests around status and logs both in correctly working cases to verify that the keywords like `num_containers function properly and in poorly working cases, to verify that failures are obvious from the status and logs.

Finishing that now :)

@danielfrg and I test this PR against a Cloudera cluster and not only did PR past but latent processes are cleaned as well.  I'm currently investigating yarn-site.xml for (mis)configuration

I'll resolve latent processes in another PR as well has better vCore handling


Cleanup owner aliases

What this PR does
Before this PR: We had more but empty and unusued sigs
After this PR: We have less - but used and staffed - sigs
Why we need it and why it was done in this way
The following tradeoffs were made: Keep the current lis of sigs, but this would require staffing and defining ownership, which is tricky, thus we realign on sig-compute for now
The following alternatives were considered: Keep sigs, but this would require more work to define ownership and update code, htis is too much work that we do not want right now
Links to places where the discussion took place: i.e. https://groups.google.com/g/kubevirt-dev/c/dXvwU6Pon7Y
Special notes for your reviewer
The decision about sig-node and sig-cluster/scheduling can take place separataely, but should not block this PR.
This PR reflects reality.
Checklist
This checklist is not enforcing, but it's a reminder of items that could be relevant to every PR.
Approvers are expected to review this list.

[ ] Design: A design document was considered and is present (link) or not required
[ ] PR: The PR description is expressive enough and will help future contributors
[ ] Code: Write code that humans can understand and Keep it simple
[ ] Refactor: You have left the code cleaner than you found it (Boy Scout Rule)
[ ] Upgrade: Impact of this change on upgrade flows was considered and addressed if required
[ ] Testing: New code requires new unit tests. New features and bug fixes require at least on e2e test
[ ] Documentation: A user-guide update was considered and is present (link) or not required. You want a user-guide update if it's a user facing feature / API change.
[ ] Community: Announcement to kubevirt-dev was considered

Release note

NONE

@xpivarc @acardace please review
cc @iholder101 fyi

cc @enp0s3

While I think that sig-compute would probably be eventually split to some sub-SIGs, I agree that it is more valuable to take the pragmatic approach of starting this process out and refine it later in the future.
/approve

/lgtm

/lgtm

/retest

/retest

/lgtm

/test
pull-kubevirt-e2e-windows2016

/test pull-kubevirt-e2e-windows2016


[RFC] Drop max_sleep_time limit from StorageDistributedDirectoryMonitor

(RFC, thoughts?)
For changelog. Remove if this is non-significant change.
Category (leave one):

Improvement

Short description (up to few sentences):
Remove maximum sleep time limit for StorageDistributedDirectoryMonitor
Detailed description (optional):
This patch drops static 30 seconds max_sleep_time for the
StorageDistributedDirectoryMonitor, since in some cases 30 seconds can
be too large and if someone wants to limit it he can use users
constraints (anyway distributed_directory_monitor_batch_inserts is not
enabled by default).

since in some cases 30 seconds can be too large

But after you removed the limit, it will go arbitrary large: if the server was down, when it become alive, the waiting time will be proportional to elapsed downtime (for example - if the server was downtime for one day, recovery time will also be about one day - that's too large).

if someone wants to limit it he can use users constraints

How exactly?

anyway distributed_directory_monitor_batch_inserts is not enabled by default

We should enable by default - this feature was experimental long time ago, but now it is proven to be efficient and robust.

But after you removed the limit, it will go arbitrary large: if the server was down

Didn't thought about that, previous version of the patch as adds distributed_directory_monitor_max_sleep_time config directive, does this sounds reasonable?
And thinking about this more, I assume that better way will be to replace distributed_directory_monitor_max_sleep_time with a setting, just like distributed_directory_monitor_sleep_time_ms, i.e. distributed_directory_monitor_max_sleep_time_ms?

How exactly?

Nevermind, that was about limiting high watermark for the distributed_directory_monitor_sleep_time_ms, i.e.:
<profiles>
  <default>
    <constraints>
      <distributed_directory_monitor_sleep_time_ms>
        <max>3600000</max>
      </distributed_directory_monitor_sleep_time_ms>
    </constraints>
  </default>
</profiles>

But this will not helps with unlimited grow of the sleep time due to errors

Didn't thought about that, previous version of the patch as adds distributed_directory_monitor_max_sleep_time config directive, does this sounds reasonable?

And thinking about this more, I assume that better way will be to replace distributed_directory_monitor_max_sleep_time with a setting, just like distributed_directory_monitor_sleep_time_ms, i.e. distributed_directory_monitor_max_sleep_time_ms?

Ok.


Some enhancements

Hi!
I made some breaking changes, but now it looks more usable. What do you think?
Sorry for mess in commits, I started it as my own fork, but now I want to merge it and move to official organization on github after some improvements. Only if my code acceptable, of course :)

@kwando I'm one of the developers who works on adapters for ROM, what we do with this PR? Merge, move to rom organization and build it as official adapter? Or I should start it myself with my code?

Sorry, I've missed this. Currently I'm on vacation but I'll get into this once I am home. Probably late this week.

@kwando ok! :)

@kwando @artemeff is there any interest in resurrecting this project? I'd love to move this over to rom-rb and help building it

@solnic I'm not currently using it, but I'm planning to use it for elasticsearch. I'll be happy to transfer it over to rom-rb if you want.
Maybe it is better to start over from scratch with a new adapter though.

@kwando sounds good, let's move it then (it's got gem structure etc. already which safes time)

Hmm, I get ”You don’t have the permission to create repositories on rom-rb” from GitHub while trying to transfer it to rom-rb.
//Hannes N

23 jan. 2017 kl. 13:05 skrev Piotr Solnica<EMAIL_ADDRESS>@kwando https://github.com/kwando sounds good, let's move it then (it's got gem structure etc. already which safes time)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/kwando/rom-elasticsearch/pull/1#issuecomment-274471901, or mute the thread https://github.com/notifications/unsubscribe-auth/AA2arkUvTsD8zckZF3cE5CIUhSrMzAonks5rVJd6gaJpZM4FNWTl.

@kwando I'll transfer it if you can give me access to your repo


Username in the notifications tab overlays the top notification

Username in the notifications tab overlays the top notification. In the Home tab this does not happen.

Same here. iPhone SE 2020
https://user-images.githubusercontent.com/912344/204918639-ce0515ae-db8c-4b42-88c0-7d01c1c2a2a7.MOV


Clock api for incremental second unit counter

Currently there are many code to use Time.now to control flush timing and event invoke timing.
It's basically wrong, because time may move to future or past by time adjustment, or affected by leap seconds (and Timecop).
We can use Process.clock_gettime to avoid this problem, but it's a bit troublesome to specify clock type available. It's too much and too raw for almost core code and plugins. Using Process.clock_gettime is also not controlled by test code.
So, this change will introduce a new internal API to provide clock value, which can be controlled to be frozen for tests.

@repeatedly could you review this change?

LGTM and add comments.

Let me merge this right now... Windows CI is failing with known timing bug of test code (and it's already fixed in #1426)


The examples pending_message is always Not yet implemented ?

Subject of the issue
I am trying to create a custom formatter. Since the pending_message included in the example which is passed to fommater is different from the pending argument, I would like to use argument of pending for it.
Your environment

Ruby version:

ruby 2.5.3p105 (2018-10-18 revision 65156) [x86_64-darwin18]

rspec-core version:

RSpec 3.8

rspec-core 3.8.0
rspec-expectations 3.8.3
rspec-mocks 3.8.0
rspec-support 3.8.0

Steps to reproduce
here is example spec.
describe 'foo' do
  pending 'bar'
end

result is below
$ rspec -f j ./example_spec.rb | jq .
{
  "version": "3.8.0",
  "examples": [
    {
      "id": "./example_spec.rb[1:1]",
      "description": "bar",
      "full_description": "foo bar",
      "status": "pending",
      "file_path": "./example_spec.rb",
      "line_number": 2,
      "run_time": 8e-06,
      "pending_message": "Not yet implemented"
    }
  ],
  "summary": {
    "duration": 0.000741,
    "example_count": 1,
    "failure_count": 0,
    "pending_count": 1,
    "errors_outside_of_examples_count": 0
  },
  "summary_line": "1 example, 0 failures, 1 pending"
}

Expected behavior
Isn't the argument of pending supposed to be used for pending_message?
{
      "id": "./example_spec.rb[1:1]",
      "description": "foo",
      "full_description": "foo",
      "status": "pending",
      "file_path": "./example_spec.rb",
      "line_number": 2,
      "run_time": 8e-06,
      "pending_message": "bar"
    }

Actual behavior
Same as the Steps to reproduce example. The pending argument is treated the same as a normal describe.

If you look at "message" meaning in RSpec source code you will see it refers to very different subject.
See: https://github.com/rspec/rspec-core/blob/58f38210492cd369784d3fe1a849c0e81342a2f2/lib/rspec/core/example_group.rb#L147
Why not using "description" argument?
For me "pending_message" is more an internal RSpec sentence.
See
# ruby this_file.rb

# frozen_string_literal: true

begin
  require "bundler/inline"
rescue LoadError => e
  $stderr.puts "Bundler version 1.10 or later is required. Please update your Bundler"
  raise e
end

gemfile(true) do
  source "https://rubygems.org"

  gem "rspec"
end

RSpec.configure do |config|
  config.formatter = :json
end

puts "Ruby version is: #{RUBY_VERSION}"
require 'rspec/autorun'

RSpec.describe 'pending' do
  it "skip because it fails after" do
    pending("something else getting finished")
    fail
  end

  it "raise because nothing after" do
    pending("nothing after")
  end

  describe 'foo' do
    pending 'bar'
  end
end

{
   "version":"3.8.0",
   "examples":[
      {
         "id":"rspec_pending.rb[1:1]",
         "description":"skip because it fails after",
         "full_description":"pending skip because it fails after",
         "status":"pending",
         "file_path":"rspec_pending.rb",
         "line_number":24,
         "run_time":0.000101,
         "pending_message":"something else getting finished"
      },
      {
         "id":"rspec_pending.rb[1:2]",
         "description":"raise because nothing after",
         "full_description":"pending raise because nothing after",
         "status":"failed",
         "file_path":"rspec_pending.rb",
         "line_number":29,
         "run_time":5.5e-05,
         "pending_message":"nothing after",
         "exception":{
            "class":"RSpec::Core::Pending::PendingExampleFixedError",
            "message":"Expected example to fail since it is pending, but it passed.",
            "backtrace":[
               "rspec_pending.rb:29"
            ]
         }
      },
      {
         "id":"rspec_pending.rb[1:3:1]",
         "description":"bar",
         "full_description":"pending foo bar",
         "status":"pending",
         "file_path":"rspec_pending.rb",
         "line_number":34,
         "run_time":4.0e-06,
         "pending_message":"Not yet implemented"
      }
   ],
   "summary":{
      "duration":0.001087,
      "example_count":3,
      "failure_count":1,
      "pending_count":2,
      "errors_outside_of_examples_count":0
   },
   "summary_line":"3 examples, 1 failure, 2 pending"
}

in documentation output
pending
  skip because it fails after (PENDING: something else getting finished)
  raise because nothing after (FAILED - 1)
  foo
    bar (PENDING: Not yet implemented)

Pending: (Failures listed here are expected and do not affect your suite's status)

  1) pending skip because it fails after
     # something else getting finished
     Failure/Error: fail
     RuntimeError:
     # rspec_pending.rb:26:in `block (2 levels) in <main>'

  2) pending foo bar
     # Not yet implemented
     # rspec_pending.rb:34

Failures:

  1) pending raise because nothing after FIXED
     Expected pending 'nothing after' to fail. No error was raised.
     # rspec_pending.rb:29

Finished in 0.00267 seconds (files took 0.23614 seconds to load)
3 examples, 1 failure, 2 pending

Failed examples:

rspec rspec_pending.rb:29 # pending raise because nothing after

TL;DR; The problem is thatpending in a describe is an empty example. So its not implementing. If you give it a block it will expect it to fail. Skip metadata will provide a message.


pythonPackages.wrf-python: Fix build

Motivation for this change
The latest changes to support better cross-compilation compatibility
have introduced a stricter handling of dependency specification in
python. Since b4acd977, gfortran should be put into nativeBuildInputs,
as it's a build-time only dependency for wrf-python. Similarly, mock is
only required when testing, so it should go to checkInputs.
Please backport to 19.03.
ZHF-19.03: #56826
Things done

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

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

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

@GrahamcOfBorg build pythonPackages.wrf-python python3Packages.wrf-python

Thx!


[Hackathon] "Prompt with multi-choice"'s options show up as empty boxes in suggested actions

Version
Build SHA 6a74f46
Describe the bug
[not a consistent repro]
To Reproduce
Steps to reproduce the behavior:

Add a prompt with multi-choice in a dialog
Set the "List Style" to SuggestedAction
Add a choice
Run the bot
The suggested action shows up properly
Delete the option and add a new one
re-run the bot
suggested action is now empty and there is no way to get it back working

Expected behavior
Text should always show up
Screenshots
If applicable, add screenshots to help explain your problem.

[bug]

Dropping SDK label. This to me looks to be a composer serialization issue. @cwhitten @a-b-r-o-w-n

@vishwacsena The sdk schema needs to include the card action schema so that Composer can render the appropriate UI.


[Bug]: CI allows merging PRs with failing checks

Is there an existing issue for this?

[X] I have searched the existing issues

Is there a StackOverflow question about this issue?

[X] I have searched StackOverflow

What happened?
Initial push, all checks are run:

Because commit contains UI changes, an automated commit 🤖 Updates screenshots is added, resetting all checks but cla/google

Resulting in ✅ All checks have passed

For reference, this is what happened in #942 breaking the main branch after merge.
And #1044 for a simpler example.
Relevant logcat output
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

I've been looking for a way to work around this, but to avoid recursion GHA doesn't let workflows start other worflows. SO thread.

You can either do that with PAT or a GitHub app (Google probably already has such bot available on other Google repos).


unlock-snapshots goal ignores parent

Even with -DprocessParent

If you have more detailed information about what you like to have please don't hesitate to reopen the issue.


Add an option to the extension that toggles whether the console is cleared

In particular, I want this specific line:
https://github.com/flix/vscode-flix/blob/master/client/src/extension.ts#L78
guarded by this option.
For an example of how to add options, take a look at:
https://github.com/flix/vscode-flix/blob/master/package.json#L119
The option should be enabled by default and called "Clear old compiler messages on changes". (Internally "clearOnChange").

The line number moved (because the file changed), here is what I had in mind:
https://github.com/flix/vscode-flix/blob/master/package.json#L172


Bug: can't select ogg video on Video Player block

ogg files will be inspected as an audio file, so users can't select that file on Video Player block.
I've tested on 8.4.1a1 with the file that downloaded on this site

@MrKarlDilkington I know. IMO, we have to filter the file selector by its extension instead of the type

Can you just rename the file to use an .ogv extension?

Oh, I see.

Before 2007, the .ogg filename extension was used for all files whose content used the Ogg container format. Since 2007, the Xiph.Org Foundation recommends that .ogg only be used for Ogg Vorbis audio files. The Xiph.Org Foundation decided to create a new set of file extensions and media types to describe different types of content such as .oga for audio only files, .ogv for video with or without sound (including Theora), and .ogx for multiplexed Ogg.
https://en.wikipedia.org/wiki/Ogg


new AWS regions eu-central-2

amazon has opened a new region in Europe.
it is not in the list
eu-central-2

amazon has opened a new region in Europe.
it is not in the list
eu-central-2


Cannot add selected attribute to

Version
2.3.0
Reproduction link
https://jsfiddle.net/kbatdorf/2ggk4ppo/1/
Steps to reproduce
Add a select dropdown and update the selected attribute via a computed property
What is expected?
The selected attribute is added
What is actually happening?
The selected attribute is not being added

I need this because I'm using the DataTables plugin with an option to print the table in CSV format. By default it includes each option in the table so I need to filter out the values that are currently selected and only display those in the CSV table.
Unfortunately, DataTables passes only a string of the html element (which is why I included it in the example) to be edited and since the selected attribute isn't being added on, I cannot determine which is selected.
Thanks

You have to choose one

v-model (better)
:selected + @change = more manual

Next time, please ask questions on the forum or StackOverflow first, thanks 🙂

Thanks posva. I'm not sure you understood my issue but I'll try to explain it better on the forum. Have a good one!

I solved my problem so I'll just post it here in case someone ends up here looking for an alternative way to solve it using jQuery. It still seems that I should be able to update the attributes in vuejs though but I guess I can't figure it out :D
https://jsfiddle.net/kbatdorf/2ggk4ppo/5/
Thanks again posva!


Pass time and frame number through 'ev'

It seems that after using ev the time and/or frame number get forgotten or messed up, so that subsequent use of animate generates movies without the frame/time title, or collect plot produces a figure with the wrong horizontal axis ticks.
This should be fixed.

This is actually a problem for all metadata, not just time and frame.


HeaderFooterView height, and backgroundColor

Hello, I need to use an HeaderFooterView on a Section.
I created a model view :
class HeaderSectionTripViewModel: HeaderFooterViewModel {

    init() {
        super.init(view: HeaderSectionTrip.self)
    }
}

and then my HeaderFooterView view :
class HeaderSectionTrip: HeaderFooterView, HeaderFooterViewType {
    typealias ViewModel = HeaderFooterViewModel

    override func configure() {
    }
}

Now this how I add my section header :
self.hakuba.registerHeaderFooterByNib(HeaderSectionTrip.self)

let section = Section()
section.header = HeaderSectionTripViewModel()
self.hakuba.append(section)

But my HeaderView is transparent. And also I need to change the height.
thanks in advance for your help.

Hi @remirobert . If you want to set height and backgroundColor you can see the following codes.
class HeaderSectionTripViewModel: HeaderFooterViewModel {
    init() {
        super.init(view: HeaderSectionTrip.self)
        height = 50
    }
}

class HeaderSectionTrip: HeaderFooterView, HeaderFooterViewType {
    typealias ViewModel = HeaderFooterViewModel

    override func awakeFromNib() {
          super.awakeFromNib()
          backgroundColor = .yourColor()
    }

    override func configure() {
    }
}

@nghialv thank you so much for your help !! It works

I am back for add more precision about this issue.
http://stackoverflow.com/questions/15604900/uitableviewheaderfooterview-unable-to-change-background-color
In fact you need to had an another UIView, acting like a container.
That's it. 🙀⚠🎉


[BEAM-10403] Removed asterisk from default file prefix in SnowflakeIO

There was asterisk in default prefix for staged files in SnowflakeIO. It was created passed for matching and saving files based on prefix, but in the end it became part of name of saved files, what may cause matching problems using gsutils.

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[x] Choose reviewer(s) and mention them in a comment (R: @username).
[x] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.

R: @mwalenia can you take a look? Thank you!


Move br/alias module reference completions to top level

From https://github.com/Azure/bicep/issues/10199#issuecomment-1500538133:
Right now we have:
    br/         (user has to select this before seeing br/public, br/privatealias1, br/privatealias2 etc)
    ts/          (right now we don't have completions for private template spec aliases)
    br:
    ts:

Proposal: change to
    br/privatealias1:
    br/privatealias2:
    br/public:
    ts/          (right now we don't have completions for private template spec aliases, this work will not change that)
    br:
    ts:

Would love if this could get done at the same time as #10427


After clicking Log Out, some header links are unresponsive

If I logout of the application, one I land on the logout page I cant click any of the buttons up top to get back to the app and login again; specially the manage services link. These buttons should either completely disappear, or they should allow me to continue to the function after I have authenticated again .

Removing them.


Adding ability to use google reCaptcha V2.

The captcha is beeing shown only when:

the user is not logged in AND
the option to use it is set on.

hey that's great to get functionality, @PrestaShop/prestashop-core-developers why aren't you reviewing PR's

@wjurkowlaniec Because we are not enough to review all repositories :sob:
But thanks for the reminder :+1:
@LedCloud We are really sorry for the dealy, your pull request looks very good and very interesting.
Are you able to rebase it? I'll approve it just after :smile_cat:

@LedCloud we're waiting for a rebase to approve :)

I don't quite understand what should I do.

Hey, I suggest you to try it, this is not that hard on such a PR
Add a remote upstream to your local git : git remote add upstream git@github.com:PrestaShop/contactform.git
or use http url, depends of your use
then :
git checkout dev
git pull upstream dev
git checkout recaptcha
git rebase dev
If you have some conflict, resolve them and git add the files
then
git rebase --continue
Same thing with conflicts, then when it's fine
git push -f
Hope it helps !

I failed and created new PR https://github.com/PrestaShop/contactform/pull/34

Ok. So i close this one @LedCloud ;) Thanks


source code of trivial encode|decode are copied from over library

need to find author and check license for compatibility and add to authors

Author of base58.c (obtained by git blame):
https://github.com/prusnak
License: MIT


Add support for remote cluster tests

Also share BASE_IMAGE_NAME variable for the test script, so it can be used in tests.

[test]

thanks

Looks like just file removal, and adding one new test which is possible to run against local or remote OpenShift cluster.  If I interpret that correctly, it sounds wise - we should move as many tests as possible into the "common" tests subset...  LGTM.


pull request for e2e test at 12/15/2016 18:45:17

:white_check_mark: Validation status: passed
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.


Could not install imagick on PHP 8.0.0

Describe the bug
ImageMagick is failing to install for us on ubuntu-latest. It is not listed on the 8.0 extensions list (https://github.com/shivammathur/setup-php/wiki/Php-extensions-on-ubuntu-20.04#php-80) but I also don't see it there for 7.4 which is working fine. I also see this issue has come up before (https://github.com/shivammathur/setup-php/issues/320) and been resolved.
Version

[X] I have checked releases, and the bug exists in the latest patch version of v1 or v2.
[X] v2
[ ] v1

Runners

[X] GitHub Hosted
[ ] Self Hosted

Operating systems
ubuntu-latest
PHP versions
Various (issue is with 8.0.0)
To Reproduce
jobs:

  tests:
    runs-on: ubuntu-latest
    if: "!contains(github.event.head_commit.message, '[ci skip]')"
    name: PHP ${{ matrix.php-versions }} - ${{ matrix.db-platforms }}

    strategy:
      fail-fast: false
      matrix:
        php-versions: ['7.2', '7.3', '7.4']
        db-platforms: ['MySQLi', 'Postgre', 'SQLite3', 'Sqlsrv']
...
      - name: Checkout
        uses: actions/checkout@v2

      - name: Setup PHP, with composer and extensions
        uses: shivammathur/setup-php@v2
        with:
          php-version: ${{ matrix.php-versions }}
          tools: composer, pecl
          extensions: imagick, sqlsrv
          coverage: xdebug
        env:
          update: true

Expected behavior
Prefer not to see "The ImageMagick extension is not available"
Screenshots/Logs
Check the "Setup PHP" step:
https://github.com/codeigniter4/CodeIgniter4/pull/3932/checks?check_run_id=1471547834#step:6:19
Additional context
Trying to add support for PHP 8.0 to the CodeIgniter framework
Are you willing to submit a PR?
I am comfortable with PRs but would need some direction as to how to troubleshoot the issue. I am also willing to receive a quote for work that needs to be done.

@MGatner Fixed.
Test workflow: https://github.com/shivammathur/test-setup-php/actions/runs/392778803/workflow
The list in wiki is extensions which are loaded by default, more extensions which are available as packages and available on pecl are supported.

@shivammathur Thanks so much! Sorry for the wiki misunderstanding 😬


Leftover constraint when function return type is unknown

Take the following example:
function count(f:: Function, d::Matrix) :: Priv()
  (dim, _) = size(d)
  counter = 0
  for i in 1:dim
    dd = d[i,:]
    if f(dd) == 1
      counter = counter + 1
    else
      counter = clone(counter)
    end
  end
  counter
end

We get as result:
---------------------------------------------------------------------------
Type:
Fun([([Fun([([NoFun(Vector<n: τ_31, c: τ_10>[s_8](τ_82)) @ s_23] -> NoFun(τa_26)) @ Nothing]) @ (∞,∞),NoFun(Matrix<n: τ_31, c: τ_10>[s_9 × s_8](τ_82)) @ (∞,∞)] ->* NoFun(Num(Int[--]))) @ Just [Function,Matrix{Any}]])
---------------------------------------------------------------------------

in other words:
---------------------------------------------------------------------------
Type:
{
  -  {
    -  Vector<n: τ_31, c: τ_10>[s_8](τ_82)
        @ s_23
    --------------------------
     -> τa_26

  }
      @ (∞, ∞)

  -  Matrix<n: τ_31, c: τ_10>[s_9 × s_8](τ_82)
      @ (∞, ∞)
  --------------------------
   ->* Int[--]

}
---------------------------------------------------------------------------
Constraints:
   - top:
constr_7 : [final,worst,global,exact,special] IsTypeOpResult (Binary == (τa_26 @ η_17,Num(Int[1]) @ η_18) Bool)
   - others:

The actual question now is the constr_7 which we currently simply cannot resolve because τa_26 is the return type of the input function, and we thus have no idea what type it is.
What we might want to do is allow some kind of annotations for this case? Or resolve the == ops differently in the worst-case-solving?

Since this constraint makes sense, we keep it like that for now.


[ios][production]: App crashed with SkMemory_malloc.cpp line 49 SkBitmap::allocPixels(SkImageInfo const&, unsigned long)::$_1::operator()() const

Steps to Reproduce
We are getting crash in production and it is not reproducible. Any help is appreciable.
Flutter 3.0.0 • channel stable • https://github.com/flutter/flutter.git
Framework • revision https://github.com/flutter/flutter/commit/ee4e09cce01d6f2d7f4baebd247fde02e5008851 (5 months ago) • 2022-05-09 16:45:18 -0700
Engine • revision d1b9a6938a
Tools • Dart 2.17.0 • DevTools 2.12.2

Logs
Crashed: default.1.1.io
0  Flutter                        0x4cd28 SkBitmap::allocPixels(SkImageInfo const&, unsigned long)::$_1::operator()() const + 49 (SkMemory_malloc.cpp:49)
1  Flutter                        0x4ccf4 SkBitmap::allocPixels(SkImageInfo const&, unsigned long)::$_1::operator()() const + 248 (SkBitmap.cpp:248)
2  Flutter                        0x4d140c std::__1::__function::__func<fml::internal::CopyableLambda<flutter::MultiFrameCodec::getNextFrame(_Dart_Handle*)::$_2>, std::__1::allocator<fml::internal::CopyableLambda<flutter::MultiFrameCodec::getNextFrame(_Dart_Handle*)::$_2>>, void ()>::operator()() + 3725 (memory:3725)
3  Flutter                        0x30627c fml::MessageLoopImpl::FlushTasks(fml::FlushType) + 124 (ref_ptr.h:124)
4  Flutter                        0x309578 fml::MessageLoopDarwin::OnTimerFire(__CFRunLoopTimer*, fml::MessageLoopDarwin*) + 81 (message_loop_darwin.mm:81)
5  CoreFoundation                 0xce66c __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 32
6  CoreFoundation                 0x8ace8 __CFRunLoopDoTimer + 940
7  CoreFoundation                 0x2e958 __CFRunLoopDoTimers + 288
8  CoreFoundation                 0x7c2dc __CFRunLoopRun + 1896
9  CoreFoundation                 0x811e4 CFRunLoopRunSpecific + 612
10 Flutter                        0x309448 fml::MessageLoopDarwin::Run() + 52 (message_loop_darwin.mm:52)
11 Flutter                        0x308e28 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, fml::Thread::Thread(std::__1::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)::$_0>>(void*) + 96 (message_loop_impl.cc:96)
12 libsystem_pthread.dylib        0x16cc _pthread_start + 148
13 libsystem_pthread.dylib        0xba4 thread_start + 8

Pubspec.yml content
version: 1.0.0+1

environment:
 sdk: ">=2.16.2 <3.0.0"

dependencies:
 flutter:
 sdk: flutter

collection: ^1.16.0
 flutter_dotenv: ^5.0.2
 mobx: ^2.0.7+4
 flutter_mobx: ^2.0.6+1
 routemaster: ^1.0.1
 webview_flutter: ^3.0.4
 json_annotation: ^4.6.0
 provider: ^6.0.3
 intl: ^0.17.0
 easy_debounce: ^2.0.2+1
 html: ^0.15.0
 url_launcher: ^6.1.5
 hive: ^2.2.3
 hive_flutter: ^1.1.0
 lottie: ^1.3.0
 avatars: ^2.0.2
 focus_detector: ^2.0.1
 dotted_border: ^2.0.0+2
 geocoding: ^2.0.5
 geolocator: 8.2.1
 device_info_plus: 4.1.0
 visibility_detector: ^0.2.2
 launchdarkly_flutter_client_sdk: ^1.1.2
 new_version: ^0.3.1
 cupertino_icons: ^1.0.5
 modal_bottom_sheet: ^2.1.0
 package_info_plus: ^1.4.2
 path: ^1.8.0
 chewie: ^1.3.4
 video_player: ^2.4.5
 youtube_player_flutter: ^8.1.0
 cached_network_image: ^3.2.1
 animations: ^2.0.3
 expandable_page_view: ^1.0.17

dev_dependencies:
 flutter_lints: ^2.0.1
 json_serializable: ^6.1.1
 build_runner: ^2.2.0
 flutter_test:
 sdk: flutter

flutter:
 module:
 androidX: true
 androidPackage: com.tatadigital.neu_app_embed
 iosBundleIdentifier: com.tatadigital.neuAppEmbed
 assets:
 - assets/logo_512x512.png
 - assets/[logo_32x32<EMAIL_ADDRESS>
Affected Devices and CrashCount:
iPhone XR - 266
iPhone X - 337
iPhone 7 plus - 135
iPhone 8 Plus - 95
iPhone SE(2nd generation)- 81
iPhone 7 plus - 21
iPhone 6 plus - 19
iPhone 8 - 17
iPhone 6s - 12
iPhone SE - 1

Affected OS and CrashCount:
15.6.1 - 289
16.0.0 - 342
15.7.0 - 77
16.0.2 - 137
15.5.0 - 47
15.6.0 - 31
15.4.1 - 16
16.1.0 - 10
14.8.1 - 10
14.6.0 - 7
14.7.1 - 3
15.4.0 - 2
15.2.0 - 2
15.1.0 - 2
14.8.0  - 2
15.3.1 -1
15.3.0 - 1
15.2.1 - 1
15.0.1 - 1
14.4.0 - 1
14.2.0 - 1
14.0.1 - 1

@jmagman The logs we shared is all we have.  There is no more info we have from Crashlytics.

The application is running out of memory. Perhaps it is trying to decompress frames for a large GIF file (which are notoriously memory intensive to begin with). We could be handling the failure more gracefully though. The allocPixels here is unguarded against allocation failures. There is a tryAllocPixels call that we should use instead. In fact, we do so in the single frame codecs and even in the function right above that call.
Still, this may not fully avoid the crash as the process will still be very close to the memory limit and other minor allocations may put it over the limit.


enhancement: use separate conda env for extra grpc backends

Is your feature request related to a problem? Please describe.
Python requirements my be conflicting
Describe the solution you'd like
Create a separate conda environment for each backend and use a customized entrypoint.
Describe alternatives you've considered
Just rely on external
Additional context
N/A

Hi @mudler. I have an idea in here. As you mentioned separate conda environment for each backend. We will create a conda_env_requirement.yml  in each folder. And it should include all the dependencies of the backend, right?  Shall we create a Makefile in extra folder to create conda env for every external grpc service ? Or create Makefile for every external gRPC backend?
The Makefile format should be like:
.PONY: diffusers
diffusers:
	@echo "Creating virtual environment..."
	@conda env create --name <backend-name> --file xxx.yml
	@echo "Virtual environment created."

[ ] AutoGPTQ @Aisuko https://github.com/go-skynet/LocalAI/pull/1137/commits/5f55398d86a3729899a263169062d78b92a1e3a2
[ ] bark
[ ] diffusers
[ ] exllama
[ ] huggingface
[ ] vall-e-x
[ ] vllm

Hi @mudler. I have an idea in here. As you mentioned separate conda environment for each backend. We will create a conda_env_requirement.yml in each folder. And it should include all the dependencies of the backend, right? Shall we create a Makefile in extra folder to create conda env for every external grpc service ? Or create Makefile for every external gRPC backend?
The Makefile format should be like:
.PONY: <backend-name>
<backend-name>:
	@echo "Creating virtual environment..."
	@conda env create --name <backend-name> --file xxx.yml
	@echo "Virtual environment created."

that sounds good, we just need as well to have a top-level target that prepares the envs for all the extra backends, and a wrapper script to run the backend with the environment to use for LocalAI

see https://github.com/go-skynet/LocalAI/pull/1144/commits/fbbd2f6a35734d9e40d289fcfdfdbc2db42e2771 for an example for bark/autogptq (not tested yet)


bug: menu is not getting correct classes added on open

Reproduced in this issue: https://github.com/driftyco/ionic-conference-app/issues/226
I was only able to reproduce this using Safari and setting the mode to ios (which is probably because of the menu type being reveal). I reproduced by running the conference app and switching between menu items (usually map -> speakers -> schedule) until the menu was a white screen. It appears the menu isn't getting the show-menu class added sometimes. Adding this class shows the menu content.

FYI, incase this is lost in the other tickets, this is a new issue in beta 11 / Angular rc4 ....  was not present in 10 or earlier.

This sounds a lot like a bug I reported in beta 10 where pages were sometimes not getting the show-page class (https://github.com/driftyco/ionic/issues/7161). That bug is now closed, as I was never able to come up with a minimal test case for it. I'm currently in the process of upgrading to beta 11, but I haven't had a chance to test on a device to see if it's still an issue.
If it helps any, the workaround I eventually settled on was to manually apply the show-page class in ionViewDidEnter. I tried using the same thing with this bug, but it turns out that ionOpen never fires for the menu when it exhibits this behavior.

This may be related https://github.com/driftyco/ionic/issues/7600

Any workarounds at the moment?

A way to force menu style to be md can temporarily fix this
Or a way to disable the whole iOS theme on my app and use md for all platforms?

Note to team: cant seem to repro in chrome, seems that is isolated to safari.

@jgw96 I can recreate in Chrome (on Mac). I know saying this isn't too helpful, if you can't recreate with Chrome, but still.
You are in mode IOS yes?

@alexbainbridge haha no problem, appreciate you taking a look too! Yep im using ios mode with the conference app. Testing in Chrome 52 and safari 10. Are you testing with the same setup?

@jgw96 Chrome 52 / Safari 9 .... both on Mac

I ran into this issue when testing some issues on #7600 I'm adding my notes here:
Initial Reporting of the issue with the side menu:

if the menu is open, and I click on the main page to have it close, it is delayed closing, and then anytime I click on the main page again, the menu drawer is re-opened. Until I use the slide motion to close the menu, all clicks on the page will just toggle the menu.

Confirming in the conference app example:

I just confirmed the menu is broken in the conference app as well. If I am in platformiconic=ios, in chrome. I get the same behavior. When I slide out the menu it slides out fine, but then if I click anywhere, it's a delayed abrupt snap back to closed, and any clicks on the page will cause the menu to open back up. Until I have dragged the menu back to closed from an open position, I cannot click on anything in the main content page.
If I use the menu toggle button during this time, it appears the menu slides too far to the right underneath the content as well..but if I click a couple more times it will toggle "closed" and back open.
I made no modifications to the conference app, I just cloned it, npm installed, and ran
ionic serve --browser chrome

Steps to reproduce in conference app:

I was consistently getting the issue to appear in the conference app. The steps to reproduce the side menu bugged states with the conference app:

run the app with parameters ionicplatform=ios in query string
use the slide motion to open the side menu (drag from the left of the screen)
Click anywhere on the body of the screen (you should notice a stuttered close)
Click anywhere on the body of the screen (you should see a non-animated open of the side menu)
Until you drag the side menu closed, all clicks on the body of the page will attempt to toggle the side menu
After you've dragged the side menu closed, if you click the menu hamburger icon, the side menu panel opens, but the menu content appears to be hidden under the body of the main content leaving a blank white side panel.
Clicking the hamburger icon a couple more times appears to get you back to a "normal" state.

More testing, finding that if the UserAgent is correct, it will generally work:

I just tested this in chrome with emulation. It appears that everything works fine with the user-agent emulation. Whether iPad/iPhone or an Android device. I also tested without the header emulation and just using localhost:8100, localhost:8100?ionicplatform=ios, localhost:8100?ionicplatform=android. In all of these 3 scenarios the side menu appears to be broken as stated above.
It appears that something is dependent on the User-Agent headers being picked up and applying some styles/events.

Thanks @Barryrowe !

I know you have this in hand, however while we are talking side menus issues in iOS mode, there is this https://github.com/driftyco/ionic/issues/6405 which I have also seen in 11..... could it be related to this one?

cc @manucorporat ^ any ideas on that? @alexbainbridge Im pretty sure that is not related but Manu will know more.

I'm also experiencing 2 issues which seem somewhat related to this.
In Windows, when the menu is opened programmatically at the start. If you close the menu by clicking on any part of the page, when you click again on any part of the page it will trigger opening the menu (hence we would be stuck where we are only able to open and close the menu and not do anything)
and Chrome 51 desktop, where show-menu class is sometimes present even if the menu is hidden and sometimes not present when the menu is hidden.
(was not able to replicate/verify this in the default plunkr for this as it seems ion-menu functionality does work properly in the default plunkr (?))

Further to the observations by  @Barryrowe I can confirm I see this with my app in Chrome (windows) with the iOS theme, the steps to reproduce currently seem more random for me though (different to those listed above). Manually inspecting the ion-menu element and adding class 'show-menu' then reveals the full menu.

I've been noticing this behavior on Chrome for Windows (v52 and now v53) for quite a while, but in the last day or so, it has gotten to be extremely persistent. It's at the point where the Menu example in the API documentation is failing for me.
Since I can't work this way, I tried working around it, and I found that disabling swipeEnabled on the <ion-menu> element allows me to use the menu again. I was led to this when I found that I could remove the menu toggle from my markup entirely and, after doing this, clicking in the upper left corner still caused the menu to try to show.
For reference, I am forcing the menu to type="overlay" due to the other issues currently present in the iOS-style menu. I don't seem to have any issues on devices, so I've only enabled my workaround when not in a Cordova environment.

presumably fixed by this PR: https://github.com/driftyco/ionic/pull/8068


Consume identity.Principal in CA abstraction

Summary
As part of #275, we'd like to move away from the challenges.ChallengeResult data structure and use identity.Principal and identity.Issuer instead. This PR changes the ca.CertificateAuthority to consume identity.Principal and a public key instead of challenges.ChallengeResult.
Ticket Link
Related to #275
Release Note
NONE

@znewman01 for refactoring mentorship eyeballs 🙏🏻

Codecov Report

Merging #570 (380c64c) into main (8d307b5) will decrease coverage by 0.34%.
The diff coverage is 29.68%.

@@            Coverage Diff             @@
##             main     #570      +/-   ##
==========================================
- Coverage   44.29%   43.95%   -0.35%
==========================================
  Files          21       21
  Lines        1517     1513       -4
==========================================
- Hits          672      665       -7
- Misses        771      777       +6
+ Partials       74       71       -3

Impacted Files
Coverage Δ

pkg/ca/googleca/v1/googleca.go
52.25% <0.00%> (ø)

pkg/ca/x509ca/common.go
0.00% <0.00%> (-32.61%)
:arrow_down:

pkg/challenges/challenges.go
29.71% <30.90%> (+0.93%)
:arrow_up:

pkg/api/grpc_server.go
52.97% <50.00%> (ø)

pkg/ca/intermediateca/intermediateca.go
72.30% <50.00%> (ø)

pkg/ca/fileca/watch.go
100.00% <0.00%> (+50.00%)
:arrow_up:

Continue to review full report at Codecov.

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

Leaving open for a bit if @znewman01 has any comments

LGTM, thanks!


Comments formating style and vector sign

First of all, thank you for your effort. Here's what I noticed: comments and everything after vector sign (for ex. var# = {}) is styled lika a comment.
For example:
### this is a comment ###
fileList$# = fileNames$#("*.wav")
On second line everything after # is in italic and gray font like it's a comment

Thank you for the feedback!
The regex for comments was greedy and captured anything after a '#' or ';'. It now only captures these characters if they're preceded by a space, token boundary, or line start. Since '$' is not considered a token boundary in Praat, vectors should no longer break comments from 0.11.0 onward.

Sorry I didn't mentioned that earlier, but a$# = {} is a string
vector, but there are also numeric vectors like something# =
{1,2,3,4}. And things get complicated even further: someMatrix## = {{
3, 6, 2 }, { 8, 2, 1 }} - this is matrix example. Yea, In Praat Script
Editor everything works because you can put comments only in a new
line. And if only it could be that char combination is limited to
#={, but you can have something in loop like
something# [i] =  i + i
or
squares# = zero# (100,10000)
x =  numberOfRows (a##)
etc. I think maybe it's too many variations for regex match, but I
don't have enough experience to claim that. Thanks for the effort
anyway adn doing a grat job!!!
Best regards!
Jordan
On Tue, Nov 7, 2023 at 11:56 AM Orhun Uluşahin @.***> wrote:

Closed #2 as completed.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: @.***>

Right, I had completely overlooked the variation in vectors. I've re-opened the issue, but I'm confident all vector use cases can eventually be captured correctly through detailed enough regex configs. I'll return to this in future updates.


I received error

func onError(_ client: CentrifugeClient, _ event: CentrifugeErrorEvent){
}
about onError function, I get following error
▿ CentrifugeError
▿ transportError : 1 element
▿ error : WSError
- type : SwiftCentrifuge.ErrorType.protocolError
- message : "{"reason":"bad request","reconnect":false}"
- code : 3003
Please help me try  to understand error:
Thanks

Hello, do you know when it happens? On connect? In general, the simplest way is to look at server logs and logs should contain entry on INFO level about the reason of client's bad request.
Most often you can get error like this during connect if you have invalid token, or connecting without token and without connect proxy configured on server side.

Thanks for response
I get following logs from backend side
{"level":"info","client":"ce6b4c25-7694-4b1a-8fe5-5f2266ebc15d","data":"n\b\u0015"j\naeyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIyNiJ9.qDnjxWXiYhViUWCG3yLVFFSaEreKicVSjCGU-QVa2M0"\u0005swift","error":"invalid character '\b' in literal null (expecting 'u')","user":"","time":"2022-11-24T12:16:17Z","message":"error decoding command"}
{"level":"debug","client":"ce6b4c25-7694-4b1a-8fe5-5f2266ebc15d","reason":"bad request","reconnect":false,"user":"","time":"2022-11-24T12:16:17Z","message":"closing client connection"}

Hello
We have updated server version, and everything is work perfectly
Thank you very much Alexander

Ah, cool :) Welcome!


Unable to Display Previously Fetched Data in Offline Mode

Describe the bug
Currently, my React Native app is functioning correctly, allowing for successful addition, updating, and deletion of data. However, there's an issue with displaying previously fetched data when the app is in offline mode.
Your minimal, reproducible example
i can't share code due to security issue
Steps to reproduce
Start the React Native app.
Fetch data from the server while online.
Turn off network connectivity (offline mode).
Attempt to view previously fetched data.
Expected behavior
The app should display previously fetched data even when in offline mode.
How often does this bug happen?
None
Screenshots or Videos
No response
Platform
android, ios in expo
Tanstack Query adapter
None
TanStack Query version
^4.33.0
TypeScript version
No response
Additional context
No response

we don't want to see your specific code - that's probably too much anyways. Your job is to isolate the issue in a sandbox and make it reproducible to rule out any issues with your setup or your backend. Then, when you've confirmed that there is indeed an issue with React Query, show the reproduction and we'll re-open this issue.

Please provide me demo for offline data managed and how to show previous data which fetched from firebase


what is the proper way to extend deny_access?

Apologies for opening a ticket for this, but I was wondering how one can be best overwrite default deny_access behavior? As far as creating a REST api, a redirect is not actually the desired behavior for many operations that should be denied (instead, one may want to receive a 401 unauthorized error code and call it a day.)
Any advice on how to best handle that? Right now I just have a fork that's special cased for a js format, but that doesn't seem ideal.
Thanks,

@iros That's a reasonable use case.
The best way currently is to re-define deny_access in your ApplicationController. If you think your re-definition should be in Clearance, we'd be happy to review a patch.

Thanks for the suggestion. Overwriting deny_access in application controller did not do the trick, it still routed through the original one defined in clearance so I had to change it. I've gone through and changed quite a few things about clearance for my own purposes (that aren't pushed) to use respond_with which has been handy.
Thanks,
-- Irene


missing disable props

Hi, thanks for your works!
Is possible to add a disabled props to make checkbox unclickable ?
thanks!

@Eth3rnit3 Yes, it is possible. Would you love to contribute by forking the repo, adding the prop and creating a pull request? If not, then I will do it.

@Eth3rnit3 disabled prop added on version 1.0.5
The prop will have some visual effect on the checkbox (cursor: "not-allowed") which can be edited. But it will also restrict the change of checkbox state (not editable).

Sorry for the response time, thank you very much!

Sorry for the response time, thank you very much!

@Eth3rnit3  You're welcome


Refactor using the new Next.js 13 /app directory

Instead of doing all the data fetching client side, it can be moved to server components, which makes this app the perfect candidate for the new /app directory structure.

Review https://beta.nextjs.org/docs and try moving to the new /app directory structure.
Because Mantine is based on emotion, using server components could be a challenge. Review https://github.com/mantinedev/mantine-next-template/tree/next-13-app for more info

Wow. This is hard. Everything breaks for weird reasons. Turbopack doesn't work with the /api/ routes. Quoting the Next.js beta docs:

Warning: The app directory is in beta and some conventions could change before stability is reached. We do not recommend using the app directory in production.

For this reason, I'm going to wait until things are more stable.


Support for all: syntax in embed patterns

re: https://github.com/thought-machine/please/issues/2806
https://pkg.go.dev/embed

If a pattern begins with the prefix ‘all:’, then the rule for walking directories is changed to include those files beginning with ‘.’ or ‘_’. For example, ‘all:image’ embeds both ‘image/.tempfile’ and ‘image/dir/.tempfile’.

We don't support this in the please_go tool

It looks like this was added in 1.18 so it's not just that I didn't read this properly upfront, we missed when it was added - although I think we were always slightly wrong about including the hidden files.