Update integration test pack versions

Merge / deployment checklist

[ ] Confirm this change is backwards compatible with existing workflows.
[ ] Confirm the readme has been updated if necessary.
[ ] Confirm the changelog has been updated if necessary.

I forced the failing tests to use the nightly build. Now they are passing.

In retrospect, this is misleading. I wasn't implying that this is a good solution, or even something I'd like to commit. I'm planning on working on this tomorrow and finding out what is happening, because upgrades should work.
@edoardopirovano as you said, this would only be temporary. If you are being blocked by failing builds, then it is ok to merge. But, I would prefer to explore deeper when I am able to.

Agree that we should investigate why the upgrades aren't working. I'm not blocked on failing tests, so okay to not merge this and instead wait until we have a proper solution.

The 0.1.0 versions fail because the queries are too new and upgrades are not found. The bug is that we haven't updated codeql resolve upgrades to work with packs yet.
I'll work on this next.

These tests will not be properly fixed until the next release of the CLI. This is because database upgrades is not yet package-aware. I'll fix that shortly, but it won't be available until the release.

Building a new nightly version of the CLI. I expect that once that version is available to the action, then this PR will pass and we can get the action back on track.

This latest version hard-codes the tools bundle being used by the packaging integration tests. This will work for now. However, we need to make sure that the version that is pointed to is not cleaned up by automation.

I made sure that the release is not cleaned up by automation by making it a non-prerelease. Now, it will always show on top of the releases list, which always keeps the 10 latest.


Bug: config.yml removing (some) commented out settings

Probably related to #363
Describe the Bug
If I want to run things quickly for a test, I'll do something like this to my config.yml
libraries:
  Shows:
    metadata_path:
      # - folder: config/shows/quickfixes
      # - folder: config/shows/series
      # - folder: config/shows/collections
      - folder: config/shows
  # Movies:
  #   metadata_path:
  #     - folder: config/movies/quickfixes
  #     - folder: config/movies/collections
  #     - folder: config/movies
  # Music Videos:
  #   metadata_path:
  #     - folder: config/music-videos/artists
  #     - folder: config/music-videos
settings:

after being run, it deleted my movies and music videos sections, but left the commented out sections under the shows library
libraries:
  Shows:
    metadata_path:
      # - folder: config/shows/quickfixes
      # - folder: config/shows/series
      # - folder: config/shows/collections
      - folder: config/shows
settings:

Plex Meta Manager Info
Version: 1.12.1

Update: This doesn't seem like it's happening every time. I'll report back if I figure out exactly what causes it to be deleted.

ill look into to this more when i can its just when i can get to it over other things

Seconding this - it has happened to me. Really weird.

Same issue here.

so this is happening because of how I update the config.yml with new or changed settings if you don't want the file updated you can use the --read-only run command to stop pmm from overwriting the config.yml

so this is happening because of how I update the config.yml with new or changed settings if you don't want the file updated you can use the --read-only run command to stop pmm from overwriting the config.yml

Gotcha. Did this apply to only the config file or the metadata yaml files as well? I've also seen the behavior in a metadata file, but oddly enough it seems to only affect comments that don't have a space after the hash (#comment vs # comment). I haven't tested this thoroughly yet though.

PMM never overwrites the metadata files it only overwrites the config.yml file

PMM never overwrites the metadata files it only overwrites the config.yml file

My mistake - this occurred in the config file and I just remembered incorrectly. Thanks for the tip on avoiding the issue in the future, and thanks for all the work you're putting into PMM.


Add Great Britain (England, Scotland and Wales) at first mention in content or services

[Definition of Great Britain]
[HMRC GOV.Uk team]
Overview
User research suggests some users do not know which countries are included in Great Britain.
To remove this issue we should add in any content or service at first mention, Great Britain (England, Scotland and Wales), there after use just Great Britain.
This will provide a consistent approach across GOV.UK.

Hi @SuzanneMeek, I'm picking up some of these tickets and I know this is from a while ago, so just wondering if you are happy with the fact that Great Britain is listed in the GOV.UK A to Z with the information you've mentioned: https://www.gov.uk/guidance/style-guide/a-to-z-of-gov-uk-style#great-britain?
I don't think it's necessary for us to repeat the information in our style guide.

That’s great thanks Louise.
Many thanks 😊
Suzanne
Suzanne Meek
Senior Content Designer | Interactive Guidance Team | CS&TD Tax Administration Directorate | Telephone: 03000 553 979 | Mobile: 07811 304 146
How did I do today? Leave feedback herehttps://cstd.guidance.prod.dop.corp.hmrc.gov.uk/cms/process/viewer/?p=gui90087, it can be anonymoushttps://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fhmrc.sharepoint.com%2Fteams%2FGRP055933375%2FSitePages%2FSubmit-your-feedback.aspx&data=04|01|suzanne.meek%40hmrc.gov.uk|240d854b43a44902febc08d99f979946|ac52f73cfd1a4a9a8e7a4a248f3139e1|0|0|637716295717621412|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=j9rVnJXUXvRjdRUXVBs1MyKpkDmg00SnE6EUxSxx%2FJ8%3D&reserved=0 if you want.
From: Louise Jones @.>
Sent: 14 March 2022 15:11
To: hmrc/HMRC-content-style-guide @.>
Cc: Meek, Suzanne (CS&TD TAD) @.>; Mention @.>
Subject: Re: [hmrc/HMRC-content-style-guide] Add Great Britain (England, Scotland and Wales) at first mention in content or services (#98)
Hi @SuzanneMeekhttps://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FSuzanneMeek&data=04|01|suzanne.meek%40hmrc.gov.uk|227b61613f2e413dd71408da05ccce4e|ac52f73cfd1a4a9a8e7a4a248f3139e1|0|0|637828674439854411|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000&sdata=mNd1NixF0Px7ld7YApqDkOev5lTdgwW4W9M3gu6uzIE%3D&reserved=0, I'm picking up some of these tickets and I know this is from a while ago, so just wondering if you are happy with the fact that Great Britain is listed in the GOV.UK A to Z with the information you've mentioned: https://www.gov.uk/guidance/style-guide/a-to-z-of-gov-uk-style#great-britainhttps://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.gov.uk%2Fguidance%2Fstyle-guide%2Fa-to-z-of-gov-uk-style%23great-britain&data=04|01|suzanne.meek%40hmrc.gov.uk|227b61613f2e413dd71408da05ccce4e|ac52f73cfd1a4a9a8e7a4a248f3139e1|0|0|637828674439854411|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000&sdata=1oq7poGSvNia2%2BYYEz9HG2aAvXVkQNtu3HWig%2BIJRbg%3D&reserved=0?
I don't think it's necessary for us to repeat the information in our style guide.
—
Reply to this email directly, view it on GitHubhttps://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fhmrc%2FHMRC-content-style-guide%2Fissues%2F98%23issuecomment-1066920643&data=04|01|suzanne.meek%40hmrc.gov.uk|227b61613f2e413dd71408da05ccce4e|ac52f73cfd1a4a9a8e7a4a248f3139e1|0|0|637828674439854411|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000&sdata=z9ugKmnTxX8LABU9B5ftJrwahf5bYN6eTUJqqDLkUww%3D&reserved=0, or unsubscribehttps://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAQ6I3NH4M62E3IO55Q76MULU75JHBANCNFSM4RE6FTAQ&data=04|01|suzanne.meek%40hmrc.gov.uk|227b61613f2e413dd71408da05ccce4e|ac52f73cfd1a4a9a8e7a4a248f3139e1|0|0|637828674439854411|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000&sdata=PLDADyR%2BuJiY7%2BZ%2BEF58fLZyvvALvQdl68qOqF05rS4%3D&reserved=0.
Triage notifications on the go with GitHub Mobile for iOShttps://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fapps.apple.com%2Fapp%2Fapple-store%2Fid1477376905%3Fct%3Dnotification-email%26mt%3D8%26pt%3D524675&data=04|01|suzanne.meek%40hmrc.gov.uk|227b61613f2e413dd71408da05ccce4e|ac52f73cfd1a4a9a8e7a4a248f3139e1|0|0|637828674439854411|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000&sdata=uWLaeZE5Kn67JRfTVd9tKVMADsNNAwurVWc6veujblY%3D&reserved=0 or Androidhttps://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fplay.google.com%2Fstore%2Fapps%2Fdetails%3Fid%3Dcom.github.android%26referrer%3Dutm_campaign%253Dnotification-email%2526utm_medium%253Demail%2526utm_source%253Dgithub&data=04|01|suzanne.meek%40hmrc.gov.uk|227b61613f2e413dd71408da05ccce4e|ac52f73cfd1a4a9a8e7a4a248f3139e1|0|0|637828674439854411|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000&sdata=lUgKj45Mcju1rJYNdGfrb3T8a6GKycSJdo38F%2FXqhy0%3D&reserved=0.
You are receiving this because you were mentioned.Message ID<EMAIL_ADDRESS>The information in this e-mail and any attachments is confidential and may be subject to legal professional privilege. Unless you are the intended recipient or his/her representative you are not authorised to, and must not, read, copy, distribute, use or retain this message or any part of it. If you are not the intended recipient, please notify the sender immediately.
HM Revenue & Customs computer systems will be monitored and communications carried on them recorded, to secure the effective operation of the system and for lawful purposes.
The Commissioners for HM Revenue and Customs are not liable for any personal views of the sender.
This e-mail may have been intercepted and its information altered.

Great.
Consider this issue as resolved, and I will close it when I have the right permissions. :)


Add Dockerfile

I caught one little thing that I will add in a follow-up, but I'm good with this and it's needed to enable promotion in the prow config.
/approve

/lgtm


320 - Add GA custom event for Internal navigation to DOM elements

Issue Number
Closing #320
Purpose/Implementation Notes

Add custom events for internal links (navigations) to DOM elements using the GA custom events script
Verified that custom events are firing correctly in the development environment

To see the internal links  custom GA4 reports, please login to CCDL Analytics account, and navigate to the development property Refine.bio Web - Dev (issue https://github.com/AlexsLemonade/refinebio-web/issues/310).
Types of changes

New feature (non-breaking change which adds functionality)

Checklist

[x] Lint and unit tests pass locally with my changes
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have added necessary documentation (if appropriate)
[ ] Any dependent changes have been merged and published in downstream modules

We’ve streamlined the implementation by creating a wrapper method to track both external and internal link clicks. All changes are in PR #326, so I am closing this PR.


Examples Links on https://kubernetes.io/docs often point to old examples location

This is a...

[ ] Feature Request
[X] Bug Report

Problem:
With this pr from around a month ago, all of the examples dir on the kubernetes/kubernetes repo redirect to the kubernetes/examples repo. However, there are still links in the documentation which reference the deprecated location.
Proposed Solution:
Update all of the links to kubernetes/kubernetes => examples to instead direct to kubernetes/examples.
Page to Update:
From `ag "{{page.githubbranch}}/examples" ./docs -l`

docs/concepts/cluster-administration/manage-deployment.md
docs/concepts/configuration/overview.md
docs/concepts/services-networking/connect-applications-service.md
docs/concepts/storage/volumes.md
docs/concepts/workloads/controllers/jobs-run-to-completion.md
docs/concepts/workloads/controllers/petset.md
docs/concepts/workloads/controllers/statefulset.md
docs/getting-started-guides/aws.md
docs/getting-started-guides/coreos/bare_metal_offline.md
docs/getting-started-guides/dcos.md
docs/getting-started-guides/gce.md
docs/getting-started-guides/mesos/index.md
docs/getting-started-guides/mesos-docker.md
docs/getting-started-guides/openstack-heat.md
docs/getting-started-guides/rkt/index.md
docs/getting-started-guides/ubuntu/manual.md
docs/tasks/access-application-cluster/access-cluster.md
docs/tasks/administer-cluster/access-cluster-api.md
docs/tutorials/stateful-application/basic-stateful-set.md
docs/tutorials/stateful-application/zookeeper.md
docs/user-guide/walkthrough/index.md
docs/user-guide/walkthrough/k8s201.md

From `ag "git.k8s.io.*/kubernetes/examples" ./docs -l`

docs/concepts/services-networking/dns-pod-service.md
docs/concepts/storage/volumes.md
docs/concepts/storage/persistent-volumes.md
docs/getting-started-guides/vsphere.md
docs/tasks/job/fine-parallel-processing-work-queue/index.md

I'm happy to create a pr for this, I just wanted to check it was a desired change before working on it :)

@mattjmcnaughton Yeah, if you could submit a PR for this, that would be fantastic! Thx

Sweet, working on it now!


Redux: Default parameters are injected as object?

Hi,
I am facing an issue, when running a simple counter example using redux.
May I know why redux is injecting the default parameter as Object {}, as shown in the below screen shot.

For More details, please see the SO.
http://stackoverflow.com/questions/35873520/default-parameters-are-injected-as-object-in-babeljs-reactjs

I think it's your configureStore method that's injecting the state whenwindow.__INITIAL_STATE__ is undefined.
export default function configureStore(initialState = {}) {
Change it to
export default function configureStore(initialState) {

@taurose , it worked like a charm. Thanks.. I forgot initially reducers arguments are injected from the configureStore. Am i right ?

Yes, the way you set it up, your configureStore essentially calls createStore(reducer, window.__INITIAL_STATE__ || {}) (null and other edge cases aside), i.e. your initial state will never be undefined, so your reducer default value will never be used.

@taurose  Thanks.


Issue creating package version for packages containing fields for object owned by dependant package

Summary
Yesterday we encountered and error when versioning one of our packages:
{
  "status": 1,
  "name": "",
  "message": "Multiple errors occurred:\n(1) XXXX__c.YYYY__c: An object 'XXXX__c.YYYY__c' of type CustomField was named in package.xml, but was not found in zipped directory\n(2) XXXX__c.ZZZZ__c: An object 'XXXX__c.ZZZZ__c' of type CustomField was named in package.xml, but was not found in zipped directory",
  "exitCode": 1,
  "context": "PackageVersionCreateCommand",
  "stack": "Multiple errors occurred:\n(1) XXXX__c.YYYY__c: An object 'XXXX__c.YYYY__c' of type CustomField was named in package.xml, but was not found in zipped directory\n(2) XXXX__c.ZZZZ__c: An object 'XXXX__c.ZZZZ__c' of type CustomField was named in package.xml, but was not found in zipped directory\n    at Function.wrap (/tmp/sfdx/node_modules/@salesforce/core/lib/sfError.js:61:25)\n    at PackageVersionCreateCommand.catch (/tmp/sfdx/node_modules/salesforce-alm/dist/ToolbeltCommand.js:255:44)\n    at async PackageVersionCreateCommand._run (/tmp/sfdx/node_modules/@salesforce/command/lib/sfdxCommand.js:106:13)\n    at async Config.runCommand (/tmp/sfdx/node_modules/@oclif/core/lib/config/config.js:272:25)\n    at async run (/tmp/sfdx/node_modules/@oclif/core/lib/main.js:76:5)\nCaused by: Error: Multiple errors occurred:\n(1) XXXX__c.YYYY__c: An object 'XXXX__c.YYYY__c' of type CustomField was named in package.xml, but was not found in zipped directory\n(2) XXXX__c.ZZZZ__c: An object 'XXXX__c.ZZZZ__c' of type CustomField was named in package.xml, but was not found in zipped directory\n    at /tmp/sfdx/node_modules/salesforce-alm/dist/lib/package/packageUtils.js:712:27\n    at processTicksAndRejections (node:internal/process/task_queues:96:5)",
  "warnings": [],
  "commandName": "PackageVersionCreateCommand"
}

This seems to include both custom objects and custom settings with the same package dependency structure.
Steps To Reproduce:

Create a package A containing a new custom object.
Create package B with a dependency to A. Add a custom field to the object owned by package A
Version the package

Expected result
A new version of package B should be created containing the new fields.
Actual result
Encountered error as described above ☝

We are also experiencing this issue

Same here.

Same issue here.

It worked with the beta command, and here is the output of sfdx version --verbose.
Run sfdx version --verbose
 CLI Version:
	sfdx-cli/7.171.0

 Architecture:
	linux-x6[4](https://github.com/navikt/crm-ips/actions/runs/3215132392/jobs/5256014833#step:4:5)

 Node Version:
	node-v16.17.0

 Plugin Version:
	@oclif/plugin-autocomplete 1.3.0 (core)
	@oclif/plugin-commands 2.2.0 (core)
	@oclif/plugin-help [5](https://github.com/navikt/crm-ips/actions/runs/3215132392/jobs/5256014833#step:4:6).1.12 (core)
	@oclif/plugin-not-found 2.3.1 (core)
	@oclif/plugin-plugins 2.1.0 (core)
	@oclif/plugin-update 3.0.0 (core)
	@oclif/plugin-version 1.1.2 (core)
	@oclif/plugin-warn-if-update-available 2.0.4 (core)
	@oclif/plugin-which 2.1.0 (core)
	alias 2.1.3 (core)
	apex 1.2.0 (core)
	auth 2.2.10 (core)
	community 2.0.3 (core)
	config 1.4.21 (core)
	custom-metadata 2.0.1 (core)
	data 2.1.4 (core)
	generator 2.0.2 (core)
	info 2.1.[6](https://github.com/navikt/crm-ips/actions/runs/3215132392/jobs/5256014833#step:4:7) (core)
	limits 2.0.3 (core)
	org 2.2.[7](https://github.com/navikt/crm-ips/actions/runs/3215132392/jobs/5256014833#step:4:8) (core)
	packaging 1.9.2 (core)
	schema 2.1.[8](https://github.com/navikt/crm-ips/actions/runs/3215132392/jobs/5256014833#step:4:9) (core)
	signups 1.2.4 (core)
	source 2.0.16 (core)
	telemetry 2.0.2 (core)
	templates 55.1.0 (core)
	trust 2.0.4 (core)
	user 2.1.7 (core)
	@salesforce/sfdx-plugin-lwc-test 1.0.1 (core)
	salesforce-alm 54.8.1 (core)

 OS and Version:
	Linux 5.15.0-[10](https://github.com/navikt/crm-ips/actions/runs/3215132392/jobs/5256014833#step:4:11)[20](https://github.com/navikt/crm-ips/actions/runs/3215132392/jobs/5256014833#step:4:21)-azure

 Shell:
	unknown

 Root Path:
	/tmp/sfdx

Note when using force:package:beta:version:create, sfdx-project.json needs a versionName (could be static). If no versionName is present, package creation fails.

We are having the same issue too. Did anyone try with latest version (7.172.0)?

We are having the same issue too. Did anyone try with latest version (7.172.0)?

Yes...

7.170.0 - Success
7.171.0 - Failure
7.172.0 - Failure
7.173.0 - Failure

Any updates regarding this? We are now currently running on 7.170 as this is the last version before the error occurred.

Same here

hey @SRS-Dxtreme @dieffrei @arafesthain and any one else, it sounds like using the beta commands doesn't run into this error. We're hoping to verify that the beta commands are working as expected and will be GA'ing them in the near-future

@WillieRuemmele yep you right but it has an other error that prevent us to use it, so how should we proceed?

We used the beta command for a few days and encountered another error where the packaged metadata was installed differently in a sandbox and production environment. In our case an Apex class was installed in sandbox with a correctly commented line of code whereas when the package version was promoted and installed in production, the very same code line was not commented out.

We still get issues with latest CLI.

beta package command did not solve our error. We still get the same error that we get in normal package create command.

Version 7.179.0 is working for me.

Thanks for letting us know @6ithu8u53r.

Fixed with https://github.com/salesforcecli/toolbelt/pull/279


Fixed a weird invocation of crypto/sha1 which was causing a panic.

When "StoreObjectSHA1" was called it was using a weird invocation
of crypto/sha1 by importing crypto and trying to use crypto.SHA1.New
instead of importing crypto/sha1 and using sha1.New. This was causing
a panic with the error "panic: crypto: requested hash function #3 is
unavailable"
This updates the call to use the crypto/sha1 package as documented in
the go docs.

Thanks!


Permission error on diagnostic.data on second run

volumes:
  - ./mongo-db:/data/db

Fails after first build.  I have to delete my mongo-db dir every time I build.  I would like to be able to reuse the db  every time.
$ docker-compose build
mongo uses an image, skipping
mongo-express uses an image, skipping
Building notifier
Traceback (most recent call last):
File "bin/docker-compose", line 6, in
File "compose/cli/main.py", line 71, in main
File "compose/cli/main.py", line 127, in perform_command
File "compose/cli/main.py", line 287, in build
File "compose/project.py", line 384, in build
File "compose/project.py", line 366, in build_service
File "compose/service.py", line 1082, in build
File "site-packages/docker/api/build.py", line 154, in build
File "site-packages/docker/utils/build.py", line 30, in tar
File "site-packages/docker/utils/build.py", line 49, in exclude_paths
File "site-packages/docker/utils/build.py", line 214, in rec_walk
File "site-packages/docker/utils/build.py", line 214, in rec_walk
File "site-packages/docker/utils/build.py", line 184, in rec_walk
PermissionError: [Errno 13] Permission denied: '/home/steve/Documents/GitHub/stellar-notifier/mongo-db/diagnostic.data'
[25119] Failed to execute script docker-compose

This is likely docker build trying to read your database directory.
You need to either move your Dockerfile into a subdirectory or add your
database directory to a .dockerignore file.

In the future, these sorts of questions/requests would be more appropriately posted to the Docker Community Forums, the Docker Community Slack, or Stack Overflow.


annotation, BoM, saving data

Idea
Add the ability to annotate firmware ingredients and collect and share data. This is useful to OEMs for testing / QA, larger companies and institutions for creating fleet BoMs, gamers / BIOS modders / end users for discussion.

Now we can enrich the static information:
Add a simple textarea for a comment per file, and add a button to save all the information for a start. Then add a button to load back information.
Note: This involves work on the state management and rendering, which is currently not well optimized. 😅
See also #60 for related features

Why not to save that as repo or sth like that? When there will be comment, then instantly there is question about author of the comment to prove credibility.

Why not to save that as repo or sth like that? When there will be comment, then instantly there is question about author of the comment to prove credibility.

Yes, that is something I wanted to neglect deliberately for the time being.
Data requires infrastructure, and I think a repo could be good start indeed, great idea! 💡 Thank you :)

Note: With #79, we have added first export functionalities now, so that you can export a list of UEFI components to remove as JSON and load it again.

We should add an explanation of what SBoM is. Possible references:
https://blog.reversinglabs.com/blog/gartner-explains-why-sboms-are-critical-to-software-supply-chain-security-management


invalid memory address or nil pointer dereference

Describe the bug
When i installed packetstreamer to one of our AWS kubernetes clusters using provided helm-chart with receiver.yaml values file (also provided under contrib/config)
I am getting below error on the both receiver and sensor pods
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x62b655]
goroutine 1 [running]:
github.com/deepfence/PacketStreamer/pkg/config.NewConfig({0x7ffea2bcfcd5, 0x1f})
/src/pkg/config/config.go:138 +0x175
github.com/deepfence/PacketStreamer/cmd.initConfig()
/src/cmd/root.go:46 +0x4d
github.com/spf13/cobra.(*Command).preRun(0xe9f800)
/root/go/pkg/mod/github.com/spf13/cobra@v1.4.0/command.go:886 +0x42
github.com/spf13/cobra.(*Command).execute(0xe9f800, {0xc0000d5280, 0x2, 0x2})
/root/go/pkg/mod/github.com/spf13/cobra@v1.4.0/command.go:822 +0x1db
github.com/spf13/cobra.(*Command).ExecuteC(0xe9f580)
/root/go/pkg/mod/github.com/spf13/cobra@v1.4.0/command.go:974 +0x3bc
github.com/spf13/cobra.(*Command).Execute(...)
/root/go/pkg/mod/github.com/spf13/cobra@v1.4.0/command.go:902
github.com/deepfence/PacketStreamer/cmd.Execute()
/src/cmd/root.go:28 +0x25
main.main()
/src/main.go:6 +0x17
I didn't change default values file and using this image deepfenceio/deepfence_packetstreamer:latest
To Reproduce
Steps to reproduce the behavior:
helm install to an kubernetes cluster in aws using receiver.yaml values file
Expected behavior
was expecting it to work out of box
Additional context
Add any other context about the problem here.

forgot to add kubernetes version 1.21.5

Hello @oguzdag
Thanks for finding and sharing that bug!
I was able to reproduce and found the issue.
The PR available at: https://github.com/deepfence/PacketStreamer/pull/22
In the meanwhile I have pushed a new (and temporary) docker image with the fix: deepfenceio/deepfence_packetstreamer:fix
Please feel free to use that image until everything gets approved.


Add installation instructions on various Linux distributions

From briefly looking around, it looks like a few more Linux distributions have packaged uutils in their repositories since I last checked:

Arch Linux (in community)
Exherbo

We might also want indicate that uutils is preinstalled in Redox.

I have been working to get it in Debian & Ubuntu too


Don't fail terraform if there is no custom domain supplied

By the way remove custom domain from e2e test, as google api requires valid domain name for creating ssl cert.
See terraform smoke test failure: https://prow.k8s.io/view/gcs/oss-prow/logs/ci-en-server-terraform-smoke/1313591663427325952#1:build-log.txt%3A13898

/cc @sethvargo


New Example on creating a custom GradientTransformation

Motivation
Recently for a personal project (#641) I wanted to created a custom GradientTransformation object and found out that there wasn't a tutorial or walkthrough on how to create one. While the "Gradient Transformations" section in the README.md section was somewhat helpful, I still had to look around and search for example implementations in other repositories and within the contrib sub-package.
Proposal
Create a new example or a page in the documentation containing instructions on how to create a custom GradientTransformation object.

Happy to contribute and work on this.

hey @SauravMaheshkar , yes, I believe a short example on this on the example/ directory would be welcomed!. I'll assign you this issue.
Thanks for suggesting this!

Also tagging #958 and #641


Fix build break introduced PR #5555

Issues:

Missing Table property values in AddColumnOperation
No StringTypeMapper in test code.
Use property to get type when property is not null and maxlength is absent or same as max length annotation.

@natemcmaster

Updated.

:shipit:


fix: ignore .wireit folder for determine package updates

Closes https://github.com/biomejs/biome/issues/1601

I'm wondering if instead we shouldn't just watch lockfiles in the root of the workspace folder.

@nhedger but then there could be the risk that lockfiles in a multi-root vscode workspace - will not trigger a reload. just a mind of though because i personally work with multi-root workspaces. but im no expert in how vscode works

At this time we do not support multiple workspace folders. We're hoping to add support soon though.
That being said, nothing would prevent us from creating a watcher per workspace folder if we needed to.
The reason I proposed this is that currently the extension will use biome from the dependencies declared at the root of your project anyway, so watching lock files deeper in the hierarchy is basically useless.

@nhedger the PR always fails because in our codebase the "source.organizeImports.biome" does not work like it is described in biome's docs - we need the additional "source.organizeImports" to be enabled too.
{
  "editor.codeActionsOnSave": {
    "source.organizeImports": "explicit",
    "source.organizeImports.biome": "explicit",
  }
}

With this codebase there is a race condition, so i have to disable the "source.organizeImports" rule and it works. But then our codebase stops working - do you maybe have any insights in why this is happening?

Gotcha, would you mind filing an issue for this problem?

Thanks for you contribution @ChiefORZ!


Cookie generated via spaceauth is different when old one hasn't expired

New Issue Checklist

[x] Updated fastlane to the latest version
[x] I read the Contribution Guidelines
[x] I read docs.fastlane.tools
[x] I searched for existing GitHub issues

Issue Description
For CI with 2FA account we are storing cookie from fastlane spaceauth -u<EMAIL_ADDRESS>command in .env file to load it then. Cookie has validity usually 30 days. We set reminder for ourself to regenerate that cookie every 29 days. The problem is that running the same command after 29 days (when old cookie is still valid) generates different cookie (format, it's shorter) and that one expires after couple of days or together with the older cookie. When running the same command again then, it generates valid longer cookie again that works for 30 days again.
Below in details are both cookies (anonymized) - you can see the one generated when old one hasn't expired is way shorter and also has accessed_at: *1 instead of accessed_at: *2 at the end.
I'm not aware of any command that would invalidate the old one thus then generate new valid one. I'm not aware of any flag that I could add to generate completely new one valid one when old one is still valid.
Command executed
fastlane spaceauth -u<EMAIL_ADDRESS>(email anonymized)
Complete output when running fastlane, including the stack trace and command used
 [✔] 🚀
objc[44833]: Class AppleTypeCRetimerRestoreInfoHelper is implemented in both /usr/lib/libauthinstall.dylib (0x1f9c39eb0) and /Library/Apple/System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/MobileDevice (0x103d344f8). One of the two will be used. Which one is undefined.
objc[44833]: Class AppleTypeCRetimerFirmwareAggregateRequestCreator is implemented in both /usr/lib/libauthinstall.dylib (0x1f9c39f00) and /Library/Apple/System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/MobileDevice (0x103d34548). One of the two will be used. Which one is undefined.
objc[44833]: Class AppleTypeCRetimerFirmwareRequestCreator is implemented in both /usr/lib/libauthinstall.dylib (0x1f9c39f50) and /Library/Apple/System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/MobileDevice (0x103d34598). One of the two will be used. Which one is undefined.
objc[44833]: Class ATCRTRestoreInfoFTABFile is implemented in both /usr/lib/libauthinstall.dylib (0x1f9c39fa0) and /Library/Apple/System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/MobileDevice (0x103d345e8). One of the two will be used. Which one is undefined.
objc[44833]: Class AppleTypeCRetimerFirmwareCopier is implemented in both /usr/lib/libauthinstall.dylib (0x1f9c39ff0) and /Library/Apple/System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/MobileDevice (0x103d34638). One of the two will be used. Which one is undefined.
objc[44833]: Class ATCRTRestoreInfoFTABSubfile is implemented in both /usr/lib/libauthinstall.dylib (0x1f9c3a040) and /Library/Apple/System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/MobileDevice (0x103d34688). One of the two will be used. Which one is undefined.
Logging into to App Store Connect (user@email.com)...
Available session is not valid any more. Continuing with normal login.
Successfully logged in to App Store Connect

---

Pass the following via the FASTLANE_SESSION environment variable:
---\n- !ruby/object:HTTP::Cookie\n  name: myacinfo\n  value: XXXXKNV323952cf8084a204fb20ab2508441a07d02d30c6b2b8b9337212b9e3d9a15234c2490861ab8899f9b73fe8b1d30c4eded381972262752d6b2f44e0cfb7f54860b4ff9bba4e5dac2419e1dd12da7d3a27f59730a40fbf5a3136df540a0bdcb076bb4c07213bf4aa437e20314721ab7e041560502c5be6d74403279eda17ed76f18828881db1b923a8359115110b1740fda7c01829475e25e35e36fb935a657fc56c9ff60f68ed503e96f8b5dafa306a91559e04dfcd3f621b675abe6516efc197297f14cac890f130cd9c5d49802ca25f3610bfb95d47729c0f5397eac5c1606b1430f418222ea3eaa27df2092b5062a2bef98a19ffcdf0b71b78b72ab6769048890bdb73fc82c2e8efd8dc17611f32edfa95a5e4a4326b5191bf2f0bc417c56920e04ee93e9003b4e93392d261ccd644f9cfb0940f29a0042877a9c440510664a5e413c62b1742641a3aaba714fe2f8880c75018522570024acc64fb42c5903e3a008585a47V3\n  domain: apple.com\n  for_domain: true\n  path: "/"\n  secure: true\n  httponly: true\n  expires: \n  max_age: \n  created_at: 2022-04-22 03:01:30.986763000 -04:00\n  accessed_at: 2022-04-22 03:05:20.225525000 -04:00\n- !ruby/object:HTTP::Cookie\n  name: XXXXed48d327223a8522074ab580e6374431\n  value: XXXXMTKNSRVXWFlaKoTT3NU1bqHS5L4hxvwzE1Jfi80NacoWH8GbDel6vemJYDtqMROE+iteXdFdAyiHt2Eo8b2P0Jhcc264IGDOKkC8ZLEx4ZjJbKUrPbqwmYPMU0xaWkiNemV5v+XXXX6Fge10v8McK+XXXXJtidAAnozawDWZ8MQAfmtilMUR9CerLBziV1AgSRVX\n  domain: idmsa.apple.com\n  for_domain: true\n  path: "/"\n  secure: true\n  httponly: true\n  expires: \n  max_age: 2592000\n  created_at: 2022-03-29 04:22:47.977265000 -04:00\n  accessed_at: 2022-04-22 03:01:30.706055000 -04:00\n- !ruby/object:HTTP::Cookie\n  name: dqsid\n  value: XXXXeXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE2NTA2MTA4OTEsImp0aSI6IjM4YndXMk51VG9pbVpDTm9pRUgzNHcifQ.XXXX5y2WfoTuik7fGwHPgRJrm4Le3HTQ34d2kYsrDnw\n  domain: appstoreconnect.apple.com\n  for_domain: false\n  path: "/"\n  secure: true\n  httponly: true\n  expires: \n  max_age: 1800\n  created_at: &1 2022-04-22 03:05:20.967085000 -04:00\n  accessed_at: *1\n

Example:
FASTLANE_SESSION='---\n- !ruby/object:HTTP::Cookie\n  name: myacinfo\n  value: XXXXKNV323952cf8084a204fb20ab2508441a07d02d30c6b2b8b9337212b9e3d9a15234c2490861ab8899f9b73fe8b1d30c4eded381972262752d6b2f44e0cfb7f54860b4ff9bba4e5dac2419e1dd12da7d3a27f59730a40fbf5a3136df540a0bdcb076bb4c07213bf4aa437e20314721ab7e041560502c5be6d74403279eda17ed76f18828881db1b923a8359115110b1740fda7c01829475e25e35e36fb935a657fc56c9ff60f68ed503e96f8b5dafa306a91559e04dfcd3f621b675abe6516efc197297f14cac890f130cd9c5d49802ca25f3610bfb95d47729c0f5397eac5c1606b1430f418222ea3eaa27df2092b5062a2bef98a19ffcdf0b71b78b72ab6769048890bdb73fc82c2e8efd8dc17611f32edfa95a5e4a4326b5191bf2f0bc417c56920e04ee93e9003b4e93392d261ccd644f9cfb0940f29a0042877a9c440510664a5e413c62b1742641a3aaba714fe2f8880c75018522570024acc64fb42c5903e3a008585a47V3\n  domain: apple.com\n  for_domain: true\n  path: "/"\n  secure: true\n  httponly: true\n  expires: \n  max_age: \n  created_at: 2022-04-22 03:01:30.986763000 -04:00\n  accessed_at: 2022-04-22 03:05:20.225525000 -04:00\n- !ruby/object:HTTP::Cookie\n  name: XXXXed48d327223a8522074ab580e6374431\n  value: XXXXMTKNSRVXWFlaKoTT3NU1bqHS5L4hxvwzE1Jfi80NacoWH8GbDel6vemJYDtqMROE+iteXdFdAyiHt2Eo8b2P0Jhcc264IGDOKkC8ZLEx4ZjJbKUrPbqwmYPMU0xaWkiNemV5v+XXXX6Fge10v8McK+XXXXJtidAAnozawDWZ8MQAfmtilMUR9CerLBziV1AgSRVX\n  domain: idmsa.apple.com\n  for_domain: true\n  path: "/"\n  secure: true\n  httponly: true\n  expires: \n  max_age: 2592000\n  created_at: 2022-03-29 04:22:47.977265000 -04:00\n  accessed_at: 2022-04-22 03:01:30.706055000 -04:00\n- !ruby/object:HTTP::Cookie\n  name: dqsid\n  value: XXXXeXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE2NTA2MTA4OTEsImp0aSI6IjM4YndXMk51VG9pbVpDTm9pRUgzNHcifQ.XXXX5y2WfoTuik7fGwHPgRJrm4Le3HTQ34d2kYsrDnw\n  domain: appstoreconnect.apple.com\n  for_domain: false\n  path: "/"\n  secure: true\n  httponly: true\n  expires: \n  max_age: 1800\n  created_at: &1 2022-04-22 03:05:20.967085000 -04:00\n  accessed_at: *1\n'
🙄 Should fastlane copy the cookie into your clipboard, so you can easily paste it? (y/n)

When running the same command after the cookie expires, the cookie has different length and format:

FASTLANE_SESSION="---\n- !ruby/object:HTTP::Cookie\n  name: myacinfo\n  value: XXXXKNV323952cf8084a204fb20ab2508441a07d02d3aa4eb6fa99b53cf5a9a351e4c028c1db1b30dc85fee7b762fbd18d34b87a2fc3e34984c77fc6241c2d243b55acbf7bb996ecea1d9a8665c6f375b2da815f423581477cf3344e3d0e231d2283a3992df382d2a227072f5ecfa640b4e5e9ce4b707032976f792be0af69abbc8ce09478cbabf33a41cf8bb890cb125779754dd6a4cdbb5c1662208a18f6f172f3ea6cec50a9c5fe2f4c9ea0988c9c8b5c50c973d0f365a5f9d6b18523640765cd1ca7c20cc5fa680c55131b8c3baf5da6bbf9b7ebb7b88bcb1b22bd7d94f71710ef421ce7d2394f4a5618dc225d41c4712e8ee85fb8a52c4a91603ec3c422cc8e74d14daa7a82d46af254c016e37e6d18490825f628f99bcd65c47cc47feda9fa57218c6faabf6ad2f685e51d0d49029ccd0176d94861f902d32e8f3af9bdb360a20679aab79cca400f474b7d222d553e3ca5f5625203023110ba829b77c71520f3e39ae464745a2f898aa88193bc28f6523ae49a9b62273fb2f1fe0a3e5e36b77aa94b3452f76d86d4e5eff6d4be5cff7086ba9a6bf0d26ef89c34a4b386d721d1adcab117afbabc4a4cea3c424b3177fc857beec04302af2a22fc1b7acf8a1bbc63a437213baf481de461b438f3664820ee8aa64884be83b483003b0e319be074b8c10329fb4adf7f13a18b09dc54f992c2e3612c0fd300427b137398855d3b43823520969168687b25a3d428ad13b3eadc0874bd30a34dd0e2448066f689174417fce22c451e6ac8fc2d86206503c0cf89093af94285d42ad21ccc9a14afcfdf74fb8193e027c10566d052c13c504a812440d0bdf9ab6589d1a6ac7ea64a20c1beffca4bc0fa2be3b4a512e27f1e0c07fc31f2585a47V3\n  domain: apple.com\n  for_domain: true\n  path: "/"\n  secure: true\n  httponly: true\n  expires: \n  max_age: \n  created_at: 2022-03-29 04:22:47.977672000 -04:00\n  accessed_at: 2022-03-29 04:22:47.984440000 -04:00\n- !ruby/object:HTTP::Cookie\n  name: DES5ed48d327223a8522074ab580e6374431\n  value: XXXXMTKNSRVXWFlaKoTT3NU1bqHS5L4hxvwzE1Jfi80NacoWH8GbDel6vemJYDtqMROE+iteXdFdAyiHt2Eo8b2P0Jhcc264IGDOKkC8ZLEx4ZjJbKUrPbqwmYPMU0xaWkiNemV5v+XXXX6Fge10v8McK+XXXXJtidAAnozawDWZ8MQAfmtilMUR9CerLBziV1AgSRVX\n  domain: idmsa.apple.com\n  for_domain: true\n  path: "/"\n  secure: true\n  httponly: true\n  expires: \n  max_age: 2592000\n  created_at: &1 2022-03-29 04:22:47.977265000 -04:00\n  accessed_at: *1\n- !ruby/object:HTTP::Cookie\n  name: dqsid\n  value: XXXXeXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.XXXXYXQiOjE2NDg1NDIxNjksImp0aSI6Im5uMmpGN2NzbzdkRGpnbVRqMXFaVGcifQ.XXXXq5_wFdsGLRaW_gvFhkUTiKDZbjzKf_XqeEsxi2k\n  domain: appstoreconnect.apple.com\n  for_domain: false\n  path: "/"\n  secure: true\n  httponly: true\n  expires: \n  max_age: 1800\n  created_at: &2 2022-03-29 04:22:50.311676000 -04:00\n  accessed_at: *2\n"

To properly compare them, here they are side by side (new is incorrect, shorter):

New generated: "---\n- !ruby/object:HTTP::Cookie\n  name: myacinfo\n  value: XXXXKNV323952cf8084a204fb20ab2508441a07d02d30c6b2b8b9337212b9e3d9a15234c2490861ab8899f9b73fe8b1d30c4eded381972262752d6b2f44e0cfb7f54860b4ff9bba4e5dac2419e1dd12da7d3a27f59730a40fbf5a3136df540a0bdcb076bb4c07213bf4aa437e20314721ab7e041560502c5be6d74403279eda17ed76f18828881db1b923a8359115110b1740fda7c01829475e25e35e36fb935a657fc56c9ff60f68ed503e96f8b5dafa306a91559e04dfcd3f621b675abe6516efc197297f14cac890f130cd9c5d49802ca25f3610bfb95d47729c0f5397eac5c1606b1430f418222ea3eaa27df2092b5062a2bef98a19ffcdf0b71b78b72ab6769048890bdb73fc82c2e8efd8dc17611f32edfa95a5e4a4326b5191bf2f0bc417c56920e04ee93e9003b4e93392d261ccd644f9cfb0940f29a0042877a9c440510664a5e413c62b1742641a3aaba714fe2f8880c75018522570024acc64fb42c5903e3a008585a47V3\n  domain: apple.com\n  for_domain: true\n  path: "/"\n  secure: true\n  httponly: true\n  expires: \n  max_age: \n  created_at: 2022-04-22 03:01:30.986763000 -04:00\n  accessed_at: 2022-04-22 03:05:20.225525000 -04:00\n- !ruby/object:HTTP::Cookie\n  name: XXXXed48d327223a8522074ab580e6374431\n  value: XXXXMTKNSRVXWFlaKoTT3NU1bqHS5L4hxvwzE1Jfi80NacoWH8GbDel6vemJYDtqMROE+iteXdFdAyiHt2Eo8b2P0Jhcc264IGDOKkC8ZLEx4ZjJbKUrPbqwmYPMU0xaWkiNemV5v+XXXX6Fge10v8McK+XXXXJtidAAnozawDWZ8MQAfmtilMUR9CerLBziV1AgSRVX\n  domain: idmsa.apple.com\n  for_domain: true\n  path: "/"\n  secure: true\n  httponly: true\n  expires: \n  max_age: 2592000\n  created_at: 2022-03-29 04:22:47.977265000 -04:00\n  accessed_at: 2022-04-22 03:01:30.706055000 -04:00\n- !ruby/object:HTTP::Cookie\n  name: dqsid\n  value: XXXXeXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE2NTA2MTA4OTEsImp0aSI6IjM4YndXMk51VG9pbVpDTm9pRUgzNHcifQ.XXXX5y2WfoTuik7fGwHPgRJrm4Le3HTQ34d2kYsrDnw\n  domain: appstoreconnect.apple.com\n  for_domain: false\n  path: "/"\n  secure: true\n  httponly: true\n  expires: \n  max_age: 1800\n  created_at: &1 2022-04-22 03:05:20.967085000 -04:00\n  accessed_at: *1\n"
Old generated: "---\n- !ruby/object:HTTP::Cookie\n  name: myacinfo\n  value: XXXXKNV323952cf8084a204fb20ab2508441a07d02d3aa4eb6fa99b53cf5a9a351e4c028c1db1b30dc85fee7b762fbd18d34b87a2fc3e34984c77fc6241c2d243b55acbf7bb996ecea1d9a8665c6f375b2da815f423581477cf3344e3d0e231d2283a3992df382d2a227072f5ecfa640b4e5e9ce4b707032976f792be0af69abbc8ce09478cbabf33a41cf8bb890cb125779754dd6a4cdbb5c1662208a18f6f172f3ea6cec50a9c5fe2f4c9ea0988c9c8b5c50c973d0f365a5f9d6b18523640765cd1ca7c20cc5fa680c55131b8c3baf5da6bbf9b7ebb7b88bcb1b22bd7d94f71710ef421ce7d2394f4a5618dc225d41c4712e8ee85fb8a52c4a91603ec3c422cc8e74d14daa7a82d46af254c016e37e6d18490825f628f99bcd65c47cc47feda9fa57218c6faabf6ad2f685e51d0d49029ccd0176d94861f902d32e8f3af9bdb360a20679aab79cca400f474b7d222d553e3ca5f5625203023110ba829b77c71520f3e39ae464745a2f898aa88193bc28f6523ae49a9b62273fb2f1fe0a3e5e36b77aa94b3452f76d86d4e5eff6d4be5cff7086ba9a6bf0d26ef89c34a4b386d721d1adcab117afbabc4a4cea3c424b3177fc857beec04302af2a22fc1b7acf8a1bbc63a437213baf481de461b438f3664820ee8aa64884be83b483003b0e319be074b8c10329fb4adf7f13a18b09dc54f992c2e3612c0fd300427b137398855d3b43823520969168687b25a3d428ad13b3eadc0874bd30a34dd0e2448066f689174417fce22c451e6ac8fc2d86206503c0cf89093af94285d42ad21ccc9a14afcfdf74fb8193e027c10566d052c13c504a812440d0bdf9ab6589d1a6ac7ea64a20c1beffca4bc0fa2be3b4a512e27f1e0c07fc31f2585a47V3\n  domain: apple.com\n  for_domain: true\n  path: "/"\n  secure: true\n  httponly: true\n  expires: \n  max_age: \n  created_at: 2022-03-29 04:22:47.977672000 -04:00\n  accessed_at: 2022-03-29 04:22:47.984440000 -04:00\n- !ruby/object:HTTP::Cookie\n  name: DES5ed48d327223a8522074ab580e6374431\n  value: XXXXMTKNSRVXWFlaKoTT3NU1bqHS5L4hxvwzE1Jfi80NacoWH8GbDel6vemJYDtqMROE+iteXdFdAyiHt2Eo8b2P0Jhcc264IGDOKkC8ZLEx4ZjJbKUrPbqwmYPMU0xaWkiNemV5v+XXXX6Fge10v8McK+XXXXJtidAAnozawDWZ8MQAfmtilMUR9CerLBziV1AgSRVX\n  domain: idmsa.apple.com\n  for_domain: true\n  path: "/"\n  secure: true\n  httponly: true\n  expires: \n  max_age: 2592000\n  created_at: &1 2022-03-29 04:22:47.977265000 -04:00\n  accessed_at: *1\n- !ruby/object:HTTP::Cookie\n  name: dqsid\n  value: XXXXeXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.XXXXYXQiOjE2NDg1NDIxNjksImp0aSI6Im5uMmpGN2NzbzdkRGpnbVRqMXFaVGcifQ.XXXXq5_wFdsGLRaW_gvFhkUTiKDZbjzKf_XqeEsxi2k\n  domain: appstoreconnect.apple.com\n  for_domain: false\n  path: "/"\n  secure: true\n  httponly: true\n  expires: \n  max_age: 1800\n  created_at: &2 2022-03-29 04:22:50.311676000 -04:00\n  accessed_at: *2\n"

Environment

 🚫 fastlane environment 🚫
Stack

Key
Value

OS
12.3.1

Ruby
2.7.5

Bundler?
false

Git
git version 2.32.0 (Apple Git-132)

Installation Source
~/.rbenv/versions/2.7.5/bin/fastlane

Host
macOS 12.3.1 (21E258)

Ruby Lib Dir
~/.rbenv/versions/2.7.5/lib

OpenSSL Version
OpenSSL 1.1.1l  24 Aug 2021

Is contained
false

Is homebrew
false

Is installed via Fabric.app
false

Xcode Path
/Applications/Xcode.app/Contents/Developer/

Xcode Version
13.3.1

Swift Version
5.6

System Locale

Error

No Locale with UTF8 found 🚫

fastlane files:
`./fastlane/Fastfile`
# By Jakub Kaspar 12/19/2019
# ClassDojo, Inc. 2019
# ClassDojo

require 'securerandom'

# Fastlane Constants
default_platform :ios
fastlane_version "2.172.0"
default_changelog = "We scrubbed out a few pesky bugs and made things a little faster!"
beta_app_description = "We're working hard to make ClassDojo better than ever. If you have idea for how we can improve the app, just email us on<EMAIL_ADDRESS>
classdojo_api_key_id = "RXHH4FM2PJ"
classdojo_api_key_issuer_id = "69a6de76-05d6-47e3-e053-5b8c7c11a4d1"
classdojo_api_key_path = "./AuthKey_RXHH4FM2PJ.p8"

fastlane_require "spaceship"

# Generate random name and create new simulator before running tests
simname = SecureRandom.uuid

APP_ID = CredentialsManager::AppfileConfig.try_fetch_value(:app_identifier) # Bundle identifier from Appfile
GITHUB_TOKEN = "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"
GITHUB_REPO = "classdojo/dojo-behavior-ios"

PROJECT_NAME = "ClassDojo.xcodeproj"
TARGET_NAME = "ClassDojo"
ENV["FASTLANE_ITC_TEAM_NAME"] = "ClassDojo, Inc."

ALPHA_BUILD_ID = "58ffa0292bf2f40001c6cc8d"
ALPHA_BUILD_NAME = "ClassDojo Internal Alpha"

RELEASE_BUILD_NAME = "ClassDojo Release"
RELEASE_BUILD_ID = "59108b07fb1f590001ac6569"

DEFAULT_SDK = "iphoneos15.4"

platform :ios do

   ############################## Overrides ##############################

   before_all do
   end

   after_all do |lane|
      clean_build_artifacts
   end

   error do |lane, exception|
      sh "xcrun simctl delete #{simname}"
      clean_build_artifacts
   end

   ############################## GIT related code ##############################

   private_lane :check_git do |options|
      repo_clean = `git status --porcelain`.empty?
      if !repo_clean
         UI.user_error!("❌ There are unstaged changes in the git repository - cancelling ❌")
      end
   end

   private_lane :switch_git_to_master_branch do |options|
      sh "git checkout master"
      ensure_git_branch(branch: 'master')
      sh "git fetch --prune"
      sh "git pull"
   end

   private_lane :switch_git_to_appstore_branch do |options|
      sh "git checkout -b appstore"
      ensure_git_branch(branch: 'appstore')
      sh "git push -u origin appstore"
   end

   desc "Creates a tag and github release with changelog included"
   lane :publish_github_release do |options|
      check_git
      switch_git_to_master_branch
      print("\n🚀 Starting the Publish Release to Github process\n\n")
      project_app_version = get_version_number(xcodeproj: PROJECT_NAME, target: TARGET_NAME)
      print("\n🔢 Current app version is #{project_app_version}\n\n")
      project_build_number = get_build_number(xcodeproj: PROJECT_NAME)
      print("\n🔢 Current build number is #{project_build_number}\n\n")
      print("\n🏷 Creating Github tag and Release\n\n")

      changelog = sh "../Scripts/generate-changelog.sh #{project_app_version}"

      github_release = set_github_release(
         repository_name: GITHUB_REPO,
         api_token: GITHUB_TOKEN,
         name: "#{project_app_version} (#{project_build_number})",
         tag_name: "production/#{project_app_version}-#{project_build_number}",
         description: (changelog rescue "No changelog provided"),
         commitish: "master"
       )
       sh "git reset --hard"
   end

   ############################## XCode ##############################

   desc "Bumps app version, bumps build number, downloads description from AppStore Connect, updates description for all languages on AppStore Connect, creates PR to master. Opened PR on CI uploads strings to Crowdin, builds them and then downloads them to project, commits to opened PR, builds release config and then sends the build to AppStore Connect and releases to TestFlight external users, downloads dSYMs, uploads dSYMs to Firebase Crashlytics."
   lane :prepare_appstore do |options|
      print("\n🚀 Starting the Prepare AppStore process\n\n")
      print("\n1⃣  Verifying current git status\n\n")
      check_git
      print("\n2⃣  Switching to master branch\n\n")
      switch_git_to_master_branch
      print("\n3⃣  Branching off to AppStore branch\n\n")
      switch_git_to_appstore_branch
      print("\n4⃣  Signing Spaceship for AppStore Connect API\n\n")
      sign_in_spaceship
      print("\n5⃣  Incrementing app version if necessary\n\n")
      increment_app_version
      print("\n6⃣  Incrementing build number\n\n")
      increment_build
      print("\n7⃣  Pushing all the changes to git\n\n")
      push_to_git_remote
      print("\n8⃣  Updating release notes and AppStore Connect description\n\n")
      update_release_notes
      print("\n9⃣  Creating Pull Request\n\n")
      create_pull_request(
         api_token: GITHUB_TOKEN,
         repo: GITHUB_REPO,
         title: "Prepare release to the AppStore",
         body: "PR for automated release process. Don't merge until all CI checks on your commit are completed.",
         labels: "release"
      )
   end

   desc "Bumps app version, bumps build number, creates tag, creates PR to master. Opened PR on CI uploads strings to Crowdin, builds them and then downloads them to project, commits to opened PR, builds release config and then sends the build to AppStore Connect and releases to TestFlight external users, downloads dSYMs, uploads dSYMs to Firebase Crashlytics."
   lane :prepare_testflight do |options|
      print("\n🚀 Starting the Prepare TestFlight process\n\n")
      print("\n1⃣  Verifying current git status\n\n")
      check_git
      print("\n2⃣  Switching to master branch\n\n")
      switch_git_to_master_branch
      print("\n3⃣  Branching off to AppStore branch\n\n")
      switch_git_to_appstore_branch
      print("\n4⃣  Signing Spaceship for AppStore Connect API\n\n")
      sign_in_spaceship
      print("\n5⃣  Incrementing app version if necessary\n\n")
      increment_app_version
      print("\n6⃣  Incrementing build number\n\n")
      increment_build
      print("\n7⃣  Pushing all the changes to git\n\n")
      push_to_git_remote
      update_strings
      sh "git push"
      add_git_tag(tag: "beta/#{lane_context[SharedValues::VERSION_NUMBER]}-#{lane_context[SharedValues::BUILD_NUMBER]}")
      push_to_git_remote
      print("\n8⃣  Creating Pull Request\n\n")
      create_pull_request(
         api_token: GITHUB_TOKEN,
         repo: GITHUB_REPO,
         title: "Prepare and release build to the TestFlight",
         body: "PR for automated TestFlight process. Don't merge until all CI checks are completed.",
         labels: "release"
      )
   end

   desc "Bumps app patch version, bumps build number, downloads description from AppStore Connect, updates description for all languages on AppStore Connect, creates PR to master. Opened PR on CI uploads strings to Crowdin, builds them and then downloads them to project, commits to opened PR, builds release config and then sends the build to AppStore Connect and releases to TestFlight external users, downloads dSYMs, uploads dSYMs to Firebase Crashlytics."
   lane :prepare_hotfix do |options|
      print("\n🚀 Starting the Prepare Hotfix process\n\n")
      print("\n1⃣  Verifying current git status\n\n")
      check_git
      print("\n2⃣  Branching off to AppStore branch\n\n")
      switch_git_to_appstore_branch
      print("\n3⃣  Signing Spaceship for AppStore Connect API\n\n")
      sign_in_spaceship
      print("\n4⃣  Incrementing app patch version if necessarI\n\n")
      increment_app_patch_version
      print("\n5⃣  Incrementing build number\n\n")
      increment_build
      print("\n6⃣  Pushing all the changes to git\n\n")
      push_to_git_remote
      update_strings
      sh "git push"
      print("\n7⃣  Updating release notes and AppStore Connect description\n\n")
      update_release_notes
      print("\n8⃣  Creating Pull Request\n\n")
      create_pull_request(
         api_token: GITHUB_TOKEN,
         repo: GITHUB_REPO,
         title: "Prepare hotfix release to the AppStore",
         body: "PR for automated release process. Don't merge until all CI checks are completed.",
         labels: "release"
      )
   end

   desc "Builds ClassDojo Alpha target with release configuration, sends it to the Firebase App Distribution, uploads dSYMs"
   lane :build_alpha_target do |options|
      isMaster = options[:master]
      get_certificates(
         team_id: "RM6526H27B"
      )
      get_provisioning_profile(
         app_identifier: "com.ClassDojo-Beta",
         team_id: "RM6526H27B",
         readonly: true
      )
      increment_build_number(
         build_number: Time.now.to_i
      )
      build_ios_app(
         project: PROJECT_NAME,
         scheme: "ClassDojo_Alpha",
         export_method: "enterprise",
         include_bitcode: true,
         include_symbols: true,
         silent: true,
         sdk: DEFAULT_SDK
      )
      sh '../Scripts/upload-symbols -gsp ../ClassDojo/Supporting\ Files/Beta/GoogleService-Info.plist -p ios ../ClassDojo_Alpha.app.dSYM.zip'
      if isMaster
         sh 'firebase appdistribution:distribute ../ClassDojo_Alpha.ipa --app 1:56989470621:ios:7ee5fe05d02a91d4 --release-notes "Build created from master" --groups "cdtester, classdojo"'
      else
         sh 'firebase appdistribution:distribute ../ClassDojo_Alpha.ipa --app 1:56989470621:ios:7ee5fe05d02a91d4 --release-notes "Build created manually from PR" --groups "cdtester, classdojo"'
      end
   end

   desc "Creates new branch changelog, generates changelog, creates a PR."
   lane :generate_changelog do |options|
      print("\n🚀 Starting the Generate changelog process\n\n")
      print("\n1⃣  Verifying current git status\n\n")
      check_git
      print("\n2⃣  Switching to master branch\n\n")
      switch_git_to_master_branch
      print("\n3⃣  Branching off to changelog branch\n\n")
      sh "git checkout -b changelog"
      ensure_git_branch(branch: 'changelog')
      print("\n4⃣  Generating changelog\n\n")
      version = get_version_number(xcodeproj: PROJECT_NAME, target: TARGET_NAME)
      changelog = sh "../Scripts/generate-changelog.sh #{version}"
      sh "git commit -am 'Changelog updates'"
      sh "git push -u origin changelog"
      update_strings
      sh "git push"
      print("\n5⃣  Creating Pull Request\n\n")
      create_pull_request(
         api_token: GITHUB_TOKEN,
         repo: GITHUB_REPO,
         title: "Changelog #nochangelog #thisdoesnotrequiretestsipromise",
         body: changelog
      )
   end

   desc "Check if app version is the same as live AppStore app, if so, increase app version"
   lane :increment_app_version do |options|
      app = Spaceship::ConnectAPI::App.find(APP_ID)
      appstore_app_version = app.get_live_app_store_version
      project_app_version = get_version_number(xcodeproj: PROJECT_NAME, target: TARGET_NAME)
      if appstore_app_version.version_string == project_app_version
         increment_version_number(xcodeproj: PROJECT_NAME, bump_type: "minor")
         sh "git add -A && git commit -m 'Increment app version'"
      end
   end

   desc "Check if app version is the same as live AppStore app, if so, increase app version"
   lane :increment_app_patch_version do |options|
      app = Spaceship::ConnectAPI::App.find(APP_ID)
      appstore_app_version = app.get_live_app_store_version
      project_app_version = get_version_number(xcodeproj: PROJECT_NAME, target: TARGET_NAME)
      if appstore_app_version.version_string == project_app_version
         increment_version_number(xcodeproj: PROJECT_NAME, bump_type: "patch")
         sh "git add -A && git commit -m 'Increment app patch version'"
      end
   end

   desc "Increase build number"
   lane :increment_build do |options|
      # Bump build number
      increment_build_number(xcodeproj: PROJECT_NAME)
      commit_version_bump(xcodeproj: PROJECT_NAME)
   end

   desc "Builds ClassDojo strings target, uploads strings to crowdin, builds them, downloads them and commits to git"
   lane :update_strings do |options|
      Dir.chdir("..") do
         file = File.join(Dir.pwd, "ClassDojo/Resources/Localization/")
         sh "chmod +x ./Scripts/ios-translations-fetch.sh"
         sh("./Scripts/ios-translations-fetch.sh", "-o", file)

         # Commit strings updates
         repo_clean = `git status --porcelain`.empty?
         if !repo_clean
            sh "git add -A && git commit -m 'Update strings'"
         end
      end
   end

   ############################## Danger ##############################

   desc "Run swiftformat on changed files in the PR"
   lane :swiftformat do |options|
      CHANGED_FILES=ENV["SWIFTFORMAT_CHANGED_FILES"]
      if CHANGED_FILES.nil?
         p "No changed files, skipping ..."
      else
         FILES_ARRAY=CHANGED_FILES.gsub('[', '').gsub(']', '').gsub('\"', '').gsub('"', '').split(",")
         # Filter out non-swift files and Package.swift files
         FILTERED_FILES=FILES_ARRAY.select { |string| string.end_with? ".swift" }.select { |string| !string.end_with? "/Package.swift" }
         # Filter out excluded paths
         EXCLUDED_FILTERED_FILES=FILTERED_FILES.select { |string| !string.start_with? "Pods/" }.select { |string| !string.start_with? "fastlane/" }
         # Create string argument for swiftformat
         FILES_STRING=EXCLUDED_FILTERED_FILES.map { |string| "../#{string}".gsub(' ', '\ ') }.join(' ')

         p FILES_STRING
         sh "../bin/swiftformat #{FILES_STRING}"
         repo_clean = `git status --porcelain`.empty?
         if !repo_clean
            sh "git commit -am 'style: Swiftformat'"
            sh "git push"
         end
      end
   end

   desc "Run Danger check for PR info and tests"
   lane :danger_basic do |options|
      danger(
         danger_id: "PR",
         dangerfile: "Dangerfile",
         fail_on_errors: true,
         github_api_token: ENV["GITHUB_API_TOKEN"]
      )
   end

   desc "Tests running on master notification to Slack"
   lane :master_tests_slack do |options|
      success = options[:success]
      message = ""
      if success
         message = "Tests on master succeeded!"
      else
         message = "Tests on master failed!"
      end
      slack(
         username: "Github Actions",
         slack_url: "https://hooks.slack.com/services/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",
         icon_url: "https://is3-ssl.mzstatic.com/image/thumb/Purple123/v4/cd/3b/3b/cd3b3baa-cbd2-ff1b-f055-6f075a42d51b/AppIcon-1x_U007emarketing-0-7-0-0-85-220.png/460x0w.png",
         pretext: message,
         success: success,
         payload: {
            "Build Date" => Time.new.strftime('%m/%d/%Y %H:%M'),
            "Built by" => "Github Actions",
         },
         default_payloads: [:git_branch, :git_author, :last_git_commit]
      )
   end

   desc "Alpha build notification to Slack"
   lane :alpha_slack do |options|
       success = options[:success]
       if success
           slack(
              username: "Github Actions",
              slack_url: "https://hooks.slack.com/services/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",
              icon_url: "https://is3-ssl.mzstatic.com/image/thumb/Purple123/v4/cd/3b/3b/cd3b3baa-cbd2-ff1b-f055-6f075a42d51b/AppIcon-1x_U007emarketing-0-7-0-0-85-220.png/460x0w.png",
              pretext: "New Alpha build has been released in Firebase!",
              message: "Join our Alpha build group to install latest Alpha version at: https://appdistribution.firebase.dev/i/RpxAFuK6",
              success: success,
              payload: {
                 "Build Date" => Time.new.strftime('%m/%d/%Y %H:%M'),
                 "Built by" => "Github Actions",
              },
              default_payloads: [:git_branch]
           )
       else
           slack(
              username: "Github Actions",
              slack_url: "https://hooks.slack.com/services/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",
              icon_url: "https://is3-ssl.mzstatic.com/image/thumb/Purple123/v4/cd/3b/3b/cd3b3baa-cbd2-ff1b-f055-6f075a42d51b/AppIcon-1x_U007emarketing-0-7-0-0-85-220.png/460x0w.png",
              pretext: "Building Alpha target failed.",
              success: success,
              payload: {
                 "Build Date" => Time.new.strftime('%m/%d/%Y %H:%M'),
                 "Built by" => "Github Actions",
              },
              default_payloads: [:git_branch]
           )
       end
   end

   ############################## AppStore Connect ##############################

   desc "Downloads dSYMs for latest uploaded build and uploads them to Firebase Crashlytics"
   lane :update_dsyms do |options|
      # Download dSYM files from AppStore Connect
      download_dsyms(
         version: "latest",
         wait_for_dsym_processing: true,
         wait_timeout: 900,
         api_key_path: "fastlane/ASC_api_key.json",
      )

      # Upload dSYM files from AppStore Connect to Firebase Cryshlatics
      sh "../Scripts/upload-symbols -gsp '../ClassDojo/Supporting Files/GoogleService-Info.plist' -p ios #{lane_context[SharedValues::DSYM_PATHS].first}"
   end

   private_lane :sign_in_spaceship do
      Spaceship::ConnectAPI.token = Spaceship::ConnectAPI::Token.create(key_id: classdojo_api_key_id, issuer_id: classdojo_api_key_issuer_id, filepath: File.absolute_path(classdojo_api_key_path))
   end

   ######################### TEST LANES ##########################

   desc "Runs ClassDojo app tests - UNIT + UI tests"
   lane :tests do\

      sh "xcrun simctl create #{simname} \"iPhone 11\""

      run_tests(
         project: PROJECT_NAME,
         scheme: TARGET_NAME,
         device: simname,
         result_bundle: true,
         output_types: "html",
         code_coverage: true,
         prelaunch_simulator: true,
         reinstall_app: true
      )

      run_tests(
         project: PROJECT_NAME,
         scheme: TARGET_NAME,
         device: simname,
         result_bundle: true,
         output_types: "html",
         code_coverage: true,
         prelaunch_simulator: true,
         reinstall_app: true,
         test_without_building: true,
         testplan: "ClassDojoLocalized"
      )

      # Delete generated simulator
      sh "xcrun simctl delete #{simname}"
   end

   ######################### APP STORE UPDATE LANES #########################

   desc "Updates the App Store info"
   desc "Updates the screen shots (uses the en-US images)"
   lane :update_screenshots do |options|
      update_app_info(skip_screenshots: false, skip_metadata: true, force: false)
   end

   desc "Updates the App Store info"
   desc "Updates release notes (uses the en-US images)"
   lane :update_release_notes do |options|
      sh "rm -rf ./metadata"
      sh "bundle exec fastlane deliver download_metadata --force --api_key_path ./ASC_api_key.json"
      update_app_info(skip_screenshots: true, skip_metadata: false, force: true)
   end

   ######################### PRIVATE LANES #########################

   private_lane :update_app_info do |options|
      skip_screenshots = options[:skip_screenshots]
      skip_metadata = options[:skip_metadata]
      force = options[:force]

      # Upload the build to iTunes Connect.
      deliver(
         skip_binary_upload: true,
         phased_release: true,
         automatic_release: false,
         skip_screenshots: skip_screenshots,
         skip_metadata: skip_metadata,
         submit_for_review: false,
         force: force,
         api_key_path: "fastlane/ASC_api_key.json",
         precheck_include_in_app_purchases: false
      )
   end
end

`./fastlane/Appfile`
# By Jakub Kaspar 12/19/2019
# ClassDojo, Inc. 2019
# ClassDojo

app_identifier "com.ClassDojo"  # The bundle identifier of your app
apple_id<EMAIL_ADDRESS>  # Your Apple email address
team_id "QW6T5Q39LV"            # Developer Portal team ID
itc_team_id "979740"            # AppStore Connect team ID

fastlane gems

Gem
Version
Update-Status

fastlane
2.205.2
✅ Up-To-Date

Loaded fastlane plugins:
No plugins Loaded
Loaded gems

Gem
Version

did_you_mean
1.6.1

atomos
0.1.3

CFPropertyList
3.0.5

claide
1.1.0

colored2
3.1.2

nanaimo
0.3.0

rexml
3.2.5

xcodeproj
1.21.0

rouge
2.0.7

xcpretty
0.3.0

terminal-notifier
2.0.0

unicode-display_width
1.8.0

terminal-table
1.8.0

plist
3.6.0

addressable
2.8.0

multipart-post
2.0.0

word_wrap
1.0.0

optparse
0.1.1

tty-screen
0.8.1

tty-cursor
0.7.1

tty-spinner
0.9.3

artifactory
3.0.15

babosa
1.0.4

colored
1.2

highline
2.0.3

commander
4.6.0

unf
0.1.4

domain_name
0.5.20190701

http-cookie
1.0.4

faraday-cookie_jar
0.0.7

faraday_middleware
1.2.0

fastimage
2.2.6

gh_inspector
1.1.3

mini_magick
4.11.0

naturally
2.2.1

rubyzip
2.3.2

security
0.1.3

xcpretty-travis-formatter
1.0.1

dotenv
2.7.6

simctl
1.6.8

jwt
2.3.0

google-apis-playcustomapp_v1
0.7.0

emoji_regex
3.2.3

uri
0.11.0

public_suffix
4.0.7

excon
0.92.2

ruby2_keywords
0.0.5

faraday-retry
1.0.3

faraday-rack
1.0.0

faraday-patron
1.0.0

faraday-net_http_persistent
1.2.0

faraday-net_http
1.0.1

faraday-multipart
1.0.3

faraday-httpclient
1.0.1

faraday-excon
1.1.0

faraday-em_synchrony
1.0.0

faraday-em_http
1.0.0

faraday
1.10.0

unf_ext
<IP_ADDRESS>

json
2.6.1

bundler
2.3.7

webrick
1.7.0

httpclient
2.8.3

multi_json
1.15.0

signet
0.16.1

os
1.1.4

memoist
0.16.2

googleauth
1.1.3

mini_mime
1.1.2

retriable
3.1.2

trailblazer-option
0.1.2

declarative
0.0.20

uber
0.1.0

representable
3.1.1

google-apis-core
0.4.2

google-apis-androidpublisher_v3
0.19.0

rake
13.0.6

digest-crc
0.6.4

google-apis-storage_v1
0.13.0

google-apis-iamcredentials_v1
0.10.0

google-cloud-errors
1.2.0

google-cloud-env
1.6.0

google-cloud-core
1.6.0

google-cloud-storage
1.36.2

aws-eventstream
1.2.0

aws-sigv4
1.5.0

aws-partitions
1.579.0

jmespath
1.6.1

aws-sdk-core
3.130.1

aws-sdk-kms
1.56.0

aws-sdk-s3
1.113.0

forwardable
1.3.2

logger
1.5.0

cgi
0.3.1

date
3.2.2

timeout
0.2.0

stringio
3.0.1

openssl
3.0.0

ipaddr
1.2.3

zlib
2.1.1

mutex_m
0.1.1

connection_pool
2.2.5

net-http-persistent
4.0.1

patron
0.13.3

ostruct
0.5.3

strscan
3.0.1

io-console
0.5.11

delegate
0.2.0

fileutils
1.6.0

singleton
0.1.1

open3
0.1.1

yaml
0.2.0

psych
4.0.3

generated on: 2022-04-22

One more note - running it when the previous cookie is not yet expired just generates new (invalid) one, but running it after the old expires first asks for 2FA code via SMS authentication and then generates new (valid) one.

We do use that for 90% of things for our main account, but we also have Enterprise account and for downloading provisioning profiles and certificates, you still have to use this way because Enterprise accounts don't have AppStore Connect.

Still no change.

As a workaround I remove the cached cookie in ~/.fastlane/spaceship. After that you can request a valid cookie again.


Error when compiling

FastImaging-master/src/stp/imager/imager.h:112:87: error: cannot convert ‘std::complex’ to ‘double’ for argument 3’ to ‘void cblas_zdscal(blasint, double, double*, blasint)’
and other same errors in imager.h

Hi there,
can you give us some information about your build environment - Linux version, compiler version, etc?
We are only targeting Ubuntu 16.04  / Debian-testing environments, currently. You may have more success building under a virtual machine with one of those. To that end, you can load up a virtual machine using 'Vagrant' by following the instructions here:
https://github.com/SKA-ScienceDataProcessor/FastImaging/tree/master/vagrant

This issue shall not be present in the latest version. I'll close the issue. Thanks for reporting.


[CLI]: Not able to log save_hyperparameters of type enum.Enum

Describe the bug

Thank you for developing this tool. It has been super helpful for tracking model training and logging metrics.
I am running into an issue with save_hyperparameters(), when logging hyperparameters of type enum.Enum. I am using WandbLogger() with PyTorch-Lightning.
Somewhere downstream, I call self.save_hyperparameters() to log settings and hyperparameters used during a specific run. When I call this function however, I run into an issue with the JSON serialization. Here is the optimizer class that is being saved:

I have a class of type enum.Enum as follows:
class Optimizers(enum.Enum):
    ADAM = torch.optim.Adam
    SGD = torch.optim.SGD

Here is the error that I run into:

    return json.JSONEncoder.default(self, obj)
  File "/usr/lib/python3.8/json/encoder.py", line 179, in default
    raise TypeError(f'Object of type {o.__class__.__name__} '
TypeError: Object of type Optimizers is not JSON serializable
wandb: Waiting for W&B process to finish... (failed 1). Press Control-C to abort syncing.

I tried initializing the Optimizers class with multiple inheritance, using str as the other class. This solves the JSON serialization issue, but downstream, the optimizer is called and there the str type causes it to fail.
I wanted to know if there was some way to log this enum parameter?
Thank you for your time!
Additional Files
No response
Environment
WandB version: 0.15.7
OS: Ubuntu 20.04
Python version: 3.8.10
Versions of relevant libraries: torch 1.12.1+cu116, pytorch-lightning 1.8.4.post0
Additional Context
No response

Hi @SarthakJShetty-path! Thank you for writing in and asking questions!
Unfortunately, there is no way of logging objects that are not JSON serializable. I like your way of turning it into a string, and that should be the workaround, but it does look like it does not work for your workflow.

I ran into the same issue today, which was surprising cause I only updated a few libraries. Before it was running fine.
I ran some test and figured out that it worked before 0.15.5. The only commit which mentioned changes in JSON-handling was the following: https://github.com/wandb/wandb/commit/c5fe3d56b155655980611d32ef09df35cd336872

Hi @SarthakJShetty-path! Did Max's work around work for you?

@ArtsiomWB thanks for checking in. I haven't tried this yet, but I will latest by today and update this issue. Thanks!

Quick update: Downgrading to 0.15.4 seemed to solve the problem of saving enum.Enum types. Not sure what broke as @Maxscha said. This wasn't a fix per-se, but feel to close the issue. Thanks @ArtsiomWB!

Thank you so much for the update! This means a lot to us! If you happen to have any more concerns, feel free to write back in or start a new thread.


Angular 10

Would it be possible to bump angular to version 10?

I can't install it for Angular 11 Also :(
npm i ngx-pinch-zoom --save npm ERR! code ERESOLVE npm ERR! ERESOLVE unable to resolve dependency tree npm ERR! npm ERR! While resolving<EMAIL_ADDRESS>npm ERR! Found<EMAIL_ADDRESS>npm ERR! node_modules/@angular/common npm ERR<EMAIL_ADDRESS>from the root project npm ERR! npm ERR! Could not resolve dependency: npm ERR! peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm ERR! node_modules/ngx-pinch-zoom npm ERR!   ngx-pinch-zoom@"*" from the root project

I can't install it for Angular 11 Also :(
npm i ngx-pinch-zoom --save npm ERR! code ERESOLVE npm ERR! ERESOLVE unable to resolve dependency tree npm ERR! npm ERR! While resolving<EMAIL_ADDRESS>npm ERR! Found<EMAIL_ADDRESS>npm ERR! node_modules/@angular/common npm ERR<EMAIL_ADDRESS>from the root project npm ERR! npm ERR! Could not resolve dependency: npm ERR! peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm ERR! node_modules/ngx-pinch-zoom npm ERR!   ngx-pinch-zoom@"*" from the root project

tl;dr: npm install --legacy-peer-deps ✅
I have the following version in package.json:
"dependencies": {
"ngx-pinch-zoom": "^2.5.5",

I have this error when using npm install
npm ERR! code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR!
npm ERR! While resolving<EMAIL_ADDRESS>npm ERR! Found<EMAIL_ADDRESS>npm ERR! node_modules/@angular/common
npm ERR<EMAIL_ADDRESS>from the root project
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm ERR! node_modules/ngx-pinch-zoom
npm ERR<EMAIL_ADDRESS>from the root project
npm ERR!
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force, or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
npm ERR!

I was able to install by using npm install --legacy-peer-deps instead. 🎉

idk


Failed to build iOS app

Hi, I got some error while running the app to iOS device
one of the error looks like this:
/.pub-cache/hosted/pub.dartlang.org/simple_rsa3-2.0.1/ios/Classes/SwiftSimpleRsa3Plugin.swift:67:96: error: cannot infer contextual base in reference to member 'sha1'
let isSuccessful = try! clear.verify(with: publicKey, signature: signature, digestType: .sha1)
Swift Compiler Error (Xcode): Cannot find 'PublicKey' in scope
/.pub-cache/hosted/pub.dartlang.org/simple_rsa3-2.0.1/ios/Classes/SwiftSimpleRsa3Plugin.swift:41:27
It happens only in iOS device, the plugin works great on android. Did I miss something?

Might have to take a look at what happened there, Right now I don't have a mac to test this. Gonna try to find one, in order to fix it. You can open a PR if you manage to fix this too, I'll be glad to merge it.

@leonardosetiadi I uploaded a new version it's 2.0.2. Should fix the issue. Sorry for the delay.


[IMPAC-764] Invoices List Widget v2

@cesar-tonnoir I agree with you, I like the previous solution too.  I guess I misunderstood what you were asking.  Should I revert the changes?


Buttons

hello I built two thermostats with a display and three buttons from the examples of Maxim When I plug a device into the socket, one thermostat resets my configuration and I have to add it from the beginning.
If I add buttons via three tasks, I have no reset, but I have too many tasks and I cannot connect every time.

Did you made two identical thermostats? I believe that you need to make them unique.

I set the GPIO_INTTYPE_EDGE_NEG interruptions  and the restart is gone and the thermostats are stable for now

You probably have your buttons active state different from what was set up in the code.

I use this connection scheme

previously i used your example for buttons with the same connection scheme
but i got strange esp behavior and reset.
am i doing something wrong?

@Kristian8606 look at this: https://github.com/maximkulkin/esp-button

Yeah, look at that. Obviously your case is “active low”, but that example was designed for “active high” case.


[OneExplorer] Support 'Reveal in explorer view' command

What?
Let's support 'reveal in explorer view' command.
FYI, 'Reveal in explorer view' command

It's done by #1235


build for mixtral 8x7b failed

reported this issue:
[12/29/2023-02:37:01] [TRT] [E] 4: Internal error: plugin node LLaMAForCausalLM/layers/0/mlp/PLUGIN_V2_MixtureOfExperts_0 requires<PHONE_NUMBER>024 bytes of scratch space, but only<PHONE_NUMBER>2 is available.
trt-llm version: 0.7.1

Please share your scripts to build engine.

I had double checked the procedure, and found out that the error only happend on the main branch, not the tag of v0.7.1 which should be the same with the main stream but actually not the same at all. the submission of #754 is not on the v0.7.1. https://github.com/NVIDIA/TensorRT-LLM/pull/754, I have check the example/run.py file, and found out that the modificaion of #754 is not applied to v0.7.1. WHY?
the build script is as following.
python llama/build.py --model_dir /workspace/lib/models/Mixtral-8x7B-v0.1
--use_inflight_batching
--enable_context_fmha
--use_gemm_plugin
--world_size 4
--tp_size 4
--use_weight_only
--parallel_build
--output_dir /workspace/lib/models/trt_engines/mixtral/tp4-weight-only-071

We update main branch more frequently to support new features and fix bugs in real time. The v0.7.1 is a stable branch, which passes more QA and tests.

I had the same issue in 0.7.1 release when I tried to build engine for 2 H100 GPUs. Instead of Mixtral-8x7B-v0.1, I tried Mixtral-8x7B-Instruct-v0.1. I expected the flow should be the same as it is just fine-tuning version.
Command:
python examples/llama/build.py --model_dir Mixtral-8x7B-Instruct-v0.1 --dtype float16 --remove_input_padding --use_gpt_attention_plugin float16 --enable_context_fmha --use_gemm_plugin float16 --max_batch_size 32 --output_dir ./examples/mixtral/out/8x7b_instruct_v0.1/fp16_2gpu/ --world_size=2 --tp_size=2 --parallel_build
Error info:
[01/05/2024-19:10:08] [TRT] [E] 4: Internal error: plugin node LLaMAForCausalLM/layers/0/mlp/PLUGIN_V2_MixtureOfExperts_0 requires<PHONE_NUMBER>8176 bytes of scratch space, but only<PHONE_NUMBER>2 is available. Try increasing the workspace size with IBuilderConfig::setMemoryPoolLimit().

[01/05/2024-19:10:08] [TRT] [E] 4: [pluginV2Builder.cpp::makeRunner::519] Error Code 4: Internal Error (Internal error: plugin node LLaMAForCausalLM/layers/0/mlp/PLUGIN_V2_MixtureOfExperts_0 requires<PHONE_NUMBER>8176 bytes of scratch space, but only<PHONE_NUMBER>2 is available. Try increasing the workspace size with IBuilderConfig::setMemoryPoolLimit().
)
[01/05/2024-19:10:08] [TRT-LLM] [E] Engine building failed, please check the error log.
[01/05/2024-19:10:08] [TRT-LLM] [I] Config saved to ./examples/mixtral/out/8x7b_instruct_v0.1/fp16_2gpu/config.json.
Traceback (most recent call last):

It seems the model is still looking for space in the GPUs for full-precision loading even I assign it as float16.

The same question on main branch, can anyone have a look?

Could you check if you can repro the error without --remove_input_padding?
Normally, latest update has a fix.

Could you check if you can repro the error without --remove_input_padding?
Normally, latest update has a fix in the plugin.

@mickaelseznec That works fine for me, thanks! I will also try the latest code tomorrow.

By removing the --remove_input_padding option, it successfully built the engine.
I remember the --remove_input_padding option is required for in-flight batching. Does it mean this model do not support in-flight batching mode? Why do we have to remove this option in order to make it work?

By removing the --remove_input_padding option, it successfully built the engine.

I was asking that just to make sure that we're all talking about the same bug. It should have been fixed in latest updates. If you still encounter the problem, please reopen this issue :)


write_ds9 crashes when provided with CirclePixelRegion and unitless radius

I am using Python 3.7, Numpy 1.17, regions 0.5.dev ,and astropy 4.0.dev. I followed the Quick Start example to make a pixel region but I failed to write it to DS9 region file.
from regions import PixCoord, CirclePixelRegion, write_ds9
pixel_region = CirclePixelRegion(PixCoord(x=410.10, y=291.32), 5.0)
ds9_region_file = 'spitzer_ds9.reg'
write_ds9([pixel_region], ds9_region_file)

gives
      1 ds9_region_file = 'spitzer_ds9.reg'
----> 2 write_ds9([pixel_region], ds9_region_file)

.../regions/io/ds9/write.py in write_ds9(regions, filename, coordsys, fmt, radunit)
     59         This denotes the unit of the radius. Default is deg (degrees)
     60     """
---> 61     output = ds9_objects_to_string(regions, coordsys, fmt, radunit)
     62     with open(filename, 'w') as fh:
     63         fh.write(output)

.../regions/io/ds9/write.py in ds9_objects_to_string(regions, coordsys, fmt, radunit)
     35     """
     36     shapelist = to_shape_list(regions, coordsys)
---> 37     return shapelist.to_ds9(coordsys, fmt, radunit)
     38
     39

.../regions/io/core.py in to_ds9(self, coordsys, fmt, radunit)
    330                             coord.append(float(val.value))
    331                         else:
--> 332                             coord.append(float(val.to(radunit).value))
    333                 if shape.region_type in ['ellipse', 'rectangle'] and len(shape.coord) % 2 == 1:
    334                     coord[-1] = float(shape.coord[-1].to('deg').value)

.../astropy/units/quantity.py in to(self, unit, equivalencies)
    677         # and don't want to slow down this method (esp. the scalar case).
    678         unit = Unit(unit)
--> 679         return self._new_view(self._to_value(unit, equivalencies), unit)
    680
    681     def to_value(self, unit=None, equivalencies=[]):

.../astropy/units/quantity.py in _to_value(self, unit, equivalencies)
    649             equivalencies = self._equivalencies
    650         return self.unit.to(unit, self.view(np.ndarray),
--> 651                             equivalencies=equivalencies)
    652
    653     def to(self, unit, equivalencies=[]):

.../astropy/units/core.py in to(self, other, value, equivalencies)
    987             return UNITY
    988         else:
--> 989             return self._get_converter(other, equivalencies=equivalencies)(value)
    990
    991     def in_units(self, other, value=1.0, equivalencies=[]):

.../astropy/units/core.py in _get_converter(self, other, equivalencies)
    918                             pass
    919
--> 920             raise exc
    921
    922     def _to(self, other):

.../astropy/units/core.py in _get_converter(self, other, equivalencies)
    904         try:
    905             return self._apply_equivalencies(
--> 906                 self, other, self._normalize_equivalencies(equivalencies))
    907         except UnitsError as exc:
    908             # Last hope: maybe other knows how to do it?

.../astropy/units/core.py in _apply_equivalencies(self, unit, other, equivalencies)
    888         raise UnitConversionError(
    889             "{} and {} are not convertible".format(
--> 890                 unit_str, other_str))
    891
    892     def _get_converter(self, other, equivalencies=[]):

UnitConversionError: '' (dimensionless) and 'deg' (angle) are not convertible

I also tried several other variations but all failed (with different errors):

Setting radunit=''
Setting radunit='pix'
Setting radius to 5.0 * u.pix, with from astropy import units as u

hello! I met the same problem. Do you know the solution now?

The workaround (which may have been intended by the original developer) is to specify the coordsys='image' keyword.  I view this as surprising and non-obvious behavior and will fix this bug very soon.  Here's a complete working example:
>>> from regions import PixCoord, CirclePixelRegion
>>> region = CirclePixelRegion(PixCoord(x=410.10, y=291.32), 5.0)
>>> region.write('example.reg', format='ds9', coordsys='image')


[WIP] stringification in CHECK_EQ() vs INFO()/CHECK_MESSAGE(): addressing difference in behavior

In the operator<<(stream, T) calls from doctest, using stream.write() was possible from the CHECK() macros, but not from INFO() and CHECK_MESSAGE(). This PR addresses that.
An example of the use case can be seen in the added test in stringification.cpp. I've updated the test result files.
I do have a doubt about the size passed into write(). The correct type would be std::streamsize but the standard only specifies that it is a typedef, and nothing regarding the particular type, so it is difficult or impossible to provide a safe forward declaration. So I've went with unsigned, as size_t would require #include <cstdint>.

I just realized that clang dislikes this, while VS and GCC compile and run correctly.
The issue with clang is an ambiguity:
/mnt/d/proj/c4core/test/test_charconv.cpp:1015:17: error: use of overloaded operator '<<' is ambiguous (with operand types 'doctest::detail::MessageBuilder' and 'c4::csubstr' (aka 'basic_substring<const char>'))
    INFO("val=" << val);
    ~~~~~~~~~~~~^~~~~~~
/mnt/d/proj/extern/doctest/doctest/doctest.h:2486:14: note: expanded from macro 'INFO'
#define INFO DOCTEST_INFO
             ^
/mnt/d/proj/extern/doctest/doctest/doctest.h:1969:61: note: expanded from macro 'DOCTEST_INFO'
                      DOCTEST_ANONYMOUS(_DOCTEST_CAPTURE_), expression)
                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
/mnt/d/proj/extern/doctest/doctest/doctest.h:1976:20: note: expanded from macro 'DOCTEST_INFO_IMPL'
        mb_name << expression;                                                                     \
        ~~~~~~~~~~~^~~~~~~~~~
/mnt/d/proj/c4core/src/c4/substr.hpp:1588:17: note: candidate function [with OStream = doctest::detail::MessageBuilder, C = const char]
inline OStream& operator<< (OStream& os, basic_substring<C> s)
                ^
/mnt/d/proj/extern/doctest/doctest/doctest.h:1545:25: note: candidate function [with T = c4::basic_substring<const char>]
        MessageBuilder& operator<<(const T& in) {
                        ^
1 error generated.

So let's recap.
My type has a freestanding template<class OStream> operator<<(OStream& stream, T) function defined. This is sketched in the current stringification.cpp changeset of this MR.
doctest correctly stringifies this type in any calls to CHECK_EQ(). But calling any of INFO("myvar" << myvar) or CHECK_MESSAGE(..., "myvar=" << myvar) has different behavior across all compilers:

CHECK_EQ(myvar1 == myvar2)
INFO("myvar=" << myvar) or CHECK_MESSAGE(..., "myvar=" << myvar)

VS2019
ok
ok

g++10
ok
fails to compile, picks operator<<(MessageBuilder&, myvar)

clang++10
ok
fails to compile, ambiguous between MessageBuilder::operator<<() and operator<<(MessageBuilder&, myvar)

More details:
Visual Studio
Visual Studio compiles successfully, and as desired, picks my template function and passes it the std::ostream.
GCC
GCC fails with this error:
/mnt/d/proj/extern/doctest/examples/all_features/stringification.cpp: In instantiation of ‘OStream& Bar::operator<<(OStream&, const Bar::MyStringType&) [with OStream = doctest::detail::MessageBuilder]’:
/mnt/d/proj/extern/doctest/examples/all_features/stringification.cpp:165:9:   required from here
/mnt/d/proj/extern/doctest/examples/all_features/stringification.cpp:101:12: error: ‘struct doctest::detail::MessageBuilder’ has no member named ‘write’
  101 |     stream.write(&quote, 1u);
      |     ~~~~~~~^~~~~
/mnt/d/proj/extern/doctest/examples/all_features/stringification.cpp:102:12: error: ‘struct doctest::detail::MessageBuilder’ has no member named ‘write’
  102 |     stream.write(in.s.data(), static_cast<unsigned>(size));
      |     ~~~~~~~^~~~~
/mnt/d/proj/extern/doctest/examples/all_features/stringification.cpp:103:12: error: ‘struct doctest::detail::MessageBuilder’ has no member named ‘write’
  103 |     stream.write(&quote, 1u);
      |     ~~~~~~~^~~~~
[

Which means that GCC does pick my template function, but passes it the MessageBuilder class instead of the std::ostream class. MessageBuilder does not have a write() method, so that's why my initial thought was just adding a MessageBuilder::write() method. Doing that did fix the GCC behavior. Problem solved, right? No.
clang
write() or no write(), clang fails with this error:
/mnt/d/proj/extern/doctest/examples/all_features/stringification.cpp:165:20: error: use of overloaded operator '<<' is ambiguous (with operand types 'doctest::detail::MessageBuilder' and 'Bar::MyStringType')
        INFO("s1=" << s1 << " s2=" << s2);
        ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
/mnt/d/proj/extern/doctest/doctest/parts/doctest_fwd.h:2483:14: note: expanded from macro 'INFO'
#define INFO DOCTEST_INFO
             ^
/mnt/d/proj/extern/doctest/doctest/parts/doctest_fwd.h:1966:61: note: expanded from macro 'DOCTEST_INFO'
                      DOCTEST_ANONYMOUS(_DOCTEST_CAPTURE_), expression)
                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
/mnt/d/proj/extern/doctest/doctest/parts/doctest_fwd.h:1973:20: note: expanded from macro 'DOCTEST_INFO_IMPL'
        mb_name << expression;                                                                     \
        ~~~~~~~~~~~^~~~~~~~~~
/mnt/d/proj/extern/doctest/doctest/parts/doctest_fwd.h:1542:25: note: candidate function [with T = Bar::MyStringType]
        MessageBuilder& operator<<(const T& in) {
                        ^
/mnt/d/proj/extern/doctest/examples/all_features/stringification.cpp:96:35: note: candidate function [with OStream = doctest::detail::MessageBuilder]
template <class OStream> OStream& operator<<(OStream& stream, const MyStringType &in) {
                                  ^

So it can't decide between MessageBuilder::operator<< and my template function, which would be passed the MessageBuilder (similar to GCC).
Conclusions?
The what. For gcc and clang, the stringification behavior for INFO()
and CHECK_MESSAGE() is different from CHECK() when the user operator<<
is a template parameterized on the stream. I think we can agree that this is
not desired.
The how. Well, adding write() to MessageBuilder would fix GCC, but
there's still clang. So write() is not enough, and probably not necessary.
And the problem seems to be somewhere in the SFINAE leading to
operator<<. Can the behavior for INFO() and CHECK_MESSAGE() be made
equal to CHECK()?
I await your input.

@onqtam just to clarify that I am waiting for your input. Not to press here, but I was wondering whether the WIP tag is preventing you from looking at this PR; what initially seemed an easy PR is apparently harder, and at this point I hesitate to proceed further without agreeing on a direction.

@biojppm Sorry for not answering earlier - I have this bookmarked and have been putting it off for 2+ weeks now - will try to get to it when possible.

No problem and no rush, that's just how it goes. I just wanted to make sure you read this.

I'm a bit confused... Here is what I tried and it works as expected:
#include <ostream>

namespace Bar
{
struct MyStringType
{
    std::string s;
    template <size_t N> MyStringType(const char (&in)[N]) : s(in, in+N) {}
    friend bool operator==(const MyStringType &lhs, const MyStringType &rhs) { return lhs.s == rhs.s; }
};

static std::ostream& operator<<(std::ostream& stream, const MyStringType& in) {
    // the terminating \0 character may be present in size()
    auto size = in.s.size() > 0u ? in.s.size() - 1u : 0u;
    constexpr const char quote = '\'';
    stream.write(&quote, 1u);
    stream.write(in.s.data(), static_cast<unsigned>(size));
    stream.write(&quote, 1u);
    return stream;
}
} // namespace Bar

TEST_CASE("") {
    // use of ostream::write() is possible:
    Bar::MyStringType s1 = "some";
    Bar::MyStringType s2 = "contents";

    // also inside the message builder
    INFO("s1=" << s1 << " s2=" << s2);

    CHECK(s1 == s2);
    CHECK_MESSAGE(s1 == s2, s1 << " is not really " << s2);
}

And I get this output:
/home/onqtam/dt2/scripts/playground/test.cpp:39: ERROR: CHECK( s1 == s2 ) is NOT correct!
  values: CHECK( 'some' == 'contents' )
  logged: s1='some' s2='contents'

/home/onqtam/dt2/scripts/playground/test.cpp:40: ERROR: CHECK( s1 == s2 ) is NOT correct!
  values: CHECK( 'some' == 'contents' )
  logged: s1='some' s2='contents'
          'some' is not really 'contents'

Also, templated operator<< operators already work as in the case for MyType<T, K> - problems begin when the stream itself becomes part of the template parameters but I'm not sure why you would want to do that - is it to avoid including the <ostream> header for the write() calls...?

In hindsight... using operator<< for the MessageBuilder class was a mistake - I should have gone with the comma operator and use varargs in the INFO macro instead of the awkward use of << within the () braces...

The problem is not related to SFINAE - actually, clang is the only compliant compiler according to the standard - here's the same issue with a templated comma operator:
https://stackoverflow.com/questions/25110429/ambiguous-operator-overload-on-clang
In there, the author has an Update: where he suggests that using an any struct with a templated constructor forces the templated member operator to always be preferred but that's not true - with that trick the other operator will be preferred, and only then would the addition of write to the MessageBuilder class make sense, but I don't really like that - I'd like to use the operator<< of the MessageBuilder class because it calls doctest::detail::toStream and that's the only way to have stringification behave the same way as the operands in a CHECK macro would be stringified.
Seems that in our case the only way to force the operator<< from the MessageBuilder class to be always picked up is to explicitly call it via .operator<< but that would mean that we can no longer use the pretty syntax with just chaining a bunch of << but have to rewrite everything in terms of function calls which is obviously a no-go.
I managed to get all logging macros to work with the comma operator - the left shift streaming operator is still supported but since it won't compile with your custom stream-templated operator<< you can simply use the new syntax - you can see this commit for details: https://github.com/onqtam/doctest/commit/063b858e56356c30f0e79c15ffa631551f713216 - the relevant parts are in doctest_fwd.h in the MessageBuilder class and in the DOCTEST_INFO_IMPL macro.
I'm thinking of renaming this PR to something along the lines of =switch from using operator<< to the comma operator for logging so that it ends up in the changelog that way, and to close this PR - is this solution OK for you?

Hey @onqtam, I've typed a reply previously, but just noticed that it is not here. Maybe I simply forgot to click the send button. Anyway, it was just to let you know that I'm entirely on board with your solution, and in fact even like it better.
Thanks for the fix.


Make prometheus settings dynamically updatable

Closes #159

Minor checkstyle fixes

Rebased, tests passing, @vvanholl did you have a chance to look at this?
Originally, I created this PR from my fork (my bad), but since CI does not run the pipeline in this case I created the 159 branch also in your repo. Now the CI is working correctly. I keep both the 159 branches in my repo and this repo in sync, so it is safe to do merge.

@vvanholl Any thoughts on this please?

Sorry for being late in merging, I was a bit busy these times.


New winopts row

With the changes to winopts.row it's no longer possible to use row = 1 to place fzf on the bottom of the buffer, you neet to set it to something like vim.o.lines.
Also by doing this it wont place it above the statusline anymore.

Makes sense, though i'm still not able to place it above the underlaying buffers statusline beacuse of this winopts.row = math.min(winopts.row, max_height-winopts.height)


How to add array of event dates on FSCalendar ? Please help.

@WenchaoD  I downloaded the example and have go through this many times and I'm trying to implement following code using swift 3 but its not working returning nil no color effects no error nothing m stucked on this don't know which step m missing please please please help.
import UIKit
import FSCalendar

class myCalendarViewController: UIViewController,     FSCalendarDelegate,FSCalendarDataSource,FSCalendarDelegateAppearance {

var presentdays = [String]()
var absentdays = [String]()

@IBOutlet weak var calendar: FSCalendar!

fileprivate let gregorian: Calendar = Calendar(identifier: .gregorian)
fileprivate lazy var dateFormatter1: DateFormatter = {
    let formatter = DateFormatter()
    formatter.dateFormat = "yyyy/MM/dd"
    return formatter
}()

override func viewDidLoad() {
    super.viewDidLoad()

    // Do any additional setup after loading the view.
}

func calendar(_ calendar: FSCalendar, appearance: FSCalendarAppearance, titleDefaultColorFor date: Date) -> UIColor? {
    presentdays = ["2017-06-03",
                        "2017-06-06",
                        "2017-06-12",
                        "2017-06-25"]

    absentdays = ["2017-06-10",
                       "2017-06-18",
                       "2017-06-15",
                       "2017-06-16"]

    let datestring2 : String = dateFormatter1.string(from:date)

    if presentdays.contains(datestring2)
    {
        return UIColor.green
    }
    else if absentdays.contains(datestring2)
    {
        return UIColor.red
    }
    else{
        return nil
    }

  }
      }

@BugFinder27 Hi im getting same problem. how to resolve this issue ? this method is not working for me.


[Fix #11615] Fix false negative and positive for Lint/MissingSuper

Fixes https://github.com/rubocop/rubocop/issues/11615.
This PR fixes two bugs reported in #11615:

Fix a false negative when no super call with Class.new block.
Fix a false positive when using Class.new without parent class argument.

Before submitting the PR make sure the following are checked:

[x] The PR relates to only one subject with a clear title and description in grammatically correct, complete sentences.
[x] Wrote good commit messages.
[x] Commit message starts with [Fix #issue-number] (if the related issue exists).
[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[x] Added tests.
[x] Ran bundle exec rake default. It executes all tests and runs RuboCop on its own code.
[x] Added an entry (file) to the changelog folder named {change_type}_{change_description}.md if the new code introduces user-observable changes. See changelog entry format for details.

Looks good to me. Thanks!

:thinking: this seems to add this warning (not present in 1.46.0). Everything is ok without header method. It seems rubocop:enable Layout/ExtraSpacing is also broken when ー is used (as you can see, it is wrongly reported as Layout/ExtraSpacing violation).
# frozen_string_literal: true

# base exporter
class BaseExporter
  def initialize
    @c = 'D'
  end
end

module Exporter
  # my exporter
  class MyExporter < BaseExporter
    def initialize # rubocop:disable Lint/MissingSuper
      @a = 'B'
    end

    # rubocop:disable Layout/ExtraSpacing
    def header
      [
        '配ー',         #  A reference
        '配'            #  B name
      ]
    end
    # rubocop:enable Layout/ExtraSpacing
  end
end

rubocop exporter.rb
Inspecting 1 file
W

Offenses:

exporter.rb:13:20: W: [Correctable] Lint/RedundantCopDisableDirective: Unnecessary disabling of Lint/MissingSuper.
    def initialize # rubocop:disable Lint/MissingSuper
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

1 file inspected, 1 offense detected, 1 offense autocorrectable

First, I've opened #11654 to fix a new false negative of Lint/MissingSuper.


chore(locale-modal): warn missing links for alternate language

Related Ticket(s)
Refs #3833.
Description
Adds a logic to emit a console warning when <link rel="alternate"> for alternate language is missing, that yeilds to an empty result in <dds-locale-search>.
Changelog
New

A logic to emit a console warning when <link rel="alternate"> for alternate language is missing.

Good call, thank you @asudoh !


Does support ES6?

I got following error with React import:
(function (exports, require, module, __filename, __dirname) { import React from 'react';
                                                                                ^^^^ ^^
SyntaxError: Unexpected token import
...

Yes and no.

Node does't support ES6 modules yet (only with feature flags as far I know)
Webpack 1 doesn't support ES6 modules
Webpack 2  brings native support for ES6 modules.

Enabling feature flags to support ES6 modules isn't a option when you want to use webpack 1, cause webpack would not bundle your code properly.
So, if you want to use ES6 modules with webpack 1 you have to use a loader (e.g. babel with es2015-preset) or use the beta version of webpack 2.
Furthermore you need to precompile all es6 features in your code, that node doesn't understand yet.
To come back to the initial question - Yes, you can use all ES6 features with a ES6 compiler like babel.

@ozluy if you got this working, I'd be interested to see what you ended up with.

Unfortunately I could not find solution for that @rosskevin. Happy hacking