agent: Detect existing hosts with UEFI support

Description
Fixes https://github.com/apache/cloudstack/issues/6087
Adds support to detect existing hosts with UEFI capability
Types of changes

[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] New feature (non-breaking change which adds functionality)
[ ] Bug fix (non-breaking change which fixes an issue)
[x] Enhancement (improves an existing feature and functionality)
[ ] Cleanup (Code refactoring and cleanup, that may add test cases)

Feature/Enhancement Scale

[ ] Major
[x] Minor

How Has This Been Tested?

Bring up a 4.13 env with VMware 6.5 (anything that supports UEFI)
Upgrade to latest main
Try to deploy a VM with UEFI
Deployment now passes Previously failed to find a suitable host as none were UEFI compatible

Before :
MariaDB [cloud]> select * from host_details where name = 'host.uefi.enable' \G
Empty set (0.00 sec)

After :
MariaDB [cloud]> select * from host_details where name = 'host.uefi.enable' \G
*************************** 1. row ***************************
     id: 34
host_id: 1
   name: host.uefi.enable
  value: true
*************************** 2. row ***************************
     id: 40
host_id: 2
   name: host.uefi.enable
  value: true
2 rows in set (0.00 sec)

@blueorangutan package

@davidjumani a Jenkins job has been kicked to build packages. It will be bundled with  KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

@blueorangutan package

@davidjumani a Jenkins job has been kicked to build packages. It will be bundled with  KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

Packaging result: :heavy_check_mark: el7 :heavy_check_mark: el8 :heavy_check_mark: debian :heavy_check_mark: suse15. SL-JID 2930

@blueorangutan test

@nvazquez a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

@blueorangutan test matrix

Trillian test result (tid-3664)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 31374 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr6139-t3664-kvm-centos7.zip
Smoke tests completed. 92 look OK, 0 have errors
Only failed tests results shown below:

Test
Result
Time (s)
Test File

Trillian test result (tid-3671)
Environment: vmware-65u2 (x2), Advanced Networking with Mgmt server 7
Total time taken: 32668 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr6139-t3671-vmware-65u2.zip
Intermittent failure detected: /marvin/tests/smoke/test_usage.py
Intermittent failure detected: /marvin/tests/smoke/test_iso.py

@blueorangutan help

@blueorangutan help

@davidjumani I understand these words: "help", "hello", "thanks", "package", "test"
Test command usage: test [mgmt os] [hypervisor] [keepEnv]
Mgmt OS options: ['suse15', 'centos7', 'centos6', 'alma8', 'ubuntu18', 'ubuntu20', 'rocky8']
Hypervisor options: ['kvm-centos6', 'kvm-centos7', 'kvm-rocky8', 'kvm-alma8', 'kvm-ubuntu18', 'kvm-ubuntu20', 'kvm-suse15', 'vmware-55u3', 'vmware-60u2', 'vmware-65u2', 'vmware-67u3', 'vmware-70u1', 'vmware-70u2', 'vmware-70u3', 'xenserver-65sp1', 'xenserver-71', 'xenserver-74', 'xcpng74', 'xcpng76', 'xcpng80', 'xcpng81', 'xcpng82']
Note: when keepEnv is passed, you need to specify mgmt server os and hypervisor or use the matrix command.
Package command usage: package [all(default value),kvm,xen,vmware,hyperv,ovm] - a comma separated list can be passed with package command to bundle the required hypervisor's systemVM templates. Not passing any argument will bundle all - kvm,xen and vmware templates.
Blessed contributors for kicking Trillian test jobs: ['rohityadavcloud', 'nvazquez', 'borisstoyanov', 'DaanHoogland', 'shwstppr', 'andrijapanicsb', 'Pearl1594', 'davidjumani', 'harikrishna-patnala', 'vladimirpetrov', 'sureshanaparti', 'weizhouapache', 'NuxRo']

@blueorangutan test centos7 vmware-67u3

@davidjumani a Trillian-Jenkins test job (centos7 mgmt + vmware-67u3) has been kicked to run smoke tests

@blueorangutan test centos7 xcpng82

@davidjumani a Trillian-Jenkins test job (centos7 mgmt + xcpng82) has been kicked to run smoke tests

@blueorangutan test centos7 xenserver-71

@blueorangutan test centos7 xenserver-71

@davidjumani a Trillian-Jenkins test job (centos7 mgmt + xenserver-71) has been kicked to run smoke tests

Trillian test result (tid-3691)
Environment: xcpng82 (x2), Advanced Networking with Mgmt server 7
Total time taken: 27824 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr6139-t3691-xcpng82.zip
Intermittent failure detected: /marvin/tests/smoke/test_volumes.py
Intermittent failure detected: /marvin/tests/smoke/test_metrics_api.py

@blueorangutan test centos7 xcpng82

Trillian test result (tid-3690)
Environment: vmware-67u3 (x2), Advanced Networking with Mgmt server 7
Total time taken: 28196 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr6139-t3690-vmware-67u3.zip
Intermittent failure detected: /marvin/tests/smoke/test_routers_network_ops.py

Trillian test result (tid-3692)
Environment: xenserver-71 (x2), Advanced Networking with Mgmt server 7
Total time taken: 27656 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr6139-t3692-xenserver-71.zip
Intermittent failure detected: /marvin/tests/smoke/test_diagnostics.py
Intermittent failure detected: /marvin/tests/smoke/test_routers_network_ops.py

Trillian test result (tid-3698)
Environment: xcpng82 (x2), Advanced Networking with Mgmt server 7
Total time taken: 42933 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr6139-t3698-xcpng82.zip
Smoke tests completed. 91 look OK, 1 have errors
Only failed tests results shown below:

Test
Result
Time (s)
Test File

test_12_resize_volume_with_only_size_parameter
Error
1.06
test_volumes.py

@blueorangutan package

@weizhouapache a Jenkins job has been kicked to build packages. It will be bundled with  KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

Packaging result: :heavy_check_mark: el7 :heavy_check_mark: el8 :heavy_check_mark: debian :heavy_check_mark: suse15. SL-JID 3004

@blueorangutan test

@weizhouapache a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

Will the check take place on every "upgrade" from now on?

Just as an idea:
Maybe checking via 'dpkg' should work for ubuntu - and even better - as well as for other debian derivate.


Cloning project not able to download some of the externals

Using this command:
git clone --recursive https://github.com/ClassicUO/ClassicUO.git
It downloads all of your project but not the external and provides this error:
Cloning into 'C:/Development/ClassicUO/ClassicUO/external/FNA/lib/FAudio'...
fatal: unable to connect to github.com:
github.com[0: <IP_ADDRESS>]: errno=Unknown error
fatal: clone of 'git://github.com/FNA-XNA/FAudio.git' into submodule path 'C:/Development/ClassicUO/ClassicUO/external/FNA/lib/FAudio' failed
Failed to clone 'lib/FAudio'. Retry scheduled
Cloning into 'C:/Development/ClassicUO/ClassicUO/external/FNA/lib/FNA3D'...
fatal: unable to connect to github.com:
github.com[0: <IP_ADDRESS>]: errno=Unknown error
fatal: clone of 'git://github.com/FNA-XNA/FNA3D.git' into submodule path 'C:/Development/ClassicUO/ClassicUO/external/FNA/lib/FNA3D' failed
Failed to clone 'lib/FNA3D'. Retry scheduled
Cloning into 'C:/Development/ClassicUO/ClassicUO/external/FNA/lib/SDL2-CS'...
fatal: unable to connect to github.com:
github.com[0: <IP_ADDRESS>]: errno=Unknown error
fatal: clone of 'git://github.com/flibitijibibo/SDL2-CS.git' into submodule path 'C:/Development/ClassicUO/ClassicUO/external/FNA/lib/SDL2-CS' failed
Failed to clone 'lib/SDL2-CS'. Retry scheduled
Cloning into 'C:/Development/ClassicUO/ClassicUO/external/FNA/lib/Theorafile'...
fatal: unable to connect to github.com:
github.com[0: <IP_ADDRESS>]: errno=Unknown error
fatal: clone of 'git://github.com/FNA-XNA/Theorafile.git' into submodule path 'C:/Development/ClassicUO/ClassicUO/external/FNA/lib/Theorafile' failed
Failed to clone 'lib/Theorafile'. Retry scheduled
Cloning into 'C:/Development/ClassicUO/ClassicUO/external/FNA/lib/FAudio'...
fatal: unable to connect to github.com:
github.com[0: <IP_ADDRESS>]: errno=Unknown error
fatal: clone of 'git://github.com/FNA-XNA/FAudio.git' into submodule path 'C:/Development/ClassicUO/ClassicUO/external/FNA/lib/FAudio' failed
Failed to clone 'lib/FAudio' a second time, aborting
Submodule path 'external/MP3Sharp': checked out '652104fbac52b92810f96c2a091f70ccdbd25a91'
Failed to recurse into submodule path 'external/FNA'
Systems
Windows 10
Visual Studio 2019 (Never made it that far but just in case)
Thanks in advance

maybe there is an easyer way, but this worked for me:
1: git clone --recursive https://github.com/ClassicUO/ClassicUO.git
2: cd ClassicUO
3: git submodule update --init --recursive --force
4: cd external/FNA
5: edit .gitmodules file with editor (in external/FNA) and replace git: with https:
6: git submodule sync
7: git submodule update --init --recursive --force
8: cd lib/FNA3D/
9: edit .gitmodules file with editor (in external/FNA/lib/FNA3D) and replace git: with https:
10: git submodule sync
11: git submodule update --init --recursive --force

5: cd external/FNA
6: edit .gitmodules file with editor (in external/FNA) and replace git: with https:
7: git submodule sync
8: git submodule update --init --recursive --force

After 8: the content of .gitmodules in external/FNA came back to git: and fail again for me

5: cd external/FNA
6: edit .gitmodules file with editor (in external/FNA) and replace git: with https:
7: git submodule sync
8: git submodule update --init --recursive --force

After 8: the content of .gitmodules in external/FNA came back to git: and fail again for me

pretty sure you did not cd into external/FNA folder

Closing the issue as this does solve the problem


Is there a way to do OTA updates in rust?

This should help.

That's awesome!, testing it right now :)


#HACTOBERFEST

start pnm support

Hey - I think you want to fork the original repo here:
https://github.com/adafruit/Adafruit_CircuitPython_ImageLoad
and then PR to that.
This repo is just my fork for also doing any changes and PRs.


feat: pass config_file arg to setup plugins functions

I hereby agree to the terms of the GreptimeDB CLA.
Refer to a related PR or issue link (optional)
What's changed and what's your intention?
pass config_file arg to setup plugins functions
Checklist

[ ] I have written the necessary rustdoc comments.
[ ] I have added the necessary unit tests and integration tests.
[ ] This PR requires documentation updates.

Is it essential when we already have the Options?

Is it essential when we already have the Options?

Yes, we may have some extend options


KAFKA-14588 Move DynamicConfig to server-commons

This PR move DynamicConfig class to "server-commons" module.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

@mimaison @ijuma Guys, I need your advice here.
ConfigCommand code are tightly coupled with other part of core module.
In this PR I tried to move one of dependency - DynamicConfig to server-commons.
There still one method that not moved:
  object Broker {
    DynamicBrokerConfig.addDynamicConfigs(BROKER_CONFIG_DEF)
    val nonDynamicProps = KafkaConfig.configNames.toSet -- BROKER_CONFIG_DEF.names.asScala
  }

dependencies are DynamicConfig -> DynamicBrokerConfig -> KafkaConfig, etc.
Can you, please, advice me - should I continue and try move all chain to java?
I can try to make separate PR with moving KafkaConfig and other classes.
Or is it too much for now and I must go other way for these changes?

KafkaConfig should move to server, not server-common. We can introduce new interfaces if needed to disentangle the dependencies. Moving a large part of core to server-common defeats the modularization effort.

Even DynamicConfig seems odd to be in server-common instead of server. Things that are specific to the broker should not be in server-common.

@ijuma We can use direct calls like QuotaConfigs.userAndClientQuotaConfigs().names(), QuotaConfigs.scramMechanismsPlusUserAndClientQuotaConfigs().names() to obtain config names for help message in ConfigCommand.
But I can't see how DynamicConfig.Broker.names can be created without accessing to KafkaConfig.configKeys
object DynamicConfig {

  object Broker {
...
    DynamicBrokerConfig.addDynamicConfigs(brokerConfigDef)
  }
}

object DynamicBrokerConfig {
  private[server] def addDynamicConfigs(configDef: ConfigDef): Unit = {
    KafkaConfig.configKeys.forKeyValue { (configName, config) =>
      if (AllDynamicConfigs.contains(configName)) {
        configDef.define(config.name, config.`type`, config.defaultValue, config.validator,
          config.importance, config.documentation, config.group, config.orderInGroup, config.width,
          config.displayName, config.dependents, config.recommender)
      }
    }
  }
}
``

It seems like the help message is wrong though, right? It will print the values based on the tools version versus the server version. Properly separating this code will surface bugs like this. To get the correct data, the tool has to ask the server via RPC.

By the way, if some of this disentangling is too hard to do all at once - it may actually be easier to rewrite in Java and move it to the server module. Then we can take another step where we move the pieces from server to server-common. If we bloat server-common, I think it will be harder to make it slim again later.

To get the correct data, the tool has to ask the server via RPC. Am I missing something?

Different version of Kafka supports different dynamic properties.
So, to create correct list of supported properties we must get it from server.
If yes, I will create separate Jira for this.

Even DynamicConfig seems odd to be in server-common instead of server.

Got it. Thanks.

Note there's also https://github.com/apache/kafka/pull/15103 which is attempting to move KafkaConfig to the server module. You may want to sync with Omnia to avoid duplicating work.


Composer requires YABhq/LaraTest.git

I'm getting a RuntimeException when installing Grafite with composer:
Failed to clone https://github.com/YABhq/LaraTest.git via https, ssh protocols, aborting.
This particular repository seems to have been removed from github.

What version are you currently using?

Ah, it's trying to install version 2.3, probably because the hosting provider runs php 5.6.36.


ecs-patterns: make "cluster" optional in "LoadBalancedFargateService"

We should consider making "cluster" optional when defining a LoadBalancedFargateService (and perhaps even FargateService). It is very common for users to just need a single service + cluster, so let's make it minimal effort for them

This sounds like a great idea, but then you need a way to provide the vpc. I think there is no downside in creating one Cluster per service even if you have more services, but you want them in one VPC.

Funny you mention this: https://github.com/awslabs/aws-cdk/issues/2753

I read that. I think my request is another case.
So in total, we will have:

no cluster and VPC provided and both will be auto-created
only cluster provided and VPC will be auto-created
only VPC provided and Cluster will be auto-created
both provided

no cluster and VPC provided and both will be auto-created:

// cluster will be auto-created and implicitly vpc will be auto-created
const service = new ecsp.LoadBalancedFargateService(this, 'service', { image: ... });
const cluster = service.cluster;
const vpc = service.cluster.vpc;

only cluster provided and VPC will be auto-created:

const cluster = new ecs.Cluster(this, 'cluster'); // vpc is auto-created
const service = new ecsp.LoadBalancedFargateService(this, 'service', { cluster });
const vpc = cluster.vpc;

only VPC provided and Cluster will be auto-created

We can support this, but I am wondering how critical is this use case? We could allow vpc to be passed to LoadBalancedFargateService and only allow that if cluster is undefined.

both provided (the current behavior):

const vpc = new ec2.Vpc(this, 'vpc');
const cluster = new ecs.Cluster(this, 'cluster', { vpc });
const service = new ecsp.LoadBalancedFargateService(this, 'service', { cluster, ... });

To be honest, the third case is exactly what I would love to do and planned to create a PR for within next days ;-) I have a given VPC (VPN, peering, ...) and I want to run Fargate container in it. So providing the VPC is mandatory but I do not care about the clusters.
If you like I can create the PR for this case.

Fair enough, thanks for chiming in. I think it's a legitimate use case. Let's support all of them.

So should I create a PR or do you want to implement it?

Go ahead!

@aws/aws-ecs-devx

Merged as part of https://github.com/aws/aws-cdk/pull/2773


'Error initializing QuantumRenderer: no suitable pipeline found' on startup

System:

Debian 10.10 amd64
KDE Plasma 5.14, over X11
OpenJDK 11.0.11 JRE
plex-rich-presence 1.7

A log is included. I have not attempted Oracle Java, due to complications setting Oracle Java up.
plex-rich-presence.log

Please try the following solutions outlined in this stack overflow post:
https://stackoverflow.com/questions/21185156/javafx-on-linux-is-showing-a-graphics-device-initialization-failed-for-es2-s

I have experimented with the solutions in that thread, realised that openjfx and related libraries weren't installed (these are separate packages why?), installed it, and then got stuck here.
libgtk-2 and libgtk-3 are installed.
plex-rich-presence.2.log

OpenJFX is bundled into the application artifact with maven.
Seems like some elements which are used as rendering backend by JavaFX on linux are missing from your machine.
I'm sorry I don't have any experience with running JavaFX programs on linux.

i had this error also and it worked when i ran the jar with:
java --module-path /usr/lib/jvm/openjfx/ --add-modules=javafx.controls,javafx.fxml -jar plex-rich-presence.jar
the module-path will probably be different, just find where the javafx libs are installed (thats the path for me on fedora)

Thanks you for investigating ! That was very helpfull since I don't have a desktop linux machine at my disposal.
I added the solution you pointed in the readme, as suggested.


feat: adds customGroup.newlinesInside  option

First PR aiming to resolve https://github.com/azat-io/eslint-plugin-perfectionist/issues/401.

⚙ PR 1 (this): Add customGroup.newlinesInside option. We will take the opportunity to create a getNewlinesBetweenOption method that will help us later to precisely customize newline behavior between two specific groups.
❌ PR 2: Add a way to choose a specific newline behavior between two groups.

Description
We currently have the newlinesBetween option, which applies the same newlines-related rules between all groups.
This PR adds a sub-option for the new array-based customGroups:

newlinesInside?: 'always' | 'never'

Here is the list of rules with this new addition:

sort-classes
sort-modules
sort-object-types
sort-interfaces

New option
customGroup.newlinesInside?: 'ignore' | 'always' | 'never'
Newlines rule that should be applied between two consecutive nodes of the same custom group.
Example: Enforce a newline between all class methods.
{
  customGroups: [
    {
      groupName: "methodsWithNewlinesBetween",
      selector: "method",
      newlinesInside: "always"
    }
  ]
}

Other changes

Unifies the way spacing errors are reported:

The leftNum < rightNum check is currently only made if numberOfEmptyLinesBetween === 0 (as confirmed by passing tests).
With newlinesBetween: always and if numberOfEmptyLinesBetween > 1, we were not checking if leftNum < rightNum.
The leftNum < rightNum check is not made when newlinesBetween: never either (as confirmed by passing tests).
=> Always check if leftNum < rightNum.
The few tests impacted can be found in those commits: 04132ee4bd1bbbebf2b0c27f802cf77e8aa829ea, 252873c1a821ce92ae7307396d499f6b8df29452.

Only some spacing errors reported were removed, outputs are unchanged.

What is the purpose of this pull request?

[x] New Feature

@OlivierZal 👋 Feel free to review this if you want 🙂


Boundary loss did not work

Hi, I performed some experiments with boundary loss on my semantic segmentation task:

exp1. with setting 1 * celoss + 1 * boundaryloss and training from scratch, the boundaryloss decreased quickly from 7 to -6 in a few thousand iters, leaving CEloss decreasing very slowly to a high converging point.  The final IoU metric dropped 3~4 points compared with only using celoss.
exp2. with setting 1 * celoss + 0.1 * boundaryloss and training from scratch , the boundaryloss decreased quickly again, from 0.7 to -0.5 in a few thousand iters. and the CEloss decreased more quickly to an expected  lower converging point. The final IoU metric did not drop.
exp3. with setting 1 * celoss + 0.5 * boundaryloss and finetuning from a well-trained model, the boundaryloss was around -3 from the very beginning and did not decrease as training proceeds，which indicates that the boundaryloss for a model well-trained by celoss may be already saturate and may further implies that the boundaryloss will not work in my task.

Some information on my task:

image semantic segmentation for driving scene.
10+ classes.
severe class imbalance, with 99% v.s. 1% pixels for the most frequent class and the least frequent class.
3000 images with 720 * 1080 resolution.

Here are my questions:

Does the indication/implication in exp3 reasonable?
Could you provide some suggestions which may be useful for making the boundaryloss work?

Plus, following is a visualization of my implementation for the distance map:
following is gt_mask

following is distance map

Hi,
The distance map seems correct. Is there a relation to #26 ?
Your experiments seems sensible overall. As your setting is rather complex, I would proceed differently: I would try to add supervision with boundary loss one class after another. (I assume some classes would benefit more from the boundary loss, depending on their usual shape.) This way, it would be easier to diagnose and tune things. Once you manage to get some improvement by supervising (let's say) class 5, you could then add another one. And so on and so on.
Does that makes sense?
Hoel


Add functional versions of Abs, AbsCriterion, ClassNLLCriterion

Modified CMakeList.txt to build and install THNN together with nn.
To build simply run luarocks make rocks/nn-scm-1.rockspec.

integrated via contributor commit


Typo fix

A missing comma causes associated Git checks to fail with a compile error. Fixing the comma.

/approve

/approve


Display Workflows and save as file

Proposal for a Workflow viewer in PyDPF.
This uses graphviz rendering and the native system image viewer or Paraview to show the image obtained with graphviz.
To be discussed.

Generic comment: although I have the graphviz Python dependency in the venv, this was not enough to render the image. It raised this error: graphviz.backend.execute.ExecutableNotFound: failed to execute WindowsPath('dot'), make sure the Graphviz executables are on your systems' PATH, so I needed to manually install graphviz from here. If we want this out the box, maybe we need an additional dependency that installs graphviz server.

This is what I get with (viewer="paraview"):

@FedericoNegri

This is what I get with (viewer="paraview"):

I removed the PyVista viewer as it had no added value and just made everything more complicated.

Generic comment: although I have the graphviz Python dependency in the venv, this was not enough to render the image. It raised this error: graphviz.backend.execute.ExecutableNotFound: failed to execute WindowsPath('dot'), make sure the Graphviz executables are on your systems' PATH, so I needed to manually install graphviz from here. If we want this out the box, maybe we need an additional dependency that installs graphviz server.

Added the requirement to the dosctring


feat: tags input

Can't figure out how to create Multiple Combobox with TagsInput can you do it in TagsInputComboDemo.vue? @zernonia 🙏
https://183b3d8d.shadcn-vue.pages.dev/docs/components/tags-input

Thanks @sadeghbarati . Using the current Combobox with TagsInput doesn't quite make sense. It's behave differernt as per the example in radix-vue.
I'm gonna try and compose a different demo of TagsInput

Updated the demo. You can check it here @sadeghbarati

Nice changes ❤
https://mui.com/material-ui/react-autocomplete/#multiple-values
I would rather

open Combobox or Autocomplete with click or enter on input
have 100% width dropdown
prevent closing dropdown after select


Can you put Parameter before Options?

Hi,
I'm just getting started with picocli but I'm impressed by its features and the very good support.
I have a very basic question that I wasn't able to answer with the docs.
My program has two major features: Utility apps and Simulations.
I want to: java -jar my.jar app | simulation
The apps and simulation scenarios have names(required) and optional parameter
I configured app and simulation to be subcommands.
So I want to do:
java -jar my.jar simulation <name> [scenario options] or
java -jar my.jar app <name> [app options]
another example would be something like: git merge  master -s recursive
But if I try I only get it working to java -jar my.jar simulation [scenario options] <name>
It feels like I'm missing one simple trick.
Also I know that I could make every scenario a subcommand but:

They have many options in common
Want cli and models separated
The CLI parsing only creates a internal config that is than used by the scenarios. This helps to keep the input methods modular and independent.

Would appreciate any help.

Hi,
It sounds like you are doing everything correctly. Not sure if I understood the problem.
Picocli doesn’t care about the order of named options and positional parameters: for example, this:
java -jar my.jar simulation [scenario options] <name>

is interpreted the same as this:
java -jar my.jar simulation <name> [scenario options]

The end user is free to specify positional parameters before or after the named options.
Does that answer your question?

Thanks, seams like I did some other error than. Input works now.
Just need to figure out how I can customize the help messages but this shouldn't be a problem.
Thanks a lot. Questions is answerd.

Great to hear that!
Enjoy picocli!
If you like the project, please star ⭐ picocli on GitHub and tell your friends! 😉


ruby =end highlight must span to EOL

(Original issue 736 created by sunaku on 2012-02-04T23:30:34.105943+00:00)
In ruby's mutli-line comments, delimited by =begin and =end, the delimiters can optionally be followed by arbitrary characters until the end of the line.  Pygments respects this rule for the =begin delimiter but not for the =end delimiter.
http://pygments.org/demo/32415/
In the above example, I expect everything after =end (on the same line) to be highlighted as a comment.
Thanks for your consideration.

(Original issue 736 last updated on 2012-02-05T19:24:01.936204+00:00)
(Issue automaticaly closed due to status in Bitbucket: resolved)

(Original comment by birkenfeld on 2012-02-05T07:29:10.777868+00:00)
Closes #736: comment =end spans until end of line
→ <>

(Original comment by sunaku on 2012-02-05T19:17:28.564851+00:00)
Thanks, but not so fast!  A space must be present after =end in order for anything to follow it:  /=end(\s+[^\n]*)?$/
Sorry I wasn't clear in my original bug report.

(Original comment by sunaku on 2012-02-05T19:24:01.923129+00:00)
Never mind, I suppose it really doesn't matter from a syntax highlighting standpoint.  :)


Move genType docs to rescript-lang.org

See the related PR: https://github.com/reason-association/rescript-lang.org/pull/144

@cristianoc ready to be merged

Thanks a lot!


X-XSRF-TOKEN / CSRF Header not being set on production

It works fine during development but during production the login function from the useSanctumAuth composable does not include the X-XSRF-TOKEN token in the request headers.
Here is my setup:
Nuxt SPA:

Built using nuxt generate CSR mode (with SSR set to false in nuxt.config.js).
Hosted using the domain name frontend-test.abc.com.ph

Laravel Backend:

.env values

SANCTUM_STATEFUL_DOMAINS=*abc.com.ph (also tried frontend-test.abc.com.ph and "abc.com.ph,*abc.com.ph,frontend-test.abc.com.ph")
SESSION_DOMAIN=.abc.com.ph (also tried the default value and "abc.com.ph")

Hosted using the domain name api-test.abc.com.ph
login route defined in web.php without the auth:sanctum middleware
cors.php includes all paths

Network tab Request/Response:

The initial request to api-test.abc.com.ph/sanctum/csrf-cookie returns cookies including the XSRF-TOKEN, laravel_session and some random cookie name.
The subsequent request to api-test.abc.com.ph/login returns a status of 419 specifically with the error message of CSRF Token mismatch.
Upon checking the Cookies Tab it contains the following:

(The domain value just contains api-test.abc.com.ph)

I'm having a similar issue, but for me it authenticates properly but when I call /api/user I get a 401 error

I'm having a similar issue, but for me it authenticates properly but when I call /api/user I get a 401 error

May I ask how did you manage to authenticate the user? Did you also use the login function of useSanctumAuth composable and do we have the same frontend and backend setup?
As for the 401 error, have you tried adding the domain of your frontend in the SANCTUM_STATEFUL_DOMAINS env variable in your laravel backend? Hope it helps.

@hbsmarku Yes, I did all that, the only thing I didn't do it install breeze because I only need sanctum, but I did all the necessary modifications:

CORS
Sanctum Statefull domains
Frontend URL
Cookie Session

This only happens on the server, in local it works without issue

for me it authenticates properly but when I call /api/user I get a 401 error

Do you also use CSR mode or SSR?

@manchenkoff here are is my Nuxt config
sanctum: {
        baseUrl: "http://localhost:8000",
        userStateKey: "sanctum.user.identity",
        redirectIfAuthenticated: true,
        origin: process.env.NUXT_PUBLIC_SANCTUM_BASE_URL,
        endpoints: {
            csrf: "/sanctum/csrf-cookie",
            login: "/login",
            logout: "/api/logout",
            user: "/api/user",
        },
        redirect: {
            keepRequestedRoute: false,
            onLogin: "/",
            onLogout: "/auth/login",
            onAuthOnly: "/auth/login",
            onGuestOnly: "/auth/login",
        },
    },

For the response headers I'll use the picture in the first comment as an example because I had to make changes

@KiritoXD01 but in your nuxt config you have your localhost as a baseUrl, are you trying to access remote production from the local machine?

In local by default I have like this but on the server I use the env NUXT_PUBLIC_SANCTUM_BASE_URL and is set to the server URL, let me turn on the server to send you the request

Nuxt module config (sanctum)
Request / Response details for both calls from Nuxt (csrf retrieval, login request)
Laravel config details (sanctum.php, cors.php, session.php, Http/Kernel.php) with corresponding values in .env

Please attach all the information mentioned in my previous message, w/o it I won't be able help much

@manchenkoff here is everything
Nuxt Config:
// https://nuxt.com/docs/api/configuration/nuxt-config
export default defineNuxtConfig({
    ssr: false,
    modules: [
        "@nuxtjs/tailwindcss",
        "nuxt-icon",
        "nuxt-auth-sanctum",
        "@pinia/nuxt",
    ],
    sanctum: {
        baseUrl: "http://localhost:8000",
        userStateKey: "sanctum.user.identity",
        redirectIfAuthenticated: true,
        origin: process.env.NUXT_PUBLIC_SANCTUM_BASE_URL,
        endpoints: {
            csrf: "/sanctum/csrf-cookie",
            login: "/login",
            logout: "/api/logout",
            user: "/api/user",
        },
        redirect: {
            keepRequestedRoute: false,
            onLogin: "/",
            onLogout: "/auth/login",
            onAuthOnly: "/auth/login",
            onGuestOnly: "/auth/login",
        },
    },
});

Request/response
Request List

Sanctum CSRF response

Login Response:

User Response:

Cors.php
[
'paths' => ['*'],

    'allowed_methods' => ['*'],

    'allowed_origins' => [env('FRONTEND_URL', 'http://localhost:3000')],

    'allowed_origins_patterns' => [],

    'allowed_headers' => ['*'],

    'exposed_headers' => [],

    'max_age' => 0,

    'supports_credentials' => true,
]

Http/Kernel.php

here are the keys

@manchenkoff even when I have the baseUrl as localhost, in the server when I set the env it updates it and sends the right API domain

@KiritoXD01 thx for attachments, I'll check it today, meanwhile have you tried to set up the Laravel session domain with a dot at the beginning - .portalpass.com.do?

@manchenkoff Yes, and also without it

@manchenkoff could Docker be a reason for it to fail? just thinking about it

@KiritoXD01 no, I also use docker for everything, works fine, but the tricky part is always related to Laravel domains, for example you cannot just use domain in SANCTUM_STATEFUL_DOMAINS, you have to pass all urls like "frontend.website.com" and register ".website.com" as SESSION_DOMAIN, also same url should be in Origin header in each request from Nuxt

What about the SESSION_SECURE_COOKIE?, I have as false for now

@manchenkoff it worked now, it was not the library at the end, The backend was not getting the env properly when I debugged XD, it works perfectly now

Hey @hbsmarku @KiritoXD01
Usually this type of error is related to backend configuration on Laravel side, but to make sure that it's properly configured, could you send the following information?

Nuxt module config (sanctum)
Request / Response details for both calls from Nuxt (csrf retrieval, login request)
Laravel config details (sanctum.php, cors.php, session.php, Http/Kernel.php) with corresponding values in .env

I'll try to check it out today and get back to you, in the meantime I would suggest double-checking this link - Nuxt Auth Sanctum Docs for Laravel
In the meantime, you can check closed issues as well, there might be something useful for your cases

@manchenkoff here is my full setup:
Nuxt Config
// https://nuxt.com/docs/api/configuration/nuxt-config
let development = process.env.NODE_ENV !== 'production'

export default defineNuxtConfig({
  modules: ["nuxt-auth-sanctum", "nuxt-quasar-ui", "@nuxt/image"],
  devtools: {
    enabled: true,
    timeline: {
      enabled: true,
    },
  },
  ssr: false,
  sanctum: {
    origin: development ? "http://<IP_ADDRESS>:3000" : undefined, // Your Nuxt app
    baseUrl: development ? "http://<IP_ADDRESS>:8000" : "https://xx-project-api.xx.com.ph", // Your Laravel API
    redirect: {
      onLogin: "/dashboard",
      onLogout: "/login",
    },
    endpoints: {
        csrf: '/sanctum/csrf-cookie',
        login: '/login',
        logout: '/logout',
        user: '/api/user',
    },
    csrf: {
        cookie: 'XSRF-TOKEN',
        header: 'X-XSRF-TOKEN',
    },
  },
});

Request / Response

CSRF Token

Login request

sanctum.php
<?php

use Laravel\Sanctum\Sanctum;

return [

    /*
    |--------------------------------------------------------------------------
    | Stateful Domains
    |--------------------------------------------------------------------------
    |
    | Requests from the following domains / hosts will receive stateful API
    | authentication cookies. Typically, these should include your local
    | and production domains which access your API via a frontend SPA.
    |
    */

    'stateful' => explode(',', env('SANCTUM_STATEFUL_DOMAINS', sprintf(
        '%s%s',
        'localhost,localhost:3000,<IP_ADDRESS>,<IP_ADDRESS>:8000,::1',
        Sanctum::currentApplicationUrlWithPort()
    ))),

    /*
    |--------------------------------------------------------------------------
    | Sanctum Guards
    |--------------------------------------------------------------------------
    |
    | This array contains the authentication guards that will be checked when
    | Sanctum is trying to authenticate a request. If none of these guards
    | are able to authenticate the request, Sanctum will use the bearer
    | token that's present on an incoming request for authentication.
    |
    */

    'guard' => ['web'],

    /*
    |--------------------------------------------------------------------------
    | Expiration Minutes
    |--------------------------------------------------------------------------
    |
    | This value controls the number of minutes until an issued token will be
    | considered expired. This will override any values set in the token's
    | "expires_at" attribute, but first-party sessions are not affected.
    |
    */

    'expiration' => 1,

    /*
    |--------------------------------------------------------------------------
    | Token Prefix
    |--------------------------------------------------------------------------
    |
    | Sanctum can prefix new tokens in order to take advantage of numerous
    | security scanning initiatives maintained by open source platforms
    | that notify developers if they commit tokens into repositories.
    |
    | See: https://docs.github.com/en/code-security/secret-scanning/about-secret-scanning
    |
    */

    'token_prefix' => env('SANCTUM_TOKEN_PREFIX', ''),

    /*
    |--------------------------------------------------------------------------
    | Sanctum Middleware
    |--------------------------------------------------------------------------
    |
    | When authenticating your first-party SPA with Sanctum you may need to
    | customize some of the middleware Sanctum uses while processing the
    | request. You may change the middleware listed below as required.
    |
    */

    'middleware' => [
        'authenticate_session' => Laravel\Sanctum\Http\Middleware\AuthenticateSession::class,
        'encrypt_cookies' => App\Http\Middleware\EncryptCookies::class,
        'verify_csrf_token' => App\Http\Middleware\VerifyCsrfToken::class,
    ],

];

cors.php
<?php

$allowed_origins = env('APP_ENV') == 'development' ? ['*'] : ['*.xx.com.ph'];

return [

    /*
    |--------------------------------------------------------------------------
    | Cross-Origin Resource Sharing (CORS) Configuration
    |--------------------------------------------------------------------------
    |
    | Here you may configure your settings for cross-origin resource sharing
    | or "CORS". This determines what cross-origin operations may execute
    | in web browsers. You are free to adjust these settings as needed.
    |
    | To learn more: https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS
    |
    */

    'paths' => ['api/*', 'sanctum/csrf-cookie', '*'],

    'allowed_methods' => ['*'],

    'allowed_origins' => $allowed_origins,

    'allowed_origins_patterns' => [],

    'allowed_headers' => ['*'],

    'exposed_headers' => [],

    'max_age' => 0,

    'supports_credentials' => true,

];

session.php
<?php

use Illuminate\Support\Str;

return [

    /*
    |--------------------------------------------------------------------------
    | Default Session Driver
    |--------------------------------------------------------------------------
    |
    | This option controls the default session "driver" that will be used on
    | requests. By default, we will use the lightweight native driver but
    | you may specify any of the other wonderful drivers provided here.
    |
    | Supported: "file", "cookie", "database", "apc",
    |            "memcached", "redis", "dynamodb", "array"
    |
    */

    'driver' => env('SESSION_DRIVER', 'cookie'),

    /*
    |--------------------------------------------------------------------------
    | Session Lifetime
    |--------------------------------------------------------------------------
    |
    | Here you may specify the number of minutes that you wish the session
    | to be allowed to remain idle before it expires. If you want them
    | to immediately expire on the browser closing, set that option.
    |
    */

    'lifetime' => env('SESSION_LIFETIME', 120),

    'expire_on_close' => false,

    /*
    |--------------------------------------------------------------------------
    | Session Encryption
    |--------------------------------------------------------------------------
    |
    | This option allows you to easily specify that all of your session data
    | should be encrypted before it is stored. All encryption will be run
    | automatically by Laravel and you can use the Session like normal.
    |
    */

    'encrypt' => false,

    /*
    |--------------------------------------------------------------------------
    | Session File Location
    |--------------------------------------------------------------------------
    |
    | When using the native session driver, we need a location where session
    | files may be stored. A default has been set for you but a different
    | location may be specified. This is only needed for file sessions.
    |
    */

    'files' => storage_path('framework/sessions'),

    /*
    |--------------------------------------------------------------------------
    | Session Database Connection
    |--------------------------------------------------------------------------
    |
    | When using the "database" or "redis" session drivers, you may specify a
    | connection that should be used to manage these sessions. This should
    | correspond to a connection in your database configuration options.
    |
    */

    'connection' => env('SESSION_CONNECTION'),

    /*
    |--------------------------------------------------------------------------
    | Session Database Table
    |--------------------------------------------------------------------------
    |
    | When using the "database" session driver, you may specify the table we
    | should use to manage the sessions. Of course, a sensible default is
    | provided for you; however, you are free to change this as needed.
    |
    */

    'table' => 'sessions',

    /*
    |--------------------------------------------------------------------------
    | Session Cache Store
    |--------------------------------------------------------------------------
    |
    | While using one of the framework's cache driven session backends you may
    | list a cache store that should be used for these sessions. This value
    | must match with one of the application's configured cache "stores".
    |
    | Affects: "apc", "dynamodb", "memcached", "redis"
    |
    */

    'store' => env('SESSION_STORE'),

    /*
    |--------------------------------------------------------------------------
    | Session Sweeping Lottery
    |--------------------------------------------------------------------------
    |
    | Some session drivers must manually sweep their storage location to get
    | rid of old sessions from storage. Here are the chances that it will
    | happen on a given request. By default, the odds are 2 out of 100.
    |
    */

    'lottery' => [2, 100],

    /*
    |--------------------------------------------------------------------------
    | Session Cookie Name
    |--------------------------------------------------------------------------
    |
    | Here you may change the name of the cookie used to identify a session
    | instance by ID. The name specified here will get used every time a
    | new session cookie is created by the framework for every driver.
    |
    */

    'cookie' => env(
        'SESSION_COOKIE',
        Str::slug(env('APP_NAME', 'laravel'), '_').'_session'
    ),

    /*
    |--------------------------------------------------------------------------
    | Session Cookie Path
    |--------------------------------------------------------------------------
    |
    | The session cookie path determines the path for which the cookie will
    | be regarded as available. Typically, this will be the root path of
    | your application but you are free to change this when necessary.
    |
    */

    'path' => '/',

    /*
    |--------------------------------------------------------------------------
    | Session Cookie Domain
    |--------------------------------------------------------------------------
    |
    | Here you may change the domain of the cookie used to identify a session
    | in your application. This will determine which domains the cookie is
    | available to in your application. A sensible default has been set.
    |
    */

    'domain' => env('SESSION_DOMAIN'),

    /*
    |--------------------------------------------------------------------------
    | HTTPS Only Cookies
    |--------------------------------------------------------------------------
    |
    | By setting this option to true, session cookies will only be sent back
    | to the server if the browser has a HTTPS connection. This will keep
    | the cookie from being sent to you when it can't be done securely.
    |
    */

    'secure' => env('SESSION_SECURE_COOKIE'),

    /*
    |--------------------------------------------------------------------------
    | HTTP Access Only
    |--------------------------------------------------------------------------
    |
    | Setting this value to true will prevent JavaScript from accessing the
    | value of the cookie and the cookie will only be accessible through
    | the HTTP protocol. You are free to modify this option if needed.
    |
    */

    'http_only' => true,

    /*
    |--------------------------------------------------------------------------
    | Same-Site Cookies
    |--------------------------------------------------------------------------
    |
    | This option determines how your cookies behave when cross-site requests
    | take place, and can be used to mitigate CSRF attacks. By default, we
    | will set this value to "lax" since this is a secure default value.
    |
    | Supported: "lax", "strict", "none", null
    |
    */

    'same_site' => 'lax',

    /*
    |--------------------------------------------------------------------------
    | Partitioned Cookies
    |--------------------------------------------------------------------------
    |
    | Setting this value to true will tie the cookie to the top-level site for
    | a cross-site context. Partitioned cookies are accepted by the browser
    | when flagged "secure" and the Same-Site attribute is set to "none".
    |
    */

    'partitioned' => false,

];

Kernel.php
<?php

namespace App\Http;

use Illuminate\Foundation\Http\Kernel as HttpKernel;

class Kernel extends HttpKernel
{
    /**
     * The application's global HTTP middleware stack.
     *
     * These middleware are run during every request to your application.
     *
     * @var array<int, class-string|string>
     */
    protected $middleware = [
        // \App\Http\Middleware\TrustHosts::class,
        \App\Http\Middleware\TrustProxies::class,
        \Illuminate\Http\Middleware\HandleCors::class,
        \App\Http\Middleware\PreventRequestsDuringMaintenance::class,
        \Illuminate\Foundation\Http\Middleware\ValidatePostSize::class,
        \App\Http\Middleware\TrimStrings::class,
        \Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
    ];

    /**
     * The application's route middleware groups.
     *
     * @var array<string, array<int, class-string|string>>
     */
    protected $middlewareGroups = [
        'web' => [
            \Illuminate\Routing\Middleware\ThrottleRequests::class.':web',
            \App\Http\Middleware\EncryptCookies::class,
            \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
            \Illuminate\Session\Middleware\StartSession::class,
            \Illuminate\View\Middleware\ShareErrorsFromSession::class,
            \App\Http\Middleware\VerifyCsrfToken::class,
            \Illuminate\Routing\Middleware\SubstituteBindings::class,
        ],

        'api' => [
            \Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class,
            \Illuminate\Routing\Middleware\ThrottleRequests::class.':api',
            \Illuminate\Routing\Middleware\SubstituteBindings::class,
        ],
    ];

    /**
     * The application's middleware aliases.
     *
     * Aliases may be used instead of class names to conveniently assign middleware to routes and groups.
     *
     * @var array<string, class-string|string>
     */
    protected $middlewareAliases = [
        'auth' => \App\Http\Middleware\Authenticate::class,
        'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
        'auth.session' => \Illuminate\Session\Middleware\AuthenticateSession::class,
        'cache.headers' => \Illuminate\Http\Middleware\SetCacheHeaders::class,
        'can' => \Illuminate\Auth\Middleware\Authorize::class,
        'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
        'password.confirm' => \Illuminate\Auth\Middleware\RequirePassword::class,
        'precognitive' => \Illuminate\Foundation\Http\Middleware\HandlePrecognitiveRequests::class,
        'signed' => \App\Http\Middleware\ValidateSignature::class,
        'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
        'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class,
    ];
}

.env
SANCTUM_STATEFUL_DOMAINS="*xx.com.ph"
SESSION_DOMAIN="xx.com.ph"

Hey @hbsmarku, thanks for the details sharing, here are some recommendations, please apply and let me know if it helps or not!

origin: development ? "http://<IP_ADDRESS>:3000" : undefined, // Your Nuxt app

You can remove this line completely if you use >= 0.0.16

SANCTUM_STATEFUL_DOMAINS="*xx.com.ph"

Replace pattern matching with the full URL here like my-project-frontend.xx.com.ph

SESSION_DOMAIN="xx.com.ph"

Session domain must start with dot before TLD when you use subdomains - .xx.com.ph

$allowed_origins = env('APP_ENV') == 'development' ? ['*'] : ['*.xx.com.ph'];

Here you also should pass all available URLs like my-project-frontend.xx.com.ph instead of *.xx.com.ph. I personally use same list of domains like in SANCTUM_STATEFUL_DOMAINS.

'paths' => ['api/*', 'sanctum/csrf-cookie', '*'],

Since you have '*' as the last option, there is no need in keeping 'api/*' and 'sanctum/csrf-cookie'

'middleware' => [
'authenticate_session' => Laravel\Sanctum\Http\Middleware\AuthenticateSession::class,
'encrypt_cookies' => App\Http\Middleware\EncryptCookies::class,
'verify_csrf_token' => App\Http\Middleware\VerifyCsrfToken::class,
],

No need to use authenticate_session middleware here

@manchenkoff Thank you, I have tried your recommendations. Unfortunately, I'm still facing the same response error during login. I've also noticed that there is still no X-XSRF-TOKEN in the headers of the request.

How to fix this issues?

I tried to output the XSRF-TOKEN value and its value is undefined even if there is a cookie value set in the cookies tab.

Yes, it happens only when you have different domains on your backend and it's not the same as caller host (origin). You can also take a look at similar problem in #13, but that one was related to Homestead environment.

I tried to output the XSRF-TOKEN value and its value is undefined even if there is a cookie value set in the cookies tab.

Yes, it happens only when you have different domains on your backend and it's not the same as caller host (origin). You can also take a look at similar problem in #13, but that one was related to Homestead environment.
I would suggest debugging your Laravel app to make sure that all environments are set properly and have the same values that you pass from Nuxt app on csrf-cookie request. Might be config cache as well.

@manchenkoff hello, thank you again for the response.
I have already read and tried to implement the solutions mentioned in #13 and other related issues. Still facing the same issue in production.

The frontend is hosted at frontend.xx.com.ph
Backend at api.xx.com.ph
I also tried to move the backend to xx.com.ph
I did not try to move the frontend to xx.com.ph since there will be multiple frontend endpoints with the same top-level domain (e.g. frontend1.xx.com.ph, frontend2.xx.com.ph, etc.) connecting with the same backend.

The csrf cookie endpoint properly returns the cookies. The problem seems to be always the missing X-XSRF-TOKEN header during login. The usecookie composable cannot get the cookie value of XSRF-TOKEN, even if the cookie exists in the cookies tab. I am also clearing my laravel's backend config cache for every changes.
I think the problem lies within the nuxt project. Does deploying my nuxt site as a static and csr-mode related with this issue? Or just like what you've said that I cannot get the cookie value since the domain of the cookie is set as api.xx.com.ph and not frontend.xx.com.ph? If yes, how can I configure my app so that the usecookie composable properly gets the cookie value set by laravel? I hope there is a solution or workaround with this issue, thank you.

I think the problem lies within the nuxt project. Does deploying my nuxt site as a static and csr-mode related with this issue? Or just like what you've said that I cannot get the cookie value since the domain of the cookie is set as api.xx.com.ph and not frontend.xx.com.ph?

Your cookie have to be set on .xx.com.ph instead of api.xx.com.ph, and this is SESSION_DOMAIN setting on Laravel side, since it is not the same TLD - Nuxt has no access to those cookies.
For example, I use this configuration:

Frontend Nuxt app at frontstore.website.com
Backoffice Nuxt app at backoffice.website.com
API Laravel app at api.website.com

I registered both domains SANCTUM_STATEFUL_DOMAINS=frontstore.website.com,backoffice.website.com and set SESSION_DOMAIN=.website.com, after that I can work with the same session in both applications.

I think the problem lies within the nuxt project. Does deploying my nuxt site as a static and csr-mode related with this issue? Or just like what you've said that I cannot get the cookie value since the domain of the cookie is set as api.xx.com.ph and not frontend.xx.com.ph?

Your cookie have to be set on .xx.com.ph instead of api.xx.com.ph, and this is SESSION_DOMAIN setting on Laravel side, since it is not the same TLD - Nuxt has no access to those cookies.
For example, I use this configuration:

Frontend Nuxt app at frontstore.website.com
Backoffice Nuxt app at backoffice.website.com
API Laravel app at api.website.com

I registered both domains SANCTUM_STATEFUL_DOMAINS=frontstore.website.com,backoffice.website.com and set SESSION_DOMAIN=.website.com, after that I can work with the same session in both applications.

Sadly I've already tried that configuration (SESSION_DOMAIN=.xx.com.ph), and the cookie domain name is still is api.xx.com.ph and is still inaccessible by the useCookie composable.

I've already tried that configuration (SESSION_DOMAIN=.xx.com.ph), and the cookie domain name is still is api.xx.com.ph

and this is a problem you should find a way to fix, it's irrelevant to this module, so unfortunately there is not much I can help with. You can try to find some Laravel related topics like this one - Auth session not working across subdomains

I've already tried that configuration (SESSION_DOMAIN=.xx.com.ph), and the cookie domain name is still is api.xx.com.ph

and this is a problem you should find a way to fix, it's irrelevant to this module, so unfortunately there is not much I can help with. You can try to find some Laravel related topics like this one - Auth session not working across subdomains

Thank you for your insights, the problem is indeed on the backend-laravel side of my application. My hosted environment seems to cache the old environment. It properly works now after clearing the cache, thank you! I am now closing this issue.


Supabase API calls stopped working

Hi all,
Have been facing a pretty weird issue in with my application lately. I have supabase setup and all used to work completely fine. But suddenly API calls to tables stopped working. I can still generate a OTP to log in, session auth works as well. But all custom API calls to my tables and signOut do not work anymore.
The weirdest thing is that I am not even getting any errors at all! I am working in a local environment, and have no logs in the browser, no logs on server side on my terminal, and also no logs on Supabase. Meaning the API call is not even received by Supabase.
Another weird thing is that, if I remove my .nuxt and node_modules folder, do a re-install of everything, then for a minute or two it works fine, the API calls work correctly and I get data back from Supabase. But after one/two minutes, same thing all over again.
Anyone got any idea why this could be? It's super weird, especially that I'm not receiving any error messages anywhere that could help me troubleshooting.
Version
"@nuxtjs/supabase": "^0.3.8
"nuxt": "^3.6.2",

Was having the exact same issue, checkout my fork found here should be a drop in replacement with some minor refactoring of the getSupabaseUser.
https://github.com/nuxt-modules/supabase/issues/209
both the overrides and resolutions work around did not work for me.

Are you still facing this issue with the latest version ? Here is the changelog with breaking changes.

Thanks, the resolutions method got it working for me.

Hey, I've been struggling with this exact problem the past few hours now. Tried everything, the calls just get stuck when I try to call either signOut or getSession. It just seems to never get past the "await supabase.auth.[function]" stage:
export const signOut = async () => {
  const supabase = useSupabaseAuthClient<Database>();

  const { error } = await supabase.auth.signOut();

  // It never reaches here and no request is sent in the network tab

  if (error) {
    console.log(error);
    return false;
  }

  return true;
};

export const getSession = async () => {
  const supabase = useSupabaseAuthClient<Database>();
  const { data, error } = await supabase.auth.getSession();

  // It never reaches here and no request is sent in the network tab

  const { session } = data;

  return { session, error };
};

I just looked through this thread, and once I added this to my package.json, it started working:
  "overrides": {
    "@supabase/supabase-js": "2.31.0"
  },

This was another solution that also worked for me (I use Yarn), but the recommended is using the overrides above:
  "resolutions": {
    "@supabase/gotrue-js": "2.43.1"
  },

Are you still facing this issue with the latest version ? Here is the changelog with breaking changes.

Got it working using the solution mentioned above, will have a look at the latest version this weekend and come back to see if it works or not!

Are you still facing this issue with the latest version ? Here is the changelog with breaking changes.

thanks larbish, this new version fixed it!!  appreciate your work on this🙏🏽

i have the same issue at 1.1.3 v.

Facing this issue currently, any recommended fix?

Are you still facing this issue with the latest version ? Here is the changelog with breaking changes.

Still facing this issue!

Facing this issue myself too!


fix regression introduced in d82266a8c496fc51fd4b86881e860d46faa51f17

Only variables should be passed by reference due to using the return if reset() as a method parameter

The error persists...
$languages = $agent->languages();
$this->setLocale(reset($languages));

This must be the way. reset must receive a variable wich is used by reference.

yeah .. see #22

Great! I did updated the library and suddenly I had that error. I changed it manually and will update as soon as the next release is ready.


Fix ule E1029 False positives on IAM variables

IAM has special variables that don't need the usage of !Sub (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_variables.html).
This PR:

removes the Resource from the exclude list and checks for these variables.
Removes the variable from the path to prevent multiple errors on the same property
Added additional bad scenarios to the tests to validate the above (good template already contained the ${aws:username})

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Codecov Report

Merging #685 into master will increase coverage by 0.01%.
The diff coverage is 87.5%.

@@            Coverage Diff             @@
##           master     #685      +/-   ##
==========================================
+ Coverage   85.36%   85.38%   +0.01%
==========================================
  Files         117      117
  Lines        6731     6739       +8
  Branches     1596     1599       +3
==========================================
+ Hits         5746     5754       +8
  Misses        622      622
  Partials      363      363

Impacted Files
Coverage Δ

src/cfnlint/rules/functions/SubNeeded.py
100% <100%> (ø)
:arrow_up:

src/cfnlint/decode/cfn_json.py
70.19% <33.33%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


Support for a pluggable function which generates the  tag

I would like to have a PDF file which just calls some server's API, without loading any page (to generate a chart in another <div> for example). This would mean adding onclick="return false;" and a dynamic page id to each link.
A pluggable function which allows me to build the <a> tags myself would do it all. Would you find it useful if general? If not, I would modify the pdfjs sources just for my needs. My question is, where to search in such a case?

This is not something we'd consider for the general viewer since it's a very uncommon use case. I think you're looking for link annotations, which are generated here: https://github.com/mozilla/pdf.js/blob/master/src/display/annotation_layer.js#L327-L409


PDF entry layout

What do you need?
https://github.com/AusDTO/gov-au-content-guide/issues/113
Which entry/section is this related to?
http://content-guide.apps.staging.digital.gov.au/content-types/#pdfs

Now being tracked in Trello


improve unit test coverage for yurtappdaemon

What type of PR is this?

Uncomment only one  /kind <> line, hit enter to put that in a new line, and remove leading whitespace from that line:
/kind bug
/kind documentation
/kind enhancement
/kind good-first-issue
/kind feature
/kind question
/kind design
/sig ai
/sig iot
/sig network
/sig storage
/sig storage

What this PR does / why we need it:
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:

Does this PR introduce a user-facing change?

other Note

@Rudolf1998 please fix the golangci-lint errors.

/lgtm
/approve


Remove scapegoat from Marathon

I submit that Scapegoat provides less value than it costs to use. It is slow to run, produces lots of warnings, fails horribly with async/await (something that has been unaddressed for several years, leading to rampant SuppressWarnings statements). It is difficult to remember a time when it made a helpful suggestion at an error level. I submit does not catch the things that are actually important.

See https://github.com/mesosphere/marathon/search?q=SuppressWarnings&unscoped_q=SuppressWarnings

What about removing those SuppressWarnings?

Removing SuppressWarnings will be good. Preference to get consensus first.


respect gulp --no-color argument

Would be possible to respect the gulp command line argument "--no-color"?   For the most part it does
except for the error output which is colored in red and doesn't appear to be a way to currently override it.  Believe it's just in the log function ( https://github.com/panuhorsmalahti/gulp-tslint/blob/master/index.js#L45 )
gulp-tslint version: 8.1.3
tslint version: latest
Operating system: windows/linux/all
Example gulp configuration (if applicable):
n/a
Error console output:
[16:58:58] Error in plugin "gulp-tslint"
TypeScript example code (if applicable):

Detecting the --no-color argument is not that easy (it's used to configure a shared global logger that is then retrieved by fancy-log).
The most reliable solution is to not use colors directly in gulp-tslint, but instead rely on fancyLog() and fancyLog.error().


Added components issues

[x] Missing preview and readme files for Notice component
[x] Missing preview and readme files for LightBoxVideo component
[x] Missing properties panel for LightBoxVideo component

Example

[x] Missing preview and readme files for LightBoxImage component
[x] Confused components LightBoxImage and LightBoxMap. Actually body of LightBoxMap is LightBoxImage and vice versa #23
[x] Missing preview and readme files for YouTube component. Change default video url to https://uploads.quarkly.io/molecules/default-video.mp4
[x] Missing preview and readme files for LiveChat component
[x] Unobvious method of passing width and height into YandexMap component

Example

[x] Change Sound Cloud component preview to something neutral
[x] Missing preview and readme files for Popup component
[x] Change Picture preview image to https://uploads.quarkly.io/molecules/default-video-poster.png
[ ] Missing preview and readme files for VkPage component

Add components with preview:
[ ] MobileSidePanel
[ ] MenuWithGroups
[ ] Animation
[ ] CardFlip
[ ] YoomoneyDonateForm
[ ] CookiesUsed


Autocomplete doesn't work when the notebook is in a hidden directory.

Environment data

VS Code version: 1.74.0 (Universal)
Jupyter Extension version: v2022.11.1003412109
Python Extension version: v2022.20.0
OS and version: macOS Ventura 13.0.1
Python version: 3.9.6
Type of virtual environment used: N/A
Jupyter server running: Local and RemoteSSH

Expected behaviour
Autocomplete works fine in hidden directory.
Actual behaviour
Autocomplete doesn't work when the notebook is in a hidden directory.
Steps to reproduce:
in the normal directory (./test/t.ipynb)

in the hidden directory (./.test/t.ipynb)

Logs

Output for Jupyter in the Output panel (View→Output, change the drop-down the upper-right of the Output panel to Jupyter)

Visual Studio Code (1.74.0, undefined, desktop)
Jupyter Extension Version: 2022.11.1003412109.
Python Extension Version: 2022.20.0.
Workspace folder /Users/hawberr/Projects/aitest/juypter
warn 14:35:51.901: Exception while attempting zmq : Error: No native build was found for platform=darwin arch=arm64 runtime=electron abi=106 uv=1 armv=8 libc=glibc node=16.14.2 electron=19.1.8
    loaded from: /Users/hawberr/.vscode/extensions/ms-toolsai.jupyter-2022.11.1003412109/out/node_modules/zeromq

    at Function.load.path (/Users/hawberr/.vscode/extensions/ms-toolsai.jupyter-2022.11.1003412109/out/node_modules/node-gyp-build/index.js:1:3163)
    at load (/Users/hawberr/.vscode/extensions/ms-toolsai.jupyter-2022.11.1003412109/out/node_modules/node-gyp-build/index.js:1:648)
    at Object.<anonymous> (/Users/hawberr/.vscode/extensions/ms-toolsai.jupyter-2022.11.1003412109/out/node_modules/zeromq/lib/native.js:1:198)
    at Module.u._compile (/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/loader.js:4:1313)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1220:10)
    at Module.load (node:internal/modules/cjs/loader:1035:32)
    at Module._load (node:internal/modules/cjs/loader:876:12)
    at Function.c._load (node:electron/js2c/asar_bundle:5:13343)
    at Function.r._load (/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/api/node/extensionHostProcess.js:120:13379)
    at Function.w._load (/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/api/node/extensionHostProcess.js:115:61900)
    at Function.v._load (/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/api/node/extensionHostProcess.js:115:61293)
    at Module.require (node:internal/modules/cjs/loader:1059:19)
    at p (/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/loader.js:4:699)
    at Object.<anonymous> (/Users/hawberr/.vscode/extensions/ms-toolsai.jupyter-2022.11.1003412109/out/node_modules/zeromq/lib/index.js:1:144)
    at Module.u._compile (/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/loader.js:4:1313)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1220:10)
    at Module.load (node:internal/modules/cjs/loader:1035:32)
    at Module._load (node:internal/modules/cjs/loader:876:12)
    at Function.c._load (node:electron/js2c/asar_bundle:5:13343)
    at Function.r._load (/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/api/node/extensionHostProcess.js:120:13379)
    at Function.w._load (/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/api/node/extensionHostProcess.js:115:61900)
    at Function.v._load (/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/api/node/extensionHostProcess.js:115:61293)
    at Module.require (node:internal/modules/cjs/loader:1059:19)
    at p (/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/loader.js:4:699)
    at Object.92747 (/Users/hawberr/.vscode/extensions/ms-toolsai.jupyter-2022.11.1003412109/out/extension.node.js:17:442832)
    at __webpack_require__ (/Users/hawberr/.vscode/extensions/ms-toolsai.jupyter-2022.11.1003412109/out/extension.node.js:17:1241219)
    at c.zmqSupported (/Users/hawberr/.vscode/extensions/ms-toolsai.jupyter-2022.11.1003412109/out/extension.node.js:2:2187160)
    at c.isSupportedForLocalLaunch (/Users/hawberr/.vscode/extensions/ms-toolsai.jupyter-2022.11.1003412109/out/extension.node.js:2:2186903)
    at c.get isSupported [as isSupported] (/Users/hawberr/.vscode/extensions/ms-toolsai.jupyter-2022.11.1003412109/out/extension.node.js:2:2186813)
    at t.registerTypes (/Users/hawberr/.vscode/extensions/ms-toolsai.jupyter-2022.11.1003412109/out/extension.node.js:2:2202584)
    at /Users/hawberr/.vscode/extensions/ms-toolsai.jupyter-2022.11.1003412109/out/extension.node.js:2:1576202
    at /Users/hawberr/.vscode/extensions/ms-toolsai.jupyter-2022.11.1003412109/out/extension.node.js:2:1576861
    at /Users/hawberr/.vscode/extensions/ms-toolsai.jupyter-2022.11.1003412109/out/extension.node.js:2:1576869
    at t.activate (/Users/hawberr/.vscode/extensions/ms-toolsai.jupyter-2022.11.1003412109/out/extension.node.js:2:1576991)
    at Function.db (/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/api/node/extensionHostProcess.js:106:15127)
    at Function.cb (/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/api/node/extensionHostProcess.js:106:14825)
    at /Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/api/node/extensionHostProcess.js:106:12823
    at v.n (/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/api/node/extensionHostProcess.js:92:7006)
    at v.m (/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/api/node/extensionHostProcess.js:92:6969)
    at v.l (/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/api/node/extensionHostProcess.js:92:6426)
用户属于试验组 "jupyterTestcf"
用户属于试验组 "jupyterEnhancedDataViewer"
info 14:35:52.073: LSP Notebooks experiment is enabled
info 14:35:52.270: Attempting to start a server because of preload conditions ...
info 14:35:52.271: Checking for server existence.
info 14:35:52.271: Checking for server usability.
info 14:35:52.337: Find preferred kernel for /Users/hawberr/Projects/aitest/juypter/.test/t.ipynb with metadata {"kernelspec":{"display_name":"Python 3","language":"python","name":"python3"},"language_info":{"name":"python","version":"3.9.6 (default, Sep 26 2022, 11:37:49) \n[Clang 14.0.0 (clang-14<IP_ADDRESS>)]"},"orig_nbformat":4,"vscode":{"interpreter":{"hash":"31f2aee4e71d21fbe5cf8b01ff0e069b9275f58929596ceb00d14d90e3e16cd6"}}} & preferred interpreter /usr/bin/python3
info 14:35:52.337: Find preferred kernel for /Users/hawberr/Projects/aitest/juypter/.test/t.ipynb with metadata {"kernelspec":{"display_name":"Python 3","language":"python","name":"python3"},"language_info":{"name":"python","version":"3.9.6 (default, Sep 26 2022, 11:37:49) \n[Clang 14.0.0 (clang-14<IP_ADDRESS>)]"},"orig_nbformat":4,"vscode":{"interpreter":{"hash":"31f2aee4e71d21fbe5cf8b01ff0e069b9275f58929596ceb00d14d90e3e16cd6"}}} & preferred interpreter /usr/bin/python3
info 14:35:52.338: Find preferred kernel for /Users/hawberr/Projects/aitest/juypter/test/t.ipynb with metadata {"language_info":{"name":"python"},"orig_nbformat":4} & preferred interpreter /usr/bin/python3
info 14:35:52.339: Find preferred kernel for /Users/hawberr/Projects/aitest/juypter/test/t.ipynb with metadata {"language_info":{"name":"python"},"orig_nbformat":4} & preferred interpreter /usr/bin/python3
info 14:35:52.348: Find preferred kernel for /Users/hawberr/Projects/aitest/juypter/.test/t.ipynb with metadata {"kernelspec":{"display_name":"Python 3","language":"python","name":"python3"},"language_info":{"name":"python","version":"3.9.6 (default, Sep 26 2022, 11:37:49) \n[Clang 14.0.0 (clang-14<IP_ADDRESS>)]"},"orig_nbformat":4,"vscode":{"interpreter":{"hash":"31f2aee4e71d21fbe5cf8b01ff0e069b9275f58929596ceb00d14d90e3e16cd6"}}} & preferred interpreter /usr/bin/python3
info 14:35:52.348: Find preferred kernel for /Users/hawberr/Projects/aitest/juypter/test/t.ipynb with metadata {"language_info":{"name":"python"},"orig_nbformat":4} & preferred interpreter /usr/bin/python3
info 14:35:52.349: Preferred kernel .jvsc74a57bd031f2aee4e71d21fbe5cf8b01ff0e069b9275f58929596ceb00d14d90e3e16cd6./usr/bin/python3./usr/bin/python3.-m#ipykernel_launcher is exact match or top match for non python kernels, (true, [object Object], true, false)
info 14:35:52.349: PreferredConnection: .jvsc74a57bd031f2aee4e71d21fbe5cf8b01ff0e069b9275f58929596ceb00d14d90e3e16cd6./usr/bin/python3./usr/bin/python3.-m#ipykernel_launcher found for NotebookDocument: /Users/hawberr/Projects/aitest/juypter/.test/t.ipynb
info 14:35:52.351: Find preferred kernel for /Users/hawberr/Projects/aitest/juypter/.test/t.ipynb with metadata {"kernelspec":{"display_name":"Python 3","language":"python","name":"python3"},"language_info":{"name":"python","version":"3.9.6 (default, Sep 26 2022, 11:37:49) \n[Clang 14.0.0 (clang-14<IP_ADDRESS>)]"},"orig_nbformat":4,"vscode":{"interpreter":{"hash":"31f2aee4e71d21fbe5cf8b01ff0e069b9275f58929596ceb00d14d90e3e16cd6"}}} & preferred interpreter /usr/bin/python3
info 14:35:52.351: Find preferred kernel for /Users/hawberr/Projects/aitest/juypter/test/t.ipynb with metadata {"language_info":{"name":"python"},"orig_nbformat":4} & preferred interpreter /usr/bin/python3
info 14:35:52.354: Preferred kernel .jvsc74a57bd031f2aee4e71d21fbe5cf8b01ff0e069b9275f58929596ceb00d14d90e3e16cd6./usr/bin/python3./usr/bin/python3.-m#ipykernel_launcher is exact match or top match for non python kernels, (false, [object Object], true, false)
info 14:35:52.355: PreferredConnection: .jvsc74a57bd031f2aee4e71d21fbe5cf8b01ff0e069b9275f58929596ceb00d14d90e3e16cd6./usr/bin/python3./usr/bin/python3.-m#ipykernel_launcher found for NotebookDocument: /Users/hawberr/Projects/aitest/juypter/.test/t.ipynb
info 14:35:52.467: Preferred kernel .jvsc74a57bd031f2aee4e71d21fbe5cf8b01ff0e069b9275f58929596ceb00d14d90e3e16cd6./usr/bin/python3./usr/bin/python3.-m#ipykernel_launcher is exact match or top match for non python kernels, (false, [object Object], false, false)
info 14:35:52.467: PreferredConnection: .jvsc74a57bd031f2aee4e71d21fbe5cf8b01ff0e069b9275f58929596ceb00d14d90e3e16cd6./usr/bin/python3./usr/bin/python3.-m#ipykernel_launcher found for NotebookDocument: /Users/hawberr/Projects/aitest/juypter/test/t.ipynb
info 14:35:52.474: Got empty env vars with python /usr/bin/python3 in 134ms
info 14:35:52.477: Got empty env vars with python /usr/bin/python3 in 138ms
info 14:35:52.478: Process Execution: > /usr/bin/python3 -c "import jupyter"
> /usr/bin/python3 -c "import jupyter"
info 14:35:52.479: Process Execution: > /usr/bin/python3 -c "import notebook"
> /usr/bin/python3 -c "import notebook"
info 14:35:52.479: Process Execution: > /usr/bin/python3 -m pip list
> /usr/bin/python3 -m pip list
info 14:35:52.480: Got empty env vars with python /usr/bin/python3 in 138ms
info 14:35:52.573: Process Execution: > /usr/bin/python3 -m jupyter kernelspec --version
> /usr/bin/python3 -m jupyter kernelspec --version
info 14:35:52.576: Got empty env vars with python /usr/bin/python3 in 4ms
info 14:35:52.749: Starting notebook server.
info 14:35:52.750: Connecting to server
info 14:35:52.750: Launching server
info 14:35:52.750: Starting Notebook
info 14:35:52.754: Got empty env vars with python /usr/bin/python3 in 5ms
info 14:35:52.755: Generating custom default config at /var/folders/9h/242ymx2d0yl2m56x_wbbpjkw0000gn/T/ec35dab8-37d6-42e6-8fac-43a0aa233151/jupyter_notebook_config.py
info 14:35:52.755: Starting Jupyter Notebook
从 /usr/bin/python3 启动 Jupyter
info 14:35:52.755: Creating daemon pool for /usr/bin/python3 with env variables count 48
info 14:35:52.756: Process Execution: > /usr/bin/python3 -m vscode_datascience_helpers.daemon --daemon-module=vscode_datascience_helpers.jupyter_daemon -v --ppid 18978
> /usr/bin/python3 -m vscode_datascience_helpers.daemon --daemon-module=vscode_datascience_helpers.jupyter_daemon -v --ppid 18978
info 14:35:52.757: Process Execution: > /usr/bin/python3 -m vscode_datascience_helpers.daemon --daemon-module=vscode_datascience_helpers.jupyter_daemon -v --ppid 18978
> /usr/bin/python3 -m vscode_datascience_helpers.daemon --daemon-module=vscode_datascience_helpers.jupyter_daemon -v --ppid 18978
info 14:35:52.757: Process Execution: > /usr/bin/python3 -m vscode_datascience_helpers.daemon --daemon-module=vscode_datascience_helpers.jupyter_daemon -v --ppid 18978
> /usr/bin/python3 -m vscode_datascience_helpers.daemon --daemon-module=vscode_datascience_helpers.jupyter_daemon -v --ppid 18978
info 14:35:52.758: Got empty env vars with python /usr/bin/python3 in 9ms
info 14:35:52.766: Got empty env vars with python /usr/bin/python3 in 11ms
info 14:35:52.770: Got empty env vars with python /usr/bin/python3 in 15ms
info 14:35:52.842: Process Execution: > /usr/bin/python3 (daemon) -m jupyter notebook --no-browser --notebook-dir="/Users/hawberr/Projects/aitest/juypter" --config=/var/folders/9h/242ymx2d0yl2m56x_wbbpjkw0000gn/T/ec35dab8-37d6-42e6-8fac-43a0aa233151/jupyter_notebook_config.py --NotebookApp.iopub_data_rate_limit=10000000000.0
> /usr/bin/python3 (daemon) -m jupyter notebook --no-browser --notebook-dir="/Users/hawberr/Projects/aitest/juypter" --config=/var/folders/9h/242ymx2d0yl2m56x_wbbpjkw0000gn/T/ec35dab8-37d6-42e6-8fac-43a0aa233151/jupyter_notebook_config.py --NotebookApp.iopub_data_rate_limit=10000000000.0
info 14:35:52.842: Waiting for Jupyter Notebook
info 14:35:52.846: Got empty env vars with python /usr/bin/python3 in 5ms
/Users/hawberr/Library/Python/3.9/lib/python/site-packages/traitlets/traitlets.py:2412: FutureWarning: Supporting extra quotes around strings is deprecated in traitlets 5.0. You can use '/Users/hawberr/Projects/aitest/juypter' instead of '"/Users/hawberr/Projects/aitest/juypter"' if you require traitlets >=5.
  warn(
info 14:35:53.001: /Users/hawberr/Library/Python/3.9/lib/python/site-packages/traitlets/traitlets.py:2412: FutureWarning: Supporting extra quotes around strings is deprecated in traitlets 5.0. You can use '/Users/hawberr/Projects/aitest/juypter' instead of '"/Users/hawberr/Projects/aitest/juypter"' if you require traitlets >=5.
  warn(

[I 14:35:53.149 NotebookApp] Serving notebooks from local directory: /Users/hawberr/Projects/aitest/juypter
info 14:35:53.155: /Users/hawberr/Library/Python/3.9/lib/python/site-packages/traitlets/traitlets.py:2412: FutureWarning: Supporting extra quotes around strings is deprecated in traitlets 5.0. You can use '/Users/hawberr/Projects/aitest/juypter' instead of '"/Users/hawberr/Projects/aitest/juypter"' if you require traitlets >=5.
  warn(
[I 14:35:53.149 NotebookApp] Serving notebooks from local directory: /Users/hawberr/Projects/aitest/juypter

[I 14:35:53.150 NotebookApp] Jupyter Notebook 6.5.2 is running at:
info 14:35:53.156: /Users/hawberr/Library/Python/3.9/lib/python/site-packages/traitlets/traitlets.py:2412: FutureWarning: Supporting extra quotes around strings is deprecated in traitlets 5.0. You can use '/Users/hawberr/Projects/aitest/juypter' instead of '"/Users/hawberr/Projects/aitest/juypter"' if you require traitlets >=5.
  warn(
[I 14:35:53.149 NotebookApp] Serving notebooks from local directory: /Users/hawberr/Projects/aitest/juypter
[I 14:35:53.150 NotebookApp] Jupyter Notebook 6.5.2 is running at:

[I 14:35:53.150 NotebookApp] http://localhost:8888/?token=43b310bc66b891649c811e41a47bac52832447632da626af
info 14:35:53.157: /Users/hawberr/Library/Python/3.9/lib/python/site-packages/traitlets/traitlets.py:2412: FutureWarning: Supporting extra quotes around strings is deprecated in traitlets 5.0. You can use '/Users/hawberr/Projects/aitest/juypter' instead of '"/Users/hawberr/Projects/aitest/juypter"' if you require traitlets >=5.
  warn(
[I 14:35:53.149 NotebookApp] Serving notebooks from local directory: /Users/hawberr/Projects/aitest/juypter
[I 14:35:53.150 NotebookApp] Jupyter Notebook 6.5.2 is running at:
[I 14:35:53.150 NotebookApp] http://localhost:8888/?token=43b310bc66b891649c811e41a47bac52832447632da626af

info 14:35:53.157: Process Execution: > /usr/bin/python3 (daemon) ~/.vscode/extensions/ms-toolsai.jupyter-2022.11.1003412109/pythonFiles/vscode_datascience_helpers/getServerInfo.py
> /usr/bin/python3 (daemon) ~/.vscode/extensions/ms-toolsai.jupyter-2022.11.1003412109/pythonFiles/vscode_datascience_helpers/getServerInfo.py
[I 14:35:53.150 NotebookApp]  or http://<IP_ADDRESS>:8888/?token=43b310bc66b891649c811e41a47bac52832447632da626af
info 14:35:53.159: /Users/hawberr/Library/Python/3.9/lib/python/site-packages/traitlets/traitlets.py:2412: FutureWarning: Supporting extra quotes around strings is deprecated in traitlets 5.0. You can use '/Users/hawberr/Projects/aitest/juypter' instead of '"/Users/hawberr/Projects/aitest/juypter"' if you require traitlets >=5.
  warn(
[I 14:35:53.149 NotebookApp] Serving notebooks from local directory: /Users/hawberr/Projects/aitest/juypter
[I 14:35:53.150 NotebookApp] Jupyter Notebook 6.5.2 is running at:
[I 14:35:53.150 NotebookApp] http://localhost:8888/?token=43b310bc66b891649c811e41a47bac52832447632da626af
[I 14:35:53.150 NotebookApp]  or http://<IP_ADDRESS>:8888/?token=43b310bc66b891649c811e41a47bac52832447632da626af

info 14:35:53.163: Process Execution: > /usr/bin/python3 (daemon) ~/.vscode/extensions/ms-toolsai.jupyter-2022.11.1003412109/pythonFiles/vscode_datascience_helpers/getServerInfo.py
> /usr/bin/python3 (daemon) ~/.vscode/extensions/ms-toolsai.jupyter-2022.11.1003412109/pythonFiles/vscode_datascience_helpers/getServerInfo.py
[I 14:35:53.150 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
info 14:35:53.165: /Users/hawberr/Library/Python/3.9/lib/python/site-packages/traitlets/traitlets.py:2412: FutureWarning: Supporting extra quotes around strings is deprecated in traitlets 5.0. You can use '/Users/hawberr/Projects/aitest/juypter' instead of '"/Users/hawberr/Projects/aitest/juypter"' if you require traitlets >=5.
  warn(
[I 14:35:53.149 NotebookApp] Serving notebooks from local directory: /Users/hawberr/Projects/aitest/juypter
[I 14:35:53.150 NotebookApp] Jupyter Notebook 6.5.2 is running at:
[I 14:35:53.150 NotebookApp] http://localhost:8888/?token=43b310bc66b891649c811e41a47bac52832447632da626af
[I 14:35:53.150 NotebookApp]  or http://<IP_ADDRESS>:8888/?token=43b310bc66b891649c811e41a47bac52832447632da626af
[I 14:35:53.150 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).

info 14:35:53.169: Got empty env vars with python /usr/bin/python3 in 12ms
[C 14:35:53.154 NotebookApp]

    To access the notebook, open this file in a browser:
        file:///Users/hawberr/Library/Jupyter/runtime/nbserver-19015-open.html
    Or copy and paste one of these URLs:
        http://localhost:8888/?token=43b310bc66b891649c811e41a47bac52832447632da626af
     or http://<IP_ADDRESS>:8888/?token=43b310bc66b891649c811e41a47bac52832447632da626af
info 14:35:53.169: /Users/hawberr/Library/Python/3.9/lib/python/site-packages/traitlets/traitlets.py:2412: FutureWarning: Supporting extra quotes around strings is deprecated in traitlets 5.0. You can use '/Users/hawberr/Projects/aitest/juypter' instead of '"/Users/hawberr/Projects/aitest/juypter"' if you require traitlets >=5.
  warn(
[I 14:35:53.149 NotebookApp] Serving notebooks from local directory: /Users/hawberr/Projects/aitest/juypter
[I 14:35:53.150 NotebookApp] Jupyter Notebook 6.5.2 is running at:
[I 14:35:53.150 NotebookApp] http://localhost:8888/?token=43b310bc66b891649c811e41a47bac52832447632da626af
[I 14:35:53.150 NotebookApp]  or http://<IP_ADDRESS>:8888/?token=43b310bc66b891649c811e41a47bac52832447632da626af
[I 14:35:53.150 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[C 14:35:53.154 NotebookApp]

    To access the notebook, open this file in a browser:
        file:///Users/hawberr/Library/Jupyter/runtime/nbserver-19015-open.html
    Or copy and paste one of these URLs:
        http://localhost:8888/?token=43b310bc66b891649c811e41a47bac52832447632da626af
     or http://<IP_ADDRESS>:8888/?token=43b310bc66b891649c811e41a47bac52832447632da626af

info 14:35:53.179: Got empty env vars with python /usr/bin/python3 in 19ms
info 14:35:53.193: Got empty env vars with python /usr/bin/python3 in 28ms
info 14:35:53.202: Got empty env vars with python /usr/bin/python3 in 33ms
info 14:35:53.253: Got empty env vars with python /usr/bin/python3 in 3ms
info 14:35:53.309: Connecting to process server
info 14:35:53.309: Connecting server kernel http://localhost:8888/
info 14:35:53.309: Creating server with url : http://localhost:8888/
info 14:35:53.311: Connection complete server
info 14:35:53.311: Server started.
info 14:35:53.323: Process Execution: > /usr/bin/python3 (daemon) ~/.vscode/extensions/ms-toolsai.jupyter-2022.11.1003412109/pythonFiles/vscode_datascience_helpers/getServerInfo.py
> /usr/bin/python3 (daemon) ~/.vscode/extensions/ms-toolsai.jupyter-2022.11.1003412109/pythonFiles/vscode_datascience_helpers/getServerInfo.py
info 14:35:53.323: Process Execution: > /usr/bin/python3 (daemon) ~/.vscode/extensions/ms-toolsai.jupyter-2022.11.1003412109/pythonFiles/vscode_datascience_helpers/getServerInfo.py
> /usr/bin/python3 (daemon) ~/.vscode/extensions/ms-toolsai.jupyter-2022.11.1003412109/pythonFiles/vscode_datascience_helpers/getServerInfo.py
error 14:36:08.234: Live Notebook not available for /Users/hawberr/Projects/aitest/juypter/.test/t.ipynb
error 14:36:08.402: Live Notebook not available for /Users/hawberr/Projects/aitest/juypter/.test/t.ipynb
error 14:36:09.537: Live Notebook not available for /Users/hawberr/Projects/aitest/juypter/.test/t.ipynb
error 14:36:09.753: Live Notebook not available for /Users/hawberr/Projects/aitest/juypter/.test/t.ipynb
error 14:36:20.152: Live Notebook not available for /Users/hawberr/Projects/aitest/juypter/test/t.ipynb
error 14:36:25.139: Live Notebook not available for /Users/hawberr/Projects/aitest/juypter/test/t.ipynb
error 14:36:25.312: Live Notebook not available for /Users/hawberr/Projects/aitest/juypter/test/t.ipynb
error 14:36:26.052: Live Notebook not available for /Users/hawberr/Projects/aitest/juypter/test/t.ipynb

Its been almost a year since this issue was created and we haven't had any similar reports
Closing this issue as stale.


Add --unique, -u option to randip

Allow generating only unique random IPs with the --unique, -u flag.
This requires making a map[u32]struct{} to store all the IPs we've seen so far and which we can access fast to check for uniqueness on the following generations.
Of course the limitation here is it'll consume a lot of memory for a huge number of desired generations, but that use case should be rare and presumably the host machine that needs to be working on that many random IPs will already have plenty of memory.

Closed by https://github.com/ipinfo/cli/pull/76.
Will be available in 1.1.0.


Cannot declare class J42\LaravelFirebase\Client because the name is already in use

When I try to use any of the methods exposed by the Laravel class I get this error:
Whoops, looks like something went wrong.

FatalErrorException in Client.php line 8:
Cannot declare class J42\LaravelFirebase\Client because the name is already in use

1. in Client.php line 8
2. at FatalErrorException->__construct() in HandleExceptions.php line 133
3. at HandleExceptions->fatalExceptionFromError() in HandleExceptions.php line 118
4. at HandleExceptions->handleShutdown() in HandleExceptions.php line 0
5. at Composer\Autoload\includeFile() in ClassLoader.php line 301
6. at ClassLoader->loadClass() in Container.php line 53
7. at spl_autoload_call() in Container.php line 53
8. at LaravelFirebaseServiceProvider->J42\LaravelFirebase\{closure}() in Container.php line 735
9. at Container->build() in Container.php line 633
10. at Container->make() in Application.php line 697
11. at Application->make() in Container.php line 1178
12. at Container->offsetGet() in Facade.php line 151
13. at Facade::resolveFacadeInstance() in Facade.php line 120
14. at Facade::getFacadeRoot() in Facade.php line 207
15. at Facade::__callStatic() in routes.php line 19
16. at LaravelFirebaseFacade::get() in routes.php line 19
17. at RouteServiceProvider->{closure:/usr/share/nginx/html/app/Http/routes.php:16-21}() in Route.php line 158
18. at call_user_func_array:{/usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Routing/Route.php:158}() in Route.php line 158
19. at Route->runCallable() in Route.php line 137
20. at Route->run() in Router.php line 724
21. at Router->Illuminate\Routing\{closure}() in Pipeline.php line 52
22. at call_user_func:{/usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() in Pipeline.php line 52
23. at Pipeline->Illuminate\Routing\{closure}() in VerifyCsrfToken.php line 64
24. at VerifyCsrfToken->handle() in Pipeline.php line 124
25. at call_user_func_array:{/usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:124}() in Pipeline.php line 124
26. at Pipeline->Illuminate\Pipeline\{closure}() in Pipeline.php line 32
27. at call_user_func:{/usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() in Pipeline.php line 32
28. at Pipeline->Illuminate\Routing\{closure}() in ShareErrorsFromSession.php line 49
29. at ShareErrorsFromSession->handle() in Pipeline.php line 124
30. at call_user_func_array:{/usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:124}() in Pipeline.php line 124
31. at Pipeline->Illuminate\Pipeline\{closure}() in Pipeline.php line 32
32. at call_user_func:{/usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() in Pipeline.php line 32
33. at Pipeline->Illuminate\Routing\{closure}() in StartSession.php line 62
34. at StartSession->handle() in Pipeline.php line 124
35. at call_user_func_array:{/usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:124}() in Pipeline.php line 124
36. at Pipeline->Illuminate\Pipeline\{closure}() in Pipeline.php line 32
37. at call_user_func:{/usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() in Pipeline.php line 32
38. at Pipeline->Illuminate\Routing\{closure}() in AddQueuedCookiesToResponse.php line 37
39. at AddQueuedCookiesToResponse->handle() in Pipeline.php line 124
40. at call_user_func_array:{/usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:124}() in Pipeline.php line 124
41. at Pipeline->Illuminate\Pipeline\{closure}() in Pipeline.php line 32
42. at call_user_func:{/usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() in Pipeline.php line 32
43. at Pipeline->Illuminate\Routing\{closure}() in EncryptCookies.php line 59
44. at EncryptCookies->handle() in Pipeline.php line 124
45. at call_user_func_array:{/usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:124}() in Pipeline.php line 124
46. at Pipeline->Illuminate\Pipeline\{closure}() in Pipeline.php line 32
47. at call_user_func:{/usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() in Pipeline.php line 32
48. at Pipeline->Illuminate\Routing\{closure}() in Pipeline.php line 103
49. at call_user_func:{/usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() in Pipeline.php line 103
50. at Pipeline->then() in Router.php line 726
51. at Router->runRouteWithinStack() in Router.php line 699
52. at Router->dispatchToRoute() in Router.php line 675
53. at Router->dispatch() in Kernel.php line 246
54. at Kernel->Illuminate\Foundation\Http\{closure}() in Pipeline.php line 52
55. at call_user_func:{/usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:52}() in Pipeline.php line 52
56. at Pipeline->Illuminate\Routing\{closure}() in CheckForMaintenanceMode.php line 44
57. at CheckForMaintenanceMode->handle() in Pipeline.php line 124
58. at call_user_func_array:{/usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:124}() in Pipeline.php line 124
59. at Pipeline->Illuminate\Pipeline\{closure}() in Pipeline.php line 32
60. at call_user_func:{/usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php:32}() in Pipeline.php line 32
61. at Pipeline->Illuminate\Routing\{closure}() in Pipeline.php line 103
62. at call_user_func:{/usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:103}() in Pipeline.php line 103
63. at Pipeline->then() in Kernel.php line 132
64. at Kernel->sendRequestThroughRouter() in Kernel.php line 99
65. at Kernel->handle() in index.php line 54
66. at {main}() in index.php line 0

Any idea what I'm doing wrong?

Fixed it by changing line 5 of Client.php to
use GuzzleHttp\Client as GClient;

and line 36 to
$this->http = new GClient();

Thanks,
Mickey

@zeusent  thanks man for posting the solution

Thanks, hard to find


Complete documentation of dataset

This would be next in line in terms of priority, but also tidyness of data.
This time I have a good and response contact that could support you to identify descriptions for variables.
In #1 we have the ORCID iDs also of the enumerators.

Yes, can you provide me the original excel? It's not in the data-raw folder, and I cannot find it in the data repository either. Thanks!

Yes, it's still in gitignore because it contains some variables with sensitive information. Will share it with you in a different way.

Sent you the original email

I'm getting the following error when running pkgdown::build_site():
pkgdown::build_site()
-- Installing package into temporary library ----------------------------------------------------------------------------------------------------
== Building pkgdown site =======================================================
Reading from: 'C:/Users/sskorik/Documents/gitrepos/chckapmalawi'
Writing to:   'C:/Users/sskorik/Documents/gitrepos/chckapmalawi/docs'
-- Initialising site -----------------------------------------------------------
-- Building home ---------------------------------------------------------------
Reading 'LICENSE.md'
Error:
! in callr subprocess.
Caused by error in purrr::map2(components, names(components), data_home_component, …:
! In index: 1.
ℹ See $stdout for standard output.
Type .Last.error to see the more details.
Do you have an idea what it is due to?

I'm getting the following error when running pkgdown::build_site():
pkgdown::build_site() -- Installing package into temporary library ---------------------------------------------------------------------------------------------------- == Building pkgdown site ======================================================= Reading from: 'C:/Users/sskorik/Documents/gitrepos/chckapmalawi' Writing to: 'C:/Users/sskorik/Documents/gitrepos/chckapmalawi/docs' -- Initialising site ----------------------------------------------------------- -- Building home --------------------------------------------------------------- Reading 'LICENSE.md' Error: ! in callr subprocess. Caused by error in purrr::map2(components, names(components), data_home_component, …: ! In index: 1. ℹ See $stdout for standard output. Type .Last.error to see the more details.
Do you have an idea what it is due to?

@sskorik01 See my comment for cleanteamghana: https://github.com/openwashdata/cleanteamghana/issues/2#issuecomment-1882846879

@sskorik01: Do you still have this error after following @mianzg's guidance?


s/state/freight/ in the CLI, API server, and controller

Fixes #624
This PR changes "state" to "freight" in the CLI, API server, and controller (where applicable; there are plenty of legitimate uses of the word "state" remaining).
Note: This PR breaks the UI because codegen updates TS API bindings, but UI src hasn't been touched.
@rbreeze do you maybe want to add on to this branch to fix the UI?
Other than the broken UI, there are no functional changes in this PR and manual end-to-end testing still checks out.
TODO: Update docs. I will amend the PR with that shortly.

@rbreeze agreed to prioritize this and work off your branch


Feat/chaoskube

Does not work because of Cluster ROle

Shouldn't be a do-no-merge :)?

It's still fine I am thinking that if they improve their shit later we could use it. Or even I could change the code by myself lol