problem with importing Solution

The solution file is invalid. The compressed file must contain the following files at its root: solution.xml, customizations.xml, and [Content_Types].xml. Customization files exported from previous versions of Microsoft Dynamics 365 are not supported.

Hi Mohammad,
Thank you for reporting the issue.
I will update it and will let you know when done.
Kind regards

Fixed. you can download it from the last release. (<IP_ADDRESS>)


Fix indentation + add unit testing (partial) + introduce XSIMD library for broader intrinsics support

The main purpose of this PR is to introduce broader support for compiler intrinsics by making use of the XSIMD library. As a fallback option for people without the library or when compiling code without sufficient intrinsics support, a XSIMD fallback library is also implemented.
This PR also introduces the use of Boost.Test for unit testing for some components.

Good job! BTW, do you think we can benefit from LLVM compilers?

Good job! BTW, do you think we can benefit from LLVM compilers?

Short answer: maybe.
Somewhat longer answer: technically, the code should be compiler agnostic to a large extent, so in order to see the benefits (if any) of using LLVM compilers would require some analysis of the generated assembly code of some known function or rely on measuring the runtime performance of code compiled on GCC/LLVM/MSVC for example.

Just a style request: could you commit with specific information of fixes for the solved problems? Of course, it doesn't matter for minor fixes.
You can do a squash when you merge the PR to hide unnecessary commit information. Thanx for the good work!

@i2000s Those are mostly minor adjustments that I intended to squash into their respective initial commits, which is the reason why I did them like that.
I will otherwise always make proper commit messages.

So for now, the Mac OSX build is allowed to fail because running the examples scripts fails for some weird reason.
I think this is due to the fact that the import of the hiq module fails but I cannot seem to reproduce this on my own machine. I'll open an issue in case somebody wants to investigate this further.


Use radius graph for co-occurrence score

Description
The way we are doing the co-occurrence score is really ugly and it should be rewritten. We should remove the euclidean distance and use the graph computed with a fixed radius (from spatial_neighbors function).
...
Minimal reproducible example

...

Traceback

...

Version

...

this would require to explicitly tell user that a new neighbor_graph will be re-run (but will not modify the anndata). I think it's a sensible solution but would change the behaviour quite a bit.


Two consecutive not worked list

Aadhar
Abhi
Amol Bhure
Andy Bajaras
Caleb Curry
Carter
Chris Meninwa
Dwayne Sordam
Francis Polignano
Hristijan Ilieski
Kayode Babarinde
KryptoZero
Lakshya Thakur
Landon Moon
Mahir Mersimoski
Martin Nowosad
Meharban Singh
Michael Lee
Mircea Teodor Oprea
Nico y-crozier
Nine
Peter Sommerhoff
Richard Starkey
Sarthak Mathur
Shahraiz Ali
Shivam Yadav
Steve Hedden
Yashovardhan

Lakshya Thakur have been in active for over a month now and that’s because his prioritising job switch.

Hello yes, I have been active, I just met with bucky last week about a project.

Nico y-crozier

Caleb Curry wants to stay a part of the team leads and definitely would like to contribute more but this week his  going to be out for most of the week when he gets back he will  add an update in his cryptocurrency videos the week he get back, and share how people can find the project / get involved.

Carter needs to leave due to my increased school work.

Nine- https://github.com/thenewboston-developers/Activity-Reports/issues/49

Mircea Teodor Oprea- https://github.com/thenewboston-developers/Activity-Reports/issues/47

I would like to remain on the team. However, I have not been given any tasks to work on recently. In order for me to contribute I need to better understand how exactly I can contribute. If someone could reach out to discuss my role with me I would appreciate it.

Shivam Yadav-  was caught up into my personal situations so he was Inactive but then he wants to start working again and wanted to be part of reddit Team.
10:48
But now I am ready to work , so please , I want to join the reddit team again

Lakshya Thakur

he cant work as a team right now but can  contributoroccasional .

Nine is on Discord Team #46

I am aware that once the product is ready to be tested Justin will delegate me the work -Aadhar

Peter Sommerhoff probably be more involved on the YouTube side of instead of kotlit sdk

Removed Amol Bhure from this list. He submitted the Report today. He was unaware of the weekly report system.


Extended collapse panel example description.

Extended the collapse panel example description, which should resolve #18857.
Please let me know if you have any suggestions.

The new documentation does explain the "panel-collapse" class. It is easily missed as it is only in the example HTML (i.e. not mentioned in the text).
For example, something like:  "The div's to be collapsed (e.g. panel-body, or panel-body and panel-footer) need a wrapper div: . See the example below.

@saturdaywalkers, good point. I have updated the introduction according to your suggestion. Please let me know what you think :smile:

Sorry for the delay. Looks good! Andrew.

Bootstrap 3 is no longer being officially developed or supported.
All work has moved onto our next major release, v4. As such, this issue or pull request is being closed as a "won't fix." For additional help and support, we recommend utilizing our community resources. Thanks for your understanding, and see you on the other side of v4!
<3,
@mdo and team


Bump release-1.11 kube libs to latest patch version

Pull Request Motivation

Bump release-1.11 kube libs to latest patch version to get the latest bug fixes.
See #6033 - I haven't verified this issue or that this PR fixes it, but bumping to the latest patch version makes sense.
I'd like to cut a patch release of 1.11 once this PR and #6037 merges.

Release Note

NONE

/test

/approve
/lgtm
/hold
Unhold once all tests are passing

/kind cleanup


Feature/branch

(auth register) wasn't accepting (--tenant) CLI option, this has been fixed.
(configure set) wasn't storing values. This was caused by a fix to the help system in the last revision. The has been fixed and the (configure set) command now accepts (--prop-name and --prop-value) options for better compatibility with other CLI commands.

Scan submitted to Checkmarx

Checkmarx SAST - Scan Summary & Details
Cx-SAST Summary
Total of 7 vulnerabilities 0 High 0 Medium 7 Low 0 Info
Violation Summary
No policy violation found

Checkmarx SCA - Scan Summary & Details
Cx-SCA Summary
Total Packages Identified: 0
Scan Risk Score: 0.00
 0 High severity vulnerabilities
 0 Medium severity vulnerabilities
 0 Low severity vulnerabilities
View more details on Checkmarx UI
Cx-SCA vulnerability result overview
No package violation found


make clean USE_MKLDNN=1 triggers MKLDNN build

When MKLDNN is turned on, either in config.mk or with USE_MKLDNN=1, make clean triggers MKLDNN build. It's very inconvenient for users when they want to turn on MKLDNN in config.mk.

@sandeep-krishnamurthy  could you help to add label Build? Thanks


Missing Cargo.toml?

I can't think of any other way to build this project...

Forgot, pushed now, thanks.


Adding license testing to pedant.

Description
[Please describe what this change achieves]
Issues Resolved
[List any existing issues this PR resolves, or any Discourse or
StackOverflow discussions that are relevant]
Check List

[ ] New functionality includes tests
[ ] All buildkite tests pass
[ ] Full omnibus build and tests in buildkite pass
[ ] All commits have been signed-off for the Developer Certificate of Origin. See https://github.com/chef/chef/blob/main/CONTRIBUTING.md#developer-certification-of-origin-dco
[ ] PR title is a worthy inclusion in the CHANGELOG

Shipped as part of another PR.


Introduction of User-defined-types seems to change how functions are evaluated

Bicep version
Bicep CLI version 0.22.6 (d62b94db31)
Describe the bug
In CARML, for Customer-Managed-Keys we used to reference existing KeyVault resources like in the following example:
param resourceId string = ''

resource vault 'Microsoft.KeyVault/vaults@2021-10-01' existing = if (!empty(resourceId)) {
  name: last(split(resourceId, '/'))!
  scope: resourceGroup(split(resourceId, '/')[2], split(resourceId, '/')[4])
}

which worked like a charm. What I now noticed is, that as soon as I introduce a completely unrelated User-Defined-Type, the above scope statement starts breaking using the default value of ''.
The full example may look like
targetScope = 'subscription'

param resourceId string = ''

resource vault 'Microsoft.KeyVault/vaults@2021-10-01' existing = if (!empty(resourceId)) {
  name: last(split(resourceId, '/'))!
  scope: resourceGroup(split(resourceId, '/')[2], split(resourceId, '/')[4])
}

type lockType = {
  name: string?
  kind: ('CanNotDelete' | 'ReadOnly' | 'None')?
}?

So here is the error that appears if I deploy the above: The language expression property array index '2' is out of bounds...
The workaround is to change the resource to
resource vault 'Microsoft.KeyVault/vaults@2021-10-01' existing = if (!empty(resourceId)) {
  name: last(split((!empty(resourceId) ? resourceId : 'dummyVault'), '/'))!
  scope: resourceGroup(split((!empty(resourceId) ? resourceId : '//'), '/')[2], split(((!empty(resourceId) ? resourceId : '////')), '/')[4])
}

Originally I thought the reason is that user defined types work differently (hence user UDT implementation in AVM looks a bit crazy), but by now I believe it's a bug in the way the expression is handled.
To Reproduce
Steps to reproduce the behavior:
Simply deploy the 'full example' shown above. In the same you can also test the workaround.
Additional context
A full test run is shown below. In between the two runs, I enabled the previously outcommented user defined type.
New-AzDeployment -TemplateFile 'C:\testScope.bicep' -Location 'WestEurope' -VErbose
VERBOSE: Using Bicep v0.22.6
WARNING: C:\testScope.bicep(5,10) : Warning no-unused-existing-resources: Existing resource "vault" is declared but never used. [https://aka.ms/bicep/linter/no-unused-existing-resources]
VERBOSE:
VERBOSE: 21:05:41 - Template is valid.
VERBOSE: 21:05:42 - Create template deployment 'testScope'
VERBOSE: 21:05:42 - Checking deployment status in 5 seconds

Id                      : /subscriptions/<subId>/providers/Microsoft.Resources/deployments/testScope
DeploymentName          : testScope
Location                : westeurope
ProvisioningState       : Succeeded
Timestamp               : 19/10/2023 19:05:43
Mode                    : Incremental
TemplateLink            :
Parameters              :
                          Name             Type                       Value
                          ===============  =========================  ==========
                          resourceId       String                     ""

Outputs                 :
DeploymentDebugLogLevel :

> New-AzDeployment -TemplateFile 'C:\testScope.bicep' -Location 'WestEurope' -Verbose
VERBOSE: Using Bicep v0.22.6
WARNING: C:\testScope.bicep(5,10) : Warning no-unused-existing-resources: Existing resource "vault" is declared but never used. [https://aka.ms/bicep/linter/no-unused-existing-resources]
VERBOSE:
New-AzDeployment: 21:06:03 - Error: Code=InvalidTemplate; Message=Deployment template validation failed: 'The template resource '' at line '43' and column '18' is not valid: The language expression property array index '2' is out of bounds.. Please see https://aka.ms/arm-functions for usage details.'.
New-AzDeployment: The deployment validation failed

This isn't directly related to user-defined types, though you're right that using a type statement can trigger the behavior you've encountered. This is something that would need to be addressed in the ARM backend service, most likely by not evaluating the names or scoping properties of resource with a false condition.
I would recommend using the following resource declaration instead to work around current ARM limitations:
param resourceId string = ''

var idParts = split(resourceId, '/')

resource vault 'Microsoft.KeyVault/vaults@2021-10-01' existing = if (!empty(resourceId)) {
  name: !empty(idParts[0]) ? idParts[0] : 'dummyVault'
  scope: resourceGroup(idParts[?2] ?? 'dummySubscriptionId', idParts[?4] ?? 'dummyRgName')
}

Some background on this: There are two ways an existing resource may get represented in a JSON template:

It may be converted to reference('<fully qualified resource id>', '<API version>') expressions wherever a property of the existing resource is used, or
It may end up as an "existing" resource declaration in the ARM template itself.

The second option is used when Bicep is targeting what are known as "symbolic name" templates. There are a couple of things you can do that will cause Bicep to use this compilation mode, one of which is using user-defined types. You can also turn on symbolic name compilation via a bicepconfig.json file.
The distinction between how existing resources get represented will only make a difference in a deployment when the existing resource is never used. Let's use your first snippet as an example:
param resourceId string = ''

resource vault 'Microsoft.KeyVault/vaults@2021-10-01' existing = if (!empty(resourceId)) {
  name: last(split(resourceId, '/'))!
  scope: resourceGroup(split(resourceId, '/')[2], split(resourceId, '/')[4])
}

When compiled, the resulting ARM JSON file will look like this:
{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "<IP_ADDRESS>",
  "metadata": {
    "_generator": {
      "name": "bicep",
      "version": "<IP_ADDRESS>827",
      "templateHash": "13410433678536827458"
    }
  },
  "parameters": {
    "resourceId": {
      "type": "string",
      "defaultValue": ""
    }
  },
  "resources": []
}

If we add an unused user-defined type:
type unused = string

param resourceId string = ''

resource vault 'Microsoft.KeyVault/vaults@2021-10-01' existing = if (!empty(resourceId)) {
  name: last(split(resourceId, '/'))!
  scope: resourceGroup(split(resourceId, '/')[2], split(resourceId, '/')[4])
}

The resulting JSON file will use an existing resource declaration:
{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "languageVersion": "2.0",
  "contentVersion": "<IP_ADDRESS>",
  "metadata": {
    "_generator": {
      "name": "bicep",
      "version": "<IP_ADDRESS>827",
      "templateHash": "8872817320170724981"
    }
  },
  "definitions": {
    "unused": {
      "type": "string"
    }
  },
  "parameters": {
    "resourceId": {
      "type": "string",
      "defaultValue": ""
    }
  },
  "resources": {
    "vault": {
      "condition": "[not(empty(parameters('resourceId')))]",
      "existing": true,
      "type": "Microsoft.KeyVault/vaults",
      "apiVersion": "2021-10-01",
      "subscriptionId": "[split(parameters('resourceId'), '/')[2]]",
      "resourceGroup": "[split(parameters('resourceId'), '/')[4]]",
      "name": "[last(split(parameters('resourceId'), '/'))]"
    }
  }
}

Trying to get the item at index 2 from the return value of split('', '/') will always throw an error in the deployment engine, but as you can see, the first JSON template doesn't have a split expression anywhere because nothing refers to the vault resource.
You can force the version without a user-defined type to throw the same error by referring to a property of vault that requires access to the full resource ID:
param resourceId string = ''

resource vault 'Microsoft.KeyVault/vaults@2021-10-01' existing = if (!empty(resourceId)) {
  name: last(split(resourceId, '/'))!
  scope: resourceGroup(split(resourceId, '/')[2], split(resourceId, '/')[4])
}

output vaultId string = vault.id

which compiles to:
{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "<IP_ADDRESS>",
  "metadata": {
    "_generator": {
      "name": "bicep",
      "version": "<IP_ADDRESS>827",
      "templateHash": "12140109393935145231"
    }
  },
  "parameters": {
    "resourceId": {
      "type": "string",
      "defaultValue": ""
    }
  },
  "resources": [],
  "outputs": {
    "vaultId": {
      "type": "string",
      "value": "[extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', split(parameters('resourceId'), '/')[2], split(parameters('resourceId'), '/')[4]), 'Microsoft.KeyVault/vaults', last(split(parameters('resourceId'), '/')))]"
    }
  }
}

Related to #10731

Hey @jeskew, thank you for the extensive answer. I guess there is no chance that the UDT version would not trigger that infamous language version 2.0 to be picked up? Or is that language version even the latest one and is required for UDT?
Also thanks for providing another workaround. It certainly is a bit smaller than the one I came up with. It may still be a struggle for some of our modules as they reference sometimes several existing resources and or nested ones, but I'll give it a shot :)
In the meantime I keep my fingers crossed for version 3.0 🤞

That language version is required.
@jeskew would this be resolved with #2371? Seems the code @AlexanderSehr is safe in that the split() function should only be evaluated if resourceId is not an empty string?

@alex-frankel Potentially, though I think for backwards compatibility reasons that behavior would require a deployment with an API version >= 2019-05-10. (Earlier API versions need to be able to calculate a valid resource ID for all resources in complete mode, not just those with a true condition.)

The fix for this should be rolled out everywhere now. One behavioral difference you will still see with language version 2.0 is that an existing resource with a true or omitted condition will need to use valid expressions for their names and scope, whereas this isn't necessarily true in non-symbolic name templates. If the condition is false, though, invalid expressions should be fine.

Hey @jeskew,
I just tested if I can simplify our usage of existing resources in AVM now, and at least as of today I still face the same issues as before (using Test-AzDeployment):
[
  {
    "Code": "InvalidTemplate",
    "Message": "Deployment template validation failed: 'The template reference 'cMKKeyVault' is not valid: could not find template resource or resource copy with this name. Please see https://aka.ms/arm-function-reference for usage details.'.",
    "Target": "/subscriptions/<subId>/resourceGroups/dep-appconfiguration.configurationstores-accmin-rg/providers/Microsoft.Resources/deployments/6rzp6xjndwicw-test-accmin-init",
    "Details": null
  },
  {
    "Code": "InvalidTemplate",
    "Message": "Deployment template validation failed: 'The template reference 'cMKKeyVault' is not valid: could not find template resource or resource copy with this name. Please see https://aka.ms/arm-function-reference for usage details.'.",
    "Target": "/subscriptions/<subId>/resourceGroups/dep-appconfiguration.configurationstores-accmin-rg/providers/Microsoft.Resources/deployments/6rzp6xjndwicw-test-accmin-idem",
    "Details": null
  }
]

My attempt to 'simplify':

Source code: [ref])(https://github.com/AlexanderSehr/bicep-registry-modules/blob/4a5ced4a2ac27e73dcfd0636794fa3fa77a8fca7/avm/res/app-configuration/configuration-store/main.bicep#L148-L197)
Bicep version: v0.30.23
So either I'm missing something / doing something terribly wrong, or the issue is maybe not yet closed. As this is relevant for 30+ of the AVM modules, any advice would be welcome :)

@AlexanderSehr thanks for the detailed report! There is a fix merged but it'll take a bit to roll out. I don't think we'll be able to do a hotfix since the affected templates have never been deployable.
Related to #15443

@AlexanderSehr - if you are eager to try it out, you can install the nightly build: https://github.com/Azure/bicep/blob/main/docs/installing-nightly.md

@AlexanderSehr thanks for the detailed report! There is a fix merged but it'll take a bit to roll out. I don't think we'll be able to do a hotfix since the affected templates have never been deployable.
Related to #15443

ah no rush, thanks @jeskew :)
Given the issue was closed and a rollout was mentioned, my brain somehow did not connect the dots that this will require a Bicep version update rather than being something that magically works differently in the back 😄

@AlexanderSehr let me know how your tests went. Mine ended up pretty bad https://github.com/Azure/bicep/issues/15513

@AlexanderSehr the issues I have found were related to using extensibility feature.

@AlexanderSehr let me know how your tests went. Mine ended up pretty bad #15513

Hey @slavizh,
I'm still unsuccessful am trying different code combinations.


Update specification

This PR creates implementable specifications for Plus Codes and Open Location Codes with minimal changes to what is currently published.
And it removes all contradictory information in this project.
In the process, this solves a majority of open issues in one pull request.
Because of contradictions in the project as it, it is NOT possible to make this into bite-sized PRs. I appreciate your time reviewing this thoroughly.
Normative changes

Define codes for north and south poles
Specify which code levels of full codes may be shortened to which code levels of short codes
Specify which API methods are REQUIRED or OPTIONAL
Establish and define naming (Plus Codes, area, bounds, long code, etc.) for consistent usage
Define which full code a short code refers to
Move any authoritative normative statements from wiki and other places here into the specifications

wiki/Naming-guidelines
FAQ.txt
olc_definition.adoc
specification.md
CHANGELOG.md
Guidance-for-shortening-codes.md
README.md / "Each implementation provides..." notes

Other chages

Removed duplicative/outdated specifications and "recommendations", updated links
Moved all documentation into Documentation folder, updated links
Basic copyediting and formatting on files I touched
Migrated documentation consistently to Markdown format
Updated all references to use "Plus Codes" when codes are being referred to (implementations and systems are still "Open Location Code"), fixes Plus Codes capitalization inconsistent with marketing website
Move implementations into Implementations folder, delete non-implementations, reference everything in README with note of new API compliance
Added test cases to match normative requirements
Adds notes about which platforms will produce wrong results because they have insufficient number precision (useful for embedded applications)

Fixed issues

"Global code" may refer to a 10 or 11 digit code

Because references to the outdated "global code" and regex are gone

OLC inconsistent reference to Earth equatorial circumference

Because equatorial distance is no longer referenced, and more approximate distances are given

Specify a unique representation for North and South poles

Because this is specified in the Area and bounds section

Specification should recommend function names

Because adds recommended method names

Documentation conflicts on whether 8 digits may be removed in shortening

Because this is specified as 2, 4, or 6 characters are removed

Plus Codes regex is incorrect

Because new correct regexes are given

OLC inconsistent reference to Earth equatorial circumference

Because no circumference is referenced and values in meters are approximated slightly

OLC specification doesn't strictly state validity status of codes with odd length

Because specification is given on code lengths

Short codes with padding are unintentionally considered valid

Because specification is given for short codes

Google maps and 'Find your code' tool create short codes which aren't decodable offline

Beacuse invalid marketing claims are removed

Test for efficient implementation by fulldecent

Because tests are added and implementations are required to implement correctly.

Makes progress on these issues

Plus Codes capitalization inconsistent with marketing website

Because it uses and specifies the correct capitalization of "Plus Codes". But the implementations also need to be updated.

Floating point representation errors may cause incorrect codes

Because detailed discussion includes notes about floating point errors and it includes a recommendation implementation that produces correct results. It also references classes of floating point errors that are not discussed in this issue. But the implementations also need to be updated.

Use consistent naming in this repository -- plus codes or open location code

Because the documentation is updated to make consistent and correct usage of Plus Code versus Open Location Code. Implementations are not updated. I hope this PR can please be reviewed and merged before I consider the implementations.

:star: Requested action

[ ] Merge this pull request

[ ] Update project wiki per commit https://github.com/fulldecent/open-location-code-wiki/pull/1/files. Project maintainer can do this with:

Clone git@github.com:google/open-location-code.wiki.git
Pull from https://github.com/fulldecent/open-location-code-wiki
git log and/or git diff HEAD~ to review changes
Push

[ ] Tag and release this update at https://github.com/google/open-location-code/releases

Follow-on work
After this PR is merged, I can:

[ ] Create reference implementation, validate and fix one existing implementation and note is as verified compliant
[ ] Move implementations to Implementations/ folder (also update README, .travis.yml)
[ ] Delete non-implementations (just delete file, already properly referenced in README)
[ ] Move demos to Demos/ folder
[ ] Losslessly compress images

And I can help but might need help with:

[ ] Create example implementation for embedded applications in 32 bits and 16 bits

This PR includes a move of all implementations into the Implementations/ folder and this inflates to a scary high Files Changed number. Please review this PR using VS code and you will see there are fewer actual changes. This file moving is required for this PR because it distinguishes the "implementations" from the "demos". And implementations now have a full specification.
I have worked hard to make this a "bite sized" and "minimal" PR.

Requesting PR review, please, from @bilst, @bocops, @drinckes

I haven't had time to check all of this in detail. The fact that this is a massive change that also moves around unrelated parts makes it hard to do so - and considering that even much smaller PR currently aren't accepted quickly makes me wonder if this repo and its contributors are even willing and able to handle a PR of this scope at the moment.
For what it's worth, reading through the rewritten Plus Codes Specification.md, the whole thing feels much less readable and understandable to me. While more strict specifications are appreciated in some places, what this now lacks is a good overview of what a plus code even is, what it looks like, what it can be used for, without immediately jumping into "SHALL NOT", "MUST", and "MAY" legalese.
On another note, the rewritten specs claim to be v1.0.5, a patch-level bump from the previous 1.0.4, but I immediately see some areas where there are larger (if not even breaking) changes to the specification. This means that this new specification, if accepted, should be 1.1.0 or even 2.0.0, which in turn means that there would need to be an even more thorough look at it (and reason for the change in the first place).
To give just one example for a potentially breaking change, areas around the poles are now strictly defined to include or not include the poles themselves. In the case of the south pole, where before all areas having the pole as one of their corner points would include it, now only one of them (for any given code length) does. On top of that, the area that does is the one east of the antimeridian, not the one east of the prime meridian, although the latter ("0°") is typically used when giving coordinates of the poles. While this might look like a rather unimportant detail, it can make the resulting code worse than strictly necessary, as has been laid out in #450.

👍 Thank you for looking at my PR, I do really appreciate it.
Poles
I agree that all details here are important and I commit to fix everything to earn acceptance of this PR. Yes, prime meridian is a more customary choice.
✅ Fixed at 8345cf4234d26ffedcfa3201e541875ed8181bf8
Introduction and readability
The current Plus Codes specification also does not include an introduction.
And this PR does include the same introduction file as before.
Is this the file you were looking for?
Here is a potential brief addition at the top of the Plus Codes specification (above the version history):

In much of the world, street addresses are poorly defined or non-existent. Plus Codes allow to encode location information into easily exchangeable codes. For example, 8FVC2200+ includes the area around Romoos, Switzerland. Shorter and longer codes can represent various area sizes, are helpful for navigation and are very convenient for humans to remember and use.

❓  Shall I make that addition?
Massive changes
The PR currently moves all implementations into an Implementations/ folder. This is in contrast to Demos which go to the Demos/ folder. This is significant because the Open Location API Specification applies to "implementations".
❓ Shall I factor out this change to discuss separately?
Version number
You are referring to Semantic Versioning. Thank you, I agree 1.1.0, at a minimum, is appropriate.
🦶 Updated at d7a7a91540e3da9911717a21e980bc57bfe9580b.
❓ Shall I change this 2.0.0?
Corners and edges
I have corrected the specification to include the south-west corner of each area. I tested the C implementation works this way and also added test cases.
✅ Corrected in 2ce7dca3a8281774aa46c4bb0034bd8a0b94db00
Other notes
I am not deterred that other PRs are not accepted quickly.
This project "strongly encourages technical contributions" and I hope this significant technical PR, pushed by somebody committed to see it through, and flexible to get it done, can see the light of day. I am also around to take on more responsibility later when I know good PRs are actively reviewed and acted on. (Specifically, I'd like to update one of the implementations to be a "reference implementation" as a great starting example.)

Re: Introduction/Readability ("Shall I make that addition?"): Perhaps I've just been confused by the amount of change. Let's revisit this at a later point, once all the other pieces have fallen into place, wherever that might be?
Re: Massive changes ("Shall I factor out this change to discuss separately?"): I actually appreciate the enhanced structure of having all implementations but not the random rest in one folder, but I think this might best be handled separately, if only to remove some of the noise from this PR.
Re: Version number: You're right, this repo doesn't explicitly state that it does use semantic versioning, but I think that is the reasonable choice. Whether a minor version bump would be sufficient in my opinion depends (probably among other things) on whether decoding a plus code encoded with 1.0.4 using these new specifications still leads to the same coordinates in all instances. Perhaps let's identify those changes first that would mandate a major version bump, and see which ones are considered absolutely necessary?

Massive changes
All file moves were extracted from this PR to discuss another day. (Separate discussion referenced in Follow-On Work on top post.)
✅ Fixed in aef4682c5e50b4ddf0f78d0a49facd8474d7d8b4
Version number
I believe the only normative note is that north and south poles are defined in PR to have a specific Plus Code at each level.
The current spec canon (i.e. wiki, "spec", and other documents in this repo that make statements) refer to the poles as:

Being unimportant
Having multiple representations for the South Pole
Having zero and also many representations for the North Pole

Every other input and output is intended to be the same in this PR. And I have tested the C implementation for conformance for hand-checked inputs and it passed. (Commit at 2ce7dca3a8281774aa46c4bb0034bd8a0b94db00.)
Depending on your definition of "change" this PR represents either a "change" for one location and a new specification for the other; or it represents a "don't care" for one location and a "resolving conflict" for the other.
Next is a more philosophical note, maybe. The proposed spec uses math to define Plus Codes and warns about math bit precision. And the current spec canon uses a pseudocode as a spec. The current spec canon will produce different results on 64-, 32- and 16-bit (think embedded) systems. If this causes the PR to produce different results (on 32-, 16-bit systems) than the current spec canon, I consider it a feature not a bug.

I believe the only normative note is that north and south poles are defined in PR to have a specific Plus Code at each level.
[...]
Depending on your definition of "change" this PR represents either a "change" for one location and a new specification for the other; or it represents a "don't care" for one location and a "resolving conflict" for the other.

As far as the poles are concerned, I admit that this is a somewhat obscure detail - but as this specification rewrite is all about being precise and strict, we shouldn't be too handwavy about the details. As has already been stated in #450, currently someone might want to encode "the south pole as well as nearby locations along the anti-meridian", and end up with a plus code of 22222222+. Decoding this plus code under 1.0.4, the result will be an area that includes the south pole. Unter this new specification, it explicitly does not.
Now, I'm still not sure whether having a perfect tiling in the mathematical sense is important enough to go through all this - but if we do, we should be clear about the fact that at least one plus code decodes to different things under 1.0.4 specs and new specs.
Of course, there might also be other details outside just encoding/decoding that lead to certain version bumps, like the actually required API methods, or what regex is being suggested as matching valid codes.

Thank you for all the notes. Below is a summary of (recently) resolved and (every) remaining items.
Poles and breaking changes
Breaking change warning added.
:white_check_mark: Fixed at ffe0a3a4f4da2a15aa4b2fef72e7855d23a547be
Required API methods
Also I moved isValid, which regards full+short codes from required to optional. This is consistent with all other things relating to short codes being optional. Separately, no implementation implements isValid currently as specified (see below).
Breaking change warning added.
:white_check_mark: Fixed at ce6bb6db03524857f7b3762b5c6d3236b02428b3
Replaced specifications:

https://github.com/google/open-location-code/blob/main/API.txt
https://github.com/google/open-location-code/blob/a323e80159d6d6170158cc22497250cb86bf3583/docs/specification.md#library-implementation-requirements

Regex
Agreed, there is a slight difference in the isFull, isShort, isValid methods. Now they actually must validate the Plus Codes. This is easy because a PCRE implements this exactly.
No implementations implement the current required API. Specifically, they all check for the format separator (+) which is not part of the spec.
The old regexes were wrong and/or conflicting and removed.
The new Regexes exactly match valid Plus Codes, the spec, and the plain English meaning of the method name "is valid".
Breaking change warning added.
:white_check_mark: Fixed at daa1c353daef1818f10e797e22766e62cb21fd9c
Copyright
Thank you! Deleted.
:white_check_mark: Fixed at d7c6d2507ce49c2a0ef0d7c1d5249ef4b668db37
Code length lookup
:white_check_mark: Fixed at a2b4168
"Precision"
A more specific wording describes the geometry of the Plus Code area rather than the unclear word "precision".
:white_check_mark: Fixed at 33044f51f05234c96da1600ed24db9b5f46100a7
Open items:

Where exactly is Greenwich? https://github.com/google/open-location-code/pull/463#discussion_r647330859
Which methods should be required? https://github.com/google/open-location-code/pull/463#discussion_r647331111 // and should supporting all code lengths (not just length 10) be required?
Short codes

Add test cases
Add a margin of safety

https://github.com/google/open-location-code/pull/463#discussion_r650514831
https://github.com/google/open-location-code/pull/463#discussion_r647330711

If geocoding, recomend to use city names // https://github.com/google/open-location-code/pull/463#discussion_r650514831

@bocops Could you please share any thoughts on the open items immediately above?

Sorry for the late reply. :)
Regarding required vs. optional methods, I think we agree that all current functionality regarding the handling of full codes needs to stay required. According to current API.txt, that is: isFull, encode, decode
I'm not sure that making all functionality related to short codes completely optional is the correct thing to do. At the very least, contributors should be strongly encouraged to offer this functionality in their implementations. Whether we decide for or against this change, this would affect these methods: isShort, shorten, recoverNearest
The remaining isValid is a special case. Even if we decide to make short code handling optional, a short code is still a valid code, so if this method name stays, it should behave the same across all implementations, independent of whether a certain implementation does or doesn't handle short codes. At that point, discussing the removal of shorten-related functionality becomes somewhat moot.
In the end, because of this, and because the main problem with short codes seems to be not their existence but the fact that the main publisher of short codes chooses reference locations rather opaquely, I believe that all seven methods might as well stay required.
Regarding the question of required code length support, I assume this means full code lengths outside of shortening? A while ago, we had a lengthy discussion about what code lengths are sensible in the first place, and the decision was made to restrict code length to <=15, because anything beyond that doesn't really have any real world use cases.
An argument could be made that codes referencing an area of <= 10cm² (code length 14, 15) aren't that sensible in practice, either - but unless those fall into the range of "technically impossible on specific systems", I don't think we should make some lengths required but others optional. If there are precision problems, we should rather define how an implementation should deal with them - for example, should decoding a "too long" code simply fail, or should it return the next-bigger area?
Regarding safety margins when shortening, I think the best description so far can be found on the wiki page Guidance for shortening codes, although I'd prefer to not simply hand out magic numbers like 0.4, but explain a bit better why we're not going for the theoretical full range of 0.5.

I am considering to update the PR and make it:

All methods required. This is simpler and it restricts which implementations we link to/develop in this repo to only be the highest quality implementations. If somebody wants to make a lesser implementation, it will be up to THEM to explain why they chose to exclude short codes or something else.
Safety. Clearly specify safety margins.
-Required code length. Like you say, only specify how it should work and how it should gracefully degrade. Explain why.

If I implement all these things, does that clear the threshold for merging this PR?

@bocops @drinckes Can you please confirm that if I make the changes above https://github.com/google/open-location-code/pull/463#issuecomment-945004628 and create a reference implementation that this PR may be merged?

@fulldecent This is a decision for @drinckes or potentially @bilst to make. I'm still not convinced that all of the breaking changes are really necessary, but in the end this is their project. Either way, I agree it would be nice to see some closure here, this has gone on long enough.

@drinckes @bilst, please advise.
I'd like to update these three things if you think it will be mergable.
Then merged I will work on a reference implementation.

Sorry for the slow reply! I think you point out some interesting theoretically valid technical issues, but given that they haven't been an actual problem for any users, I'm not sure it's worth the added complexity/formality to call them out specifically.
Easiest PRs to accept are small scope improvements to clarity (e.g. editing a paragraph or two in a single file). Any increased complexity of documentation or added requirements need to be weighed carefully against their potential to discourage adoption by GIS folks who might not be as comfortable working with more formal specifications.

@bilst

issues... haven't been an actual problem for any users

Instead of considering the problems of users (which is super limited, because few people use Plus Codes), please consider the problems of potential users.
There are many people that don't use Plus Codes. Perhaps this is because it has problems and it is not possible to correctly implement Plus Codes.
People that develop products (even GIS folks) like correct specifications and example code. On the other hand, people that start developing products, but never finish... those are the people that like vague and inconsistent specifications.
This PR addresses these issues, holds Plus Codes in the highest light, and lays the path forward for multiple compatible and correct implementations.

I will not break this PR up into smaller pieces because too many things are broken as-is.
You are welcome to close this PR without merging if you still do not have the time to provide a proper review.

I'm not even going to try to understand a single PR of this size.
For future reference, I would rather have multiple (i.e. small) PRs for a single issue, than one PR that attempts to address multiple issues.


[WIP]: Remove duplicate filenames from tables

Resolves #26
In some cases, multiple copies of a given filename are present in the tables created from the MAST queries. This leads to repeated downloads of the same file. This PR remove the duplicate entires.

Duplicates have been removed, but the product search does not make use of the starting and stopping time limits, so it is returning all files for the given propID.

[ ] Need to find a way to associate start times with the rows in the product table, and then filter out entries that are outside of the user-given datetime bounaries.

Looks like maybe we need to match up the parent_obsid from the products query with the obsid from the obs query. Then we can apply the t_min value from the obs query to the individual products from the product query, and filter appropriately.

Merging this now, as it solves the problem of downloading multiple copies of files. Speeding up the query or making it smarter will come in a future PR.


Can you update to the latest blazor dependencies

Can you update to the latest blazor dependencies
thank you

I just pushed a new version updated to asp.net core 3.1.100


Remove offline indexing

Regenerating the index can delay startup substantially for large repositories, and doing so is unnecessary since version 2.11.2 when online indexing was added.

Any thoughts on this one?  Currently it takes about 20 minutes for the container to come up with a repo containing about 16,000 changes.  If you have a suggestion for a workaround I'd love to hear.  Or maybe this step could be conditional on something in the environment?

Hi @crorvick . Sorry for the late response.
The re-index lines that you want to remove were added in c78e429 which is a commit that I want to make sure a smooth upgrading from the Gerrit 2.12.x to 2.13.x. People can just remove their 2.12 container but keep the volume then run a new 1.13 container with the same volume. The starting process will upgrade the repository for them smoothly.
However, since 2.13 the Gerrit introduces a new secondary index for accounts, and this must be indexed offline before starting Gerrit. And I chose rebuilding all indexes instead of just the accounts because there's an issue shows when you upgrade to 2.13 or 2.13.1 you'll have to rebuild both indexes offline and, more importantly, there's a risk that some day online reindexing might not works again.  Clearly, I didn't aware of the effect to restart a Gerrit installation with many changes like yours. I have to agree with you that 20 minutes is unacceptable for just a restarting.
Here's my proposal. Would you mind changing the re-index all offline logic into the just re-index the accounts offline? If the re-index time for accounts is acceptable, we can speed up the restarting process while keep the upgrading process the same way as it is.

Thanks for the detailed explanation.  That makes sense, and your proposed fix worked well.  I'll push a new commit shortly.

This has been merged and tested. The upgrading process looks good. You can pull the latest image and test it on your project, now.
Great works!


Question about registering a behavior

Discussed in https://github.com/jbogard/MediatR/discussions/1074

Originally posted by bancroftway September 26, 2024
I have a question regarding correct way to register my behavior whose complete code is below.
I have tried this way, but the behavior does not get called:
 builder.Services.AddMediatR(cfg => {
     cfg.RegisterServicesFromAssemblies(typeof(Program).Assembly);
     cfg.AddBehavior<IPipelineBehavior<IAppRequest<BaseResponse>,BaseResponse>, UnhandledExceptionBehavior<IAppRequest<BaseResponse>, BaseResponse>>();
 });

public class UnhandledExceptionBehavior<TRequest, TResponse> : IPipelineBehavior<TRequest, TResponse>
    where TRequest : IAppRequest<TResponse>
    where TResponse : BaseResponse
{
    private readonly ILogger<UnhandledExceptionBehavior<TRequest, TResponse>> _logger;

    public UnhandledExceptionBehavior(ILogger<UnhandledExceptionBehavior<TRequest, TResponse>> logger)
    {
        _logger = logger;
    }

    public async Task<TResponse> Handle(TRequest request, RequestHandlerDelegate<TResponse> next, CancellationToken cancellationToken)
    {
        try
        {
            return await next();
        }
        catch (Exception ex)
        {
            _logger.LogError(ex, "Unhandled Exception for Request {Name} {@Request}", typeof(TRequest).Name, request);

            var response = Activator.CreateInstance<TResponse>();
            response.IsSuccess = false;
            response.ErrorMessage = $"An error occurred while processing your request: {ex.Message}";

            return response;
        }
    }

try separating  MediatR configuration from the behavior registration. like this
`builder.Services.AddMediatR(cfg =>
{
cfg.RegisterServicesFromAssemblies(typeof(Program).Assembly);
});
builder.Services.AddTransient(typeof(IPipelineBehavior<,>), typeof(UnhandledExceptionBehavior<,>));`

it won't work, I had the same problem

try separating MediatR configuration from the behavior registration. like this builder.Services.AddMediatR(cfg => { cfg.RegisterServicesFromAssemblies(typeof(Program).Assembly); });
builder.Services.AddTransient(typeof(IPipelineBehavior<,>), typeof(UnhandledExceptionBehavior<,>));

I won't work, I had the same problem

In order to register Generic behaviors you have to use AddOpenBehavior instead of AddBehavior for eg: cfg.AddOpenBehavior(typeof(UnhandledExceptionBehavior<,>))

泛型他没有提供注入，使用atuofac
builder.Host.UseServiceProviderFactory(new AutofacServiceProviderFactory());
builder.Host.ConfigureContainer(builder =>
{
builder.RegisterSource(new ContravariantRegistrationSource());
builder.RegisterGeneric(typeof(UnhandledExceptionBehavior<,>)).AsImplementedInterfaces();
});  看下是否可以

can you share your request? you should inherit from IAppRequest and your response should be BaseResponse.

Here is my request and response. Please help me with the registration code for the behavior as I am unable to understand the correct code to register the behavior, as this is not an open behavior
public sealed record GetTopQuestionsQry : IRequest<GetTopQuestionsQryResult>;

public sealed record GetTopQuestionsQryResult : BaseResponse
{
    public List<QuestionDto> Questions { get; set; }
}

There are 2 ways to solve this issue:
1 -  Use IRequest instead of IAppRequest in your behavior:
public class UnhandledExceptionBehavior<TRequest, TResponse> : IPipelineBehavior<TRequest, TResponse>
    where TRequest : **IRequest<TResponse>**
    where TResponse : BaseResponse
{
    //...
}

2 - If you want to use IAppRequest, first you must define like this:
public interface IAppRequest<T> : IRequest<T>
{
}

and define your request like this:
public sealed record GetTopQuestionsQry : IAppRequest<GetTopQuestionsQryResult>;


UnhandledPromiseRejectionWarning if mongodb is not running or reachable.

I'm not sure if this is an issue with Bedrock.runOnce/runOnceAsync or the way it's implemented here.
The cause of this error is that the mongodb server is not running or reachable.
The issue is that we have an UnhandledPromiseRejectionWarning that I believe should cause Bedrock to exit with an error condition.  Instead, bootstrapping proceeds and things go downhill fast.
In CI, this leads to hangs/timeouts when apparently the database initialization stuffs retry indefinitely.
Run cd test

><EMAIL_ADDRESS>coverage-ci /home/runner/work/bedrock-profile-http/bedrock-profile-http/test
> cross-env NODE_ENV=test nyc --reporter=text-lcov npm test > coverage.lcov

(node:2853) DeprecationWarning: runOnceAsync() is deprecated. Use runOnce() instead.
(node:2853) UnhandledPromiseRejectionWarning: DatabaseError: Could not initialize database.
    at /home/runner/work/bedrock-profile-http/bedrock-profile-http/test/node_modules/bedrock-mongodb/lib/index.js:180:23
    at /home/runner/work/bedrock-profile-http/bedrock-profile-http/test/node_modules/bedrock-mongodb/node_modules/async/dist/async.js:473:16
    at /home/runner/work/bedrock-profile-http/bedrock-profile-http/test/node_modules/bedrock-mongodb/node_modules/async/dist/async.js:1622:17
    at /home/runner/work/bedrock-profile-http/bedrock-profile-http/test/node_modules/bedrock-mongodb/node_modules/async/dist/async.js:969:16
    at cb (util.js:207:31)
    at util.js:191:10
    at hidden (internal/errors.js:289:14)
    at processTicksAndRejections (internal/process/task_queues.js:84:21)
(node:2853) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:2853) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

This should be fixed with the latest version of bedrock, closing.


interactive reading needs EOF to be inserted (2 times)

Hi,
First, I really like this ptpython, thanks for this tool :)
Here's my issue:
When I try to read from stdin from within ptpython console, I need to press Ctrl-D two times to signal EOF.
When running the same command from standard python console, simple Enter does the job.
For example:
>>> import sys, getpass
>>> sys.stdin.readline()
I need to press C-D 2x to make ptpython to accept this line'I need to press C-D 2x to make ptpython to accept this line'
>>> getpass.getpass('the same issue here')
the same issue here
' I needed to press C-D 2x'
>>>

Standard python3 console:
Python 3.4.3 (default, May  5 2015, 17:58:45)
[GCC 4.9.2] on cygwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys, getpass
>>> sys.stdin.readline()
It ends just by pressing enter
'It ends just by pressing enter\n'
>>> getpass.getpass('I need to press enter to finish inserting')
I need to press enter to finish inserting
'Just pressed enter'
>>>

I think the behaviour here should be consistent with the standard interpreter.

I guess this is a duplicate of
https://github.com/jonathanslenders/ptpython/issues/147
So I'm closing this


catching typos by looking for extraneous JSON fields, fixing tests

in this PR: objutils.ExtraneousFieldPaths, used to check for JSON fields that aren't used during parsing.
It isn't implemented as part of the JSON decoder because we can't control which JSON library the kube-native decoder uses.
#135 @wlan0
not in this PR:
custom JSON library that annotates errors with the "path" where they occurred. (works, but json tests need to be cleaned up)
better formatting of errors with context, i.e. util.ContextualizeErrorf (not started yet)

Pls rebase

rebased. all commits were previously merged (#148)


Don't allow dashes in contact phone fields

Closes https://github.com/cfpb/cfgov-refresh/issues/3214.
The contact-phone template puts phone numbers into a standard phone number format, e.g.<PHONE_NUMBER>. So, when a user enters a number with formatting, the template adds extra formatting to it, e.g. (333) .55-5.4444, which looks wrong.
This PR adds a validation to ensure that entered phone numbers only contain digits. It also adds help text to help content editors understand how to enter phone numbers. Any vanity phone numbers, e.g.
(333) MY-1-CFPB can have any characters, and won't get automatically formatted.
Validations won't run until we upgrade to Wagtail 2 :umbrella:.
Additions

Validation to ensure phone numbers are made up of only digits
Help text for phone number fields

Testing

Wait until we upgrade to the latest version of wagtail
Running this branch, create a Browse Page
Add an Expandable unit to the Content section
Add a Phone block to the Expandable
Enter a variety of phone numbers in the fields

Upon saving the page, the validation should prevent saving if the phone field contains non-digit characters.

Screenshots

Notes

Technically, this won't break anything if we merge. The help text on the page will still be helpful.
However, the validation won't actually run until we upgrade to Wagtail 2. :x::x:

Checklist

[x] PR has an informative and human-readable title
[x] Changes are limited to a single goal (no scope creep)
[ ] Code can be automatically merged (no conflicts)
[ ] Code follows the standards laid out in the CFPB development guidelines
[ ] Passes all existing automated tests
[ ] Any change in functionality is tested
[x] New functions are documented (with a description, list of inputs, and expected output)
[x] Placeholder code is flagged / future todos are captured in comments
[ ] Visually tested in supported browsers and devices (see checklist below :point_down:)
[ ] Project documentation has been updated
[x] Reviewers requested with the Reviewers tool :arrow_right:

👍 new migration works, and validation message looks great.


Vet Parse open source

Action items:

[x] Validate Heroku/AWS install instructions (https://github.com/codepath/android_guides/wiki/Configuring-a-Parse-Server)
[x] Enable push notification support (https://github.com/codepath/android_guides/wiki/Configuring-a-Parse-Server#enabling-push-notifications)
[x] Validate local setup
[x] Figure out if there are any blocking bugs in your group projects (query issues, load, etc.): https://github.com/ParsePlatform/parse-server/issues
[x] Submit any bug issues
[ ] Submit patches
[x] Help document workarounds in guides

Heroku/AWS installation

Get a Parse server working on AWS or Heroku http://guides.codepath.com/android/Configuring-a-Parse-Server

Local testing
Follow instructions based on https://github.com/ParsePlatform/parse-server-example#for-local-development

Install NodeJS locally
a. Get the node.js installer - https://nodejs.org/en/
b. Install MongoDB - http://docs.mongodb.org/master/tutorial/install-mongodb-on-os-x/

Fork and download Parse server code.
git clone https://github.com/ParsePlatform/parse-server
git clone https://github.com/ParsePlatform/parse-server-example

Get server running locally
cd parse-server-example
npm install
npm start

Figure out the IP address of your machine (i.e. ifconfig en0).

Point your clients at an IP address:
Android:
    Parse.initialize(new Parse.Configuration.Builder(this)
            .applicationId("myAppId")
            .server("http://<IP_ADDRESS>:1337/parse/")

Making changes
If you wish to make changes to the Parse source code, you can make changes to node_modules/parse-server.
You can also make changes to the parse-server code and install the package by dong the following:

Edit dependencies in package.json to reference the parse server locally:
"dependencies": {

  "parse-server": "file:../parse-server"
},
```

Make any changes.

To force reinstall, npm install parse-server

@rogerhu should we close this?


Inline Swiftlint comments are crossed out

Hi, I'm seeing this on my inline swiftlint errors and warnings after a successful CI run with danger and danger-ruby-swiftlint. The plain Danger warning does not appear with strikethrough. It happens on PR open and re-open. (Note I have been using the same test branch for debugging the CI workflow and there are several closed PRs - could this be the issue?).
Versions:
danger: danger (6.3.1)
danger-swiftlint: danger-swiftlint (0.24.2)
Screenshots:
Inline SwiftLint violation:

Normal Danger comment:

Danger normally edits/deletes comments on subsequent runs, so the comments are always up-to-date. I would bet that strikethrough is a feature of Danger's that is only used on inline comments. I'm not sure – I don't use the inline comment feature.

Hmm, looks like you're right: https://github.com/danger/danger/issues/1189
Though when browsing the diff between the latest release and 6.2.0 nothing stuck out as being the root cause of this odd behavior 🤔 . I will comment on that issue to try and gain some additional traction.

I'll note that the creator of Danger tends not to use inline comments either, so it might be worth seeking out developers who implemented it and asking for advice.


hyperpararemetrs

hello, what model do you usse yolov5S for the training, what datasets do you use how many epochs??? it was modify the arquitecture of the YOLOv5???

The dataset I use comes from here：
https://github.com/AIZOOTech/FaceMaskDetection


Can we make the default home page be category view?

As per @gcolvin discussion here: https://ethereum-magicians.org/t/choice-principles/1124/7
Is there a setting where we can make the default or non-logged-in user view be the categories page: https://ethereum-magicians.org/categories

I left it in the current mode in order to increase serendipity, but it is true this is now too much. Will revert to category view shortly...

I like Latest, but perhaps useful for newcomers to orientate themselves. Cheers!


runtime: reconsider stack shrinking

Issue #13169 has pointed out an issue which has bothered be for a while: when is it safe to shrink a stack?  Direct goroutine->goroutine copies are touchy - how do we know that the destination stack isn't being shrunk?  In a world without stop-the-world, it isn't easy to know that the destination goroutine isn't being shrunk right when we're trying to copy data to the receiving goroutine.
We get away with this right now by doing shrinking in marktermination.  If we do shrinking some other way, we could shrink without having all threads stopped, which would help our pause times.
A possible solution is to only allow stack shrinking in place.  I wouldn't be too hard to do so, I had a buddy allocator stack scheme coded up about a year ago that could do this (by only freeing the unused half of the stack, leaving the rest in place).  I didn't pursue the idea because it can make fragmentation somewhat worse than the current scheme.  But maybe that problem is not as bad as this one.
Or maybe there is some synchronization scheme that could lock stacks so that channel sending and shrinking were mutually excluded?
@aclements

Interesting. It hadn't occurred to me that the exact problem that was preventing easily moving stack shrink out of STW was, in fact, already a bug.
What do you think of my suggestions in https://github.com/golang/go/issues/12967#issuecomment-151196217?

Another possibility is to make stack shrinking the responsibility of the
thread whose stack is being shrunk -- or if we add that mutex for shrinking
and channelling, perhaps the stack will sometimes be asked to shrink itself
at a convenient moment.
David
On Nov 8, 2015 2:54 PM, "Austin Clements"<EMAIL_ADDRESS>wrote:

Interesting. It hadn't occurred to me that the exact problem that was
preventing easily moving stack shrink out of STW was, in fact, already a
bug.
What do you think of my suggestions in #12967 (comment)
https://github.com/golang/go/issues/12967#issuecomment-151196217?
—
Reply to this email directly or view it on GitHub
https://github.com/golang/go/issues/13183#issuecomment-154861317.

You don't want it to be solely the responsibility of the goroutine itself because a common pattern is to have a top-level loop that blocks on a channel and when it receives something, use a bunch of stack, then unwind the stack, then block again. Since it could be blocked for a long time, you either need it to shrink its stack on the way in to the receive (very hard to predict when this is worthwhile) or you need something else to be able to shrink its stack when it has been blocked for a long time, which gets us right back to the problem of stack shrinking racing with a channel receive.

Is the cost of a level of indirection and not sharing your stack worth all
of this pain?
On Sun, Nov 8, 2015 at 3:55 PM, Austin Clements<EMAIL_ADDRESS>wrote:

You don't want it to be solely the responsibility of the goroutine
itself because a common pattern is to have a top-level loop that blocks on
a channel and when it receives something, use a bunch of stack, then unwind
the stack, then block again. Since it could be blocked for a long time, you
either need it to shrink its stack on the way in to the receive (very hard
to predict when this is worthwhile) or you need something else to be able
to shrink its stack when it has been blocked for a long time, which gets us
right back to the problem of stack shrinking racing with a channel receive.
—
Reply to this email directly or view it on GitHub
https://github.com/golang/go/issues/13183#issuecomment-154870976.

No point in having this discussed in two places, let's move to #12967 .


Instead of just using Mbit/s or Mbyte/s to show the speed, we can use…

instead of just using Mbit/s or Mbyte/s to show the speed, we can use Kbit/s or Kbyte/s for slow connections and Gbit/s or Gbyte/s for fast connections.

added "humanized" function which converts big number to kilo, mega, giga equivalent etc.
added "--no-human" parameter which shows the speed using just bytes or bits
when "--no-human" parameter isn't used, we shod the humanized version of speed. otherwise we show just plain bits or bytes (which will be more usable by machines)

@ealtintas
$ ./speedtest-cli
  File "./speedtest-cli", line 1859
    resultstr = humanized(results.download / args.units[1])
                                                          ^
TabError: inconsistent use of tabs and spaces in indentation

$ ./speedtest-cli
  File "./speedtest-cli", line 1871
    resultstr = humanized(results.upload / args.units[1])
                                                          ^
TabError: inconsistent use of tabs and spaces in indentation

@ealtintas
You should implement for --simple. The output of --simple is still Mbit/s.

@ealtintas
And, we can already use --byte option.
$ speedtest-cli --byte --simple
Ping: 42.391 ms
Download: 2.29 Mbyte/s
Upload: 0.88 Mbyte/s

Thanks for the review.
I am working on "--simple" implementation.
When using "--simple" if we also say "--no-download" or "--no-upload" we get "0.00 Mbyte/s" for the untested results.
Is this the correct way of operation? or shall we print no result for the untested function?

0.00 Mbyte/s

I think that it should not be displayed. Currently, It is not considered.

Changed "--simple" implemantation by removing two "quiet" parameters in the appropireate lines.

Now it prints the result just after it is calculated.
Now humanized printing also works for "--simple" mode
Now "--simple" mode doesnt print "0.00 Mbytes" for the untested functions.

Can you re-check my commits.

Are there any problems with my pull request?


firebase_ml_vision on iOS only works when in landscape

Steps to Reproduce
When taking photo of some text, no text is recognised.  This seems to only be an issue on iOS devices.  For example:  On an iPhone 6 the text is not recognised at all in portrait, but OCR works fine in portrait.  There is also an issue with iPad mini 2 where text is either not recognised or it is mirrored/flipped!  I think the image capture from iOS changes the orientation of the saved image or exif data is messed up!  I have not seen any of these issues when testing on Android devices.
I have the podfile setup to include 'Firebase/MLVisionTextModel'.  This works fine on Android and only appears to be an issue on iOS which is now preventing me from releasing my app.
pubspec.yaml added plugins
    firebase_ml_vision: ^0.9.4   image_picker: ^0.6.7+1   path:   path_provider: ^1.6.7
main.dart
`
import 'dart:io';
import 'package:firebase_ml_vision/firebase_ml_vision.dart';
import 'package:flutter/material.dart';
import 'package:image_picker/image_picker.dart';
import 'package:path_provider/path_provider.dart' as syspaths;
import 'package:path/path.dart' as path;
void main() => runApp(MyApp());

class MyApp extends StatefulWidget {
  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  File _image;
  String _detectedText = '';

Future<String> _takePicture() async {
    setState(() {
          _image = null;
    });

    final _picker = ImagePicker();
    final PickedFile image = await _picker.getImage(
        source: ImageSource.camera,
        imageQuality: 100,
    );

    final File imageFile = File(image.path);

    if (imageFile == null) {
        return null;
    }

    final appDir = await syspaths.getApplicationDocumentsDirectory();
    final fileName = path.basename(imageFile.path);

    final savedImage = await imageFile.copy('${appDir.path}/$fileName');
    return '${appDir.path}/$fileName';
}

void _cameraScanSearch() async {
    print('_cameraScanSearch()');
    _image = null;

final imagePath = await _takePicture();
if (imagePath == null || imagePath.isEmpty) {
  print('_cameraScanSearch() - imagePath is null');
  return;
}

setState(() {
  _image = File(imagePath);
});

try {
  var stopWatch = Stopwatch()..start();

  print('_cameraScanSearch() - Camera Scan..');
  final FirebaseVisionImage visionImage =
  FirebaseVisionImage.fromFilePath(imagePath);

  final TextRecognizer _recognizer = FirebaseVision.instance.textRecognizer();
  final VisionText readText = await _recognizer.processImage(visionImage);
  setState(() {
    _detectedText = readText.text;
  });

      print('_cameraScanSearch() - VisionText found -> ${readText.text}');

      var blocks = readText.blocks;
      if (blocks.length == 0) {
        print('_cameraScanSearch() - blocks.length == 0');
      }

      for (TextBlock block in blocks) {
        print('_cameraScanSearch() - block -> $block');
      }
      print('_cameraScanSearch() - search took: ${stopWatch.elapsed}');
      stopWatch.stop();
      _recognizer.close();
    } catch (error) {
          print('_cameraScanSearch() - error: $error');
    }
}

@override
Widget build(BuildContext context) {

return MaterialApp(
  home: Scaffold(
    appBar: AppBar(
      title: Text(
        'Firebase_ML_Vision - MPV',
        style: TextStyle(
          fontSize: 24,
          fontWeight: FontWeight.w400,
        ),
      ),
    ),
    body: SingleChildScrollView(
      child: Container(
        child: Column(
          mainAxisSize: MainAxisSize.max,
          children: <Widget>[
            Center(
              child: FlatButton.icon(
                onPressed: _cameraScanSearch,
                icon: Icon(Icons.camera_alt),
                label: Text('Take Photo'),
              ),
            ),
            Text (
                'Detected Text: $_detectedText'
            ),

            if(_image != null)
              Image.file(_image),
          ],
        ),
      ),
    ),
  ), //Scaffold
);
  }
}

`
Expected results: Firebase ML Vision Text should be detecting text in all orientations
Actual results: Text is recognised correctly on Android in both portrait and landscape, however for iOS text is not detected.  There may actually be two issues here.  1) Text is not recognised in Portrait, but is detected when the picture is taken in landscape. 2) On iPad Mini 2, text is not recognised and when outputting text it seems to be mirrored and garbage!  I think the photo orientation is off when taking photos in iOS devices.

Logs
C:\Users\Rob\Desktop\ocr_test>flutter doctor -v
[√] Flutter (Channel beta, v1.17.0, on Microsoft Windows [Version 10.0.18362.900], locale en-US)
• Flutter version 1.17.0 at C:\flutter
• Framework revision e6b34c2b5c (6 weeks ago), 2020-05-02 11:39:18 -0700
• Engine revision 540786dd51
• Dart version 2.8.1
[√] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
• Android SDK at C:\Users\Rob\AppData\Local\Android\sdk
• Platform android-29, build-tools 28.0.3
• Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
• All Android licenses accepted.
[√] Android Studio (version 4.0)
• Android Studio at C:\Program Files\Android\Android Studio
• Flutter plugin version 45.1.1
• Dart plugin version 192.7761
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
[√] IntelliJ IDEA Community Edition (version 2019.3)
• IntelliJ at C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2019.1.2
• Flutter plugin version 45.1.2
• Dart plugin version 201.7223.43
[√] VS Code (version 1.41.0)
• VS Code at C:\Users\Rob\AppData\Local\Programs\Microsoft VS Code
• Flutter extension version 3.7.1
[!] Connected device
! No devices available
! Doctor found issues in 1 category.

I hope this is ok - i've also uploaded a screen shot of my iPhone 6 after i had taken a picture of the word "Hello" whilst in portrait and landscape.  This text was not detected.
Portrait - Not Working
https://ibb.co/WpmSwdX
Landscape - Working
https://ibb.co/drYQM5M

Hi @TehRaab
From what I can see, the issue is related to a FlutterFire plugin rather than to Flutter itself. Please open the issue in the dedicated repository.
Closing, as this isn't an issue with Flutter itself. If you disagree, please write in the comments, possibly providing a minimal reproducible code sample that does not use flutter fire or other 3rd party plugins, and I will reopen it.
Thank yoU


Not show anything if LinkedIn App doesn't install

I think there is something wrong, but I've been following all of the examples given. and still nothing happens when linkedin app is not installed on the phone. can you help me. Thanks

I just tried on my phone, it works for me, I guess is about presentation view controller, you can passing in which view controller you want to present in using LinkedinSwiftHelper(configuration: <#T##LinkedinSwiftConfiguration#>, webOAuthPresent: <#T##UIViewController?#>)

Thanks for the answer.
Yes, i try to on my phone and your example project is working.
I think so. it's about presentation. i in presenting modal view.  does it problem?
and can you explain me about present webOAuth ? thanks

Hi @isatria ,
webOAuthPresent it's a parameter in LinkedinSwiftHelper initialisation function, basically just tell the helper which ViewController you want to present WebView to do the LinkedIn login.
In the end call will be like this:
webOAuthPresent.present(LinkedinWebViewController, animated: true, completion: nil)


ng test fails in VSTS build pipeline

I am deploying an angular application which includes test files in VSTS pipeline. Getting an error "You need to include some adapter that implements karma.start method!". Can anyone help to resolve this issue.
ng test fails in build pipeline.

Hello, we reviewed this issue and determined that it doesn't fall into the bug report or feature request category. This issue tracker is not suitable for support requests, please repost your issue on StackOverflow using tag angular-cli.
If you are wondering why we don't resolve support issues via the issue tracker, please check out this explanation.


Integrate secret stores into landscaper

How to categorize this issue?

/area security
/kind epic
/priority normal
Currently data can be provided via targets, data objects, configmaps or secrets.
As imports may contain secrets, the support for secret systems like vault is essential.
The goal is NOT that the secrets are never stored in the cluster.
Its currently rather that the import given by the operator/user can come from a secret store.
Targets are also for now out fo scope as they are directly read by the deployers which would mean that they also need support for those engines.
(maybe we could think that targets are during the copying in the context are resolved by the landscaper)
Integration Proposal
With that the proposed integration point are the dataobjects.
DataObjects can be provided by users directly as input for installations and they are only used by the landscaper for the templating.
This means that the support for the secret only need to happen in the landscaper
new dataobject structure:
apiVersion: landscaper.gardener.cloud/v1alpha1
kind: DataObjects
# either data or fromSecretEngine must be provided
data: <raw data value>
fromSecretStore: # need to find a better name
  type: <secret store type> # e.g. Vault
  config: {} # provider specific config

With that structure we would add an additional field that is extensible.
The landscaper would fetch the secret from the engine during the installation reconciliation.
:warning: During the copy into the sub contexts the original secret engine should be preserved and not only the data should be copied.
The first engines should be Vault as the mostly known and used secret store in the opensource.
Currently this engines can be implemented inline but for the future we should think about a generic approach.
The vault data object could look as follow:
apiVersion: landscaper.gardener.cloud/v1alpha1
kind: DataObjects
fromSecretStore:
  type: Vault
  config: # provider specific config
    namespace: secrets/kv/mystore
    field: my kv key # check if we can only support key-value engines or more
    connectionInformation: # optional. should be also configurable in the landscaper
      secretRef:
        name: my-connection
---
apiVersion: v1
kind: Secret
data:
  VAULT_ADDRESS: abc
  VAULT_TOKEN: some token

@schrodit what is the motivation behind "During the copy into the sub contexts the original secret engine should be preserved and not only the data should be copied"

@schrodit what is the motivation behind "During the copy into the sub contexts the original secret engine should be preserved and not only the data should be copied"

This means that we currently copy imported data as dataobjects into the context of the installation.
This is currently a hard copy of the data (whcih makes sense because we want to control when data is transported to another context.)
But for secret stores we may not want to copy the data (the secret in this case) and rather only transport the reference to the secret.

@In-Ko closed because outdated and/or copied into internal project


Cannot dnd editor anymore

have side by side editor
drag the right editor so that opens to the left
:bug: there is an error on drop

https://github.com/user-attachments/assets/333ef50d-c255-4f9c-a20c-2f70a66bc1ad

@benibenj can we use different selection transfers here to preserve the current behaviour and support folder dropping in chat? I think this is a regression we should fix.

I fear that could seem confusing as the dnd label would render the folder/file/symbol name, but dropping it would move the editor. Maybe we should just disable for single tabs. The behaviour would be the same as before and there would be no confusion.

I fear that could seem confusing as the dnd label would render the folder/file/symbol name,

Shouldn't that updating depending on the selected drop type?

This is how it could look like.
https://github.com/user-attachments/assets/1d4d1dd8-b34b-462d-9163-7eb8067ac76a

Created a possible fix. #236571 Let me know if you have a different idea of solving this

Not planning on making this a candidate as there has not been users reporting this bug and there is a workaround (drag tab not from the breadcrumbs)


Support for subscribing to specific routing_key + some refactor

Feature
We want to be able to subscribe to specific routing key on a topic.
Solution
We've added routing_key to Subscription model, by default we use # which means all routing keys. We can now subscribe to specific routing key using /aprb subscribe <topic>:<routing_key> format. Not providing routing key means listening on all routing keys.

Going to merge this so i can try on staging. @sweir27 @wrgoldstein I can address any comments in another PR.


Latest changes tag and version created

Hi, with the new PR #132  being merged, is it possible to create a release for it.

Hi, Thanks for opening this issue. I had to make some improvements to changes you mentioned. See https://github.com/DataDog/jenkins-datadog-plugin/pull/169. I will make a release with all included changes. I will keep this issue open until it is out.

Hey @gzussa, whats used instead of Dogstatsd here?

I am actually working on adding Dogstatsd back.
So you will be able to either use Datadog HTTP endpoints or DogStatD.

We just release version 1.0.0. This is a major bump with backward incompatibility changes. See related changelog. As a consequence i closing this issue.


Boston fares

Some fixes to issues discovered in the Boston fare router:

Free out of subway transfers being allowed
Transfer allowance not being compared correctly due to incorrect use of tightenExpiration
max transfer allowance not set correctly for SL_FREE boardings.

Note that this is based off the faresv2 branch.

I am archiving this repository (which has been merged into R5). As part of this process I'm closing all PRs. We can consider migrating any PRs over to R5.


update it translation

i think is rare to see the thems's name translated, however if you want i just create a new PR for that,
light -> chiaro
dark -> scuro

or do you prefer to modify this PR?

Oh I see, I'm not sure what the convention is for theme name translation but given that our theme names are purely descriptive it might be helpful to users if they are translated as well - just a thought. If you agree you can just modify this PR, otherwise I'll merge this later today.
Thank you!


Screencast script

[ ] Replace pieces from open source todist checklist notes
[ ] Restore script
[ ] start-screencast
[ ] end-screencast

All that is needed is switchresx


[Question]: How to name video and trace file as a test name (NUnit)?

Your question
Is there any way to pass a test name from NUnit to?:

Trace file: TracingStopOptions.Path
Video file: BrowserNewContextOptions.RecordVideoDir

It's not possible by default, you'd have to add your own teardown like Bryan said and call e.g. Page.VideoAsync().SaveAsAsync("./asfa") there or pass the right value to Context.Tracing.StopAsync(new () {Path = ".."}).

I do a similar thing, but with xunit, by leveraging [CallerMemberName] to have the test method name passed through into my browser test fixture. That's then used to generate the file name for screenshots, traces and videos here.


Display if a project has config enabled on the dashboard

Could I please request that from the dashboard, you be able to see if configuration management is enabled
See attached example

Lagoon itself has no knowledge of configuration management, but maybe this is configured as a metadata element? We have done some initial feasibility work to expose project metadata via the UI, and this would likely live there.

Going to close this, will be covered under the project metadata in #30


To Main - Feature: Send Location Entry/Exit events to platform

Description
Added logic to dispatch Edge Request Content Event every time a location entry or exit occurs. Places data are sent to the default Edge dataset configured in the applications datastream. The XDM field group used to populate the Places data is the EnvironmentDetails->PlacesContext. PoiId, PoiName and POIMetadata are the fields sent from the Places SDK

Motivation and Context
The motivation behind this change is to be able to use the newly added experience events as triggers for AJO Campaigns and Journeys.
How Has This Been Tested?
Added unit and integration tests to cover the changes. Also tested E2E with AJO Campaigns and Journeys to ensure the triggers are working as expected.
Screenshots (if appropriate):
Types of changes

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

Checklist:

[ ] I have signed the Adobe Open Source CLA.
[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

I think the version still needs to be bumped to 4.1.0 within the project files / podspec.


ssh broke

After install gitea i saw that the ssh login broke with the error message

TY allocation request failed on channel 0
Hi there, You've successfully authenticated, but Gitea does not provide shell access.
If this is unexpected, please log in with password and setup Gitea under another user.
Connection to dustin-utecht.de closed.

So i found that gittea should run with a other user then root.
How i can fix it that i can login with (root) ssh again ?
What should i expect when i run gitea with a other user, that nothing brakes ?

I foolishly installed gitea under my normal user account (not root), but it still broke ssh. Now all I can do is log in under a root account. How do I revert this silly behaviour?

You've to undo the changes under ~/.ssh/authorized_keys, such that all gitea related stuff is removed and your original ssh public key is in there.

@daviian
After i remove the stuff from authorized_keys, can i run gittea with a other user without permission issues ?

@Falseee
Yes that's possible. After switching user you should go to the admin panel in gitea and start the rewrite authorized_keys file job.


Update hosting to better reflect the status of the GSP

Note that the GSP complements the PaaS, per https://reliability-engineering.cloudapps.digital/documentation/strategy-and-principles/re-strategy.html#3-continue-to-invest-in-the-gov-uk-platform-as-a-service-paas-expanding-its-reach-across-the-public-sector

🤷♂ :-)


Curious bug when reading from /dev/urandom or /dev/random

I have a couple of jq programs that read from /dev/urandom or /dev/random without problems,
but something weird happens when running the same programs with gojq.
I believe the underlying problem can be demonstrated with the following simple program,
which issues a line when a number in a stream of numbers appears more than 4 times in a row:
foreach inputs as $n ({};
  .i += 1
  | if .last == $n then .count += 1
    else {i, last: $n}
    end)
| select(.count > 4)

This command illustrates the problem:
< /dev/urandom tr -cd '0-9' | fold -w 3 | $JQ -cnr -f nonrandom.jq
When run with JQ=jq for a while, the program emits nothing, as
expected, but when run with JQ=gojq, it shows that gojq
sometimes encounters improbable runs of consecutive 0s:
{"count":5,"i":550667,"last":"0"}
{"count":5,"i":930865,"last":"0"}
{"count":5,"i":2047031,"last":"0"}
{"count":5,"i":3014836,"last":"0"}
{"count":5,"i":4259184,"last":"0"}
{"count":5,"i":4428268,"last":"0"}
{"count":5,"i":5294159,"last":"0"}
{"count":5,"i":6927194,"last":"0"}
{"count":5,"i":7147711,"last":"0"}
{"count":5,"i":7816024,"last":"0"}
{"count":5,"i":7820993,"last":"0"}
{"count":5,"i":11333096,"last":"0"}
{"count":5,"i":11533778,"last":"0"}
{"count":5,"i":11878371,"last":"0"}
{"count":5,"i":13456829,"last":"0"}
{"count":5,"i":14668008,"last":"0"}
{"count":5,"i":19402541,"last":"0"}
...

One point to note is that the run length seems always to be 5.  Another is that the problem only arises with 0.
One clue is that the problem goes away if a call to 'jq .' is
inserted immediately before the call to $JQ.  This suggests
to me that there is some kind of race condition involved.

The difference is that jq reads 0 from 000 but gojq reads three 0s (since 000 is not a valid JSON). So if you run the program with jq, there should be 18 zeros consecutively, which is very very rare.
 $ printf '111\n000\n000\n000\n000\n000\n000\n111\n' | jq -cnr -f nonrandom.jq
{"i":7,"last":0,"count":5}

On the other hand, if there are six zeros, gojq emits the output. Which happens sometimes reading from random stream.
 $ printf '111\n000\n000\n111' | gojq -cnr -f nonrandom.jq
{"count":5,"i":7,"last":0}

The count might look always 5 but it is an issue of probability. If you run for a long time or limit the digits to 0-5 for example, you'll also see 6 or 7.

@itchyny - Of course!  Thanks.

@itchyny - Of course! Thanks.


Provide an ability to pass custom Archiver to ArchiverCompressorDecorator

Hi,
It is very desirable to have an ability to pass own implementation of Archiver interface to ArchiverCompressorDecorator.
Since the last one is package-private, please either make it public or make a new static factory method in ArchiverFactory as follow:
public static Archiver createArchiver(Archiver archiver, CompressionType compression) {
// do stuff
}

ArchiverCompressorDecorator only take CommonsArchiver instances, which are also package private. I don't see much harm in making the classes public, but jarchivelib wasn't designed to be open to extensions and alternative archive providers, which is why the API exposure is minimal.


Restoring empty topics throws Exceptions

Exception: not a byte array
Check and Verify it

I have written a test for that. Cannot reproduce that. Maybe the reason for that is an old version of Kafka Backup. Has some similarities with #17


Need help to move every resource to single folder

Edit the readme by changing directory of books form main to "Books" folder

i have change the folder .check pull request

@ani0111 can you please mention the PR link ?


Change file extension for codesandbox test

Closes #3179
Codesandbox fails to load our package due to the size of our dependencies, namely Carbon icons and charts. This change renames the file so we no longer run this check on PRs until we can get the underlying issue resolved.

Looks good. Why did you need to remove the spaces?

I think the formatter must have changed it. I had only changed the file extension.


Command is not executed in thread pool when using observable

I have something like this in my service.
@HystrixCommand
public Observable<String> string() {
    log.info("invoke string()");
    return Observable.create(subscriber -> {
        log.info("invoke string() (observable)");
        try {
            if (!subscriber.isUnsubscribed()) {
                subscriber.onNext("string");
                subscriber.onCompleted();
            }
        } catch (final RuntimeException e) {
            subscriber.onError(e);
        }
    });
}

When I call this service method, I can see in the log file that everything is executed within the tomcat request thread instead of a hystrix thread.
I followed the example on https://github.com/Netflix/Hystrix/tree/master/hystrix-contrib/hystrix-javanica#reactive-execution, and it doesn't work as expected.

When using a HystrixObservableCommand, which javanica is doing here, it is expected that it runs of the caller thread.  The expectation is that you're providing an asynchronous Observable, in which case it's fine to use the caller thread.
If you are providing a synchronous Observable, as you are above, then it's more appropriate to use the Synchronous Execution model.  In this case, you would just return "string" directly.  That models your work as a HystrixCommand.  This would run on a Hystrix-provided thread in that case.

@mattrjacobs can we close ?


fix: remove mysql standalone

Remove datanode MySQL options in standalone mode, please merge when https://github.com/GreptimeTeam/greptimedb/pull/595 is merged.

@v0y4g3r LGTM. Could you help to find another reviewer to ensure the technical part?


Trap handling for Windows ARM64

After #4990 merged, we can build wasmtime for Windows ARM64, and it should work without trap handling.
We now need to add trap handling to make it totally work.

https://github.com/bytecodealliance/wasmtime/blob/main/cranelift/codegen/src/isa/aarch64/mod.rs#L152

Is this something that's being looked at actively at the moment, and would a community contributions be welcome for this?

No one has indicated they're working on it, so if you or anyone who is familiar with Windows on Arm is willing to build it, we'd very much welcome it!

It's hackathon week at Microsoft, so I'm going to have a go at this as my project...

I have a draft PR: #9266
Currently most tests are passing, but there is a crash in the JITted code. Unfortunately, there doesn't seem to be debug info (or stack is corrupted just for the JIT frames) and WinDbg is crashing when I try to capture a Time Travel Trace.

Update: I got everything working (required a more careful reading of the spec and how wasmtime emits instructions).
PR has been published.

Very exciting, thanks @dpaoliello! It looks like Alex has looked at the PR at a high level; I'll do a detailed review.

Thank you very much for implementing unwind support for Windows Arm64, and providing release artifacts!
When running the unit tests of wasmtime-dotnet on Windows 11 Version 23H2 Arm64 (using the wasmtime-dev-aarch64-windows-c-api.zip artifact of the latest dev release), all tests now succeed.


Update Package.swift

Fix https://github.com/SwiftPackageIndex/SwiftPackageIndex-Server/issues/3068

You'll need to make sure your package builds correctly on these platforms. You can get a full overview of the builds on the build page and from there inspect individual build results like for example the iOS build on the main branch.
Not that default branch builds are coalesced over up to 24h. You can see which revision we built at the top of the build log:
HEAD is now at 1e791a3 Merge pull request #1 from finestructure/patch-1
Cloned https://github.com/kudit/ParticleEffects.git
Revision (git rev-parse @):
1e791a35d6db33e0228f6c0dae52fcfd0c60bb12


Add maildev to docker-compose setup. Fix #738.

@jstockwin Wanna try this out? This should give you an email server on port 1025 and a web UI on port localhost:1080 to see the sent mails.

@jezdez so actually part of my issue was not reading the readme... I saw a docker-compose file and just did docker-compose up, but I can see I should have also done make build first.
That said, I am still having some issues. Firstly, I now get that MAIL_PASSWORD is not found, but that can (I think) be fixed by doing MAIL_PASSWORD = config("MAIL_PASSWORD", None) in config.py.
However now my db container exists saying The data directory was initialized by PostgreSQL version 9.5, which is not compatible with this version 13.0 (Debian 13.0-1.pgdg100+1).
I will debug this further and try to get it working, then I can detail what I had to do and we can decide how to move forward.

@jezdez so actually part of my issue was not reading the readme... I saw a docker-compose file and just did docker-compose up, but I can see I should have also done make build first.

Make sure to copy the .env-dist to .env if you haven't already.

That said, I am still having some issues. Firstly, I now get that MAIL_PASSWORD is not found, but that can (I think) be fixed by doing MAIL_PASSWORD = config("MAIL_PASSWORD", None) in config.py.
However now my db container exists saying The data directory was initialized by PostgreSQL version 9.5, which is not compatible with this version 13.0 (Debian 13.0-1.pgdg100+1).

Hmm, yeah, not sure about that, recreate the postgres container somehow? I always forget what to do for Docker containers, but I think it boils down from starting from scratch. In doubt just downgrade Postgres locally.

I will debug this further and try to get it working, then I can detail what I had to do and we can decide how to move forward.

Make sure to copy the .env-dist to .env if you haven't already.

Let's add that to the readme ;) I have not used node for a long time...
I have fixed postgres (by downgrading). This could have been because I already had an older image locally, not sure.
I've got everything working now. The other gotcha is that you have to access it via https. So going to localhost:5000 does not work unless we add the https, and you also have to go past the browser complaining that the website is unsafe. Not sure what the fix for that is.. redirect? Don't use https in dev? Just add this to the readme so people know what to do?
Given #738 was actually just caused by these issues, your change in this PR isn't actually needed to get the server running... but perhaps it's still a nice change - that's up to you!

The SSL bits will need more investigation, I think I had this working a while ago, need to double check what's going on.

Cool, I'll ping a quick PR to update the readme..


Link to 'How taps are built' video from contribution docs

Migrated from GitLab: https://gitlab.com/meltano/meltano/-/issues/1495
Originally created by @DouweM on 2019-12-19 15:00:21

Video: https://www.youtube.com/watch?v=aImidnW8nsU

View 2 previous comments from the original issue on GitLab


integrate Trip information

Via the API you can get the Information about the Last trips.
Distance, Consumtions, Speed and duration
-> with this data, we can make a automatic logbook for each car.

Just go ahead. Consumption is already there. Adding distance and others (see debugging) is easy. See also: https://community.home-assistant.io/t/custom-integration-volkswagen-weconnect-id-europe/380933/344
Just enable debugging of the integration and you will see these variables in the logs. After this just add it to sensory.py .


ERROR: Reverse for 'tinymce-css' not found.

I've followed all the page instructions to display the Widget on my Admin form.
After running the server, I try to add a new model form and I get this error:
Reverse for 'tinymce-css' not found. 'tinymce-css' is not a valid view function or pattern name.
I'm running Django 3.0.4 w/ Bootstrap CSS. Isn't it supported?
If not, is there any workaround or related app to use instead?
Thanks.

The current code should work in Django 3.0. At least the updated test matrix is passed: https://travis-ci.org/github/romanvm/django-tinymce4-lite/builds/672004908
I'd recommend to check your url configuration. Also check the test application included in this project.


Why is z^2 added to the adversery?

Specifically here

See paper: "We add the log prior p(z) directly into the adversary T(x,z) so that it only has to learn the log density of the inference model q(z|x)". p(z) is proportional to z^2 since it is a standard normal Gaussian distribution.


Chunk logs to avoid hitting 1MB limit in putlogevents

From the docs, http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CloudWatchLogs.html#putLogEvents-property

The maximum batch size is 1,048,576 bytes, and this size is calculated as the sum of all event messages in UTF-8, plus 26 bytes for each log event.

It would be nice to limit/chunk the amount of data uploaded, since a request over the limit returns error and crashes nodejs.

For reference here is how I handle it in cwlogs-writable, which additionally handles the maximum of 10,000 log events per PutLogEvents call: https://github.com/amekkawi/cwlogs-writable/blob/38ed37ab16aca9c249fa5747e574363508afc5d7/lib/index.js#L420
The AWS docs are accurate but could be a little more specific about what it means by "sum of all event messages". I tested this out and it means just the "message" property of each log event, plus 26 bytes.
So you can ignore all other JSON that makes up the PutEventLogs call, including the "timestamp".
Note: I notice that I'm simply using the string length in getMessageSize(). I'll probably change that to multiple the length by 4 (max bytes per UTF-8 character) since measuring the exact bytes is likely to be expensive.

I confirm this bug is this there.
I sometimes reached to 10,000 messages limits, which lead to an error
 at 'logEvents' failed to satisfy constraint: Member must have length less than or equal to 10000

Just ran into this bug in a production environment 🤕 as well. Does anybody have a workaround or a pull request?
 at 'logEvents' failed to satisfy constraint: Member must have length less than or equal to 10000

Just in case anybody else runs into the process crashing when this error happens, I was able to prevent it by properly defining an onError function on the CloudWatchStream after it's created.
const stream = createCWStream(opts);
stream.onError = function(err) {
        console.log(err);
      };


TargetFramework add netcoreapp3.0

Thanks for the great NLogViewer.
I would like to use this on WPF on .NET Core 3.0.
So I added netcoreapp3.0 on targetframework.
Regards.

Hi @kwhrkzk,
thanks for your pull request! 🙂👍
I have also added netcoreapp3.1 for more usability.