Android OS 7 Two Crashes

[X] I have verified there are no duplicate active or recent bugs, questions, or requests
[X] I have verified that I am using the latest version of Material Camera.
[X] I have given my issue a non-generic title.

Include the following:

Material Camera version: 0.4.4

I got these crashes from users of my app. Reported to me through Crashlytics.
Below is the usage that I am using on a Fragment (android.support.v4.app.Fragment).
This crashes the app when they happen. There has been 20 counts between the two crashes.
Crashes
StillshotPreviewFragment.jave line 90
com.afollestad.materialcamera.internal.StillshotPreviewFragment.setImageBitmap
Fatel Exception: java.lang.IllegalStateException
Fragment StillshotPreviewFragment{619e656} not attached to Activity
Android OS 7 (LGE: LGMS210 Mostly)
Camera2Fragment.java line 506
com.afollestad.materialcamera.interal.Camera2Fragment.openCamera
Fatel Exception: java.lang.ClassCastException
java.lang.Integer cannot be cast to java.lang.String
Android OS 7 (LGE: VS995 Multiple Crashes)
new MaterialCamera(this)
				.showPortraitWarning(true)
				.qualityProfile(MaterialCamera.QUALITY_LOW)
				.maxAllowedFileSize(1024 * 1024 * 5)
				.stillShot()
				.start(CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE);

Even i am facing the same issue some times in my Nokia 6 device. Did you find a solution??

I did not find a solution for these issues.
On Fri, Feb 16, 2018 at 2:11 AM, android-bash<EMAIL_ADDRESS>wrote:

Even i am facing the same issue some times in my Nokia 6 device. Did you
find a solution??
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/afollestad/material-camera/issues/204#issuecomment-366160438,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AI1vnEUhI8b3nQMdg0m1gelb7vxqgbFzks5tVSo9gaJpZM4O6kXl
.


Updated apt-get packages to latest MISP-modules version

This merge request fix #41

@angarod Can you add a comment on the ports about tcp/6666? (see line above)

@ventz is right, this pull request adds a port (6666/TCP) to the image. However this is the port listened by default for many modules in misp-modules.

@angarod I know this is old (people had been adding -p 6666:6666) -- added the port and many other things. Pushing out soon.


Support Packages.props

Our package references look like this, with no version numbers:
<PackageReference Include="FluentValidation" />
<PackageReference Include="Microsoft.CSharp" />
<PackageReference Include="System.ComponentModel.Annotations" />
<PackageReference Include="System.Security.Cryptography.Algorithms" />
<PackageReference Include="System.Security.Cryptography.X509Certificates" />

This is because we use a Packages.props file to maintain the package reference versions in one place for the whole solution.  See https://github.com/NuGet/Home/wiki/Centrally-managing-NuGet-packages.
However, the upgrade tool interprets these references as being invalid, and the NuGet upgrade moves them all to using a version, sometimes referencing entirely the wrong version of a package.
This is after the tool was run:
<PackageReference Include="FluentValidation" Version="6.4.1" />
<PackageReference Include="Microsoft.CSharp" Version="4.7.0" />
<PackageReference Include="System.ComponentModel.Annotations" Version="4.7.0" />
<PackageReference Include="System.Security.Cryptography.Algorithms" Version="4.3.1" />
<PackageReference Include="System.Security.Cryptography.X509Certificates" Version="4.3.2" />

This is tracked here - https://github.com/dotnet/upgrade-assistant/issues/252 - yes currently upgrade-assistant does not support the use of central package version management, it will be something we can def look into. Closing this as duplicate of #252 .


Unable to read / parse file with variables

Here is my modules and live directories' structure:

In my terragrunt/aws-vpc/variables.tf, there is the following declaration:
variable "remote_state_bucket" {
  description = "The bucket containing the terraform remote state"
}

However, when trying to perform a terragrunt apply in the live directory, i get the following:
var.remote_state_bucket
  The bucket containing the terraform remote state

  Enter a value:

Here is my terraform-live/environments/staging/terragrunt.hcl
  remote_state {
    backend = "s3"
    config = {
      bucket  = "my-bucket-staging"
      key  = "terraform/state/var.env_name/${path_relative_to_include()}"
      region = "eu-west-1"
    }
  }
  # Configure root level variables that all resources can inherit
  terraform {
    extra_arguments "extra_args" {
      commands = "${get_terraform_commands_that_need_vars()}"
      optional_var_files = [
          "${get_terragrunt_dir()}/${find_in_parent_folders("config.tfvars", "ignore")}",
          "${get_terragrunt_dir()}/${find_in_parent_folders("secrets.auto.tfvars", "ignore")}",
      ]
    }
  }

What is more, the variable seems to be declared in one of the files that terragrunt is instructed to read variables from:
➢  cat terraform-live/environments/staging/config.tfvars
remote_state_bucket = "pkaramol-staging"

Why is terragrunt (or terraform ?) unable to read the specific variable?
➢  terragrunt --version
terragrunt version v0.19.29

➢  terraform --version
Terraform v0.12.4

Can you share the entire log output of your terragrunt apply run? That will help in understanding what might be going on here.

staging/pkaramolstg1/aws-vpc
➢  terragrunt plan
[terragrunt] 2019/10/07 18:39:03 Reading Terragrunt config file at /Users/pkaramol/Personal/terraform-live/environments/staging/pkaramolstg1/aws-vpc/terragrunt.hcl
[terragrunt] [/Users/pkaramol/Personal/terraform-live/environments/staging/pkaramolstg1/aws-vpc] 2019/10/07 18:39:03 Running command: terraform --version
[terragrunt] 2019/10/07 18:39:04 Terraform files in /Users/pkaramol/Personal/terraform-live/environments/staging/pkaramolstg1/aws-vpc/.terragrunt-cache/n2NPg0v7WqbNEpLz6vO7gFEjIJQ/E38hveVym_no_LNXQdiMkleveBk/aws-vpc are up to date. Will not download again.
[terragrunt] 2019/10/07 18:39:04 Copying files from /Users/pkaramol/Personal/terraform-live/environments/staging/pkaramolstg1/aws-vpc into /Users/pkaramol/Personal/terraform-live/environments/staging/pkaramolstg1/aws-vpc/.terragrunt-cache/n2NPg0v7WqbNEpLz6vO7gFEjIJQ/E38hveVym_no_LNXQdiMkleveBk/aws-vpc
[terragrunt] 2019/10/07 18:39:04 Setting working directory to /Users/pkaramol/Personal/terraform-live/environments/staging/pkaramolstg1/aws-vpc/.terragrunt-cache/n2NPg0v7WqbNEpLz6vO7gFEjIJQ/E38hveVym_no_LNXQdiMkleveBk/aws-vpc
[terragrunt] 2019/10/07 18:39:04 Skipping var-file /Users/pkaramol/Personal/terraform-live/environments/staging/pkaramolstg1/aws-vpc/ignore as it does not exist
[terragrunt] 2019/10/07 18:39:04 Skipping var-file ignore as it does not exist
[terragrunt] 2019/10/07 18:39:04 Skipping var-file ./secrets.auto.tfvars as it does not exist
[terragrunt] 2019/10/07 18:39:05 Running command: terraform plan -var-file=/Users/pkaramol/Personal/terraform-live/environments/staging/pkaramolstg1/aws-vpc/../config.tfvars -var-file=./module_vars.auto.tfvars
var.remote_state_bucket
  The bucket containing the terraform remote state

  Enter a value:

It looks like your paths are wrong.
terraform plan -var-file=/Users/pkaramol/Personal/terraform-live/environments/staging/pkaramolstg1/aws-vpc/../config.tfvars -var-file=./module_vars.auto.tfvars

Note how you have two config.tfvars, and the remote_state_bucket is set in the config.tfvars in the staging directory, but terragrunt is pulling in the one in pkaramolstg1. This makes sense, because find_in_parent_folders finds the first one up the tree.
If you rename the file pkaramolstg1/config.tfvars or adding in the remote_state_bucket in that file, it should remove the prompt.

Aren't supposed  all config.tvars up the directory tree to be added as var files and superimposed?

That isn't quite how it works. The output type of find_in_parent_folders is a single string representing the path to a single file, not a list of strings corresponding to multiple paths. So it can only get one, and the one it gets is the first one in the tree.
See https://github.com/gruntwork-io/terragrunt#find_in_parent_folders for more info.

Thanks for this it was really helpful. I fixed as you suggested.
The only thing now is that the following leaf file configuration:
terraform {
  # Example of source in bitbucket (the double // is intentional. Always add it)
  # source = "bitbucket.org/jfotopoulos/terragrunt-test2-modules//ds/metricsdb"
  source = "git::git@github.com:pkaramol/terragrunt.git//aws-vpc"

  extra_arguments "microservice_extra_args" {
    commands = get_terraform_commands_that_need_vars()

    optional_var_files = [
        # find_in_parent_folders("config.tfvars", "ignore"),
        find_in_parent_folders("config.tfvars"),
        find_in_parent_folders("secrets.auto.tfvars"),
        "./module_vars.auto.tfvars",
        "./secrets.auto.tfvars"
    ]
  }
}

include  {
  path = find_in_parent_folders()
}

fails with this error:
➢  terragrunt plan
[terragrunt] 2019/10/12 18:56:54 Reading Terragrunt config file at /Users/panteliskaramolegkos/Personal/terraform-live/environments/staging/pkaramolstg1/aws-vpc/terragrunt.hcl
[terragrunt] 2019/10/12 18:56:54 /Users/pkaramol/Personal/terraform-live/environments/staging/pkaramolstg1/aws-vpc/terragrunt.hcl:14,9-32: Error in function call; Call to function "find_in_parent_folders" failed: ParentFileNotFound: Could not fi
nd a secrets.auto.tfvars in any of the parent folders of /Users/pkaramol/Personal/terraform-live/environments/staging/pkaramolstg1/aws-vpc/terragrunt.hcl. Cause: Traversed all the way to the root.., and 1 other diagnostic(s)
[terragrunt] 2019/10/12 18:56:54 Unable to determine underlying exit code, so Terragrunt will exit with error code

However any quest for secrets.auto.tfvars is within an optional_var_files block.
Why is it failing?

This is because terragrunt needs to resolve all the functions to interpret the config, and so every function needs to return correctly. Given that, find_in_parent_folders with one arg errors out if the file can't be found, and so it can't resolve that function and fails the config.
To resolve this, you need to pass the second arg to find_in_parent_folders ("" is probably good enough) which the function will return when it can't find the file.


Fix plugin add command

Why should I do this? I've been away from phonegap for over a year. I'm just getting back to it.

The current command doesn't work, my version fixes it.

Okay, up dated. Thanks.


Website [Footer] Micro footer anatomy text wrong. Micro doesn't include IBM logo

https://www.ibm.com/standards/carbon/components/footer#anatomy
Logo is actually not included in Micro footer

Aug 12, 2021 comments from jan Child:
Additional updates to make to the page

[ ] Size as shown in this table would be documented under Modifiers.

[ ] Locale selector is also under Modifiers. It is either this or language selector.

[ ] Guidance needed about choosing sizes of the footer.

[ ] Guidance needed in the copy to cover Adjunct legal links.

[ ] Additional copy needed regarded contacting the IA Guild regarding changes where these are possible.


Kerberos Authentication Windows/Linux

Describe the Feature
Kerberos Authentication Windows/Linux
Related Issues

Current implementation allows Kerberos Authentication using Pode deployment on IIS Server only
Doesn't work on Linux

Additional Context
There is a very good library for .NET https://github.com/dotnet/Kerberos.NET
Examples https://github.com/dotnet/Kerberos.NET/tree/develop/Samples

This is somewhat a duplicate of #402 whichs topic is Kerberos/NTLM already.
Maybe you could add your content there?

Agreed this would be better in #402.
That said, I've not come across Kerberos.NET before and it looks like it could do what we need! I'll have to try it out 😮


Async iteration and generators in JavaScript

Description
Async iterable range
iterator to make the iteration code shorter. Similar to that, async generators can be used as symbols. async iterator to implement the asynchronous iteration. For instance, we can make the range object generate values asynchronously, once per second, by replacing synchronous Symbol.
Domain
Frontend Dev HTML/CSS/JS
Type of Contribution
Documentation
Code of Conduct

[X] I follow Contributing Guidelines & Code of conduct of this project.

/assign


Update awilix to version 3

Awilix version 3 changed the way you register you class, value and function to your container.
Would be good to update awilix-express as well but it requires more work.

Hey, @lsilvs, thanks for the contribution! Do you mind updating using yarn instead of npm so yarn.lock is updated as well and no package-lock.json is created?

There you go, @talyssonoc ;)

Great, @lsilvs, I'm gonna merge it! Thanks again for the contribution 🎉


Ensure Android's accessibility scanner and the play store's accessibility report works with Flutter

Ensure Android's accessibility scanner and the play store's accessibility report works with Flutter.

It's worth noting that Flutter's own docs recommend Accessibility Scanner: https://docs.flutter.dev/development/accessibility-and-localization/accessibility
Until the Scanner starts supporting Flutter apps, this mention should be removed.

Facing this issue in 2023. Is this really unfixable?

I had similar issue I uses sematic label but still the content labeling
number I creases and sometimes decrease in more release all I do is, I just
ignore and push to production in 2 days my app is available to download on
store
On Fri, Feb 24, 2023, 09:47 Shabab Haider Siddique @.***>
wrote:

Facing this issue in 2023. Is this really unfixable?
[image: image]
https://user-images.githubusercontent.com/7587873/221133633-adf48e7c-0963-4763-a638-aa2a3ce92ae7.png
—
Reply to this email directly, view it on GitHub
https://github.com/flutter/flutter/issues/39531#issuecomment-1443176832,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AUFQCY2EERHP4E6IZ6HXSETWZBYSLANCNFSM4ISHXDSA
.
You are receiving this because you commented.Message ID:
@.***>

Much needed – I get hundreds of warnings on every push to app store, would be easy to miss something important.

all we do is ignore it all
On Mon, Mar 6, 2023 at 1:16 PM lisovyk @.***> wrote:

Much needed – I get hundreds of warnings on every push to app store, would
be easy to miss something important.
—
Reply to this email directly, view it on GitHub
https://github.com/flutter/flutter/issues/39531#issuecomment-1456028563,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AUFQCY7QB5FXATQVZQNLTM3W2XIQDANCNFSM4ISHXDSA
.
You are receiving this because you commented.Message ID:
@.***>

In the Flutter 3.10 release, this mistake still exists. After looking into it, I couldn't find a way to fix this warning. It’s up to Team Flutter.

Yeah, I hope in the next few version this issue is fixed but lol 😂😂😂
funny bcus it’s supposed to be test on play store

Still the same in July of 2023

cl/555396437 to skip flutter app for play store report


A11y: Modal aria labels

We can improve the accessibility in our modals by updating the following:

aria-describedBy=“modal” — This is not required and should be removed

aria-label=“modal” — We hard code this right now and it’s fine that it’s hard coded as long as a user is using the heading. This is because aria-labeledby takes precedence over aria-label. For modals that don't have a header prop, we need to allow them to pass in a custom label. We should add a ariaLabel prop and do something like aria-label={header ? null : props.ariaLabel}

We should make sure to properly update our doc examples without a heading, and confirm that modals should have aria-label or aria-labeledby, never both.

I reviewed the the modal update in Dev Storybook and it looks good to me.

In Storybook > Drawer > Site Navigation, I don't see an aria-label on the Drawer, everything else looks good though.


[question] Best way to use "Dependent subqueries"

Hi guys,
I wanna build the query to CH which looks like next MySQL example:
CREATE TABLE `test_views` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `page` varchar(11) DEFAULT NULL,
  `prev_page` varchar(11) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT;

INSERT INTO `test_views` (`id`, `page`, `prev_page`)
VALUES
	(1, 'page1', NULL),
	(2, 'page1', NULL),
	(3, 'page3', NULL),
	(4, 'page4', 'page3'),
	(5, 'page3', NULL),
	(7, 'page3', NULL);

select count(v.page) as current, v.page,
	(
		select count(sq.page) from test_views as sq where sq.prev_page = v.page
	) as next
from test_views as v
group by v.page

Output should be:
(`current`, `page`, `next`)

	(2, 'page1', 0),
	(3, 'page3', 1),
	(1, 'page4', 0),

I know what CH doesnt support Dependent subqueries like sq.prev_page = v.page but i cant found best solutions for this case

@RomanGorbatko you could implement this by explicitly JOINing these subqueries

@RomanGorbatko you could implement this by explicitly JOINing these subqueries

As i know i cant use mysql-like syntax around JOIN.
So, i cant do something like this:
select
    count(v.Page) as current,
    v.Page,
    count(next)
from
    test as v
join test as next on next.PrevPage = v.Page
group by v.Page

... coz CH doesn't procces ON statement.
Also, i try to use CH JOIN syntax:
select
    count(v.Page) as current,
    v.Page
from
    test as v
inner join (select next.PrevPage as next  from test as c where c.Page = v.Page) using next
group by v.Page

... and i have Dependent subqueries problem: Unknown identifier: v.Page

Recent ClickHouse releases support ON and do not require subquery on right side, though there are still some known issues with full column names.

@blinkov
sounds nice :)
I wrote next query:
select
    count(v.Page) as current,
    v.Page,
    if(next, 1, 0)
from
    test as v
any left join test as next on next.PrevPage = v.Page

group by v.Page

Looks like the best variation.
But I have column name error as u say: Unknown identifier: next.
So, any ideas to fix this issue?

#6697


Storage rolling elastic

ok to test

rerun tests

rerun tests

rerun skydive-compile-tests

Hi Sylvain, can you rerun tests ... THX

I did a test with a single agent connecting and disconnecting several times and writing the expected results:
12:43 no agent
12:44 no agent
12:45 start agent
12:46 agent exists
12:47 stop agent
12:48 start agent
12:49 agent exists
12:50 agent exists - roll (12:50:25)
12:51 agent exists
12:52 stop agent

I also ran the bellow to get number of records with 'ArchivedAt' flag and we have 102 in the archived log == all records, as expected
$ curl -XGET 'http://localhost:9200/skydive_topology_v11_2018-04-12_00-43-47/_count?q=_exists_:ArchivedAt' {"count":102,"_shards":{"total":5,"successful":5,"failed":0}}

Now, when the agent is down, when checking the latest index (that should include 'live' and archive) I get 38 records out of 42 are archived, exactly as expected:
$ curl -XGET 'http://localhost:9200/skydive_topology_v11_2018-04-12_00-50-25/_count?q=_exists_:ArchivedAt'
{"count":38,"_shards":{"total":5,"successful":5,"failed":0}}

From my point of view, all manual tests passed so we can go ahead and merge.
Next phase (next PR) will be to fix the age challenge, in the current version is is commented out with big TODO mark ...  there are two options to solve this challenge.  We can use the index name (that includes the date it was created) or insert special record with createdAt value when creating the index, and read it when opening.

@eranra thanks for all the tests. We had CI issue since yesterday, going to restart tests

ok to tests

rerun tests

Still something is strange ... I see in the log
--- PASS: TestRouteTableHistory (16.27s)
	tests.go:251: Removing existing captures
	tests.go:259: Creating captures
	tests.go:271: Executing setup commands
	tests.go:281: Checking captures are correctly set up
	tests.go:327: Executing settle function
	tests.go:345: Executing setup function
	tests.go:456: Running checks
	tests.go:485: Running tear down commands
FAIL

And "skydive-functional-tests-backend-elasticsearch " hanges.
Maybe the CI is still not working as expected ?

rerun unit-tests

rerun selenium-tests

rerun functional-tests-backend-elasticsearch

On my local machine all tests passes ... I ran several times ...
2018-04-16T16:43:11.512+0300	INFO	elasticsearch/client.go:266 (*ElasticSearchClient).start	SkyEran: ElasticSearchStorage started with skydive index should_roll_by_count_test
2018-04-16T16:43:18.729+0300	INFO	elasticsearch/client.go:266 (*ElasticSearchClient).start	SkyEran: ElasticSearchStorage started with skydive index should_roll_by_age_test
2018-04-16T16:43:25.876+0300	INFO	elasticsearch/client.go:266 (*ElasticSearchClient).start	SkyEran: ElasticSearchStorage started with skydive index del_indices_test
2018-04-16T16:43:26.878+0300	INFO	elasticsearch/client.go:476 (*ElasticSearchClient).rollIndex	SkyEran: Rolling indices for del_indices_test
2018-04-16T16:43:27.003+0300	INFO	elasticsearch/client.go:485 (*ElasticSearchClient).rollIndex	SkyEran: del_indices_test finished rolling indices
2018-04-16T16:43:28.012+0300	INFO	elasticsearch/client.go:476 (*ElasticSearchClient).rollIndex	SkyEran: Rolling indices for del_indices_test
2018-04-16T16:43:28.153+0300	INFO	elasticsearch/client.go:485 (*ElasticSearchClient).rollIndex	SkyEran: del_indices_test finished rolling indices
2018-04-16T16:43:29.163+0300	INFO	elasticsearch/client.go:476 (*ElasticSearchClient).rollIndex	SkyEran: Rolling indices for del_indices_test
2018-04-16T16:43:29.329+0300	INFO	elasticsearch/client.go:485 (*ElasticSearchClient).rollIndex	SkyEran: del_indices_test finished rolling indices
2018-04-16T16:43:30.340+0300	INFO	elasticsearch/client.go:476 (*ElasticSearchClient).rollIndex	SkyEran: Rolling indices for del_indices_test
2018-04-16T16:43:30.515+0300	INFO	elasticsearch/client.go:485 (*ElasticSearchClient).rollIndex	SkyEran: del_indices_test finished rolling indices
2018-04-16T16:43:31.537+0300	INFO	elasticsearch/client.go:476 (*ElasticSearchClient).rollIndex	SkyEran: Rolling indices for del_indices_test
2018-04-16T16:43:31.675+0300	INFO	elasticsearch/client.go:485 (*ElasticSearchClient).rollIndex	SkyEran: del_indices_test finished rolling indices
2018-04-16T16:43:32.875+0300	INFO	elasticsearch/client.go:266 (*ElasticSearchClient).start	SkyEran: ElasticSearchStorage started with skydive index mappings_test
2018-04-16T16:43:32.877+0300	INFO	elasticsearch/client.go:476 (*ElasticSearchClient).rollIndex	SkyEran: Rolling indices for mappings_test
2018-04-16T16:43:32.892+0300	INFO	elasticsearch/client.go:485 (*ElasticSearchClient).rollIndex	SkyEran: mappings_test finished rolling indices
PASS

rerun unit-tests

rerun unit-tests

rerun unit-tests

rerun functional-tests-backend-elasticsearch


Eng 1466 fix bug where csv upload modal doesnt

Describe your changes and why you are making these changes
Show the full data table so we don't need to scroll through to see all the rows.
Related issue number (if any)
ENG 1466
Loom demo (if any)
https://user-images.githubusercontent.com/30596854/192826902-d526b4b7-8506-4435-b14d-2557c69aead5.mov
Checklist before requesting a review

[x] I have created a descriptive PR title. The PR title should complete the sentence "This PR...".
[x] I have performed a self-review of my code.
[x] I have included a small demo of the changes. For the UI, this would be a screenshot or a Loom video.
[N/A] If this is a new feature, I have added unit tests and integration tests.
[x] I have run the integration tests locally and they are passing.
[x] I have run the linter script locally (See python3 scripts/run_linters.py -h for usage).
[x] All features on the UI continue to work correctly.
[x] Added one of the following CI labels:

run_integration_test: Runs integration tests
skip_integration_test: Skips integration tests (Should be used when changes are ONLY documentation/UI)

@eunice-chan reminder to rename the PR title to be a full sentence. :)

@likawind Good thinking! Made a task here: https://linear.app/aqueducthq/issue/ENG-1765/update-upload-csv-table-view-to-match-the-table-artifact-preview-view
This is a change to main so I don't think we need to make the change right now although that is something we would want to get done in the ui-redesign branch eventually.


Set Conn remote_ip based on X-Forwarded-For header

This is a small change to improve the error reporting in Sentry. When displaying exceptions it uses Conn.remote_ip as the "User" but since the app is running behind a proxy we get the proxy server ip (::ffff:<IP_ADDRESS>) instead of the real user ip:

To fix this we can set the remote_ip based on the X-Forwarded-For headers. For example with https://github.com/ajvondrak/remote_ip

Added to Gold Team backlog for @T-Dnzt 's prioritization


registryworkshop: Add version 5.0.1

Registry Workshop is an advanced registry editor. It is a perfect replacement for RegEdit and RegEdt32 which shipped with Windows.

I do not think this should be in official bucket
http://www.torchsoft.com/en/download.html

Registry Workshop (Free 30-Day Fully Functional Trial)

I think scoop can manage a wide variety of applications, including paid apps.

App Manifests · lukesampson/scoop Wiki

For other licenses, use the URL of the license, if available. Otherwise, use “Freeware”, “Proprietary”, “Public Domain”, “Shareware”, or “Unknown”, as appropriate.

Well, you may right, there should be a special bucket for these paid apps.


Merge main into feature ca recovery branch

Bring in manual install of ARM GCC

Will merge without squash to maintain history


access by (const) reference

Hi Niels,
yet another question. I try to avoid copying whereever possible (during serialization). So when:
json j = "foo";
if (j.is_string) {
  const std::string &s = j.get<const std::string &s>();
  // do something with s
}

the compiler tells us:
json.hpp:1010: error: forming pointer to reference type 'const std::basic_string<char>&'
         return get_impl(static_cast<T*>(nullptr));
                        ^

with a static cast:
  const std::string &s = static_cast<const std::string &>(j);

the compiler is happy, but apparently returns a reference to a temporary, so s is dangling.
Have you got any hints on how to access underlying memory (for string, int, ...) so we can avoid copying the values?
would
template<typename T> T* get_ptr();
template<typename T> const T* get_ptr<T>() const;

be acceptable?
Thanks and cheers,
Roman

Hi Roman,
I actually haven't thought about this yet. I'll see what I can find out.
Cheers,
Niels

Roman, temporary object return should be handled by RVO, which is in C++ since 199x, so I think you are overoptimizing and there is no need in storing values in const references here.

Hi Igor, Nils,
RVO is not the point. If you're i.e. serializing a json struct into something else, you currently have to take copies of all keys and values inside the json structure for no good reason. Instead, it would be desirable to just reference keys and values without actually copying them. This is completely unrelated to RVO.
Examples where you want to have that behaviour is when

writing a json structure to the wire or file via msgpack, or
you want to asynchroneously write data, i.e. via asio::async_write, or
you want to bind a json object into a prepared statement in i.e. mysql.

So instead of taking copies everywhere, you keep the source json alive, and refer to it's memory regions during i/o operations.
Thanks and cheers,
Roman

Hi Nils,
Here is a suggestion for the functionality:
In the json class, the following public interface could be supported:
    /// get a ptr to the value
    template<typename T>
    inline T* get_ptr() noexcept {
        return get_ptr_impl(static_cast<T*>(nullptr));
    }

    template<typename T>
    inline const T* get_ptr() const noexcept {
        return get_ptr_impl(static_cast<const T*>(nullptr));
    }

The corresponding private implementation:
    /// get_ptr implementations
    inline const bool* get_ptr_impl(const bool*) const noexcept{
        return m_type == value_t::boolean ? &m_value.boolean : nullptr;
    }

    inline bool* get_ptr_impl(bool *) noexcept {
        return m_type == value_t::boolean ? &m_value.boolean : nullptr;
    }

    inline const number_integer_t* get_ptr_impl(const number_integer_t*) const noexcept {
        return m_type == value_t::number_integer ? &m_value.number_integer : nullptr;
    }

    inline number_integer_t* get_ptr_impl(number_integer_t*) noexcept {
        return m_type == value_t::number_integer ? &m_value.number_integer : nullptr;
    }

    inline const number_float_t* get_ptr_impl(const number_float_t*) const noexcept {
        return m_type == value_t::number_float ? &m_value.number_float : nullptr;
    }

    inline number_float_t* get_ptr_impl(number_float_t*) noexcept {
        return m_type == value_t::number_float ? &m_value.number_float : nullptr;
    }

    inline const string_t* get_ptr_impl(const string_t*) const noexcept {
        return m_type == value_t::string ? m_value.string : nullptr;
    }

    inline string_t* get_ptr_impl(string_t*) noexcept {
        return m_type == value_t::string ? m_value.string : nullptr;
    }

    inline const array_t* get_ptr_impl(const array_t*) const noexcept {
        return m_type == value_t::array ? m_value.array : nullptr;
    }

    inline array_t* get_ptr_impl(array_t*) noexcept {
        return m_type == value_t::array ? m_value.array : nullptr;
    }

    inline const object_t* get_ptr_impl(const object_t*) const noexcept {
        return m_type == value_t::object ? m_value.object: nullptr;
    }

    inline object_t* get_ptr_impl(object_t*) noexcept {
        return m_type == value_t::object ? m_value.object: nullptr;
    }

plus an accessor for object keys in the iterator classes:
        inline const typename object_t::key_type* key_ptr() const noexcept {
            m_object->m_type  == basic_json::value_t::object ? &(m_it.object_iterator->first) : nullptr;
        }

Some remarks:

Pointers are returned instead of references because the method can be noexcept, plus a returned reference can be part of an expression which accidentally ends up in an unwanted copy.
No implementation for the nullptr type. That would require a little change in the json_value class.
This implementation is less intelligent than the get flavour of methods, since it's not performing any conversion, and is only supported for the stored types (otherwise it would result in a conversion/copy).

Thanks
Andras

Hi all,
I thought about the issue and I think I have a solution:
With code like
json j = "This is a string stored in a JSON value.";

// explicit
const json::string_t& t = j.get<const json::string_t&>();

// implicit
const json::string_t& s = j;

you would get a const reference to the types of basic_json.
For json::string_t, this function would be implemented as follows.
const string_t& get_impl_ref(string_t*) const
{
    switch (m_type)
    {
        case (value_t::string):
        {
            return reinterpret_cast<const string_t&>(* m_value.string);
        }
        default:
        {
            throw std::domain_error("cannot cast " + type_name() + " to " + typeid(string_t).name());
        }
    }
}

Note that string_t* is only used to choose the correct version of get_impl_ref.
What do you think? Is this what you want? If so, I can add this for the value types (object_t, array_t, string_t, boolean_t, number_integer_t, and number_float_t).
Cheers,
Niels

Hi @andreihu,
it seems our posts overlap ;-)
I like your approach, because it's much simpler than my way with const references. However, I have a bad feeling about returning non-const pointers to the member variables. Furthermore, I'd rather raise an exception in case of a type error than to silently return a null pointer - but that may be personal taste.
Anyway - now that there are two proposals, I would be glad to hear opinions :-)
Cheers,
Niels

Hi Niels, Andras,
@nlohmann: sorry mistyping your name all the time, fixed now!
both version have their advantages. As usual, it all comes with some cost, which is responsibility here if one is dealing with raw pointers.
Pointer Access

exception freeness enables you to write exception-free code (assuming -fnoexcept)
non-const access to underlying pointers may enable some in-place processing.
greater flexibility (assuming you know what you're doing)
might even serve as foundation for internal handling

const reference access

easier access, good enough for most things
limited in case you really need a pointer to the underlying memory.
if somebody really wants to break things, he can cast away the reference both in pointers and references

My choice: both, and eventually mask out the pointer semantics via preprocessor via
#ifndef _NLOHMANN_JSON_POINTER_SEMANTICS_

Besides, I'd re-write your internal accessor to that one:
const string_t& get_impl_ref(string_t*) const
{
    return (m_type == value_t::string) ? *m_value.string : throw std::domain_error("not a string");
}

which is shorter and will run faster. I currently see no need for the reinterpret_cast, plus delegate the creation of the error message into a delegate which knows if RTTI is available or not (i.e. -fno-rtti and __GXX_RTTI under g++/llvm)
Thanks and cheers,
Roman

Hi Roman,
good point for having them both, and good point with RTTI - I shall remove all the typeid stuff.
One question: What do you mean with "might even serve as foundation for internal handling"?
Cheers
Niels

Hi Niels,
I saw a lot of switch statements inside the code and asked myself if pointer-based members could somehow unify access and spare code - not sure about that. Will come back in another ticket, if so.
Cheers,
Roman

Hi Niels, Roman,
My 2 cents on the ptr/ref based accessors:

C++ has the long standing legacy of providing zero overhead abstractions, if possible. In my understanding my get_ptr proposal is that one. It's more or less analog to the std::vector's operator[] and at(). The first is the fast, simple, non-throwing version, the second one is the safer throwing.

Usage:

The good point with returning a nullptr is ease of usage. An idiomatic use of get_ptr is:
json j;
if (auto p = j.get_ptr<std::string>()) {
  // use p
}

Whilst the reference based approach forces me to use a separate check, or (even worse) a catch statement.
json j;
if (j.is_string()) {
  const std::string& r = j.get_ref<std::string&>();
  // use r
}

Type inference support

json j;
auto p = j.get_ptr<std::string>(); // this is completely fine, deduced type for std::string*

auto r = j.get_ref<std::string>(); // if i am not wrong, deduced type for r will be std::string (a copy)
const std::string& r = j.get_ref<std::string>(); // should be used, but this is ugly and redundant
const auto& r = j.get_ref<std::string>(); // not redundant, but easy to miss that & and get a copy

Unified access

For further study: Since get_ptr is the lowest level of the accessors, it's also has reusability potential. E.g. get/get_impl could be refactored in a way that a front end function checks convertibility  (+ handling returned nullptr by throwing an exception) and get_ptr does the rest of the job. I think this would be a good move, but not the topic of this discussion.

Safety

Niels's concerns about safety is valid and should be addressed:

it should be documented that get_ptr returns a nullptr on type mismatch
also it should be documented either for get_ref and get_ptr that later assignments to the json object can invalidate returned pointers and references. Thus using the pointer after assignment is undefined behaviour by design.
i think it's not dangerous to return a pointer in a sense, that one cannot really break the json object via the pointer (except for UB in the previous case). We're protecting against Murphy, not Machiavelli ;).

@andreihu: agree
@nlohmann: in case you'd agree, would you need help? If so, please advise (I guess some enable_if is needed to make overloads work on the public API for the get-family).
Thanks and cheers,
Roman

Hi all, thanks a lot for the lively discussion. I really appreciate this! I will have time on the weekend to integrate the ideas.
Until then, I would like to clarify some questions from my side:

We agree that T get() remains as is to explicitly ask for copies of the stored values, including conversions where possible and exceptions in case of incompatibles.
To allow for implicit type conversion, the operator T() will just be calling T get().
There should be a function to return a const reference to the stored values. This function should only be applicable to the basic types. In case of incompatibilities, an exception is thrown.
There should be a function to return a pointer to the stored values. This function should only be applicable to the basic types. In case of incompatibilities, a null pointer is returned. Though the pointer is non-const, anything but reading values leaves the basic_json object in an undefined state.

Open questions:

Should the function from 3. really be called get_ref, or should it be integrated into the get function. That is, should we prefer auto r = j.get<const string_t&>() over auto r = j.get_ref<string_t>()?
Same question as above: Should we get pointers via a dedicated get_ptr function (auto ptr = j.get_ptr<string_t>()) or rather via auto ptr = j.get<string_t*>()?
Should operator T() be extended as well?
What about non-const references?

From my point of view, I would like to keep the number of functions low and rather increase the use cases in which the existing functions work. Hence, I would answer the first three questions with yes.
What do you think?

Good day,
my naive approach when seeing a
template <typename T>
T get();

is that you get exactly that T that you specify, or a compiler error if that T is not available. If somebody says:
auto s = j.get<const std::string>()

then IMO he shall be served with a const copy of the string, even if it most likely makes no sense.
The same applies to question 4) non-const references, i.e:
void trim(std::string &s) {
  // removes trailing and leading whitespaces
}

trim(j.get<std::string &>())

would be perfectly fine for me, as it does not take copies, but allows in-place modification / transformation etc.
For the pointers, the get_ptr is a bit more expressive, but the templated get is absolutely fine for me, too.
My vote therefore is: extend the get<> to support [const,non-const]x[pointers,references,copies].
The only thing that we'd need to be aware of is that we're not accidentally doing an implicit conversion and return a temporary (reference or pointer), which is currently the case with the cast operator.
i.e.
class mystring;
json j = std::string("test");

const mystring &s = j.get<const &mystring>(); // shall not compile
const mystring &s = static_cast<mystring &s>(j); // shall not compile
mystring s = static_cast<mystring>(j); // may/should work if mystring is convertible from json::string_type
mystring *p = j.get<mystring *>(); // shall not compile

Thus, the getters most likely need some enable_if decoration and just be enabled for the exact type used by json.
The same would be true with cast operators, of course, plus maybe a check if that implicit conversion is not allowed when returning references/pointers, but valid when casting to values.
Thanks and cheers,
Roman

Hi Roman, Niels,
My thoughts (i am following Niels's bulletpoints).

Agreed. This will keep backwards compatibility, and covers majority of use cases.
Agreed.
I am a bit ambivalent about the get_ref(). Since the majority of the use cases are covered by get(). The remaining <1% (mostly performance-minded) use cases are covered by get_ptr() in an adequate non-throwing way. I feel this would be over-engineering of the interface to add get_ref().
Using the pointer returned by get_ptr() in a non-const way is not an undefined behaviour. This is completely valid and will never break the class (assuming json is a string): *(j.get_ptr<std::string>()) = "hello world" .

Open questions:
Whilst integrating everything under a big umbrella (get()) seems attracting at first, i would not recommend it. Overloading/templating can be very counterintuitive (and carries the risk of introducing bugs on refactoring), if the underlying behaviour is significantly different. E.g. the reference/pointer related overloads doesn't support conversion, whilst value based overloads support these things.

overload
conversions
exceptions

value
yes
yes

reference
no
yes

pointer
no
no

I think we're missing "conceptual sinergies" here to implement them under the same name.
Regards
Andras

Hi there,
I implemented a get_ptr function which a returns a pointer to the value member (or the null pointer, if the desired pointer type does not match the value type). I also extended the get function to be call with pointer types.
I would be glad for feedback on 40312fb. You may also want to check out the documentation at http://nlohmann.github.io/json/classnlohmann_1_1basic__json_a2efda2b6d931ee72d9757418042e74e1.html#a2efda2b6d931ee72d9757418042e74e1.
Cheers
Niels

Hi @andreihu, @ropuls, @yatagarasu25,
it would be great to get feedback on 40312fb. I implemented a way to get pointers to the value members. If the interface is OK, I would like to close this issue. Or do we need additional calls for references?
All the best,
Niels

Hi Niels,
Thx for the modifications, i think it's ok. I don't think that we need reference based overloads. However i suggest you to reconsider adding pointer based overloads to get<> (see my previous comment on reasons).
Regards
Andras

Hi Andras,
so you mean get<json::string_t*>() should be disallowed?
Regards
Niels

Hi Niels,
Yes, the reason is that the same name yields fundamentally different behaviour (implicit conversion and error reporting) for different types and this is might be misleading. That's why i would vote for different names (get<>, get_ptr<>) to clarify the distinction.
Since get_ptr<> implicitly tells that we're getting a pointer, i would prefer to use it as:
std::string* sptr = j.get_ptr<std::string>();

instead of:
std::string* sptr = j.get_ptr<std::string*>();

But this is only a minor thing...
Regards
Andras

@ropuls, @yatagarasu25 what do you think?

Hi Niels,
thanks a lot for the recent additions!
Regarding get_ptr at line 1929: IMO, there shall be
PointerType get_ptr() noexcept {...}

plus
const PointerType get_ptr() const noexcept {...}

If the object itself is const, it shall not internally cast to non-const (as in line 1939), and shall not expose a non-const pointer (let the user cast the const'ness away, then he's responsible).
Besides, everything is fine for me, and I appreciate the latest changes. Also, I am happy with all accessor versions, and IMO you cannot protect an API user from himself if he's completely unwilling to read the documentation / header comments about pre- and post-conditions.
Thanks a lot, and case closed for me (except you'd want to have the const/non-const overloads for get_ptr).
Cheers,
Roman
PS: Niels: did you get my email about cpp1x.com on gmail?

Hi @ropuls, I made some changes. It's more code in the end, but it feels better without a const_cast in it.
(About the mail: I got it and answer if I find the time.)

Hi Niels,
Thanks for the effort, i think this is a useful addition.
Regards
Andras


types(handlers): editMember now returns GuildMember

Please describe the changes this PR makes and why it should be merged:
Reference: https://github.com/discord/discord-api-docs/pull/2505
Status

[ ] Code changes have been tested against the Discord API, or there are no code changes

Semantic versioning classification:

[ ] This PR changes the library's interface (methods or parameters added)

[ ] This PR includes breaking changes (methods removed or renamed, parameters moved or removed)

[ ] This PR only includes non-code changes, like changes to documentation, README, etc.

Not related to types.

Not related to types.


What's the problem?

Sorry to bother but I am doing my dissertation and need to take your code as an example.
Can you tell me what's wrong with this? I just enrolled myself and do conversation with myself, the problem occurred. I am so grateful if you can help me out!
#################################
Traceback (most recent call last):
File "gui.py", line 188, in do_conversation
signal = self.backend.filter(Main.FS, signal)
File "/home/bruce/speaker-recognition-master/src/gui/interface.py", line 47, in filter
ret, intervals = self.vad.filter(fs, signal)
File "/home/bruce/speaker-recognition-master/src/gui/filters/VAD.py", line 33, in filter
filtered, intervals = self.ltsd.filter(signal)
File "/home/bruce/speaker-recognition-master/src/gui/filters/ltsd.py", line 54, in filter
res, ltsds = self._get_ltsd().compute_with_noise(signal, self.noise_signal)
File "/home/bruce/.local/lib/python2.7/site-packages/pyssp/vad/ltsd.py", line 70, in compute_with_noise
return self._compute(signal)
File "/home/bruce/.local/lib/python2.7/site-packages/pyssp/vad/ltsd.py", line 73, in _compute
ltsds = sp.zeros(self._windownum)
ValueError: negative dimensions are not allowed
negative dimensions are not allowed
###################################

Problem solved.
Just remove the 3rd argument of line 190 in gui.py
############
label = self.backend.predict(Main.FS, signal, True)
=> label = self.backend.predict(Main.FS, signal)
############


build(snap): update snap packaging

Update snap base to core 20
Update documentation
Update metadata and versioning
Add support for "snap set" of device-specific settings
Update install hook
Other minor updates

Signed-off-by: Siggi Skulason<EMAIL_ADDRESS>Fix https://github.com/edgexfoundry/app-rfid-llrp-inventory/issues/58

If your build fails due to your commit message not passing the build checks, please review the guidelines here: https://github.com/edgexfoundry/app-rfid-llrp-inventory/blob/main/.github/Contributing.md
PR Checklist
Please check if your PR fulfills the following requirements:

[X] I am not introducing a breaking change (if you are, flag in conventional commit message with BREAKING CHANGE: describing the break)
[X] I am not introducing a new dependency (add notes below if you are)
[ ] I have added unit tests for the new feature or bug fix (if not, why?) N/'A
[X] I have fully tested (add details below) this the new feature or bug fix (if not, why?)
[ ] I have opened a PR for the related docs change (if not, why?) N/A

Testing Instructions

It's not possible to fully test this without a reader. What I did, for reference, is:

Remove and reinstall edgexfoundry and the LLRP-RFID snaps

sudo snap remove edgexfoundry
sudo snap remove edgex-device-rfid-llrp
sudo snap remove edgex-app-rfid-llrp-inventory
sudo snap install edgexfoundry --edge

Run the device-rfid-llrp snap from https://github.com/edgexfoundry/device-rfid-llrp-go/pull/61. Connect the interfaces and run the scan to get the subnet information.

snapcraft clean --use-lxd
snapcraft --use-lxd
sudo snap install edgex-device-rfid-llrp_1.0.1-dev.7_amd64.snap --dangerous
sudo snap connect edgexfoundry:edgex-secretstore-token edgex-device-rfid-llrp:edgex-secretstore-token
sudo snap start edgex-device-rfid-llrp.device-rfid-llrp

sudo snap connect edgex-device-rfid-llrp:network-control
sudo snap connect edgex-device-rfid-llrp:network-observe

CONSUL_TOKEN=$(sudo cat /var/snap/edgexfoundry/current/secrets/consul-acl-token/bootstrap_token.json | jq ".SecretID" | tr -d '"')
echo $CONSUL_TOKEN
sudo edgex-device-rfid-llrp.auto-configure $CONSUL_TOKEN

Wait for the RFID reader to be detected (takes a few seconds). Confirm using edgex-cli that the device was added:

$ edgex-cli device list
Name                Description       ServiceName       ProfileName          Labels                           AutoEvents
SpeedwayR-10-EE-EF  LLRP RFID Reader  device-rfid-llrp  LLRP-Impinj-Profile  [RFID LLRP Impinj SpeedwayR420]  []

Using the name of the device, update the configuration.toml file for this inventory snap, adding the required alias:

[AppCustom.Aliases]
SpeedwayR-10-EE-EF_1="office"

Note, that as per the Readme, the key is the device name plus "_1" for the 1st antenna.

Build, install and run the snap

snapcraft --use-lxd
sudo snap install edgex-app-rfid-llrp-inventory_1.0.1-dev.6_amd64.snap --dangerous
sudo snap connect edgexfoundry:edgex-secretstore-token edgex-app-rfid-llrp-inventory:edgex-secretstore-token
sudo snap start edgex-app-rfid-llrp-inventory.app-rfid-llrp-inventory

Use the Consul UI to double-check that the AppCustom/Aliases value is correctly set

Run a scan for a few seconds and check the results

curl -o- -X POST localhost:59711/api/v2/command/reading/start
sleep 5s
curl -o- -X POST localhost:59711/api/v2/command/reading/stop
sleep 3s
curl -o- localhost:59711/api/v2/inventory/snapshot

Result:
[{"epc":"e200001b690901820340ee3f","tid":"","location":{"device_name":"SpeedwayR-10-EE-EF","antenna_id":1},"location_alias":"office","last_read":1645042805425,"last_arrived":1645042800663,"last_departed":0,"state":"Present","stats_map":{"SpeedwayR-10-EE-EF_1":{"last_read":1645042805425,"mean_rssi":-45.425}}},{"epc":"e200001b690901820330ef6c","tid":"","location":{"device_name":"SpeedwayR-10-EE-EF","antenna_id":1},"location_alias":"office","last_read":1645042805425,"last_arrived":1645042800663,"last_departed":0,"state":"Present","stats_map":{"SpeedwayR-10-EE-EF_1":{"last_read":1645042805425,"mean_rssi":-33.525}}}]

New Dependency Instructions (If applicable)

@farshidtz - please review. Thanks!

@farshidtz - all requested issues have been resolved. Please re-review. thanks!

force-pushed to fix author/signoff issues.

Thanks @farshidtz . - @lenny-intel could you please approve/merge this PR? (Farshid is not on the committer list)


build: bump python core version to 4.16.5

PR summary
Bumps the python core version to 4.16.5.
PR Checklist
Please make sure that your PR fulfills the following requirements:

[ ] The commit message follows the Angular Commit Message Guidelines.
[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

Current vs new behavior

Does this PR introduce a breaking change?

[ ] Yes
[ ] No

Other information

:tada: This PR is included in version 0.32.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


[Jira] issues.creator_name is empty

Search before asking

[X] I had searched in the issues and found no similar issues.

What happened
issues.creator_name is empty when issues are collected and transformed from the Jira plugin.
What you expected to happen
issues.creator_name is populated with jira issue creator's name.
How to reproduce

setup DevLake v0.11
collect any Jira scrum board

Anything else
No response
Version
main
Are you willing to submit PR?

[ ] Yes I am willing to submit a PR!

Code of Conduct

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

Fixed and verified in v0.12.0.


layouts cache problem

Hello. We have recently encounter a serious problem in production. When new app release is published users will loose layout after hydration.

Here is headers response from server. (Application is being directly rendered by nuxt and is under a simply nginx reverse proxy backend without any caching)
$ curl -I  https://support.aut.ac.ir/assets/7.app.js

HTTP/2 200
server: nginx
date: Mon, 17 Apr 2017 11:22:17 GMT
content-type: application/javascript
content-length: 2990
vary: Accept-Encoding
accept-ranges: bytes
last-modified: Mon, 17 Apr 2017 10:49:05 GMT
etag: W/"bae-15b7b87bce8"
vary: Accept-Encoding
strict-transport-security: max-age=31536000

Remarks
In Firefox only this will happen only once and after a refresh it works normally again

Do you have an error in the console or something which will help us to debug this behavior @pi0 ?

@Atinux Actually i had done my best to debug anything before reporting issue :)) Console log is empty. It seems client-side rendered content is different (because it is being rendered with older pre fetched chunks) and Vue tries to fix that by entirely removing layout parts.
And as another update, i made cache header hidden from clients with this nginx config:
proxy_hide_header cache-control;

It disables cache for chunks and as a result clients with cleared cache won't encounter this issue anymore on releases. (We still have higher PWA score because of etags)

Here is what was actually happens:

Release A:
Response with SSR(A)
Manifest loads needed chunks
(In Parallel) other chunks are loaded and cached for 1 year
Client Rendered (A)

Release B
Response with SSR(B)
Manifest requests for chunks but they are not invalidated (1.app.js,...)
Client rendered (A) <--- Here is the conflict
Only on firefox caches are invalidated for next request

We may add hash to chunk names too to avoid this conflict and allow real long-term caching possible.

Also this official docs about deterministic hashes.

To generate identifiers that are preserved over builds, webpack supplies the NamedModulesPlugin (recommended for development) and HashedModuleIdsPlugin (recommended for production).

@Atinux what's your idea about using this plugin for production?

It seems problem is with using nuxt.build.filenames when using custom names like below chunks are not being hashed anymore:
        filenames : {
                css: 'app.css',
                vendor: 'vendor.js',
                app: 'app.js'
            };
        }

Build output:

Without that option chunks are hashed and cache problem won't happen.

Happening in<EMAIL_ADDRESS>to me with consecutive builds (on CI).


Set scroll container and scroll direction

Would be helpful to have an option to set the scroll container and the scroll direction. If the scroll container is not the body the badge is permanently visible on mobile "stealing" real estate from the contents.

Hey, thanks for suggesting this and sorry for the slow reply. I’m merging pieces of #9 which should resolve the container issue (you’re correct that any container, not just the body, should be allowed).
Just to clarify the scroll direction part, are you asking if there could be an option for horizontally scrolling sites?


ARK Server + Battleye

Now that Battleye is available with ARK on linux I was wondering what the easiest way to add in
-BattlEye
to the start parameters? Is this automatic already with the updates? Is their already a specific spot to put this?
Thanks

Hi,
Was it you on Steam community ? Now i think about it, i recently made this : https://github.com/dgibbs64/linuxgsm/wiki/Start-Parms to help with adding custom start parameters.
But as -BattlEye is now native, we may add it by default into the main ARK Server script.
BTW, it seems like it is (or changed to) -UseBattlEye
More info :
http://steamcommunity.com/games/346110/announcements/detail/852673624835029754

ooh nice catch, yeah as of the time of posting it was still -BattlEye.
So if I go ahead and add this now and you release it native into the files it will just over write with no issues later on?

Yep, from memory, it wasn't that command when you posted that on steam, so they just changed it.
The self update function of LGSM ( https://github.com/dgibbs64/linuxgsm/wiki/Update#updating-your-lgsm-script ) is able to update everything in the /functions directory but the main script (arkserver) has to be updated manually. As you can already make this change manually, there will be no need for you to update it for that purpose after we added it natively.

So assuming this
# Start Variables ip="<IP_ADDRESS>" updateonstart="off" commands="-UseBattlEye"
is correct BattlEye should now be running after a restart with nothing else needed to be done after updating ARK itself?

Ah right so something like this?
fn_parms(){ parms="TheIsland?listen ${commands}"}

Never made an Ark server myself. Their syntax is pretty shitty according to their wiki : http://ark.gamepedia.com/Server_Configuration
Seems like if you add something else, you should put a "?" instead of a space. so would be something more like :
fn_parms(){
parms="TheIsland?listen?${commands}"
}

Did you try that ?

Sorry I didn't get back to you sooner. I am using:
fn_parms(){
parms="TheIsland?listen ${commands}"
}
Tested with BattlEye launch option off and can not connect and my server now shows the BattlEye icon in the listing.

Did you try with that as suggested ?
fn_parms(){
parms="TheIsland?listen?${commands}"
}

I can at some point I suppose but I have not since its working as shown.

Sorry, are you saying that BattleEye is now compulsory ?

No I am saying I typed in:
fn_parms(){
parms="TheIsland?listen ${commands}"
}
and BattlEye is now enabled, Showing that with a space in the syntax and not a ? it's working.

OK, thanks for the info ! I'm still curious to know if the proper syntax is a space or a "?". Would be nice if you could try this out, as it seems that a "?" is the proper way to do, as i can't test it myself (don't own that game).

If I can find a good time to test it out I will do so. For some reason my server can sometimes take hours to sync, showing online with LGSM commands but not on the server lists and I'd hate to inconvenience the player base in peak hours.

Yep, i saw your other issue https://github.com/dgibbs64/linuxgsm/issues/699 but i have no clue about this at all. Definately not a script issue though. Why not trying that when your server doesn't show on the list ?

Well it only does not show on the list after a restart. Like its taking time to sync or something. Which is still requiring the server to be pulled down and restarted. Once its up and shows on the list it doesn't vanish again at any point.

Well, battleeye doesn't seem to be required nor appreciated. Closing this.


phone alias => autoUnmask should include country code

Hi there!
I use autoUnmask flag and everything's good but how can I get a country code value?

Is this about the phone alias?

Yes, you're right.

What do you mean exactly?   The country code is missing from the unmaskedvalue?

yes, if I enter 7 (913) 812-45-15 where "7" is country code then unmaskedvalue will be<PHONE_NUMBER>.

maybe your mask is incorrect?
with this mask : +7<PHONE_NUMBER> you get only 10 digits (without 7)
with this mask: +9<PHONE_NUMBER> you get 11 digits (with any country code)

@sameness ,
The behavior is correct technically spoken, as an unmasked value is the value without the masking.  The 7 is seen as part of the placeholder.
But this can be solved in the onUnmask function.
How do you use the phone alias?

Dear Robin, same question: how do I get full phone number (including country code) via onUnmask?
I have my number stripped, +380(44)555-55-55 becomes 445555555.

In the onunmask you can alter the unmaskedvalue.  Just readd the country
prefix and return the value
Op 16:31 ZA 16 Jan 2016 schreef ichepurnoy<EMAIL_ADDRESS>
Dear Robin, same question: how do I get full phone number (including
country code) via onUnmask?
I have my number stripped, +380(44)555-55-55 becomes 445555555.
—
Reply to this email directly or view it on GitHub
https://github.com/RobinHerbots/jquery.inputmask/issues/800#issuecomment-172216825
.

@RobinHerbots  ,

exactly this is the problem here: how do I access this country prefix?
I can use Regexp,  but is there some internal method/way in Inputmask ?
how can I mask a string value (kind of, opposite of unmask() )? I'd need something that looks like "+380441112233".mask(). Is there any?

I'm working on validating phone via Knockout.validation, but internally using validation of Inputmask (since ko.validation does not have that 'multiple masks' feature).
Maybe I've gone the wrong way completely, feel free to criticize me :)
Still here's my fiddle , kind of working (but ~CPU intensive) :
fiddle
BTW, FYI, jsfiddle no longer accepts 'External resources' from Github, only from CDNs.
I'd like to share this integration for documentation, when/if I get it working 100%,  and if you will not mind.

https://jsfiddle.net/5zy10bsL/15/
Just updated inputmask ref

@RobinHerbots  Ok, glad to see that it does work! Maybe Github had updated URL for accessing a lib.. Still, ~80% fiddles (older that 1-2 years) that I come across, they don't work  until I update the reference to libs.
Can you pls suggest an answer to  (1) how do I access this country prefix, from inside onUnMask function, and (2) can I mask a string value?
Dear Robin, BTW, wow, your fiddle with Inputmask 3.2.6-31 is ~ok on CPU, compared to my fiddle with versions 3.2.5 or 3.2.6-26 !  You must have optimized something in the lib.
Pls, see (fiddle#17)[https://jsfiddle.net/ichepurnoy/5zy10bsL/17/] I added a country flag, just for fun.
If you think this could be useful your Docs, feel free to use it.

@ichepurnoy ,
Yes I added some caching ;-)  The country flag is a nice addition, ... maybe I can add that to the demo page.
question 1: https://github.com/RobinHerbots/jquery.inputmask#onunmask
The onunmask has the masked value and the unmasked value as arguments.  You can strip the country prefix from there.  I know this is not perfect.    Another approach  would be adding the country prefix in the metadata.  This can then be access through the getmetadata.
question 2:  see https://github.com/RobinHerbots/jquery.inputmask#format
Btw any suggestion to improve/extend  the phone alias are welcome.

@RobinHerbots Thank you! Pls note that a few flags (like USA , Canada, United Kingdom ) do not work. Simply because of the difference in codes. That is /easily corrected manually (either in flags codes, or your phone-codes), if you are going to add that to your Demo.  This could count as a suggestion!)

New suggestions:

to onBeforeMask function.
consider wiping out '00' in the beginning, or spaces and dashes inside the number. I've seen UK numbers written like '0044whatever'.

I did it like  var processedValue = value.replace(/^0{1,2}/g, "").replace(/[-\s]/g, "")

just a note really, I kind of cached maskList and Ajax call in my fiddle.  I decided to, because fiddle would generate Ajax calls to phone-codes.js on every keydown. Now,  only one Ajax call. Without knockout it worked okay anyway. With KO, I had to do the trick.

And thanks again! Link #2 did it for me!  :)
My situation was (may be useful for others) , that on Submit I was unmasking the phone , and sending to server. Like '+380441112233'. Then on a page reload, the server would send this back to front, and the unmasked value would fail validation.

@RobinHerbots I 've added this integration to Wiki, pls see https://github.com/RobinHerbots/jquery.inputmask/wiki/HOWTO:-integration-with-Knockout-Validation-plugin

@ichepurnoy ,
Many thx!  Really appreciated!
and I will add your suggestions on the todo list ;-)
best regards,
Robin

Glad to be of any help to you, @RobinHerbots,
best regards,
Ilya

Not correctly identify the country of masks .
Example:
Russia - Kazakhstan ;
USA - Saint Lucia ...

I actually mentioned this twice, that flags/countries do not always work 100%.
As far as I see it, it's because (1) my example was a quick and dirty showcase, far from being polished, and (2) the codes are such, that existing logic in Inputmask fails to distinguish them.
Kazakhstan = +7(7##)###-##-##" or +7(6##)###-##-##", while
Russia = +7(###)###-##-##".
@Soul-git, you would need to update function onKeyValidation from my fiddle with some Regexp, that can tell Kazakhstan from Russia, Canada from USA, etc.

@Soul-git , @ichepurnoy ,
Always feel free to add/update the phone-codes.js.

@RobinHerbots ok, we will!  I guess the masks are more or less correct (I haven't checked though).
The problem is, some country codes are a bit non-standard. Don't know which codes exactly: yours , or flag codes. I guess, its flag codes. Example: they are using GB for United Kingdom, while UK is more accepted, AFAIK. I'll be looking into this in a week, and post my thoughts here.
Robin, have you seen that some countries  (like US) have "cc":["US","CA"], i.e country code as an Array.
Does your plugin correctly get cc if it is an Array (somehow at least, like Array[0]) ?
If yes, then I could update codes for UK as  "cc":["UK","GB"].
If no , then maybe I better bother the author of css-flag on this.

@ichepurnoy ,
Normally the cc should pass the full array

@RobinHerbots  BTW, Robin, the link to Inputmask library that you had inserted into my Jsfiddle, is now invalid.
https://rawgit.com/RobinHerbots/jquery.inputmask/3.x/dist/jquery.inputmask.bundle.js��������������������������������������������������������������������������������������
Don't know what happened, but that is why I prefer links from CDNs over links from Git.
CDNs seem to be more reliable:
https://cdnjs.cloudflare.com/ajax/libs/jquery.inputmask/3.2.7/jquery.inputmask.bundle.min.js����������������������������������������������������������������������������������������������
I will update the fiddle and the Docs.

Remove Phone alias #1981

how to use phone mask with extended alias of phone codes?
Please give some example.
thank you.

working example
const phonemask = new Inputmask('+48 999 999 999', {
  placeholder: '',
  autoUnmask: true,
  onUnMask(maskedValue, unmaskedValue) {
    const [countryMask] = maskedValue.split(' ');
    return `${countryMask}${unmaskedValue}`;
  },
});
phonemask.mask(phoneInput);


Change Microphone in existing speechsdk.SpeechRecognizer instance

In a python script, I would like to change the microphone input of an already initialized SpeechRecognizer. Is that possible, or would I have to create a "fresh" SpeechRecognizer with the new device_name property in its AudioConfig?

Hi @hendryman, this is Darren from the Speech SDK team. If you want to change the input microphone, you will have to re-create the SpeechRecognizer object.


[$1000] Bottom border of placeholder in Signin page is not red.

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Enter Email ID.
Click on “Continue."
Enter Magic Code and Click “Signin” multiple time till the error is displayed of reaching max number of magic code sent.
Observe the placeholder bottom border is not red in color, which appears in case of an error.
Click on “Go Back."
Click on “Continue."
Now observe the placeholder bottom border is red in colordue to an error.

Expected Result:
Bottom border of placeholder in Signin page should be red.
Actual Result:
Bottom border of placeholder in Signin page is not red.
Workaround:
Can the user still use Expensify without this being fixed? Have you informed them of the workaround?
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[x] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: 1.3.12
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/43996225/f8ec7b64-401a-48fb-8200-689512efb357
https://github.com/Expensify/App/assets/43996225/9fc26b83-74c7-449c-a2ee-1e0fbc0ca500
Expensify/Expensify Issue URL:
Issue reported by: @usmantariq96
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1683658276744039
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01a94579cb1084d568
Upwork Job ID:<PHONE_NUMBER>874434560
Last Price Increase: 2023-05-11

Hi guys, I see the post in Upwork and after read and see the video i understand the probleme of the bottom input who not showed red after going back from reaching the limit of max magic code sending?

my propsal is :

if you guys are working with react.js for web and I belive the logic will be the same for android and ios in react-Native
The components that containe the input will be reciving a prop of a variable called thereIsAnError and will be false by default,export ComponetName ({thereIsAnError = false})
and the style will an object like that (const inputStyle={border-bottom: thereIsAnError ?  1px solid red : 1px solid green}); // thereIs An Error is false so it will show green untill it will be true
and Attach the style object to the className of the input
<input className ={inputStyle} />
when the user gonna reach the maximum trys of resending the magic code we gonna do an active function to change the thereIsAnError prop variable to true ,
and when the component that containe the input amount again it will create the inputStyle object as red and attach it to the input className

Contributor details
Your Expensify account email<EMAIL_ADDRESS>Upwork Profile Link: https://www.upwork.com/freelancers/~018d7b712739bc5894

Proposal
Please re-state the problem that we are trying to solve in this issue.
The problem we are trying to solve is that the red border doesn't appear when the code is entered the wrong maximum times as it appears on email input
What is the root cause of that problem?
the root cause is that inside MagicCodeInput we don't pass hasError to the TextInput so the component doesn't know that it's in the error state as the email input however they are using the same component but not passed the same props

What changes do you think we should make in order to solve the problem?

I will change the code to pass prop hasError to TextInput inside the MagicCodeInput component.
What alternative solutions did you explore? (Optional)
Reminder: Please use plain English, be brief and avoid jargon. Feel free to use images, charts or pseudo-code if necessary. Do not post large multi-line diffs or write walls of text. Do not create PRs unless you have been hired for this job.

Contributor details
Your Expensify account email<EMAIL_ADDRESS>Upwork Profile Link: https://www.upwork.com/freelancers/~0196f9527593c2143f

Contributor details
Your Expensify account email<EMAIL_ADDRESS>Upwork Profile Link: https://www.upwork.com/freelancers/~0196f9527593c2143f

Proposal
Please re-state the problem that we are trying to solve in this issue.
In case of error, the placeholder bottom border of the magic code input is not red in color.
What is the root cause of that problem?
In MagicCodeInput.js file, we haven't handled the placeholder bottom border in case of error yet.
What changes do you think we should make in order to solve the problem?
We should pass hasError to MagicCodeInput component as prop and use this command below to pass into style prop of View component (line 274 of MagicCodeInput.js)
props.hasError ? styles.borderColorDanger : (focusedIndex === index ? styles.borderColorFocus : {})
What alternative solutions did you explore? (Optional)
None
Contributor details
Your Expensify account email<EMAIL_ADDRESS>Upwork Profile Link: https://www.upwork.com/freelancers/~01ae621d43ddc5931a

Proposal
Please re-state the problem that we are trying to solve in this issue.
In case of error, the placeholder bottom border of the magic code input is not red in color.
What is the root cause of that problem?
In MagicCodeInput.js file, we haven't handled the placeholder bottom border in case of error yet.
What changes do you think we should make in order to solve the problem?
We should pass hasError to MagicCodeInput component as prop and use this command below to pass into style prop of View component (line 274 of MagicCodeInput.js)
props.hasError ? styles.borderColorDanger : (focusedIndex === index ? styles.borderColorFocus : {})
What alternative solutions did you explore? (Optional)
None
Contributor details
Your Expensify account email<EMAIL_ADDRESS>Upwork Profile Link: https://www.upwork.com/freelancers/~01ae621d43ddc5931a
https://github.com/Expensify/App/assets/129079323/07f7da8a-2c56-4ca0-9875-04da0729190b

Offers sent @allroundexperts @usmantariq96 @thesahindia

@thesahindia please complete the steps above and I'll get this paid out next week assuming no regressions!

All set on payments! Thanks everyone.


Conditions not loading data properties correctly

The second data select attribute date->tomorrow returns false due to it not being queried. See processSingleCondition function
{{if date->unix < date->tomorrow}}
    Some content
{{end}}

See branch: https://github.com/aoliverwd/brace/tree/bug/18


Clarify node versions support? And Node 14?

file:///home/runner/work/yocto-ttl-cache/yocto-ttl-cache/node_modules/.pnpm/mitata@0.1.6/node_modules/mitata/src/cli.mjs:178
  const colors = opts.colors ??= true;
                             ^^^
SyntaxError: Unexpected token '??='
    at Loader.moduleStrategy (internal/modules/esm/translators.js:145:1[8](https://github.com/un-ts/yocto-ttl-cache/runs/7299432226?check_suite_focus=true#step:7:9))
Error: Process completed with exit code 1.

file:///home/runner/work/yocto-ttl-cache/yocto-ttl-cache/node_modules/.pnpm/mitata@0.1.6/node_modules/mitata/src/cli.mjs:178
  const colors = opts.colors ??= true;
                             ^^^
SyntaxError: Unexpected token '??='
    at Loader.moduleStrategy (internal/modules/esm/translators.js:145:1[8](https://github.com/un-ts/yocto-ttl-cache/runs/7299432226?check_suite_focus=true#step:7:9))
Error: Process completed with exit code 1.

You need have nodejs 15> https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Logical_nullish_assignment

I understand that, but there is no engines#node field in package.json which makes it confusing.

Friendly pin @xHyroM
If you agree, I want to raise a PR for it.

v14 is not supported anymore and I encourage people always to try to use more up to date versions of engines and runtimes


Help on error with starting

I am wondering if you could help me with this error I am getting when trying to run node logger.js:
Error:
influx_1 : starting writepump [ writeLimit:  1000 , writeInterval: 3000 ].
/Users/Sanna/node-opcua-logger/node_modules/better-assert/index.js:37
throw err;
^
AssertionError [ERR_ASSERTION]: fs.existsSync(options.certificateFile)
at new AssertionError (internal/errors.js:102:11)
at assert (/Users/Sanna/node-opcua-logger/node_modules/better-assert/index.js:32:13)
at OPCUAClientBase (/Users/Sanna/node-opcua-logger/node_modules/node-opcua/lib/client/client_base.js:65:5)
at new OPCUAClient (/Users/Sanna/node-opcua-logger/node_modules/node-opcua/lib/client/opcua_client.js:67:21)
at new ReadPump (/Users/Sanna/node-opcua-logger/readpump.js:8:21)
at Object. (/Users/Sanna/node-opcua-logger/logger.js:15:10)
at Module._compile (module.js:653:30)
at Object.Module._extensions..js (module.js:664:10)
at Module.load (module.js:566:32)
at tryModuleLoad (module.js:506:12)
Config file looks like this:
[input]
url             = "opc.tcp://opcua.demo-this.com:51210/UA/SampleServer"
failoverTimeout = 5000 # time to wait before reconnection in case of failure
[output]
name             = "influx_1"
type             = "influxdb"
host             = "<IP_ADDRESS>"
port             = 8088
protocol         = "http"
username         = ""
password         = ""
database         = "pilot"
failoverTimeout  = 10000
bufferMaxSize    = 64
writeInterval    = 3000
writeMaxPoints   = 1000
A polled node:
[[measurements]]
name               = "Int32polled"
tags               = { tag1 = "test", tag2 = "AB43" }
nodeId             = "ns=2;i=10849"
collectionType     = "polled"
pollRate           = 20     # samples / minute.
deadbandAbsolute   = 0      # Absolute max difference for a value not to be collected
deadbandRelative   = 0.0    # Relative max difference for a value not to be collected
A monitored node
[[measurements]]
name               = "Int32monitored"
tags               = { tag1 = "test", tag2 = "AB43" }
nodeId             = "ns=2;i=10849"
collectionType     = "monitored"
monitorResolution  = 1000    # ms
I am able to connect with the OPC with a client. I am also able to write to InfluxDB on command line.
Thank you.

Hello @haavissa,
This seems te be an issue with certificate generation of the older OPCUA lib on MacOS. I've updated the code to include a more recent version op OPCUA, which should fix this.
can you try the following in your copy:
rm -rf node_modules
git pull
npm install

... and then try again?
When I find the time, I'll update other parts of the code as well, we have done quite some improvements that I also want to include in the OS version.


update AWS AMIs and Virtual Box Images to 19.09

A number of people asked me when we were updating the images to 19.09. Opening this issue to track it.
@edolstra @rbvermaa @AmineChikhaoui

I created a PR for the EC2 amis update https://github.com/NixOS/nixpkgs/pull/72186.

VirtualBox is also now up-to-date (in the plugin repo https://github.com/nix-community/nixops-vbox/commit/bff6054ce9e7f5f9aa830617577f1a511a461063)

PR for EC2 is merged and backported.

I noticed that we do not have AMIs for eu-north-1 (EU, Stockholm). Would it be possible to add and an AMI for this region?


fix: run arrow modifier after preventOverflow

After a nightmarish bug hunt I found out why the arrow randomly broke after a build commit change - it was being placed before preventOverflow, but it relies on preventOverflow's mutations to popperOffsets to work.
However, this uncovered a separate bug: preventOverflow relies on state.elements.arrow for its edges tether option, but it doesn't exist until after load. So the first load will have the arrow overflow the ref bounds if the popper is coincidentally placed in a location where that will happen, since it's being placed before arrow.
I'm not sure if it's possible to allow arrow to run before preventOverflow though, because it needs to know the real popperOffsets value that gets altered due to overflow prevention... D; so maybe the arrow element shouldn't be specified in the modifier, rather like this maybe:
createPopper({
  reference,
  popper,
  arrrow,
  options: {...}
});

Also maybe the two requires should be :
explicitRequires: this needs to read the modifier's data from modifiersData set before hand
implicitRequires: this relies on mutations/effects from this modifier to data e.g. popperOffsets running before hand
And I feel like we maybe should be using some kind of different architecture to run mutations (e.g. preventOverflow just directly mutates the popperOffsets values) so we don't get weird bugs like this that are hard to track down.


Allow additional names to be added to Certificates

I would like to provide a DNS name to my Masters or place a TCP proxy in front to spray across them. In both situations, there will either be a different IP address or more importantly a DNS name to reach this endpoint.
The certificates stamped for the Master (api server) needs to include these additional names so that the TLS negotiation may succeed.

This does look to be an oversight on our part and an important case to cover. I'll make sure we evaluate and prioritize this appropriately. Thanks for the report.

Commits juju-solutions/layer-easyrsa@7105b8b and kubernetes/kubernetes@73e8af3#diff-a3d7f3f33a8970f4d4be30d9bc4e67ac now allow you to specify additional sans entries in the certificate. You can do so with juju config kubernetes-master extra_sans="lb.example.com".

This has been released. Docs are at https://github.com/juju-solutions/bundle-canonical-kubernetes/wiki/Certificate-regeneration-via-extra_sans-options


Missing recaptcha resources

Hello!

Vote on this issue by adding a 👍 reaction
To contribute a fix for this issue, leave a comment (and link to your pull request, if you've opened one already)

Issue details
The recaptcha resource was added in the terraform provider v4.4.0 (https://github.com/hashicorp/terraform-provider-google/releases/tag/v4.4.0), but it is not present in pulumi despite it claiming to be at the provider version 4.8.0.
Unsure if it is a bug in the code generation or something else that needs to be done manually to add the resource.

@jkodroff could you investigate why this is missing?

The resource appears to not be mapped in resources.go as it should be. Two things to do:

Add the resource (assuming we're not intentionally not mapping it, which is unlikely).
Verify that tfgen produced a message and we just missed it. (We're adding a flag that will fail the build for a missing mapping so that this can't be missed by a human.)

@Sytten First, thank you for taking the time to report the issue!
The resource is present in the latest version of the GCP provider, released yesterday: https://www.pulumi.com/registry/packages/gcp/api-docs/recaptcha/

Thanks a lot!


Create Posts “testi-2”

Automatically generated by Netlify CMS

👷 Deploy Preview for singular-belekoy-185ac4 processing.

Name
Link

🔨 Latest commit
02e6317baf1feb0b422432ab0b1d8abb684fc3fe

🔍 Latest deploy log
https://app.netlify.com/sites/singular-belekoy-185ac4/deploys/67703f807a6859000825de8a


Using undefined as value doesn't remove the selection in NumericSelector

https://jsfiddle.net/bobylito/jvm9ts9d/
related conversation on the community forum: https://discourse.algolia.com/t/no-default-selection-for-dropdown-numericselector-on-page-load/3611

@bobylito - Just following up on this bug, we are suppose to go live soon and was wondering if you have an update for me. Thanks.

This has been released as part of the 2.2.4 release. I updated the documentation accordingly.


[Don't merge] Update ruby 2.3.n and 2.4.n in Travis CI

Just testing https://github.com/rspec/rspec-dev/pull/189 🙇

Both versions got 💚

2.3.5 - https://travis-ci.org/rspec/rspec-core/jobs/296591684
2.4.2 - https://travis-ci.org/rspec/rspec-core/jobs/296591685

✅


Housekeeping - eslint + module aliasing

As part of improving the developer experience, we should have a working eslint setup, and look to use webpack aliasing to decrease module name lengths

Once a set of rules have been set up, it would be good to detail them (along with general contribution/code style rules) here: docs/CodeStyle.md


keras.layers.Bidirectional constructor ignores trainable argument, causing models with trainable=False layers to incorrectly be cloned

System information.

Have I written custom code (as opposed to using a stock example script provided in Keras): no
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): CentOS
TensorFlow installed from (source or binary): PYPI
TensorFlow version (use command below): 2.11.0
Python version: 3.7

Describe the problem.
keras.layers.Bidirectional ignore the trainable argument, therefore cloning a model with Bidirectional layers, where the layer has been set to trainable=False will be cloned with trainable set to True.
Describe the current behavior.
The trainable property is set always to True.
Describe the expected behavior.
The trainable property should be set correctly.
Contributing.

Do you want to contribute a PR? (yes/no): yes
If yes, please read this page for instructions
Briefly describe your candidate solution(if contributing):

Change trainable = True to trainable = kwargs.get('trainable', True) in https://github.com/keras-team/keras/blob/master/keras/layers/rnn/bidirectional.py#L178
Standalone code to reproduce the issue.
import tensorflow as tf

inp = tf.keras.Input([None, 3])
rnn = tf.keras.layers.SimpleRNN(units=3)
bid = tf.keras.layers.Bidirectional(rnn)
model = tf.keras.Model(inp, bid(inp))

model.summary()

clone_trainable = tf.keras.models.clone_model(model)
assert clone_trainable.get_config() == model.get_config()

bid.trainable = False
clone_untrainable = tf.keras.models.clone_model(model)
assert clone_untrainable.get_config() == model.get_config()

@mergian,
The pr #17467  has been assigned for reviewing and once it is merged this issue will move to closed status. Thank you!


Support curly braces

Cabal files apparently allows writing curly braces around blocks, which confuses implicit-hie. For example, this file: https://github.com/ivan-m/graphviz/blob/42dbb6312d7edf789d7055079de7b4fa099a4acc/graphviz.cabal#L59
Library {

-- ...

will generate a hie.yaml file like this
cradle:
  cabal:
    - path: "./"
      component: "graphviz:lib:{"

# ...

instead of the expected
cradle:
  cabal:
    - path: "./"
      component: "lib:graphviz"

# ...

Is cabal index insensitive within curly blocks?

What does index sensitive mean?

oops, indent insensitive.

Just hit this trying to load the Graphviz library in to HLS. No idea why it uses those braces, but, well, if Cabal accepts them...

Unfortunately, I don't have any time to work on this in the next two weeks.

I ran into this with brittany: https://github.com/lspitzner/brittany/blob/master/brittany.cabal#L47

I'll take a look this weekend.


Send Dependabot emails to Microsoft Teams channel

I hope it's okay that I ask this here.
Is it possible to send Dependabot emails (like for newly created pull requests) to a specified email address? I would like to send the emails to a Microsoft Teams channel. Is that possible somehow?
I couldn't find an option for that in Github for Dependabot or in the dependabot.yml file.

It's not possible directly from Dependabot, but I think it should be possible with the Github/Teams integration: https://github.blog/2020-09-10-announcing-the-github-integration-with-microsoft-teams/
This is not something that we're likely going to add to Dependabot natively though, so I'm going to close out this issue for now. Feel free to follow up with questions, and I'll try to help. I'm not super experienced with Teams, but I should be able to reach out to folks that are.

Hi @Alexander-Betz and @jurre,
I'd like to continue this conversation as I don't think there is a solution to direct Dependabot alerts to Ms Teams.
The following link only creates notifications for issues, pulls, commits, comments, releases, deployments - not security alerts.
https://github.blog/2020-09-10-announcing-the-github-integration-with-microsoft-teams/
Is there any way this is possible?

@Lahiru-ResLife Afraid this isn't really something we can help with, since it's mostly a question of teams integration, and not alert generation. Can you file a support ticket here requesting that they add notifications of alerts to the teams integration?


Add to playlist popup (from save button on play queue) does not show all playlists

When I click on the save button from a song in my play queue I can't see all of my playlists. I cannot scroll through all of them either. sometimes it doesn't even show the scroll bar.
As you move down the play queue, more and more of the popup box can be seen.

Can I see a picture? What zoom level are you using on your PC? PC stats?

sure

CPU-Z TXT Report
Binaries
CPU-Z version			1.72.1.x64
Processors
Number of processors		1
Number of threads		4
APICs
Processor 0
-- Core 0
-- Thread 0	0
-- Core 1
-- Thread 0	2
-- Core 2
-- Thread 0	4
-- Core 3
-- Thread 0	6
Timers
ACPI timer		3.580 MHz
HPET timer		14.318 MHz
Perf timer		3.330 MHz
Sys timer		1.000 KHz

Processors Information
Processor 1			ID = 0
Number of cores		4 (max 8)
Number of threads	4 (max 16)
Name			Intel Core i5 3570K
Codename		Ivy Bridge
Specification		Intel(R) Core(TM) i5-3570K CPU @ 3.40GHz
Package (platform ID)	Socket 1155 LGA (0x1)
CPUID			6.A.9
Extended CPUID		6.3A
Core Stepping		E1/L1
Technology		22 nm
TDP Limit		77.0 Watts
Tjmax			105.0 °C
Core Speed		1604.2 MHz
Multiplier x Bus Speed	16.0 x 100.3 MHz
Stock frequency		3400 MHz
Instructions sets	MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, EM64T, VT-x, AES, AVX
L1 Data cache		4 x 32 KBytes, 8-way set associative, 64-byte line size
L1 Instruction cache	4 x 32 KBytes, 8-way set associative, 64-byte line size
L2 cache		4 x 256 KBytes, 8-way set associative, 64-byte line size
L3 cache		6 MBytes, 12-way set associative, 64-byte line size
FID/VID Control		yes
Turbo Mode		supported, enabled
Max non-turbo ratio	34x
Max turbo ratio		38x
Max efficiency ratio	16x
Min Power		60 Watts
O/C bins		unlimited
Ratio 1 core		38x
Ratio 2 cores		38x
Ratio 3 cores		37x
Ratio 4 cores		36x
TSC			3410.0 MHz
MPERF			3410.1 MHz

Temperature 0		38°C (100°F) [0x43] (Core #0)
Temperature 1		39°C (102°F) [0x42] (Package)
Power 0			25.06 W (Package)
Power 1			5.49 W (IA Cores)
Power 2			n.a. (GT)
Power 3			19.57 W (Uncore)
Voltage 0		1.01 Volts (VID)

Let me know if you need anything else

Using Version 43.0.2357.81 m of Chrome

Hey,
Yeah you're right. Weird. Okay, I can reproduce this on my end and I'll have it fixed in the next patch. Thanks!

Excellent. Thanks!


missing shallow propTypes warning for a subcomponent

if I shallow render a component called MyComponent, whose render function looks like:
render() {
  return(
    <MySubComponent /> // purposely omitting required prop value
  )
}

and MySubComponent.propTypes look like:
{
  value: React.propTypes.string.isRequired
}

i only get a propType warning the first time I run shallow(<MyComponent />) in a jest test. The second time i run shallow(<MyComponent />) I do not get a propType warning.
It should give me a propType warning every time I run shallow(<MyComponent />) if MySubComponent does not have valid propTypes.

Indeed, it should. Can you verify if that's related to jest by trying a different framework? Can you share your test file?

This is expected behavior, React dedupes these messages so they are only logged once, no matter how many times the component is rendered.

ahh that explains it. i appreciate the point out in source code. thanks guys! @ljharb @aweary


Add tests for RunningStatisticTimeSeries for NewMax and NewMin

Need to add tests for new NewMax and NewMin statistics.

These tests were previously added.  Close the issue.


MeterCC.ts creates value labels that cannot be distinguished

Describe the bug
When selecting a meter value in zwavejs2mqtt (e.g. from a Shenzehen Neo NAS-WR01ZE Wall Plug) the selection box shows identical labels for all meter values which cannot be distinguished for which unit it is (kWh, W, V, A).
This is a screenshot from the value selection:

This is a screenshot that shows that multiple values have identical labels and would not be able to distinguish, if the UI would not output the unit as well:

Maybe the value labels could be improved a bit as well (shorter with more meaningful names).
Device information
Which device(s) is/are affected (make/model)?  Shenzehen Neo NAS-WR01ZE Wall Plug
What are the node IDs? Node 080 (see logs). Device IDs: 600-4135-512 (0x0258-0x1027-0x0200)
The bug affects not only this device but all devices using the meter CC.
Installation information
How did you install node-zwave-js? Zwavejs2mqtt (dev) docker image
To Reproduce
Steps to reproduce the behavior:

Go to zwavejs2mqtt settings
Click on 'New Value' on the bottom left
Select a device supporting the meter CC
Open the value select - it shows multiple identically named values, unable to distinguish

Logfile:
zwavejs-log.zip

would not be able to distinguish, if the UI would not output the unit as well

Adding the unit to the label would be redundant information though.

Maybe the value labels could be improved a bit as well (shorter with more meaningful names).

What labels would you propose?

would not be able to distinguish, if the UI would not output the unit as well

Adding the unit to the label would be redundant information though.

Maybe the value labels could be improved a bit as well (shorter with more meaningful names).

What labels would you propose?

Maybe the value labels could be improved a bit as well (shorter with more meaningful names).

What labels would you propose?

This is for example how OpenHAB names the labels which have always worked well for me:

See here for more example screenshots: https://community.openhab.org/t/aeotec-power-meter-setup-with-openhab-issues/72932/5
The labels are taken from the device XML files - here for example:
https://github.com/openhab/org.openhab.binding.zwave/blob/9c16de62e85f5c96ba8a287776a4db795d222ad2/src/main/resources/OH-INF/thing/shenzhen/coolcampwrplug_0_0.xml

Maybe the value labels could be improved a bit as well (shorter with more meaningful names).

What labels would you propose?

This is for example how OpenHAB names the labels which have always worked well for me:

See here for more example screenshots: https://community.openhab.org/t/aeotec-power-meter-setup-with-openhab-issues/72932/5
The labels are taken from the device XML files - here for example:
https://github.com/openhab/org.openhab.binding.zwave/blob/9c16de62e85f5c96ba8a287776a4db795d222ad2/src/main/resources/OH-INF/thing/shenzhen/coolcampwrplug_0_0.xml

They are missing half of what zwave-js supports though.
According to Qubino, we're the first software they tested to display the rate type (production, consumption). That is not included in the OpenHAB labels. Also I don't see anything for previous values or the delta time between two measurements in the screenshot.
Meter values are very well standardized, so I see no point in adding the labels in config files. We just need to find a decent format for them. To summarize

We have these types and scales (= unit), which includes duplicated scales between the meter types (e.g. kWh)

Meter type
Meter scales

Electric
kWh

kVAh

W

Pulse count

V

A

Power Factor

kVar

kVarh

Gas
Cubic meters

Cubic feet

Pulse count

Water
Cubic meters

Cubic feet

US gallons

Pulse count

Heating
kWh

Cooling
kWh

We have two rate types: produced and consumed, which can be freely combined with the above
And we have three values for each possible combination: value, previousValue and deltaTime.

If you have a good naming scheme that encompasses all of this, I'm all ears.

They are missing half of what zwave-js supports though.
According to Qubino, we're the first software they tested to display the rate type (production, consumption). That is not included in the OpenHAB labels. Also I don't see anything for previous values or the delta time between two measurements in the screenshot.
Meter values are very well standardized, so I see no point in adding the labels in config files. We just need to find a decent format for them. To summarize

We have these types and scales (= unit), which includes duplicated scales between the meter types (e.g. kWh)

Meter type
Meter scales

Electric
kWh

kVAh

W

Pulse count

V

A

Power Factor

kVar

kVarh

Gas
Cubic meters

Cubic feet

Pulse count

Water
Cubic meters

Cubic feet

US gallons

Pulse count

Heating
kWh

Cooling
kWh

We have two rate types: produced and consumed, which can be freely combined with the above
And we have three values for each possible combination: value, previousValue and deltaTime.

If you have a good naming scheme that encompasses all of this, I'm all ears.

I see.
What about the following suggestion for a generic label generation:
value: <meterType> <rateType> [<meterScale>]
previousValue: <meterType> <rateType> [<meterScale>] (previous)
deltaTime: <meterType> <rateType> [<meterScale>] (previous time delta)

This would generate the following labels:
value: Electric consumed [kWh]
previousValue: Electric consumed [kWh] (previous)
deltaTime: Electric consumed [kWh] (previous time delta)

I see.
What about the following suggestion for a generic label generation:
value: <meterType> <rateType> [<meterScale>]
previousValue: <meterType> <rateType> [<meterScale>] (previous)
deltaTime: <meterType> <rateType> [<meterScale>] (previous time delta)

This would generate the following labels:
value: Electric consumed [kWh]
previousValue: Electric consumed [kWh] (previous)
deltaTime: Electric consumed [kWh] (previous time delta)

Not exactly much shorter, but unique

Not exactly much shorter, but unique


specify adb target device determined by device_id method

(which may be connected via TCP) instead of adb choosing the first USB device
see http://community.rubymotion.com/t/bug-android-debug-bridge-adb-on-osx-is-flaky-rubymotion-on-adb-is-even-flakier/598

Thank you @buzzware !


device: revert device dependency injection

#31546 identifies that the second phase link with replacement handle arrays results in the arrays being re-ordered and padding to change in at least one example (#31528) which causes symbol offsets to change.  Revert this feature until an alternative solution can be found.
Fixes #31546

@andrewboie I've rebased your #30907 and it seems to fix the problem.  I can add those to this PR, but would rather let you verify and push again.  Sorry for the trouble.

@andrewboie I've rebased your #30907 and it seems to fix the problem.  I can add those to this PR, but would rather let you verify and push again.  Sorry for the trouble.


make more dynamically generated - maybe C# has reflections?

https://github.com/jessinthecloud/ValheimJsonExporter/blob/cfeee7ca69bb5bc457d645d1502a4ebc985db003/ValheimJsonExporter/Docs/ItemDoc.cs#L41-L89

If it doesn't, jotunn might
https://github.com/jessinthecloud/ValheimJsonExporter/blob/777f74144e5535a0edd05c4cf41d133d9e4e9ec2/ValheimJsonExporter/Docs/PieceDoc.cs#L26


upd 2019-05-04

Required for all PRs:

[x] Signed CLA.
[x] Associated README.md updated.
[x] Has appropriate unit tests.

ok


WASM - x86 int64 gt_s & lt_s

On x86 for int64 compare, we need to compare the low bits using unsigned comparisons.
This removes the need for the hack to prevent cmp src swapping.

This change is

Hold off on the review, I found a related bug with branches for int64 on x86. I will include the fix in this PR

Ping, can someone review this, it is hitting a lot in WasmExprgen

Thanks @Penguinwizzard


Fix gluesql-js/package.json to publish files correctly,

Specify all files to publish in package.json > files
Fix examples/web/webpack/index.html head->title "Rollup" to "Webpack"

Codecov Report

Merging #543 (75023da) into main (2283c99) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #543   +/-   ##
=======================================
  Coverage   93.11%   93.11%
=======================================
  Files         178      178
  Lines       11644    11644
=======================================
  Hits        10842    10842
  Misses        802      802

Continue to review full report at Codecov.

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


Upgrade to v0.29.0 of the Auth0 Terraform Provider

See upstream release
notes for details

Fixes #129 .