cookbook fails on Ubuntu Trusty 14.04

Chef client - 12.6.0
==> default: Adding debian:Hellenic_Academic_and_Research_Institutions_RootCA_2011.pem
==> default: Adding debian:Security_Communication_RootCA2.pem
==> default: done.
==> default: Processing triggers for libc-bin (2.19-0ubuntu6.6) ...
==> default: Processing triggers for ureadahead (0.100.0-16) ...
==> default: Processing triggers for ca-certificates (20141019ubuntu<IP_ADDRESS>) ...
==> default: Updating certificates in /etc/ssl/certs... 0 added, 0 removed; done.
==> default: Running hooks in /etc/ca-certificates/update.d....
==> default: done.
==> default: done.
==> default: STDERR: invoke-rc.d: initscript jenkins, action "start" failed.
==> default: dpkg: error processing package jenkins (--configure):
==> default:  subprocess installed post-installation script returned error exit status 7
==> default: Errors were encountered while processing:
==> default:  jenkins
==> default: E: Sub-process /usr/bin/dpkg returned an error code (1)
==> default: ---- End output of apt-get -q -y install jenkins=1.647 ----
==> default: Ran apt-get -q -y install jenkins=1.647 returned 100
==> default: [2016-02-06T18:12:30+00:00] FATAL: Chef::Exceptions::ChildConvergeError: Chef run process exited unsuccessfully (exit code 1)
Chef never successfully completed! Any errors should be visible in the
output above. Please fix your recipes so that they properly complete.

Me too. I'm able to run this successfully in kitchen-docker, but can't use the kitchen-ec2 driver successfully, nor manage a remote build with Packer in AWS. I'm using Chef Zero on Ubuntu 1404. For some reason the start script isn't working. Same error.

👍

Hey folks,
Can you give more information about what you are running into here? Maybe you are using a specific recipe that has an issue? I've used a .kitchen.yml to verify a problem, and I'm not seeing an issue. @munjeli the issue you are having may be a different issue, if you could open up a separate issue if you are still having the issue, that would be appreciated. @geekifier, I didn't have to change the version to 2.0 here.

platforms:
  - name: ubuntu-14.04
    run_list:
      - apt::default
      - jenkins::java
suites:

name: default
run_list: jenkins::master

➜  jenkins git:(master) ✗ kitchen converge default-ubuntu-1404
-----> Starting Kitchen (v1.8.0)
-----> Creating ...
       Bringing machine 'default' up with 'virtualbox' provider...
       ==> default: Importing base box 'opscode-ubuntu-14.04'...
==> default: Matching MAC address for NAT networking...
       ==> default: Setting the name of the VM: kitchen-jenkins-default-ubuntu-1404_default_1470291350266_46814
       ==> default: Fixed port collision for 8080 => 9090. Now on port 2202.
       ==> default: Fixed port collision for 22 => 2222. Now on port 2203.
       ==> default: Clearing any previously set network interfaces...
       ==> default: Preparing network interfaces based on configuration...
           default: Adapter 1: nat
       ==> default: Forwarding ports...
           default: 8080 => 2202 (adapter 1)
           default: 22 => 2203 (adapter 1)
       ==> default: Running 'pre-boot' VM customizations...
       ==> default: Booting VM...
       ==> default: Waiting for machine to boot. This may take a few minutes...
           default: SSH address: <IP_ADDRESS>:2203
           default: SSH username: vagrant
           default: SSH auth method: private key
           default: Warning: Connection timeout. Retrying...
           default:
           default: Vagrant insecure key detected. Vagrant will automatically replace
           default: this with a newly generated keypair for better security.
           default:
           default: Inserting generated public key within guest...
           default: Removing insecure key from the guest if it's present...
           default: Key inserted! Disconnecting and reconnecting using new SSH key...
       ==> default: Machine booted and ready!
       ==> default: Checking for guest additions in VM...
       ==> default: Setting hostname...
       ==> default: Machine not provisioned because `--no-provision` is specified.
       [SSH] Established
       Vagrant instance  created.
       Finished creating  (0m59.07s).
-----> Converging ...
       Preparing files for transfer
       Preparing dna.json
       Resolving cookbook dependencies with Berkshelf 4.2.3...
       Removing non-cookbook files before transfer
       Preparing data
       Preparing data_bags
       Preparing validation.pem
       Preparing client.rb
-----> Installing Chef Omnibus (install only if missing)
       Downloading https://www.chef.io/chef/install.sh to file /tmp/install.sh
       Trying wget...
       Download complete.
       ubuntu 14.04 x86_64
       Getting information for chef stable  for ubuntu...
       downloading https://omnitruck-direct.chef.io/stable/chef/metadata?v=&p=ubuntu&pv=14.04&m=x86_64
         to file /tmp/install.sh.1404/metadata.txt
       trying wget...
       sha1	6a92025699634228efb118bc2ac2cc556992b140
       sha256	d64a029bc5402e2c2e2e1ad479e8b49b3dc7599a9d50ea3cefe4149b070582be
       url	https://packages.chef.io/stable/ubuntu/14.04/chef_12.12.15-1_amd64.deb
       version	12.12.15
       downloaded metadata file looks valid...
       downloading https://packages.chef.io/stable/ubuntu/14.04/chef_12.12.15-1_amd64.deb
         to file /tmp/install.sh.1404/chef_12.12.15-1_amd64.deb
       trying wget...
       Comparing checksum with sha256sum...
     If you are installing
   on production servers via an automated process this is DANGEROUS and you will
   be upgraded without warning on new releases, even to new major releases.
   Letting the version float is only appropriate in desktop, test, development or
   CI/CD environments.

   WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING

   Installing chef
   installing with dpkg...
   Selecting previously unselected package chef.

(Reading database ... 38981 files and directories currently installed.)
Preparing to unpack .../chef_12.12.15-1_amd64.deb ...
Unpacking chef (12.12.15-1) ...
Setting up chef (12.12.15-1) ...
Thank you for installing Chef!
Transferring files to
Starting Chef Client, version 12.12.15
Creating a new client identity for default-ubuntu-1404 using the validator key.
resolving cookbooks for run list: ["apt::default", "jenkins::java", "jenkins::master"]
Synchronizing Cookbooks:
- apt (4.0.1)
- jenkins (2.6.0)
- compat_resource (12.10.7)
- runit (1.8.0)
- yum (3.11.0)
- packagecloud (0.2.4)
- yum-epel (0.7.0)
Installing Cookbook Gems:
Compiling Cookbooks...
[2016-08-04T06:17:10+00:00] WARN: Chef::Provider::AptRepository already exists!  Cannot create deprecation class for LWRP provider apt_repository from cookbook apt
[2016-08-04T06:17:10+00:00] WARN: AptRepository already exists!  Deprecation class overwrites Custom resource apt_repository from cookbook apt
[2016-08-04T06:17:10+00:00] WARN: Here we go with the runit service
Converging 20 resources
Recipe: apt::default
* file[/var/lib/apt/periodic/update-success-stamp] action nothing (skipped due to action :nothing)
* apt_update[periodic] action periodic
- update new lists of packages
* directory[/var/lib/apt/periodic] action create (up to date)
* directory[/etc/apt/apt.conf.d] action create (up to date)
* file[/etc/apt/apt.conf.d/15update-stamp] action create_if_missing
- create new file /etc/apt/apt.conf.d/15update-stamp
- update content in file /etc/apt/apt.conf.d/15update-stamp from none to c399a7
--- /etc/apt/apt.conf.d/15update-stamp	2016-08-04 06:17:10.955780915 +0000
+++ /etc/apt/apt.conf.d/.chef-15update-stamp20160804-1530-n2tdgk	2016-08-04 06:17:10.955780915 +0000
@@ -1 +1,2 @@
+APT::Update::Post-Invoke-Success {"touch /var/lib/apt/periodic/update-success-stamp 2>/dev/null || true";};
* execute[apt-get -q update] action run
- execute apt-get -q update
     * execute[apt-get update] action nothing (skipped due to action :nothing)
     * execute[apt-get autoremove] action nothing (skipped due to action :nothing)
     * execute[apt-get autoclean] action nothing (skipped due to action :nothing)
     * directory[/var/cache/local] action create
       - create new directory /var/cache/local
       - change mode from '' to '0755'
       - change owner from '' to 'root'
       - change group from '' to 'root'
     * directory[/var/cache/local/preseeding] action create
       - create new directory /var/cache/local/preseeding
       - change mode from '' to '0755'
       - change owner from '' to 'root'
       - change group from '' to 'root'
     * template[/etc/apt/apt.conf.d/10recommends] action create
       - create new file /etc/apt/apt.conf.d/10recommends
       - update content in file /etc/apt/apt.conf.d/10recommends from none to f41e1d
       --- /etc/apt/apt.conf.d/10recommends	2016-08-04 06:17:30.009261999 +0000
       +++ /etc/apt/apt.conf.d/.chef-10recommends20160804-1530-1skfl2a	2016-08-04 06:17:30.009261999 +0000
       @@ -1 +1,4 @@
       +# Managed by Chef
       +APT::Install-Recommends "1";
       +APT::Install-Suggests "0";
       - change mode from '' to '0644'
       - change owner from '' to 'root'
       - change group from '' to 'root'
     * apt_package[apt-transport-https] action install (up to date)
   Recipe: jenkins::java
     * apt_package[openjdk-7-jdk] action install
       - install version 7u101-2.6.6-0ubuntu<IP_ADDRESS> of package openjdk-7-jdk
   Recipe: jenkins::_master_war
     * user[jenkins] action create
       - create user jenkins
     * group[jenkins] action create
       - alter group jenkins
       - replace group members with new list of members
     * directory[/var/lib/jenkins] action create
       - create new directory /var/lib/jenkins
       - change mode from '' to '0755'
       - change owner from '' to 'jenkins'
       - change group from '' to 'jenkins'
     * directory[/var/log/jenkins] action create
       - create new directory /var/log/jenkins
       - change mode from '' to '0755'
       - change owner from '' to 'jenkins'
       - change group from '' to 'jenkins'
   Recipe: runit::default
     * service[runit] action nothing (skipped due to action :nothing)
     * execute[start-runsvdir] action nothing (skipped due to action :nothing)
     * apt_package[runit] action install
     Recipe: <Dynamically Defined Resource>
       * cookbook_file[/tmp/kitchen/cache/preseed/runit/runit-2.1.1-6.2ubuntu3.seed] action create
         - create new file /tmp/kitchen/cache/preseed/runit/runit-2.1.1-6.2ubuntu3.seed
         - update content in file /tmp/kitchen/cache/preseed/runit/runit-2.1.1-6.2ubuntu3.seed from none to 9c6758
         --- /tmp/kitchen/cache/preseed/runit/runit-2.1.1-6.2ubuntu3.seed	2016-08-04 06:27:31.537261999 +0000
         +++ /tmp/kitchen/cache/preseed/runit/.chef-runit-2.1.1-6.2ubuntu3.seed20160804-1530-1rhg73k	2016-08-04 06:27:31.533261999 +0000
         @@ -1 +1,2 @@
         +runit   runit/signalinit        boolean true
       - preseed package runit
       - install version 2.1.1-6.2ubuntu3 of package runit
   Recipe: jenkins::_master_war
     * remote_file[/var/lib/jenkins/jenkins.war] action create
       - create new file /var/lib/jenkins/jenkins.war
       - update content in file /var/lib/jenkins/jenkins.war from none to 41f58e
       (file sizes exceed 10000000 bytes, diff output suppressed)
       - change owner from '' to 'jenkins'
       - change group from '' to 'jenkins'
   Recipe: <Dynamically Defined Resource>
     * service[jenkins] action nothing (skipped due to action :nothing)
   Recipe: jenkins::_master_war
     * runit_service[jenkins] action enable
       * ruby_block[restart_service] action nothing (skipped due to action :nothing)
       * ruby_block[restart_log_service] action nothing (skipped due to action :nothing)
       * directory[/etc/sv/jenkins] action create
         - create new directory /etc/sv/jenkins
         - change mode from '' to '0755'
       * template[/etc/sv/jenkins/run] action create
         - create new file /etc/sv/jenkins/run
         - update content in file /etc/sv/jenkins/run from none to ed2a6a
         --- /etc/sv/jenkins/run	2016-08-04 06:28:38.785261999 +0000
         +++ /etc/sv/jenkins/.chef-run20160804-1530-1teit3t	2016-08-04 06:28:38.785261999 +0000
         @@ -1 +1,19 @@
         +#!/bin/sh
         +
         +#
         +# This file was generated by Chef.
         +# Do NOT modify this file by hand.
         +#
         +
         +
         +exec 2>&1
         +cd /var/lib/jenkins
         +touch jenkins.start
         +exec chpst -u jenkins -U jenkins \
         +  env HOME=/var/lib/jenkins \
         +  JENKINS_HOME=/var/lib/jenkins \
         +  java  -jar jenkins.war \
         +  --httpPort=8080 \
         +  --httpListenAddress=<IP_ADDRESS> \
         +
         - change mode from '' to '0755'
       * directory[/etc/sv/jenkins/log] action create
         - create new directory /etc/sv/jenkins/log
       * directory[/etc/sv/jenkins/log/main] action create
         - create new directory /etc/sv/jenkins/log/main
         - change mode from '' to '0755'
       * directory[/var/log/jenkins] action create (up to date)
       * template[/etc/sv/jenkins/log/config] action create
         - create new file /etc/sv/jenkins/log/config
         - update content in file /etc/sv/jenkins/log/config from none to e3b0c4
         (no diff)
         - change mode from '' to '0644'
       * link[/var/log/jenkins/config] action create
         - create symlink at /var/log/jenkins/config to /etc/sv/jenkins/log/config
       * template[/etc/sv/jenkins/log/run] action create
         - create new file /etc/sv/jenkins/log/run
         - update content in file /etc/sv/jenkins/log/run from none to d76c77
         --- /etc/sv/jenkins/log/run	2016-08-04 06:28:38.841261999 +0000
         +++ /etc/sv/jenkins/log/.chef-run20160804-1530-q30f1m	2016-08-04 06:28:38.841261999 +0000
         @@ -1 +1,9 @@
         +#!/bin/sh
         +
         +#
         +# This file was generated by Chef.
         +# Do NOT modify this file by hand.
         +#
         +
         +exec chpst -unobody logger -d -p local6.info -t [jenkins]
         - change mode from '' to '0755'
       * directory[/etc/sv/jenkins/env] action create
         - create new directory /etc/sv/jenkins/env
         - change mode from '' to '0755'
       * ruby_block[zap extra env files for jenkins service] action run (skipped due to only_if)
       * template[/etc/sv/jenkins/check] action create (skipped due to only_if)
       * template[/etc/sv/jenkins/finish] action create (skipped due to only_if)
       * directory[/etc/sv/jenkins/control] action create
         - create new directory /etc/sv/jenkins/control
         - change mode from '' to '0755'
       * link[/etc/init.d/jenkins] action create
         - create symlink at /etc/init.d/jenkins to /usr/bin/sv
       * file[/etc/sv/jenkins/down] action nothing (skipped due to action :nothing)
       * ruby_block[restart_service] action run
         * ruby_block[restart_service] action nothing (skipped due to action :nothing)
         * ruby_block[restart_log_service] action nothing (skipped due to action :nothing)
         * directory[/etc/sv/jenkins] action create (up to date)
         * template[/etc/sv/jenkins/run] action create (up to date)
         * directory[/etc/sv/jenkins/log] action create (up to date)
         * directory[/etc/sv/jenkins/log/main] action create (up to date)
         * directory[/var/log/jenkins] action create (up to date)
         * template[/etc/sv/jenkins/log/config] action create (up to date)
         * link[/var/log/jenkins/config] action create (up to date)
         * template[/etc/sv/jenkins/log/run] action create (up to date)
         * directory[/etc/sv/jenkins/env] action create (up to date)
         * ruby_block[zap extra env files for jenkins service] action run (skipped due to only_if)
         * template[/etc/sv/jenkins/check] action create (skipped due to only_if)
         * template[/etc/sv/jenkins/finish] action create (skipped due to only_if)
         * directory[/etc/sv/jenkins/control] action create (up to date)
         * link[/etc/init.d/jenkins] action create (up to date)
         * file[/etc/sv/jenkins/down] action nothing (skipped due to action :nothing)
         * directory[/etc/service] action create (up to date)
         * link[/etc/service/jenkins] action create
    - create symlink at /etc/service/jenkins to /etc/sv/jenkins
         * ruby_block[wait for jenkins service socket] action run
    - execute the ruby block wait for jenkins service socket
         - execute the ruby block restart_service
       * ruby_block[restart_log_service] action run
         * ruby_block[restart_service] action nothing (skipped due to action :nothing)
         * ruby_block[restart_log_service] action nothing (skipped due to action :nothing)
         * directory[/etc/sv/jenkins] action create (up to date)

         * template[/etc/sv/jenkins/run] action create (up to date)
         * directory[/etc/sv/jenkins/log] action create (up to date)
         * directory[/etc/sv/jenkins/log/main] action create (up to date)
         * directory[/var/log/jenkins] action create (up to date)
         * template[/etc/sv/jenkins/log/config] action create (up to date)
         * link[/var/log/jenkins/config] action create (up to date)
         * template[/etc/sv/jenkins/log/run] action create (up to date)
         * directory[/etc/sv/jenkins/env] action create (up to date)
         * ruby_block[zap extra env files for jenkins service] action run (skipped due to only_if)
         * template[/etc/sv/jenkins/check] action create (skipped due to only_if)
         * template[/etc/sv/jenkins/finish] action create (skipped due to only_if)
         * directory[/etc/sv/jenkins/control] action create (up to date)
         * link[/etc/init.d/jenkins] action create (up to date)
         * file[/etc/sv/jenkins/down] action nothing (skipped due to action :nothing)
         * directory[/etc/service] action create (up to date)
         * link[/etc/service/jenkins] action create (up to date)
         * ruby_block[wait for jenkins service socket] action run
    - execute the ruby block wait for jenkins service socket
         - execute the ruby block restart_log_service
       * directory[/etc/service] action create (up to date)
       * link[/etc/service/jenkins] action create (up to date)
       * ruby_block[wait for jenkins service socket] action run
         - execute the ruby block wait for jenkins service socket

     * runit_service[jenkins] action restart (up to date)

   Running handlers:
   Running handlers complete
   Chef Client finished, 31/88 resources updated in 11 minutes 38 seconds
   Finished converging <default-ubuntu-1404> (12m23.32s).

-----> Kitchen is finished. (13m26.24s)

This is so old I can't recall the issue. I've had issues with the cookbook and the most recent versions of Jenkins because of the new default security features.

@munjeli Thanks for letting me know. I'm in the process of updating this cookbook and working through issues. I'm going to go ahead and close this one. If you have more details for your current issues please do file them.


[Bug]: Very long chunk loading times when logging in after a server starts up with paper anti xray engine mode 3

/mv version -p output
https://paste.gg/p/anonymous/78bec465cf194470b3bc0c31fc357bc5
Server logs
https://gist.github.com/partydev/87222f020f8223fa3bdf89fd6eb3de59
Server Version
This server is running Paper version git-Paper-"905f4e7" (MC: 1.20.4) (Implementing API version 1.20.4-R0.1-SNAPSHOT) (Git: 905f4e7)
Error obtaining version information
Previous version: git-Paper-"07b956e" (MC: 1.20.4)

Fork of paper up to date with this patch.
https://github.com/PaperMC/Paper/commit/76da4bc683a51057eadfabc6e6694486a20a0d20

Bug Description
When a server starts up for the first time and has engine mode 3 enabled in paper config, it can take up to or more than 30 seconds for a player to finish loading terrain and see the chunks around them.
Steps to reproduce

Download Paper.
Set anti xray engine mode to 3 following their recommended config.
Download Multiverse Core.
Start the server.
Attempt to connect.

Agreements

[X] I have searched for and ensured there isn't already an open or resolved issue(s) regarding this.
[X] I was able to reproduce my issue on a freshly setup and up-to-date server with the latest version of Multiverse plugins with no other plugins and with no kinds of other server or client mods.

You have 24 world's... I assume you have decent server specs. I note you spawn in world spawn but have set keepspawninmemory set to false. Change this to true.
I assume you removed Terra and VoidGen to rule out those as potential issues.
There are no errors from multiverse, and no mention of chunks loading, so can only assume between your PC specs and your server specs, is where the issue lies.

You have 24 world's... I assume you have decent server specs. I note you spawn in world spawn but have set keepspawninmemory set to false. Change this to true. I assume you removed Terra and VoidGen to rule out those as potential issues. There are no errors from multiverse, and no mention of chunks loading, so can only assume between your PC specs and your server specs, is where the issue lies.

This issue does not happen when Multiverse is disabled. This issue only happens when both Multiverse and Paper Antixray are enabled as mentioned above.
Server is a dedicated OVH server with 10GB of RAM allocated with a 5600x with 250mbps up bandwidth. Spark profiler shows there is no issue there.
PC is 7900x 64GB memory on a 3070. Specs are not the issue. I will not be turning on keep spawn chunks in memory because it is unnecessary chunk loading and has zero impact on resolving this issue as the issue disappears when Multiverse is disabled even though spawn chunks in memory is set to false.
Yes, as seen in the log file provided Multiverse is the only plugin enabled.

Confirmed that with fewer (5) worlds loaded the issue goes away. However, I would expect to be able to load more worlds as the issue does not happen when paper anti-xray is disabled.

Its just a matter of paper anti-xray needing to process to many chunks from too many worlds. 24 worlds is crazy for a single server. At that point you should consider multiple servers with velocity/bungeecord proxy.


Ferocious glove/Hydra leather revert CL visual dupe

🐛 Bug Report
when you +create Ferocious gloves and then +create hydra leather
the bot is adding an additional leather to the hydra collection log each time you do it.

In a lot of situations this is how an item is intended to enter the cl, but granted, you shouldn't be able to do it more and more and it count as a drop. Sounds like decent fix would be setting reverts in their own cl OR making it to where their entries don't have a number ticker.
Just my thoughts.

Thank you for reporting, fixed in next update.


Binaries from package System.IdentityModel.Tokens.Jwt version 6.22 are showing a test publisher

Hi,
I was looking at the last package that got produced and I saw this:

And I was expecting something like this:

I don't see any issues with that, it is just strange.

@eddynaka  : would you have built the package locally? Or where did you get it from?
I'm not seeing the same as you:

Hi @jmprieur ,
From nupkg manager, click in the binaries that you have in the package. In the lower window you will see the signed binary.

@eddynaka i see what you are saying, i checked back to 6.5.1 and see the same thing.
@jmprieur using Nuget Package Explorer i was able to confirm the signature details on the libraries are different that the signature on the package.

We have moved on to 7x, 6x is only taking security and important features.


Hang / infinite loop on nested recursive slice structs

Describe the bug
Goverter hangs on following input
To Reproduce

// goverter:converter
type Converter interface {
	Convert(source ShopDto) ShopModel
}

type ShopDto struct {
	Name  string
	Owner *PersonDto
}

type ShopModel struct {
	Name  string
	Owner *PersonModel
}

type PersonDto struct {
	Name    string
	Friends []PersonDto
}

type PersonModel struct {
	Name    string
	Friends []PersonModel
}

// or
type PersonDto struct {
	Name    string
	Friends *[]PersonDto
}

type PersonModel struct {
	Name    string
	Friends *[]PersonModel
}

workaround is to add typ converter signature for persondto -> personmodel to converter interface

Thanks for the report, the problem should be fixed with v0.17.4. Could you verify that it works for your use-case?

It seems it's fixed! thanks for the quick fix!


✨ Add space after emoji prefix

Thanks for this extension! It makes using Gitmoji a lot easier 🙂
When I started using this extension, I noticed that I wasn't putting spaces after the emoji even though it looks like one is already there (in the commit message box of VSCode).
This adds a space after the prefix.

Thanks for the PR @will-stone


update volcano to v1.10.0

Why are these changes needed?
volcano has a new release of v1.10.0
Related issue number
Checks

[ ] I've made sure the tests are passing.
Testing Strategy

[ ] Unit tests
[ ] Manual tests
[ ] This PR is not tested :(

@lowang-bh do we still need this?

Are you able to summarize what new features / bug fixes in v1.10 are applciable for KubeRay?

New features are:

support add a index to pod in each group with key: TaskIndex = "volcano.sh/task-index"
support new field in QueueSpec with Parent, Priority and Deserved

detail change list are https://github.com/volcano-sh/apis/compare/release-1.8...v1.10.0


[Paddle-Pipelines] Add large scale data update scripts

PR types

PR changes

Description

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


properly name the declared module

The name of the typescript module makes the index.d.ts unusable. You get TS2306 when trying to use it in a typescript project.


Error when running the rng example on stm32l476rg

When running example/stm32l4/src/bin/rng.rs I get
Error: Failed to attach to RTT
Caused by:
    Error attempting to attach to RTT: RTT control block not found in target memory.
    - Make sure RTT is initialized on the target, AND that there are NO target breakpoints before RTT initialization.
    - For VSCode and probe-rs-debugger users, using 'halt_after_reset:true' in your 'launch.json' file will prevent RTT
    initialization from happening on time.
    - Depending on the target, sleep modes can interfere with RTT.

That error is already described here Issue 2221, but adding config.rcc.clk48_src = Clk48Src::PLL1_Q ends in unknown field for clk48_src and use of undeclared type 'Clk48Src'

Try config.rcc.mux.clk48sel = Clk48sel::PLL1_Q;


mimir: 2.3.0 -> 2.3.1

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/grafana/mimir/releases.
meta.description for mimir is: "Grafana Mimir provides horizontally scalable, highly available, multi-tenant, long-term storage for Prometheus. "
meta.homepage for mimir is: "https://github.com/grafana/mimir"
meta.changelog for mimir is: ""
Updates performed

Golang update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 2.3.1 with grep in /nix/store/m2d7aqyqnm7gkwvrpn0awd3msik1gysk-mimir-2.3.1
found 2.3.1 in filename of file in /nix/store/m2d7aqyqnm7gkwvrpn0awd3msik1gysk-mimir-2.3.1

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
mimir

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/m2d7aqyqnm7gkwvrpn0awd3msik1gysk-mimir-2.3.1 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A mimir https://github.com/r-ryantm/nixpkgs/archive/6f2ed16955a14e420aff24ec9b7cd7da665ee5f8.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/m2d7aqyqnm7gkwvrpn0awd3msik1gysk-mimir-2.3.1
ls -la /nix/store/m2d7aqyqnm7gkwvrpn0awd3msik1gysk-mimir-2.3.1/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

mimir

Maintainer pings
cc @happysalada @bryanhonof for testing.

@ofborg test mimir


treat coverage files as phony to allow easy rerunning

Summary
Mark these files as phony so that make testcover can be run repeatedly.
Checklist

[ ] Did you add or remove any calls to a service or frontend?

[ ] Update the API dependency inventory

[ ] Is this a backend service?

[ ] Did you add any new endpoints or change the contract/signature of an endpoint?

[ ] Have you updated the OpenAPI specs for this service?
[ ] Have you updated Spring contracts for this service?

[ ] Did you add any new database migrations?

[ ] Do you need to add indexes?
[ ] Have the migrations been tested?

[ ] If this is a frontend application, can you still run the application locally using the provided script/command?
[ ] Is this a client library, do you need to update the consumer contract tests?
[ ] Are there any failing automated checks, and if so, have you left an explanation for reviewers?

I feel like this is an attempt to circumvent how make works since we're basically saying that these aren't real files when they are.  It also makes it different from other targets that create files (like build).  I think you can achieve what you want by running make clean testcover.  Is there a problem with doing that other than being a little longer to type?

I feel like this is an attempt to circumvent how make works since we're basically saying that these aren't real files when they are. It also makes it different from other targets that create files (like build). I think you can achieve what you want by running make clean testcover. Is there a problem with doing that other than being a little longer to type?

Well I guess I would need to remember to always do that and to take the cost of cleaning everything but yeah I guess maybe we shouldn't do this. Maybe we need to actually take the test files as dependencies to the recipes so that make does figure it out right.

It looks like we're only including _test files now, which suggests that tests would not be re-run if you make a change to a non-test file? I'm not super familiar with Make so maybe that's not the effect, but if that's the behavior here, I don't think that's right.
Personally, I don't agree that the original approach (phony) was bad or a misuse of the concept. Make assumes files are built deterministically, and not all files are in fact built deterministically. Test output (like coverage files) are an example of a file where Make's basic assumptions aren't really valid, and I think using PHONY is a reasonably way to communicate that.

Yeah I agree that this is imperfect, I was thinking about what to do about that whether it should depend on build but apparently we also just have a search already defined for all go files so I have switched used that.
The coverage files should be deterministic in theory but we've long discussed that make doesn't entirely make sense for testing, although producing a coverage files is maybe one of the ways it does to me.


Recurring and scheduled jobs support

Problem
In order to implement email analytics Ghost needs a robust system for running recurring, scheduled jobs as background processes.
Expected Outcomes
We need to be able to define jobs which:

Run in the background: process the job in the background outside the main request flow. The ability to offload to another process/thread would be ideal (and Node.js has worker threads from v12)
Shutdown gracefully: terminate any running background job gracefully on shutdown - meaning we do our best to allow a started job to finish, and can restart recurring jobs on boot.
Have a low overhead: run regularly scheduled jobs like polling for email events, without huge overhead where this functionality is not needed.

Technical solution considerations
Jobs run to collect and process analytical data are idempotent and only need to be started on specified schedule (interval). Because of this simplification, there is no need for retry, restart or provide any additional interface from job scheduler.
Analytics jobs are going to self manage their schedule definition to run on an interval at which they would be able to finish execution. This should make sure there's no job overlapping. In other words, it's up to the client to schedule jobs with enough interval, so they don't run at the same time causing possible conflicts.
Schedule expression format needs to define simple recurring schedule e.g.: run every 5 minutes. Because of this simplicity and common pattern in most established schedulers, will rely on crontab as main format. Human readable expressions with possibility to expand that to use rrule might also be supported.
To-dos:

[x] allow scheduling jobs using existing (same process/event loop) job management mechanism (https://github.com/TryGhost/Ghost-Utils/commit/284e6217c78541173b21791a51d63459a7c44952)
[x] offload job processing to worker threads (https://github.com/TryGhost/Ghost-Utils/commit/03f4add1bedc23f2773bbec207a22684d291f1b9)
[x] document how to use job manager and how to write jobs (with best practices) (https://github.com/TryGhost/Ghost-Utils/commit/1078e628413402d43d79f1401e955aaf4dd5f0fa)
[x] add a way to register one-off scheduled jobs to allow jobs like post scheduling (https://github.com/TryGhost/Ghost-Utils/issues/115)
[x] add support for custom error handling (https://github.com/TryGhost/Ghost-Utils/issues/118)
[x] scheduled job cancelation (https://github.com/TryGhost/Ghost-Utils/issues/119)
[x] add support for immidiately executed offloaded jobs (https://github.com/TryGhost/Ghost-Utils/issues/117)

All objectives of this issue have landed in @TryGhost/Ghost master.


Unable to rename a model generated from an ARM template by using @@clientName

Here is a sample: https://github.com/Azure/azure-rest-api-specs/blob/main/specification/devopsinfrastructure/Microsoft.DevOpsInfrastructure.Management/main.tsp#L413
The Azure.ResourceManager.Foundations.ResourceUpdateModel<Pool, PoolProperties> generates 2 models:

PoolUpdate
PoolUpdateProperties

All of those cannot can't be renamed by using @@clientName.

This is currently waiting for the visibility discussion

Fix this by adding an optional name template parameter used in any created models


Support multiple languages

This is something we will definitely do at some point but not right now, since things are too much influx. This issue is therefore to collect interest.
Supporting other BEAM languages is easy and can be a stepping stone but other languages will require a communication protocol.

I've managed to run Ruby code from a notebook, but I need to fix some things here and there, so no PR yet. But it kinda works. Same thing will work for Python in no time.

Having Erlang support would be awesome! How would this integrate with the language servers to get stuff like auto-complete and similar?

@TheGeorge we are not using language server here because we are using a much simpler variant. So whoever implements the Erlang bindings would need to implement the logic for autocompletion too.

.NET CORE C# (the one that runs inside a CLI on linux), Python would be awesome too.

I have significant interest in using livebook to host "living unit tests"
That run specification and contract testing on a codebase via C.
We have the tooling ready to go, livebook would just need to invoke a shell process via ports maybe.

For my Erlang Jupyter kernel I worked on a generic jupyter library (https://github.com/filmor/ierl/tree/master/apps/jupyter, https://hex.pm/packages/jupyter) which should be relatively simple to extend to also implement a Jupyter client. That would open up support for basically the whole Jupyter ecosystem.

After discussing with @jonatanklosko, we have realized it doesn't make sense for Livebook to support imperative-immutable languages, because the state tracking and cell evaluation mechanism rely on the assumption we can go back and re-execute an existing piece of code, which is hard on imperative languages since you can mutate any value created in a previous cell. So if we are branch out to the languages, we will likely continue to focus on functional ones.

It's not like Elixir or Erlang are really functional either (io:format("msg", []).).

IO is not a good example here because it changes the state around the world in a way we can capture it and manage it.
In any case, that’s not the point here. Almost all languages will have observable side-effects. The question is how prominent those are in the code.

My point was that Beam languages don't even try that hard to be purely functional. There is ets, changing state in other processes, message passing, proc dict, etc.

I am well aware. :) I didn't claim it is close to a purely functional one, but it is still a large departure from any language where every data-structure or every object is, by default, mutable.

I am wondering if Julia would stand a chance at working in an elixir livebook ?
I don't have direct experience with it but mutability seems to be explicit, it somehow targets data sciences, and there are some interesting math/science libraries to play with...
No idea how it would interface with the BEAM ecosystem though.

SQL

Closing this for now. We do plan to support specific languages (such as SQL) but for now Livebook will likely remain specific to BEAM languages.

Was there any progress on adding support for other BEAM languages? I'd be quite interested in helping out with adding Erlang support if this hasn't happened yet (and looking through the code I couldn't find any relevant references)

Hi @michalmuskala, there was no progress here but we would love Erlang support.
For simplicity, we have decided that the Erlang runtime would still be implemented in Elixir, this way we can share most of the code and still use things like mix to install packages.
I believe the work is:

Add the ability to choose an Erlang cell in the UI (you can start with an additional Code button for now and we will decide the UI later). Make sure those cells are persistent as ```erlang in the markdown and properly read back
Implement evaluation for Erlang and exception printing
Implement the intellisense features for Erlang

There are some parts we haven't figure out, however:

Smart cells define variables, and they are written in Elixir, but you can't access Elixir variables from Erlang easily and you can't easily define Erlang variables from Elixir.

Erlang doesn't have an equivalent to Mix.install/2. We have two options here: keep the initial setup/installation in Elixir or we alias 'Elixir.Mix' to ?mix to allow Erlang developers to call Mix directly. Note however that smart cells have functionality to automatically add packages, such would need to be added to Erlang too if you go the second route.

Anything else I missed @jonatanklosko?

We also need Erlang syntax highlighting in the Monaco editor.
Given that the binding can't be shared I'm not sure if we should support Erlang as part of regular runtimes, or have a separate runtime Erlang instead. More specifically, I'm not convinced we should allow both Elixir and Erlang cells in the same notebook, because then it's less "convertable" to a single script. Dependency management is a good point though, but Erlang code that calls Mix sounds good, especially that we have UI for adding packages and the user doesn't need to be concerned with getting that code right.

One option for sharing bindings would be to expose a map with them in each language: in Erlang this would be Elixir = #{a => var_a, ...} in Erlang it would be erlang = %{:A => VarA, ...}.


Import Kayak scene from geotiff

This task is to create a class/function that given an s3 path to some kayak data creates a scene via the API.
Because the kayak data does not have enough information in the metadata (e.g. acquisition date) the function do actually create the scenes may need to take additional arguments.

Note to self / for future work: It is possible to calculate sun azimuth and altitude if we have the acquisition date and position: https://pysolar.readthedocs.io/en/latest/ .


Hotfix recent AuditMode failures on CI

Our CI seems to have had an update recently to around VS 17.7.
That version contains a faulty implementation for C26478 and C26494.
The issue has been fixed in VS 17.8 and later.

Thank you for doing this.
And yeah, i moved us to 17.8 on the agents on Monday (eq)


Multiple chatops.notify actions triggered on canceling a workflow execution

Hello,
I have noticed a few times that when I cancel a mistral workflow, I get multiple chatops.notify actions triggered:

I doubt that it is how it was intended :)

Thanks for the bug report.
We will look into it, it could indeed be a bug in Mistral workflow / task cancellation.
Ideally you would also provide payload of all the related notify triggers so we can see what is going on (maybe one trigger is for the whole workflows and others are for standalone tasks or similar).

@Kami
Do you mean trigger details? If yes, then the first chatops.notify had the following:
{
  "status": "canceled",
  "start_timestamp": "2016-03-10T14:54:04.916344+00:00",
  "route": "hubot",
  "runner_ref": "mistral-v2",
  "channel": "hubot",
  "action_ref": "st2-epsibot.devqa.decom_vm",
  "data": {
    "source_channel": "55a9551f9aba294b5d780c0e",
    "result": "{\"message\": \"Action canceled by user.\", \"user\": \"icherkaev\"}",
    "user": "icherkaev"
  },
  "message": "Action st2-epsibot.devqa.decom_vm completed.",
  "execution_id": "56e18a8c8e326f5b09d5d053",
  "end_timestamp": "2016-03-10T14:54:46.764700+00:00"
}

The next one is slightly different:
{
  "status": "canceled",
  "start_timestamp": "2016-03-10T14:54:04.916344+00:00",
  "route": "hubot",
  "runner_ref": "mistral-v2",
  "channel": "hubot",
  "action_ref": "st2-epsibot.devqa.decom_vm",
  "data": {
    "source_channel": "55a9551f9aba294b5d780c0e",
    "result": "{\"tasks\": [{\"state_info\": null, \"name\": \"get_group_members\", \"created_at\": \"2016-03-10 14:54:11.089608\", \"updated_at\": \"2016-03-10 14:54:23.661415\", \"id\": \"555255d2-4e9d-4d93-98ef-82ee2af9a93a\", \"workflow_execution_id\": \"0767a129-1538-441a-938d-f1d93cc1a649\", \"state\": \"SUCCESS\", \"result\": {\"result\": \"sgao:sotran:egalindo:icherkaev\", \"exit_code\": 0, \"stderr\": \"/usr/lib/python2.7/site-packages/requests/packages/urllib3/connectionpool.py:791: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.org/en/latest/security.html\\n  InsecureRequestWarning)\\n\", \"stdout\": \"\"}, \"published\": {\"allowed_users\": \"sgao:sotran:egalindo:icherkaev\"}, \"input\": null, \"workflow_name\": \"st2-epsibot.devqa.decom_vm\"}, {\"state_info\": null, \"name\": \"publish_data\", \"created_at\": \"2016-03-10 14:54:23.663408\", \"updated_at\": \"2016-03-10 14:54:34.176842\", \"id\": \"591c2692-fdeb-4c1a-a4ee-9b6f96888ebd\", \"workflow_execution_id\": \"0767a129-1538-441a-938d-f1d93cc1a649\", \"state\": \"SUCCESS\", \"result\": {\"failed\": false, \"return_code\": 0, \"succeeded\": true}, \"published\": {\"chat_user\": \"icherkaev\", \"exec_id\": \"56e18a8c8e326f5b09d5d053\", \"source_channel\": \"55a9551f9aba294b5d780c0e\"}, \"input\": null, \"workflow_name\": \"st2-epsibot.devqa.decom_vm\"}, {\"state_info\": null, \"name\": \"access_granted\", \"created_at\": \"2016-03-10 14:54:34.179077\", \"updated_at\": \"2016-03-10 14:54:45.203259\", \"id\": \"a00a79b7-68cf-4b3c-8eff-f974463b8cd0\", \"workflow_execution_id\": \"0767a129-1538-441a-938d-f1d93cc1a649\", \"state\": \"SUCCESS\", \"result\": {\"whisper\": false, \"message\": \"@icherkaev, the action you have requested is dangerous. Please, confirm by issuing \\\"! confirm 56e18a8c8e326f5b09d5d053\\\" command. You have 45 seconds to confirm it.\", \"user\": null, \"channel\": \"55a9551f9aba294b5d780c0e\"}, \"published\": {}, \"input\": null, \"workflow_name\": \"st2-epsibot.devqa.decom_vm\"}, {\"state_info\": null, \"name\": \"wait_for_confirmation\", \"created_at\": \"2016-03-10 14:54:45.205606\", \"updated_at\": null, \"id\": \"2b17b5c5-e786-4c61-a3bf-2c9a45c5b777\", \"workflow_execution_id\": \"0767a129-1538-441a-938d-f1d93cc1a649\", \"state\": \"RUNNING\", \"result\": [], \"published\": {}, \"input\": null, \"workflow_name\": \"st2-epsibot.devqa.decom_vm\"}], \"extra\": {\"state_info\": null, \"state\": \"RUNNING\"}}",
    "user": "icherkaev"
  },
  "message": "Action st2-epsibot.devqa.decom_vm completed.",
  "execution_id": "56e18a8c8e326f5b09d5d053",
  "end_timestamp": "2016-03-10T14:54:46.764700+00:00"
}

And the third (though, usually there is only two chatops.notify tasks created after cancelling a workflow) one looks identical to the second;
{
  "status": "canceled",
  "start_timestamp": "2016-03-10T14:54:04.916344+00:00",
  "route": "hubot",
  "runner_ref": "mistral-v2",
  "channel": "hubot",
  "action_ref": "st2-epsibot.devqa.decom_vm",
  "data": {
    "source_channel": "55a9551f9aba294b5d780c0e",
    "result": "{\"tasks\": [{\"state_info\": null, \"name\": \"get_group_members\", \"created_at\": \"2016-03-10 14:54:11.089608\", \"updated_at\": \"2016-03-10 14:54:23.661415\", \"id\": \"555255d2-4e9d-4d93-98ef-82ee2af9a93a\", \"workflow_execution_id\": \"0767a129-1538-441a-938d-f1d93cc1a649\", \"state\": \"SUCCESS\", \"result\": {\"result\": \"sgao:sotran:egalindo:icherkaev\", \"exit_code\": 0, \"stderr\": \"/usr/lib/python2.7/site-packages/requests/packages/urllib3/connectionpool.py:791: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.org/en/latest/security.html\\n  InsecureRequestWarning)\\n\", \"stdout\": \"\"}, \"published\": {\"allowed_users\": \"sgao:sotran:egalindo:icherkaev\"}, \"input\": null, \"workflow_name\": \"st2-epsibot.devqa.decom_vm\"}, {\"state_info\": null, \"name\": \"publish_data\", \"created_at\": \"2016-03-10 14:54:23.663408\", \"updated_at\": \"2016-03-10 14:54:34.176842\", \"id\": \"591c2692-fdeb-4c1a-a4ee-9b6f96888ebd\", \"workflow_execution_id\": \"0767a129-1538-441a-938d-f1d93cc1a649\", \"state\": \"SUCCESS\", \"result\": {\"failed\": false, \"return_code\": 0, \"succeeded\": true}, \"published\": {\"chat_user\": \"icherkaev\", \"exec_id\": \"56e18a8c8e326f5b09d5d053\", \"source_channel\": \"55a9551f9aba294b5d780c0e\"}, \"input\": null, \"workflow_name\": \"st2-epsibot.devqa.decom_vm\"}, {\"state_info\": null, \"name\": \"access_granted\", \"created_at\": \"2016-03-10 14:54:34.179077\", \"updated_at\": \"2016-03-10 14:54:45.203259\", \"id\": \"a00a79b7-68cf-4b3c-8eff-f974463b8cd0\", \"workflow_execution_id\": \"0767a129-1538-441a-938d-f1d93cc1a649\", \"state\": \"SUCCESS\", \"result\": {\"whisper\": false, \"message\": \"@icherkaev, the action you have requested is dangerous. Please, confirm by issuing \\\"! confirm 56e18a8c8e326f5b09d5d053\\\" command. You have 45 seconds to confirm it.\", \"user\": null, \"channel\": \"55a9551f9aba294b5d780c0e\"}, \"published\": {}, \"input\": null, \"workflow_name\": \"st2-epsibot.devqa.decom_vm\"}, {\"state_info\": null, \"name\": \"wait_for_confirmation\", \"created_at\": \"2016-03-10 14:54:45.205606\", \"updated_at\": null, \"id\": \"2b17b5c5-e786-4c61-a3bf-2c9a45c5b777\", \"workflow_execution_id\": \"0767a129-1538-441a-938d-f1d93cc1a649\", \"state\": \"RUNNING\", \"result\": [], \"published\": {}, \"input\": null, \"workflow_name\": \"st2-epsibot.devqa.decom_vm\"}], \"extra\": {\"state_info\": null, \"state\": \"PAUSED\"}}",
    "user": "icherkaev"
  },
  "message": "Action st2-epsibot.devqa.decom_vm completed.",
  "execution_id": "56e18a8c8e326f5b09d5d053",
  "end_timestamp": "2016-03-10T14:54:46.764700+00:00"
}

If you need something else related to this issue, let me know.

I think this is fixed with this PR https://github.com/StackStorm/st2/pull/2369. Please re-open if it isn't.


Add Chapter for displaying Flyte Logs for the raspi microk8s deployment tutorial

This PR adds a chapter for displaying Flyte Logs to the raspi microk8s deployment tutorial.
In a first step the Chapter shows how to adjust and enable the microk8s observability addon. I a second step, it shows to to enable Flyte task logs in the Flyte binary chart and how to link to the grafana deployment coming from the observability addon.
This PR also readds the edge-values.yaml file for the raspi microk8s deployment tutorial. Looked like it was removed from this repo at some point.

@fiedlerNr9 sorry, I think reference from the README and the previous section to this new page is missing

True - let me add it!


Lumma Stealer user agent

Hi
I just did some research of Lumma Stealer and it is using outdated chrome user agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36
Maybe it's worth to add to the list? :)
Reference:
https://www.joesandbox.com/analysis/1575805/0/html
https://www.joesandbox.com/analysis/1575811/0/html
https://www.joesandbox.com/analysis/1576050/0/html

Hi @ghvbn0,
Thanks for the suggestion! I’ve added a few exceptions to my list for very old valid user-agents. However, I see this approach more as compliance detection with a high false positive rate. Including valid user-agents that are just a few years old would require maintaining an extensive list, covering various malwares and tools, which could make it impractical for users relying on this list. Instead, I believe creating a dedicated detection rule specifically for compliance checks of old user-agents is a better approach, as I’ve outlined here: https://detect.fyi/threat-hunting-suspicious-user-agents-3dd764470bd0.
That said, this specific user-agent will be relevant in a threat hunting session focused on Lumma Stealer.

Hey!
Fair enough, thanks for further explanation, it makes sense :)


Install cert_manager from release manifest

This pr add the support of installing cert-manager fromrelease manifest. It will be useful when we saw issue with
OLm resources.
Note: It also add "INSTALL_CERT_MANAGER: false" in multinode-ci.yml scenario as it has higher prefernce otherwise
It will call install_yaml certmanager scripts.
As a pull request owner and reviewers, I checked that:

[x] Appropriate testing is done and actually running

install_yamls cert-manager Issue discovered here: https://logserver.rdoproject.org/56/1556/6c4d4f5287d1e135de47eacb52bf669481beb5f5/github-check/podified-multinode-edpm-deployment-crc/1b12ed7/controller/ci-framework-data/artifacts/ci_script_004_run.sh and logs : https://logserver.rdoproject.org/56/1556/6c4d4f5287d1e135de47eacb52bf669481beb5f5/github-check/podified-multinode-edpm-deployment-crc/1b12ed7/controller/ci-framework-data/logs/ci_script_004_run.log

/approve
thanks for that splitting, it will make things less verbose and slightly faster instead of the long skipped tasks list.

/lgtm


request.user returns AnonymousUser

Is there a method to return the authorised user when using JSONWebTokenAuthentication in DEFAULT_AUTHENTICATION_CLASSES? I'm calling a view very similar to this http://stackoverflow.com/a/20569205 but this doesn't work as request.user returns AnonymousUser.

I'm running into the same issue. request.user always returns Anonymous User.
These are my DEFAULT_AUTHENTICATION_CLASSES:
'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework_jwt.authentication.JSONWebTokenAuthentication',
'rest_framework.authentication.SessionAuthentication',
'rest_framework.authentication.BasicAuthentication',
),

I have the same problem with TokenAuthentication using Postman for tests
'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework.authentication.TokenAuthentication',
'rest_framework.authentication.SessionAuthentication',
'rest_framework.authentication.BasicAuthentication',
)

I was facing this issue after deploying to AWS EBS.
You need to allow Authorization headers. Add this to .ebextensions
WSGIPassAuthorization On

I was facing this issue after deploying to AWS EBS.
You need to allow Authorization headers. Add this to .ebextensions
WSGIPassAuthorization On
Thank's
Where can I find .ebextensions ?


403 error for responseData call if the url has expiry

I have URL with expiry(1 time fetch) , hitting through Alamofire throws 403, which is possible if the call has been made twice. Please update me there is an issue with calling such secured urls through Alamofire

URLSession will automatically retry requests which fail with an authentication error, but 403 is not one of those. I suggest you investigate your actual network traffic and try to narrow it down that way.
Also, we use our GitHub project for bug reports and feature requests. In the future, you should open questions like this on Stack Overflow and tag alamofire.
Cheers. 🍻

From our Contribution Guidelines
Asking Questions
We don't use GitHub as a support forum. For any usage questions that are not specific to the project itself, please ask on Stack Overflow instead. By doing so, you'll be more likely to quickly solve your problem, and you'll allow anyone else with the same question to find the answer. This also allows maintainers to focus on improving the project for others.


New version: Unity.Unity.6000.MacServer version 6000.0.16f1

Created by 🥟 Dumplings in workflow run #7554.

Log
Updated: 6000.0.15f1 → 6000.0.16f1
Submitting WinGet manifests
Creating manifests
Uploading manifests and making commits
Creating a pull request
Pull request created: New version: Unity.Unity.6000 version 6000.0.16f1 - https://github.com/microsoft/winget-pkgs/pull/168874
Handling Unity.Unity.6000.Android...
Submitting WinGet manifests
Creating manifests
Uploading manifests and making commits
Creating a pull request
Pull request created: New version: Unity.Unity.6000.Android version 6000.0.16f1 - https://github.com/microsoft/winget-pkgs/pull/168875
Handling Unity.Unity.6000.iOS...
Submitting WinGet manifests
Creating manifests
Uploading manifests and making commits
Creating a pull request
Pull request created: New version: Unity.Unity.6000.iOS version 6000.0.16f1 - https://github.com/microsoft/winget-pkgs/pull/168876
Handling Unity.Unity.6000.tvOS...
Submitting WinGet manifests
Creating manifests
Uploading manifests and making commits
Creating a pull request
Pull request created: New version: Unity.Unity.6000.tvOS version 6000.0.16f1 - https://github.com/microsoft/winget-pkgs/pull/168877
Handling Unity.Unity.6000.visionOS...
Submitting WinGet manifests
Creating manifests
Uploading manifests and making commits
Creating a pull request
Pull request created: New version: Unity.Unity.6000.visionOS version 6000.0.16f1 - https://github.com/microsoft/winget-pkgs/pull/168878
Handling Unity.Unity.6000.LinuxIL2CPP...
Submitting WinGet manifests
Creating manifests
Uploading manifests and making commits
Creating a pull request
Pull request created: New version: Unity.Unity.6000.LinuxIL2CPP version 6000.0.16f1 - https://github.com/microsoft/winget-pkgs/pull/168879
Handling Unity.Unity.6000.LinuxMono...
Submitting WinGet manifests
Creating manifests
Uploading manifests and making commits
Creating a pull request
Pull request created: New version: Unity.Unity.6000.LinuxMono version 6000.0.16f1 - https://github.com/microsoft/winget-pkgs/pull/168880
Handling Unity.Unity.6000.LinuxServer...
Submitting WinGet manifests
Creating manifests
Uploading manifests and making commits
Creating a pull request
Pull request created: New version: Unity.Unity.6000.LinuxServer version 6000.0.16f1 - https://github.com/microsoft/winget-pkgs/pull/168881
Handling Unity.Unity.6000.MacMono...
Submitting WinGet manifests
Creating manifests
Uploading manifests and making commits
Creating a pull request
Pull request created: New version: Unity.Unity.6000.MacMono version 6000.0.16f1 - https://github.com/microsoft/winget-pkgs/pull/168882
Handling Unity.Unity.6000.MacServer...
Submitting WinGet manifests
Creating manifests
Uploading manifests and making commits
Creating a pull request

Microsoft Reviewers: Open in CodeFlow

Depends on https://github.com/microsoft/winget-pkgs/pull/168874

/azp run

Automatic Validation ended with:

2024-08-26 16:19:46.667 [FAIL] D:\a_work\1\s\external\pkg\src\AppInstallerRepositoryCore\RepositorySource.cpp(757)\WindowsPackageManager.dll!00007FFF909FC11F: (caller: 00007FFF90788D6F) LogHr(1) tid(14b0) 8A15005E     Msg:[D:\a_work\1\s\external\pkg\src\AppInstallerRepositoryCore\Rest\Schema\HttpClientHelper.cpp(30)\WindowsPackageManager.dll!00007FFF90902B08: (caller: 00007FFF909ABC20) Exception(1) tid(14b0) 8A15005E ]
2024-08-26 16:19:55.885 [FAIL] D:\a_work\1\s\external\pkg\src\AppInstallerRepositoryCore\RepositorySource.cpp(757)\WindowsPackageManager.dll!00007FFF7898C11F: (caller: 00007FFF78718D6F) LogHr(1) tid(1784) 8A15005E     Msg:[D:\a_work\1\s\external\pkg\src\AppInstallerRepositoryCore\Rest\Schema\HttpClientHelper.cpp(30)\WindowsPackageManager.dll!00007FFF78892B08: (caller: 00007FFF7893BC20) Exception(1) tid(1784) 8A15005E ]

(Automated response - build 888.)

/azp run

Automatic Validation ended with:
(Automated response - build 891.)


Fallback to current song waveforms in song preview

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)

Bug fix

What is the current behavior? (You can also link to an open issue here)

Wave preview fails because no waveforms are passed to the function

What is the new behavior (if this is a feature change)?

If no waveform are passed to the function use the current song waveforms. The parameter waveforms are only used for previewing from the instrument editor as they might be changed there.

Does this PR introduce a breaking change? (What changes might users need to make in their application due to this PR?)

No

Other information:

Thanks @pau-tomas that's much better.
Small issue I've noticed is if you edit the waveform, the "Test Instrument" button immediately reflects the change but if you then click to add a note it seems like it uses the original waveform. If you play the song, then add a new note though it then correctly uses the new waveform.


Hover popup not showing up when hovering the keyword's first character.

Component:

LSP (used with other editor)

LSP version: 0.12.1
OS version and name: Manjaro Linux (Kernel 6.7.4)

I am on the latest stable version of the extension/LSP.
I have searched the issues of this repo and believe that this is not a duplicate.

Issue
The LSP does not seem to react to the cursor hovering when hovering the first character of the keyword.
I have noticed this on my NeoVim and checked this also happens in VS Code.
Temporal Fix
Add +1 to the line in src/server/hover.rs:
https://github.com/nvarner/typst-lsp/blob/0d5b9330a1d515fa47456e755f751ea4056282b8/src/server/hover.rs#L27C17-L28C92
let typst_offset =
    lsp_to_typst::position_to_offset(position, position_encoding, &source) + 1;

Possible cause
possibly, wrong byte index (shifted by one) is returned from typst_syntax::source::Source::utf16_to_byte and/or typst_syntax::source::Source::line_column_to_byte

#145 might be related


php: Drop PHP 7.4

Description of changes
Drop PHP 7.4
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

1 package blacklisted:
nixos-install-tools
1 package failed to build:
arcanist
13 packages built:
cutelyst easyeffects engelsystem lsp-plugins php80Extensions.couchbase php80Extensions.ds php81Extensions.couchbase php81Extensions.ds pulseeffects-legacy snipe-it unit uwsgi virtlyst

With #173272 merged, I have no other objections left.

So it's now rebased on master :slightly_smiling_face:

Similar result to before rebase:
2 packages blacklisted:
nixos-install-tools tests.nixos-functions.nixos-test
1 package failed to build:
arcanist
12 packages built:
cutelyst easyeffects engelsystem lsp-plugins php80Extensions.couchbase php80Extensions.ds php81Extensions.couchbase php81Extensions.ds pulseeffects-legacy unit uwsgi virtlyst

Feel like dropping 7.4 completely was as little early, the 22.11 cycle doesn't branch off for another 3 months.
Many downstream php projects are usually very slow to adopt a new version of php. Arcanist (which admittedly is no longer officially maintained) has very little desire to fully fix php 8 compatibility

We're usually pretty aggressive on this. Too aggressive? Maybe not... We should add the nix-phps repository that @jtojnar (and to a much lesser extent a few others of us) maintain. This repository is a php developers dream come true and if properly documented in our nixpkgs manual I think this is ok. Keep in mind that upstream is pretty harsh about dropping support on an exact schedule, so I think our behavior was intended to reflect theirs.
If this rationale isn't convincing we can/should definitely start a conversation.


cue2pops: modernize derivation; add missing license & update to 0-unstable-2023-01-15

cue2pops: modernize derivation; add missing license
cue2pops: unstable-2018-01-04 -> 0-unstable-2023-01-15

Description of changes
Cleans up the cue2pops derivation a little, removing nested with lib; and
adding missing hooks for the installPhase.
Also adds the missing license (unfree, as upstream provides none), updates the
program to the latest commit and removes the CC hack as it has been fixed
upstream.

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See
Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s)
(look inside
nixos/tests)
and/or
package tests
or, for functions and "core" functionality, tests in
lib/tests or
pkgs/test
made sure NixOS tests are
linked
to the relevant packages

[ ] Tested compilation of all packages that depend on this change using
nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all
changes have to be committed, also see
nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in
./result/bin/)
24.11 Release Notes
(or backporting
23.11
and
24.05
Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or
breaking
[ ] (Module updates) Added a release notes entry if the change is
significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS
module

[x] Fits
CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

About licensing, I have found this:
https://github.com/suicvne/cue2pops-gui-mac/commit/e3682bfd53d2ee69a0f28c2d540b313e02ace7a8


POP3s not connecting, gmail using TLSv1 dovecot expecting SSL

I am trying to have gmail connect to pop3s and download email. (I had a h*ll of a time trying to setup SSL, but that is for another issue) I have tested it with IPV4 from thunderbird and it works.
I have gone into gmail settings - Add a mail account - set it up to use port 995 and SSL.
I am using tcpdump on the port to see if gmail is trying to connect, Yes I see packets
I see google is using TLSv1 while dovecot is expecting SSL( I think)
Context

I need gmail to connect to this POP3S server
Expected Behavior

gmail should connect using SSL
Actual Behavior

gmail connects using TLSv1
Possible Fix

working on it
Steps to Reproduce

.I have gone into gmail settings - Add a mail account - set it up to use port 995 and SSL.
Your Environment

Amount of RAM available:
Mailserver version used:
Docker version used:
ENABLE_POP3=1

SSL_TYPE=manual
SSL_CERT_PATH=/tmp/ssl/fullchain.pem
SSL_KEY_PATH=/tmp/ssl/privkey.pem

/root/mailserver/ssl:/tmp/ssl:ro

tvial/docker-mailserver:latest
pop3s.cap.txt

I see that port 110 for pop3 is never enabled
looking at
https://wiki.dovecot.org/SSL
I see that by setting "disable_plaintext_auth=yes and ssl=required" port 110 is forced to use TLS
I can tell you where the problem is and a general fix, but I can not suggest a patch because I do not know docker that well.  I would fork it and modify it it myself If I knew docker better.
This is very important to me.  PLEASE FIX!
service pop3-login {
  inet_listener pop3 {
    #port = 110
  }
  inet_listener pop3s {
    #port = 995
    #ssl = yes
  }
}

Port 995 is SSL only. https://en.wikipedia.org/wiki/Post_Office_Protocol#STARTTLS
On the normal 110 port TLS should be enabled.
I don't use pop3 so I could not be sure. You can see the tests that are done here:
https://github.com/tomav/docker-mailserver/blob/a198ea8495f866eec1d276d502cd85ad4c40ca4a/test/tests.bats#L208-L221

Is this still relevant? Dovecot uses TLS 1.2 by default (see TLS_LEVEL in the readme), but surely Google must have upgraded GMail to support that by now?

Closing due to inactivity, please reopen or file a new issue if the problem persists.


Presence text rework

This PR isn't quite ready to be merged in as there are a few issues with group count reporting. Was hoping that you might have more knowledge of the E:D API and how to get a current count of how many people are in a wing or multi-crew.
Right now, when a wing player leaves, I'm not seeing a way to get an event for that, so reported wing size can grow infinitely large.

Hi, first of all sorry for the delay in responding, Things were hectic at that time for me and I just couldn't focus on personal projects. But I am getting back into things so if you want to discuss stuff, hit me up. In the meantime I am going to migrate the plugin to Python3 to make it work with the latest EDMC.

Thank you @dudeofawesome for your pull request, I used a lot of your additions to modify the plugin as I wanted.
I found a solution for the planet name problem on landing: just save the name of the nearby planet at the time of the "ApproachBody" event and use it later in the SRV/Liftoff events.
The only way to land is to approach a Body, I think this is a good approach to the problem.
I did the same thing to get the number of the Landingpad.
The whole thing has been push on the Master branch, if you have an idea for improvement I'll thank you for it.
Translated with www.DeepL.com/Translator (free version)

Hi, could you let me know the status of this PR? Please rebase to latest master and if you are fine with this, I can try and merge it.

Hi
I am going to close this PR. A lot of changes have been done in the meantime and if you still feel that your problem is unaddressed, please raise another PR and I will take a look.


Update instrumentation.md

End span outside task process doesn't work #934

@open-telemetry/erlang-approvers could you all take a look? Also, we should probably add y'all as approvers to this subsection of the docs

@cartermp et all: does this close #934? If so, can you close it? Thanks!

Ah yup, thanks! :+1:


invalid composer.json

invalid composer.json check the "authors" for the missing ","

This was fixed long ago.


Is there a way to do vertical Slider & have the minValue not have a white thumb color?

Basically want this for a height slider. 👍
I tried switching around some x values for y values in the Slider source, but am having trouble pulling it off.

I'm sorry, the sliders are hardcoded as horizontal for now😅
You can submit PRs to improve it, if you like to 😁


proposal: package and file organisation

Problem
Packages that build up a large list of files can become rather cumbersome to work with. For example an entity package for a game server could start to become frustrating to navigate after enough entities are created e.g.:
|---> entity
      |---> character.go
      |---> chat.go
      |---> monster.go
      |---> attack.go
      |---> map.go
      |---> item.go
      |---> drop.go
      |---> characterPacket.go
      |---> chatPacket.go
      |---> monsterPacket.go
      |---> attackPacket.go
      |---> mapPacket.go
      |---> itemPacket.go
      |---> dropPacket.go
      |---> ....

As more entities are created it becomes exceedingly frustrating to find a file/struct/function of interest.
Proposal
Allow the use of folders within a package starting with "__" or "_" to retain the parent package's 'namespace'. The above file layout could be turned into:
|---> entity
      |---> character.go
      |---> chat.go
      |---> monster.go
      |---> attack.go
      |---> map.go
      |---> item.go
      |---> drop.go
      |---> ....
            |---> __packet
                  |---> characterPacket.go
                  |---> chatPacket.go
                  |---> monsterPacket.go
                  |---> attackPacket.go
                  |---> mapPacket.go
                  |---> itemPacket.go
                  |---> dropPacket.go
                  |---> ....

Since the files under the __packet folder are still part of the entity package they are able to use the data structures and functions stored in the parent folder and the parent folder files are able to call the functions in the __packet folder without causing cyclical dependency issues.

may I su

The difficulty of navigating a package with many source files has come up before.
In #27876 @yjiangnan reported:

when reading Go code of others [esp. on Github], names undeclared in the current file often come up ... Those names ... declared in another file in the package, would be much more easily understood [if their origin were available].

In that issue, I suggested letting go/doc output a "package internals manifest" -- essentially a human-readable index of identifiers from the package, with source file and line number for each.
Perhaps I should file a separate proposal along those lines?

Isn't this solved with an IDE and using the corresponding jump-to-function or jump-to-struct feature ? With just a couple of keystrokes, I can go to any func/method/struct I want without looking for anything else.
I think is up to the user to decide when to split code into separate files or include them in a single one. And it is the IDE's job to help the user in finding the appropriate code.

@agnivade this would create a somewhat unreasonable overhead I github projects, as you would have to clone every repo you wanted to inspect.
Being able to group files in a package using a folder would provide a non intrusive way of organising files allowing anyone irrespective of their development/viewing environment to navigate larger packages more easily.
@networkimprov that sounds like an interesting idea. However, I don't think it quite solves the issue of navigating large packages (especially on github) in an intuitive manner.

I am not sure what this adds over just prefixing the file names instead of putting them in a sub-folder.
For instance:
|---> entity
      |---> character.go
      |---> chat.go
      |---> monster.go
      |---> attack.go
      |---> map.go
      |---> item.go
      |---> drop.go
      |---> packet_character.go
      |---> packet_chat.go
      |---> packet_monster.go
      |---> packet_attack.go
      |---> packet_map.go
      |---> packet_item.go
      |---> packet_drop.go
      |---> ....

provides the same kind of "grouping" the folder does, but would be a lot less hassle to deal with, does not require any new rules, and far more importantly would not break all existing tooling.

@ianthehat whilst I disagree somewhat to just using filenames I do agree that the effort to add this in to the current tooling is probably not worth the benefit it might provide as it would only used sparingly I imagine.


SyntaxError: Unexpected token e in JSON at position 0

Please give me adivse for error when I run "npm run start" after clone antd-admin source.
Please give me advice.
Thank you.

if (ie) give up,go chrome
else yarn install

I ran yarn install already and try many browsers but it's not working.

both mac and win runs well in my side
if not yarn's network or mirror error, must be your change to user.js related in error above, check your code


Segmentation Fault Core dump

Model I am using LayoutLM: i use torch.1.4.0, 10.1

@lgcy can you please provide more details?

@lgcy can you please provide more details?

i have solved the problem by using torch1.5


Setup Github Actions

Summary
Setup Github Actions

eslint
flow
cache
Android build (multiple versions next->0.73.0-rc.3, latest->0.72.6, 0.71-stable->0.71.14)
iOS buid (multiple versions: next->0.73.0-rc.3, latest->0.72.6, 0.71-stable->0.71.14)

Test plan
Tested on my fork: https://github.com/retyui/react-native-image-editor/actions/runs/6718981645

Awesome! I think it would be enough to test the build on the latest RN version. Although 3 seem nice, it sounds like overkill for this library (making the test runs last 30+ min instead of 10-ish)

Good point!


Add failing tests for optional param groups

Hey! I wanted to check and see what y'all think of potentially modifying formatPattern to support optional param groups a little better. I've got an odd case in an application where we're using optional groups of parameters instead of query params, effectively.
I'm using formatPattern to generate paths for transitionTo in a couple of places, and it's not returning the URLs that I would expect. The behavior I hoped for is that if there's an optional group of parameters, like /foo(/type/:typeName), that if no typeName value was present, the path generated by formatPattern wouldn't include that optional segment.

Expected result: /foo
Actual result: /foo/type/

If this isn't something formatPattern should handle, I expect that the right solution is for me to use splats and handle it manually.
See the attached failing tests for examples.

This is definitely an interesting idea, @alexlande. Thanks for sharing :)
I think there may be some weird edge cases though. e.g. what would you expect from
formatPattern('/comments(/edit/:id/mode/:modeType)', { id: 123 })

?
In this case, if we use the fact that the modeType param was not supplied to omit the entire optional group, we'd end up with just /comments. Is that what you'd expect?

I think so, yeah. It's a little weird, but I would sort of expect behavior like this:
formatPattern('/comments(/edit/:id/mode/:modeType)', { id: 123 })
=> '/comments'

formatPattern('/comments(/edit/:id(/mode/:modeType))', { id: 123 })
=> '/comments/edit/123'

Handling nested optional params seems it like it would get hairy pretty quickly though.

we'll come back to this


pyppeteer 1.0.2

Checklist

[x] Used a personal fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[x] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

Notes:

upstream now finally actually includes all of the baseline security requirements
let's get this out, but perhaps now we can actually consider what it would take to get to and test #3

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@conda-forge/pyppeteer ready for review


setup terraform

Plan details

  # aws_apigatewayv2_api.api will be created
  + resource "aws_apigatewayv2_api" "api" {
      + api_endpoint                 = (known after apply)
      + api_key_selection_expression = "$request.header.x-api-key"
      + arn                          = (known after apply)
      + execution_arn                = (known after apply)
      + id                           = (known after apply)
      + name                         = "vcc-dev-api"
      + protocol_type                = "HTTP"
      + route_selection_expression   = "$request.method $request.path"
      + tags_all                     = {
          + "Author"      = "FreshWorks Studio"
          + "Environment" = "dev"
          + "Project"     = "vcc"
        }
    }

  # aws_apigatewayv2_integration.api will be created
  + resource "aws_apigatewayv2_integration" "api" {
      + api_id                                    = (known after apply)
      + connection_type                           = "INTERNET"
      + description                               = "vcc-dev-api"
      + id                                        = (known after apply)
      + integration_method                        = "POST"
      + integration_response_selection_expression = (known after apply)
      + integration_type                          = "AWS_PROXY"
      + integration_uri                           = (known after apply)
      + payload_format_version                    = "1.0"
      + timeout_milliseconds                      = (known after apply)
    }

  # aws_apigatewayv2_route.api will be created
  + resource "aws_apigatewayv2_route" "api" {
      + api_id             = (known after apply)
      + api_key_required   = false
      + authorization_type = "NONE"
      + id                 = (known after apply)
      + route_key          = "$default"
      + target             = (known after apply)
    }

  # aws_apigatewayv2_stage.api will be created
  + resource "aws_apigatewayv2_stage" "api" {
      + api_id        = (known after apply)
      + arn           = (known after apply)
      + auto_deploy   = true
      + deployment_id = (known after apply)
      + execution_arn = (known after apply)
      + id            = (known after apply)
      + invoke_url    = (known after apply)
      + name          = "$default"
      + tags_all      = {
          + "Author"      = "FreshWorks Studio"
          + "Environment" = "dev"
          + "Project"     = "vcc"
        }

      + access_log_settings {
          + destination_arn = (known after apply)
          + format          = jsonencode(
                {
                  + errorMessage   = "$context.error.message"
                  + httpMethod     = "$context.httpMethod"
                  + ip             = "$context.identity.sourceIp"
                  + path           = "$context.path"
                  + requestId      = "$context.requestId"
                  + requestTime    = "$context.requestTime"
                  + responseLength = "$context.responseLength"
                  + status         = "$context.status"
                }
            )
        }
    }

  # aws_cloudfront_distribution.app will be created
  + resource "aws_cloudfront_distribution" "app" {
      + arn                            = (known after apply)
      + caller_reference               = (known after apply)
      + comment                        = "vcc-dev-app"
      + default_root_object            = "index.html"
      + domain_name                    = (known after apply)
      + enabled                        = true
      + etag                           = (known after apply)
      + hosted_zone_id                 = (known after apply)
      + http_version                   = "http2"
      + id                             = (known after apply)
      + in_progress_validation_batches = (known after apply)
      + is_ipv6_enabled                = true
      + last_modified_time             = (known after apply)
      + price_class                    = "PriceClass_100"
      + retain_on_delete               = false
      + status                         = (known after apply)
      + tags_all                       = {
          + "Author"      = "FreshWorks Studio"
          + "Environment" = "dev"
          + "Project"     = "vcc"
        }
      + trusted_key_groups             = (known after apply)
      + trusted_signers                = (known after apply)
      + wait_for_deployment            = true

      + custom_error_response {
          + error_code         = 404
          + response_code      = 200
          + response_page_path = "/"
        }

      + default_cache_behavior {
          + allowed_methods        = [
              + "GET",
              + "HEAD",
              + "OPTIONS",
            ]
          + cache_policy_id        = "4135ea2d-6df8-44a3-9df3-4b5a84be39ad"
          + cached_methods         = [
              + "GET",
              + "HEAD",
              + "OPTIONS",
            ]
          + compress               = false
          + default_ttl            = (known after apply)
          + max_ttl                = (known after apply)
          + min_ttl                = 0
          + target_origin_id       = "app"
          + trusted_key_groups     = (known after apply)
          + trusted_signers        = (known after apply)
          + viewer_protocol_policy = "redirect-to-https"

          + function_association {
              + event_type   = "viewer-response"
              + function_arn = (known after apply)
            }
        }

      + logging_config {
          + bucket          = (known after apply)
          + include_cookies = false
        }

      + ordered_cache_behavior {
          + allowed_methods        = [
              + "DELETE",
              + "GET",
              + "HEAD",
              + "OPTIONS",
              + "PATCH",
              + "POST",
              + "PUT",
            ]
          + cached_methods         = [
              + "GET",
              + "HEAD",
            ]
          + compress               = true
          + default_ttl            = 0
          + max_ttl                = 0
          + min_ttl                = 0
          + path_pattern           = "/api/*"
          + target_origin_id       = "api"
          + viewer_protocol_policy = "redirect-to-https"

          + forwarded_values {
              + headers                 = [
                  + "authorization",
                  + "user-agent",
                  + "x-forwarded-for",
                ]
              + query_string            = true
              + query_string_cache_keys = (known after apply)

              + cookies {
                  + forward = "all"
                }
            }

          + function_association {
              + event_type   = "viewer-response"
              + function_arn = (known after apply)
            }
        }

      + origin {
          + connection_attempts = 3
          + connection_timeout  = 10
          + domain_name         = (known after apply)
          + origin_id           = "api"

          + custom_origin_config {
              + http_port                = 80
              + https_port               = 443
              + origin_keepalive_timeout = 5
              + origin_protocol_policy   = "https-only"
              + origin_read_timeout      = 30
              + origin_ssl_protocols     = [
                  + "TLSv1.2",
                ]
            }
        }
      + origin {
          + connection_attempts = 3
          + connection_timeout  = 10
          + domain_name         = (known after apply)
          + origin_id           = "app"

          + s3_origin_config {
              + origin_access_identity = (known after apply)
            }
        }

      + restrictions {
          + geo_restriction {
              + locations        = (known after apply)
              + restriction_type = "none"
            }
        }

      + viewer_certificate {
          + cloudfront_default_certificate = true
          + minimum_protocol_version       = "TLSv1"
        }
    }

  # aws_cloudfront_function.response will be created
  + resource "aws_cloudfront_function" "response" {
      + arn             = (known after apply)
      + code            = <<-EOT
            function handler(event) {
              var response = event.response;
              var headers = response.headers;

              // Set HTTP security headers
              headers["strict-transport-security"] = {
                value: "max-age=63072000; includeSubdomains; preload",
              };
              headers["content-security-policy"] = {
                value:
                  "default-src 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'; style-src 'self' 'unsafe-inline';",
              };
              headers["x-content-type-options"] = { value: "nosniff" };
              headers["x-frame-options"] = { value: "DENY" };
              headers["x-xss-protection"] = { value: "1; mode=block" };
              headers["style-src"] = { value: "'self' 'unsafe-inline'; " };

              // Return the response to viewers
              return response;
            }
        EOT
      + comment         = "Add security headers"
      + etag            = (known after apply)
      + id              = (known after apply)
      + live_stage_etag = (known after apply)
      + name            = "vcc-dev-cf-response"
      + publish         = true
      + runtime         = "cloudfront-js-1.0"
      + status          = (known after apply)
    }

  # aws_cloudfront_origin_access_identity.app will be created
  + resource "aws_cloudfront_origin_access_identity" "app" {
      + caller_reference                = (known after apply)
      + cloudfront_access_identity_path = (known after apply)
      + comment                         = "vcc-dev-app"
      + etag                            = (known after apply)
      + iam_arn                         = (known after apply)
      + id                              = (known after apply)
      + s3_canonical_user_id            = (known after apply)
    }

  # aws_cloudwatch_log_group.api_gateway will be created
  + resource "aws_cloudwatch_log_group" "api_gateway" {
      + arn               = (known after apply)
      + id                = (known after apply)
      + name              = "api-gateway/vcc-dev-api"
      + retention_in_days = 0
      + tags_all          = {
          + "Author"      = "FreshWorks Studio"
          + "Environment" = "dev"
          + "Project"     = "vcc"
        }
    }

  # aws_iam_role.lambda will be created
  + resource "aws_iam_role" "lambda" {
      + arn                   = (known after apply)
      + assume_role_policy    = jsonencode(
            {
              + Statement = [
                  + {
                      + Action    = "sts:AssumeRole"
                      + Effect    = "Allow"
                      + Principal = {
                          + Service = [
                              + "lambda.amazonaws.com",
                            ]
                        }
                    },
                ]
              + Version   = "2012-10-17"
            }
        )
      + create_date           = (known after apply)
      + description           = "Lambda execution role for vcc-dev"
      + force_detach_policies = false
      + id                    = (known after apply)
      + managed_policy_arns   = (known after apply)
      + max_session_duration  = 3600
      + name                  = "vcc-dev-lambda"
      + name_prefix           = (known after apply)
      + path                  = "/"
      + tags_all              = {
          + "Author"      = "FreshWorks Studio"
          + "Environment" = "dev"
          + "Project"     = "vcc"
        }
      + unique_id             = (known after apply)

      + inline_policy {
          + name   = (known after apply)
          + policy = (known after apply)
        }
    }

  # aws_iam_role_policy_attachment.lambda_cloudwatch will be created
  + resource "aws_iam_role_policy_attachment" "lambda_cloudwatch" {
      + id         = (known after apply)
      + policy_arn = "arn:aws:iam::aws:policy/CloudWatchFullAccess"
      + role       = "vcc-dev-lambda"
    }

  # aws_iam_role_policy_attachment.lambda_dynamodb will be created
  + resource "aws_iam_role_policy_attachment" "lambda_dynamodb" {
      + id         = (known after apply)
      + policy_arn = "arn:aws:iam::aws:policy/AmazonDynamoDBFullAccess"
      + role       = "vcc-dev-lambda"
    }

  # aws_iam_role_policy_attachment.lambda_execute will be created
  + resource "aws_iam_role_policy_attachment" "lambda_execute" {
      + id         = (known after apply)
      + policy_arn = "arn:aws:iam::aws:policy/service-role/AWSLambdaRole"
      + role       = "vcc-dev-lambda"
    }

  # aws_iam_role_policy_attachment.lambda_s3 will be created
  + resource "aws_iam_role_policy_attachment" "lambda_s3" {
      + id         = (known after apply)
      + policy_arn = "arn:aws:iam::aws:policy/AmazonS3FullAccess"
      + role       = "vcc-dev-lambda"
    }

  # aws_iam_role_policy_attachment.lambda_sqs will be created
  + resource "aws_iam_role_policy_attachment" "lambda_sqs" {
      + id         = (known after apply)
      + policy_arn = "arn:aws:iam::aws:policy/AmazonSQSFullAccess"
      + role       = "vcc-dev-lambda"
    }

  # aws_iam_role_policy_attachment.lambda_vpc will be created
  + resource "aws_iam_role_policy_attachment" "lambda_vpc" {
      + id         = (known after apply)
      + policy_arn = "arn:aws:iam::aws:policy/service-role/AWSLambdaVPCAccessExecutionRole"
      + role       = "vcc-dev-lambda"
    }

  # aws_lambda_function.api will be created
  + resource "aws_lambda_function" "api" {
      + architectures                  = (known after apply)
      + arn                            = (known after apply)
      + description                    = "API for vcc-dev"
      + filename                       = "build/api.zip"
      + function_name                  = "vcc-dev-api"
      + handler                        = "lambda.handler"
      + id                             = (known after apply)
      + invoke_arn                     = (known after apply)
      + last_modified                  = (known after apply)
      + memory_size                    = 2048
      + package_type                   = "Zip"
      + publish                        = false
      + qualified_arn                  = (known after apply)
      + reserved_concurrent_executions = -1
      + role                           = (known after apply)
      + runtime                        = "nodejs14.x"
      + signing_job_arn                = (known after apply)
      + signing_profile_version_arn    = (known after apply)
      + source_code_hash               = "aB9ZX+kMU8ZwxZ/jLxglwd4FGVhDJ1kSkrNAMoUMhlc="
      + source_code_size               = (known after apply)
      + tags_all                       = {
          + "Author"      = "FreshWorks Studio"
          + "Environment" = "dev"
          + "Project"     = "vcc"
        }
      + timeout                        = 30
      + version                        = (known after apply)

      + environment {
          + variables = {
              + "NODE_ENV" = "dev"
            }
        }

      + tracing_config {
          + mode = (known after apply)
        }
    }

  # aws_lambda_permission.api_allow_gateway will be created
  + resource "aws_lambda_permission" "api_allow_gateway" {
      + action        = "lambda:InvokeFunction"
      + function_name = "vcc-dev-api"
      + id            = (known after apply)
      + principal     = "apigateway.amazonaws.com"
      + source_arn    = (known after apply)
      + statement_id  = (known after apply)
    }

  # aws_s3_bucket.app will be created
  + resource "aws_s3_bucket" "app" {
      + acceleration_status         = (known after apply)
      + acl                         = "private"
      + arn                         = (known after apply)
      + bucket                      = "vcc-dev-app"
      + bucket_domain_name          = (known after apply)
      + bucket_regional_domain_name = (known after apply)
      + force_destroy               = false
      + hosted_zone_id              = (known after apply)
      + id                          = (known after apply)
      + region                      = (known after apply)
      + request_payer               = (known after apply)
      + tags_all                    = {
          + "Author"      = "FreshWorks Studio"
          + "Environment" = "dev"
          + "Project"     = "vcc"
        }
      + website_domain              = (known after apply)
      + website_endpoint            = (known after apply)

      + logging {
          + target_bucket = (known after apply)
          + target_prefix = "vcc-dev-app/"
        }

      + versioning {
          + enabled    = true
          + mfa_delete = false
        }
    }

  # aws_s3_bucket.app_logs will be created
  + resource "aws_s3_bucket" "app_logs" {
      + acceleration_status         = (known after apply)
      + acl                         = "log-delivery-write"
      + arn                         = (known after apply)
      + bucket                      = "vcc-dev-app-logs"
      + bucket_domain_name          = (known after apply)
      + bucket_regional_domain_name = (known after apply)
      + force_destroy               = false
      + hosted_zone_id              = (known after apply)
      + id                          = (known after apply)
      + region                      = (known after apply)
      + request_payer               = (known after apply)
      + tags_all                    = {
          + "Author"      = "FreshWorks Studio"
          + "Environment" = "dev"
          + "Project"     = "vcc"
        }
      + website_domain              = (known after apply)
      + website_endpoint            = (known after apply)

      + versioning {
          + enabled    = (known after apply)
          + mfa_delete = (known after apply)
        }
    }

  # aws_s3_bucket.bucket_logs will be created
  + resource "aws_s3_bucket" "bucket_logs" {
      + acceleration_status         = (known after apply)
      + acl                         = "log-delivery-write"
      + arn                         = (known after apply)
      + bucket                      = "vcc-dev-bucket-logs"
      + bucket_domain_name          = (known after apply)
      + bucket_regional_domain_name = (known after apply)
      + force_destroy               = false
      + hosted_zone_id              = (known after apply)
      + id                          = (known after apply)
      + region                      = (known after apply)
      + request_payer               = (known after apply)
      + tags_all                    = {
          + "Author"      = "FreshWorks Studio"
          + "Environment" = "dev"
          + "Project"     = "vcc"
        }
      + website_domain              = (known after apply)
      + website_endpoint            = (known after apply)

      + versioning {
          + enabled    = (known after apply)
          + mfa_delete = (known after apply)
        }
    }

  # aws_s3_bucket_policy.app will be created
  + resource "aws_s3_bucket_policy" "app" {
      + bucket = (known after apply)
      + id     = (known after apply)
      + policy = (known after apply)
    }

Plan: 21 to add, 0 to change, 0 to destroy.```

Btw have you tested this and do we have a cloudfront URL for dev already?

@will-freshworks  Nope, I just ran a terraform plan. I think we need a domain name for the CloudFront url right? 🤔