Single vs Double Quotes Issue Diff

Describe the bug
When running sqlfmt, sometimes it doesn't format single quotes (') to double quotes ("). However, when running sqlfmt . --diff in a GitHub action, it always seems to detect that it needs to change single quotes to double quotes.
To Reproduce
It's not easy to reproduce as I think it's a cache issue. But I have a file /snapshots/agreement_contacts_snapshot.sql as:
{% snapshot agreement_contacts_snapshot %}

{{
    config(
      unique_key="proj_num || '-' || primary_bp_no",
      strategy='timestamp',
      updated_at='last_updated_at',
    )
}}

select *
from {{ ref('agreement_contacts') }}

{% endsnapshot %}

When running sqlfmt , it wouldn't reformat the file for a while. I was using sqlfmt ., sqlfmt snapshots/, and even sqlfmt snapshots/ -k to try and reset the catch. However, running sqlfmt . --diff does show this file has changes. And then it eventually does reformat the file, possibly the next time after running the -k argument.
Expected behavior
I would expect it to format this file when it's needed, instead of having to try lots of times. I'm not sure why some files seem to have this issue. We are using pre-commit with sqlfmt, so we'd expect it to format files as we push commits. However, sometimes it doesn't and then our GitHub action that runs sqlfmt . --diff fails because of this formatting issue. This has happened quite a few times in the past month.
Actual behavior

Additional context
sqlfmt, version 0.17.0

Black is doing the formatting here, since we're inside jinja. Are you sure you have black installed or installed sqlfmt with the jinjafmt extra?

Yes, black is installed. I also have it in pre-commit. We do have it listed separately in our requirements.txt as well as shandy-sqlftm[jinjafmt]
$ black --version
black, 22.12.0 (compiled: yes)
Python (CPython) 3.10.10

Could it be a cache issue with sqlfmt not handing the text off to black for processing?

Also, this file was eventually formatted correctly, just not sure why it wasn't earlier during the pre-commit run. Here's our .pre-commit-config.yaml:
repos:
  - repo: https://github.com/tconbeer/sqlfmt
    rev: v0.17.0
    hooks:
      - id: sqlfmt
        language_version: python
  - repo: https://github.com/ambv/black
    rev: 22.12.0
    hooks:
      - id: black
        language_version: python3.7
  - repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v4.4.0
    hooks:
      - id: trailing-whitespace
      - id: end-of-file-fixer
      - id: check-yaml

Re-reading this more carefully now -- pre-commit passes a list of the changed files to sqlfmt, so when running sqlfmt in pre-commit, it doesn't run against your whole repo, only the files with changes. When you run sqlfmt . --diff in a GHA, that runs against the whole repo. Could that be causing your problem?

One other thing to test -- I don't think pre-commit installs jinjafmt unless you tell it to. Each pre-commit hook runs in its own virtual environment, so i don't think it helps that you have black installed locally or as another hook. Can you try this for your pre-commit config? If that works, I'll update the docs:
repos:
  - repo: https://github.com/tconbeer/sqlfmt
    rev: v0.17.0
    additional_dependencies: ['shandy-sqlfmt[jinjafmt]']
    hooks:
      - id: sqlfmt
        language_version: python

You could also try:
repos:
  - repo: https://github.com/tconbeer/sqlfmt
    rev: v0.17.0
    additional_dependencies: ['black']
    hooks:
      - id: sqlfmt
        language_version: python

Re-reading this more carefully now -- pre-commit passes a list of the changed files to sqlfmt, so when running sqlfmt in pre-commit, it doesn't run against your whole repo, only the files with changes. When you run sqlfmt . --diff in a GHA, that runs against the whole repo. Could that be causing your problem?

I don't think so because as you can see in the screenshot, I did run sqlfmt locally and I would think that it should have updated the file (but didn't at first). It eventually did but not the first time as expected. And these files should be formatted as we're making changes and pushing commits. We've had pre-commit set up on our project for months now and I just created that example snapshot this morning.

Also, I'm looking into changes the pre-commit config now.

I just updated my pre-commit config and tested it on the sample file, and it worked! I'm still not sure why running sqlfmt locally didn't work, but I'm hoping that this will at least catch issues before the GHA. I appreciate you helping out with this so quickly. Also, the additional_dependencies needs to be under the hooks, like this:
repos:
  - repo: https://github.com/tconbeer/sqlfmt
    rev: v0.17.0
    hooks:
      - id: sqlfmt
        language_version: python
        additional_dependencies: ['shandy-sqlfmt[jinjafmt]']

docs updated. Thanks, @ryanmeekins

omg, that's finally solved the same problem #397 that I had. Thank you both!


Fix cannot join with init amount

After the subnet is bootstrapped and the initial_balance parameter is set, it will call pre_fund which will thrown an error as pre_fund only works if the subnet is not bootstrapped.
This PR checks if the subnet is bootstrapped before sending the initial_balance.
It is still possible that after sending the pre_fund call and during the call, the subnet is bootstrapped. This should be rare and the CLI will ask the user to retry.

@raulk There is no state diagram, but the idea is simple:

If the address wants to fund but subnet is not bootstrapped, then one needs to call preFund and adds to genesis.
Otherwise just call fund.

Just a note that if we are thinking to modify the fund/preFund API duo, we should change release/preRelease as well.

I don't want to keep a complete and relatively simple PR on hold, though I understand the UX questions raised.
@raulk @aakoshh @cryptoAtwill We can carry this over to next week but let's try to agree on whether (i) this is a problem; (ii) this is the solution -- or close if the answer is no.
Whenever possible, I think it's best to look at it from the user perspective. Akosh & Willes's suggestion above makes sense, i.e. make it transparent to the user, possibly by merging preFund and fund into one function that checks for bootstrap state. Do we see any shortcomings with that route?

After discussing with Raúl, we're leaning towards closing and folding this into a bigger re-architecture, also tying in with the ERC-20 prefunding. Other ideas welcome, though.


Feature: Read shaders from source folder on recompile

Contains
When the recompileShaders command was run in the game in the past, it would use the shader files in the build folder, not the source folder. This made it harder to develop and test shaders. This PR introduces a somewhat hacky method to force loading of shader files from the source folder upon recompile. It will not do this on initial compilation, since most users and players will not be using this feature, or possibly will not have the local src folder. If the recompileShaders command is run without the proper src folder, or with a file missing, loading from the source folder for that particular file will simply not happen.
How to test

Start the game
Change something in the shader source folder
run recompileShaders command and see the shader change

Outstanding before merging

I did not implement this for metadata, because it is such a small feature, unlikely to be useful when recompiling
I considered making the loaded file info from the source folder overwrite the build folder files, but decided against it in case someone accidentally starts making changes in the build folder and realizes their mistake (functionally there is no difference between it being overwritten or not overwritten)
The source file loading happens in the ShaderData class. The class was not designed for loading the data, but I think it is the best intermediary between the GLSLShader and the GLSLShaderFormat, which is usually responsible for the loading but I don't believe is reachable in any way to be used for this use case.

Hooray Jenkins reported success with all tests good!

Hooray Jenkins reported success with all tests good!

Uh oh, something went wrong with the build. Need to check on that

Hooray Jenkins reported success with all tests good!

I realized that changing the render options also calls recompileAllShaders, and we do not want that to be grabbing them from source like we want to when the recompileShaders command is used in the game. I renamed the new shader method to developmentRecompile to clearly indicate that this recompile should not be used unless the user explicitly wants to develop shaders. For that reason I added a recompileAllShaders(boolean development) method to differentiate the recompiling modes.

Thanks for your work @Loonride! @dave2s can you take a look at the latest changes after your last review, and merge this PR if it is good?

To recap: This PR enables to recompile shaders from source folder on runtime without rewriting already compiled shaders in the build folder. To do this it uses  2 aditional AssetDataFile variables in ShaderData object which it saves to and reads from instead of rewriting the build folder and reloading from there. Previous version of the command recompiled from build folder, which has runtime copy of said shaders. For me, I would maybe rename the boolean development to at least boolean fromSource. Other than that, seeing as this is for debugging only and the legacy code should behave the same, I'd just merge it as it seems to work as intended.

Continued by #3765 now


Add some GOV.UK Accounts specific PII redacts

What
Add some new redactions to remove PII from URLs. This is targeted specifically at parameters in URLs in GOV.UK Accounts, so the matching is relatively simple.
Why
The things that are appearing in URLs could be linked to specific users so we need to remove these values.
Visual Changes
None.
Trello card: https://trello.com/c/bjcoDa2N/462-remove-or-redact-potential-pii-from-urls

Rather than adding in accounts specific parameters could we use a data/meta attribute in the HTML or JS to specify which parameters shouldn't be redacted in analytics and then the control of the parameters could be done within an individual application rather than these scripts needing to know about the app.

Rather than adding in accounts specific parameters could we use a data/meta attribute in the HTML or JS to specify which parameters shouldn't be redacted in analytics and then the control of the parameters could be done within an individual application rather than these scripts needing to know about the app.

So the regex would be in a meta attribute in the page, which would be picked up by the JS and applied to the URL? Do we do this already - and if so, where?
That sounds cleaner right now although I'm wondering about where these URL parameters will ultimately appear. Eventually we'll have a sign in link from every page on GOV.UK at which point this redaction should be pretty much universal?

in static https://github.com/alphagov/static/blob/8b08269e47403f5951d956f2c63d71fb8b565110/app/assets/javascripts/analytics/pii.js#L9

So the regex would be in a meta attribute in the page, which would be picked up by the JS and applied to the URL? Do we do this already - and if so, where?

We have the approach already where you specify with meta[name="govuk:static-analytics:strip-dates"] to specify stripping dates.
I'd not suggest going down the whole route of putting full regexes in for the JS - I'd see about listing parameter names for example:
<meta name="govuk:static-analytics:pii-query-string-parameters" content="param-1,param-2">

That sounds cleaner right now although I'm wondering about where these URL parameters will ultimately appear. Eventually we'll have a sign in link from every page on GOV.UK at which point this redaction should be pretty much universal?

Sure, that sounds quite a distant eventually though? But, yes if the intention is for them to be ubiquitous there's probably some thought that should be put into them. They seem quite generic in name (for example state is a very common parameter). Perhaps if ubiquity is the expectation they should be prefixed in a similar way to utm_ parameters. If you were to do that you'd have the advantage that you could run your strip against a prefix rather than needing to list each individual parameter (and need to update this gem any time accounts added or retired a parameter)

@kevindew / @kr8n3r - I think it's a really good point and if we made that change now on the ground floor we'd have a cleaner more knowable codebase in the long run.
That said we're already getting some of these Params into GA. There's only a 1 hour gap where they could be possibly identifying but we'd really like to cut that risk off now.
Would you be up for us merging this now, then immediately adding a refactor card to our board and getting our PMs/DMs to prioritise dev time into an approach described as above?
... I realise the "I'll do it later" defence doesn't have the most glorious history of follow through...

No qualms about resolving it quickly after.
Would suggest ideally in short term this is monkey patched in app rather than us doing a gem release for a short term fix in a different app, but if that's not realistic then go for it.

Thanks both. Just need to update the changelog and then I'll get this merged.

I don't work on gov.uk so carry as you were 👍


How to conduct the angle FFT？

The angle FFT is conducted along the different receivers antennas, for example, if there are 8 virtual antennas , dose it mean a 8 points FFT is conduct?

Sure we can do a FFT more than 8 points, but the  length of angle in time domain is 8 points?

@yizhou-wang

Please find code for angle FFT here: https://github.com/Xiangyu-Gao/mmWave-radar-signal-processing-and-microDoppler-classification.
Duplicate of #40


Python: adds XADD, XTRIM commands

Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@acarbonetto please sync docs with your PRs


Specified menu/screens not found

This article directs me to two items that do not exist on security.microsoft.com

"Automatically Resolve Alerts" setting
It says to go to Settings, Endpoints, Advanced Features and turn on "Automated Investigation" and "Automatically resolve alerts" The first toggle exists but the second does not.
Set up device groups
It directs me to Settings then Permissions then Device Groups. First of all, there is no "Permissions" page under settings. There is a Permissions page at the top level, but I don't see "device groups" anywhere on security.microsoft.com.

The closest thing listed to a prerequisite is one of 3 licenses. I have trials or full licenses for all 3. (Microsoft 365 Defender, Microsoft Defender for Endpoint Plan 2 and Microsoft Defender for Business)
I cannot figure out how to configure AIR capabilities.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 6e0afc1f-2112-050d-2db6-40b14c2149b9
Version Independent ID: 559af624-9032-7d66-670b-081ce8ac9d44
Content: Configure automated investigation and remediation capabilities
Content Source: microsoft-365/security/defender-endpoint/configure-automated-investigations-remediation.md
Product: m365-security
Technology: mde
GitHub Login: @Dansimp
Microsoft Alias: dansimp

@msbemba

@ScottBeeson  Thank you for your feedback. I will update the document with updated screenshots.
Thanks
Sri

@ScottBeeson Thank you for your feedback. I was able to follow the document and navigate without any issues. The options do exist.

If you are still having any issues locating these options, I recommend contacting Microsoft support via the need help section in the Admin center. That way, a support engineer can identify why the options do not exist for your tenant.
Hope this helps!
Thanks
Sri

@msbemba Thank you very much for the contribution and sharing this explanation. @ScottBeeson Hope this comment is helpful for you. If you see a documentation update is required, please feel free to open an issue for the same. We proceed here to close it. Thanks for taking out some time to open the issue. Appreciate and encourage you to do the same in future also.


[Question] Need help compiling listener client for M5StickC Plus2

Since theres no procompiled binary for the newer version of the M5StickC Plus, we need to compile it ourselfes.
Unfortunately, im a total beginner, and couldn't really wrap my head around how to use the linked page found in the readme of the M5StickC.
Can someone help me, or has there been a precompiled version been released already?

Any activity on this?

Did you manage to follow the instructions 2. Using the Arduino IDE on https://github.com/josephdadams/TallyArbiter/tree/master/listener_clients/m5stickc-listener#2-using-the-arduino-ide?
At the moment there is no automatic action for pre building a bin for the M5Stick Plus nor M5Stick Plus 2 versions.


.getModified() doesn't get transient fields that have been changed

Hi,
I'm using the great transient fields feature to handle encryption in our app.
decrypted fields are transient, so they never get saved to the db, while encrypted fields are regular fields.
We encountered some unexpected behavior with the transient fields:

they are not included in .getModified() when they should. Is that on purpose?
for some reason, we couldn't figure out why, when a transient field is in a nested class, it loses it's value somehow on the way from the client to a meteor method.

Let me know if we're using transient fields in a way it wasn't designed for, and if you have any suggestions.
Thanks!

Yes I know about it. The problem with the getModified() method is that it uses quite different method to detect changes than it should. Each operation on a document registers modifier that caused a change and the getModified() method does not use it at all. If it goes about transient fields, modifications of them does not register any modifier but the getModified() method does not know about it. Fixing it would require rewriting entire method. I've already fixed it in 2.0 but it's now backward compatible. So sorry but there is no quick fix for it. You just have to wait for 2.0, which (I can promise) will be much more stable.

ok, thanks.
When do you think you'll release 2.0?

I hope I will release it before Christmas :)

Nice!

@jagi I am just wondering, do you expect the migration to be easy or is it going to be a bit of work?
Also i was wondering why are relations marked as experimental? any particular reason?

@talha-asad Migration shouldn't be very hard, however it can take a little bit of time depending on the project size. I will probably also create a package helping with migration, which would show which line should be updated, but we will see if I'm gonna have time for that.
If it goes about relations package. It is experimental in terms of API but it works. I want it to develop and change api a little bit in 2.0 and probably integrate it with the core package. I have a few ideas to make it easier to declare relations.


Nanobox can't mount directories properly

Earlier today, I updated the nanobox/boot2docker box in order to resolve a different issue with nanobox-io/nanobox.  Unfortunately this caused something in mounts to break.  This results in the following error message:
Failed to mount folders in Linux guest. This is usually because
the "vboxsf" file system is not available. Please verify that
the guest additions are properly installed in the guest and
can work properly. The command attempted was:
2015-11-10 17:17:23 ERROR mount -t vboxsf -o uid=`id -u docker`,gid=`getent group docker | cut -d: -f3` mnt_ssh /mnt/ssh
mount -t vboxsf -o uid=`id -u docker`,gid=`id -g docker` mnt_ssh /mnt/ssh
2015-11-10 17:17:23 ERROR The error output from the last command was:
2015-11-10 17:17:23 ERROR mount.vboxsf: mounting failed with the error: No such device
mount: mounting mnt_ssh on /mnt/ssh failed: No such device

I have tracked it down to a missing kernel module vboxsf
$ lsmod | grep -i vbox
vboxguest             180224  0

A patch is forthcoming that will add the module but for now if you vagrant ssh in, you can add it by running $ sudo modprobe -a vboxsf

Images have been tested and are on atlas and s3.


Turn Off Session Functionality

How can we turn off the session functionality, or immediately exit after a single command?

Use vorpal.parse(), and don't use vorpal.show().
This SO answer should help.

I can confirm this works. This is how I am doing it.
    if (process.argv.length > 2) {
      app.parse(process.argv);
    }
    else {
      app.execSync('help');
      // You could also call vorpal.delimeter('custom:').show()
    }

@dthree you probably close this.

Maybe something has changed, but this does not work for me. Calling "parse" parses one command, then stays in the CLI, even without a "show."
The code in the SO answer works for me, only because it forgets to call the callback at the end of the command! However, if I type any other command as an argument, it stays in the CLI after parse() completes.


Document and reorder classpath config

What does this PR do?
Change order of configuration sources and document all supported options.
As a bonus, there are a few minor tweaks to the documentation.
Checklist

[x] I have made corresponding changes to the documentation
I have added tests that prove my fix is effective or that my feature works >> testing manually for now
[x] New and existing unit tests pass locally with my changes
[x] I have updated CHANGELOG.asciidoc
I have updated supported-technologies.asciidoc
Added an API method or config option? Document in which version this will be introduced
Added an instrumentation plugin? How did you make sure that old, non-supported versions are not instrumented by accident?

Author's Checklist

[ ] manually test most configuration priorities

Related issues

Closes #959

Link to generated doc : http://apm-agent-java_1087.docs-preview.app.elstc.co/diff

Codecov Report

Merging #1087 into master will not change coverage by %.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master    #1087   +/-   ##
=========================================
  Coverage     60.63%   60.63%
  Complexity      161      161
=========================================
  Files           327      327
  Lines         15132    15132
  Branches       2156     2156
=========================================
  Hits           9175     9175
  Misses         5341     5341
  Partials        616      616

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 b2ac746...c0b1974. Read the comment docs.

Using footnotes does not really work as expected here:

there is no way to make a footnote close by where we define them (always at bottom of page), and our page is really long.
we have no way to use small badges/labels that could be used instead

Thus since we can't have everything in the same list (priorities, dynamic support and few other details), I've moved paragraph about Dynamic config to it's own section (+references to it).


Fix incorrect Latex quotations.

Another remnant of the once-pure-ASCII form is gone.  Hooray, many thanks!


Code for creating files, suggested by spfx project upgrade fails in PowerShell

Discussed in https://github.com/pnp/cli-microsoft365/discussions/3492

Originally posted by Ofer-Gal July  6, 2022
when running:
m365 spfx project upgrade --output md > "upgrade-report.md"

there are the lines in the summary
cat > ".eslintrc.js" << EOF
require('@rushstack/eslint-config/patch/modern-module-resolution');
  module.exports = {
    extends: ['@microsoft/eslint-config-spfx/lib/profiles/react'],
    parserOptions: { tsconfigRootDir: __dirname }
  };
EOF

Running in powershell it errors. what should this do?
We need to revisit file-based rules and offer an alternative when the output shell is set to PowerShell

To execute the upgrade command in PowerShell, shouldn't we add the shell option to the command.
m365 spfx project upgrade --output md --shell powershell > "upgrade-report.md"

This then suggests to run the following lines to create a new file:
@"
require('@rushstack/eslint-config/patch/modern-module-resolution');
module.exports = {
  extends: ['@microsoft/eslint-config-spfx/lib/profiles/react'],
  parserOptions: { tsconfigRootDir: __dirname }
};
"@ | Out-File -FilePath "".eslintrc.js""

The outputed suggestion here is also faulty because of the double double quotes "" around the filename, but when we modify that to a single double quote it works fine.

That's definitely the right way forward @Jwaegebaert 👍

Perfect, then I will create a PR for the modification later today.


Missing support for other countries

Two things I've noticed are currently US specific and don't work for other countries:

Phone number formats
State

While it is usual to specify the state in the US, this is not the case for every country. I live in Germany and here we mostly omit the state in our address. Also there's no commonly known two-character abbreviation for our states, so even though I put in "BY" (for Bavaria/Bayern) this might not be understood by everyone.
I suggest removing the state as a required field and adding a country field to the user profile. As for the phone number I don't have a clear solution in mind, perhaps it should just be taken care of by the admin/developer of the blog.

Thanks for the feedback! I'll try implementing these changes and release an update in a day or so. Stay tuned!


0.19.5

Codecov Report

Merging #250 into master will decrease coverage by 0.01%.
The diff coverage is 90.19%.

@@            Coverage Diff             @@
##           master     #250      +/-   ##
==========================================
- Coverage   93.59%   93.57%   -0.02%
==========================================
  Files          82       82
  Lines       12719    12747      +28
==========================================
+ Hits        11904    11928      +24
- Misses        815      819       +4

Impacted Files
Coverage Δ

src/lib/version.rs
96.74% <100%> (ø)
:arrow_up:

src/lib/profile.rs
100% <100%> (ø)
:arrow_up:

src/lib/profile_test.rs
100% <100%> (ø)
:arrow_up:

src/lib/types_test.rs
95.93% <100%> (+0.03%)
:arrow_up:

src/lib/types.rs
86.28% <100%> (+0.06%)
:arrow_up:

src/lib/cli.rs
92.03% <20%> (-1.84%)
:arrow_down:

src/lib/environment/mod.rs
96.47% <90.9%> (-0.04%)
:arrow_down:

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 e9a2317...1f458a1. Read the comment docs.


Empty meta is passed as an array instead of an object, we need to enforce an object

Need to use JSON_FORCE_OBJECT
If the meta field is empty it is passed as an array instead of an object, it then cannot be unpacked into a map and the JSON decoding fails. This shouldn't be possible. If empty it should either not be sent or should be sent as an object.

This doesn't apply to the new version.


Shelf life of data when using upload function - auto delete of data after x days

[ ] bug report -> please search issues before submitting
[x ] feature request
[ ] documentation issue or request
[ ] regression (a behavior that used to work and stopped in a new release)

in the documentation of assistant (preview) there is the possibility to delete expired data:

e.g. :
`vector_store = client.beta.vector_stores.create_and_poll(
  name="Product Documentation",
  file_ids=['file_1', 'file_2', 'file_3', 'file_4', 'file_5'],
  expires_after={
	  "anchor": "last_active_at",
	  "days": 7
  }
)`

this is the link:
https://learn.microsoft.com/en-us/azure/ai-services/openai/how-to/file-search?tabs=python
have you already tried it to implement this into the current code?
Where to start?
Thanks and best regards

I have not tried to implement such a feature, no. This is the first time it's been requested.
To implement it, we need a few things:

A way of marking the expiration time of a file (if it's not going to be a global expiration). We could potentially store that in the metadata of the blob, I suppose.
A way of querying for expired files. Perhaps using https://learn.microsoft.com/en-us/azure/storage/blobs/storage-manage-find-blobs?tabs=azure-portal if we're using Blob metadata. Or we have to do a brute-force search over every blob and decide.
A cron job for deleting expired data. Since we're hosted on AppService, that'd be via WebJobs: https://learn.microsoft.com/en-us/azure/storage/blobs/storage-manage-find-blobs?tabs=azure-portal

So I think it is doable, but is a decent amount of work. I likely will not be implementing it anytime soon, as there are other feature requests that are more commonly requested. If you do implement it, we'd love to see it in a branch or PR.


Rancher process keeps consuming CPU until failure with 'generate_serving_certificate: true' enabled

SURE-3089
SURE-3433

What kind of request is this (question/bug/enhancement/feature request):
bug
Steps to reproduce (least amount of steps as possible):
Create an environment (as described below) and power off 50% of the workers overnight, power back on in the morning.
Environment specs
RHEL 7.9
Docker 1.13.1
K8s
local 1.17.13
downstream 1.18.10
Scale the cluster up to 60 nodes
CIS 1.5 Hardening applied
'generate_serving_certificate: true'
The Rancher logs are literally spammed with generate certificate messages that seems more aggressive then needed.

Result:
When the generate_service_certificate: true is enabled, the CPU for the rancher process on the rancher pods keeps getting larger until the cluster fails.

Other details that may be helpful:
I have a sneaking suspicion that this is to do with an outdated crypto library on the RHEL operating system.
Initially, we thought this was something to do with clusters being powered off after hours and Rancher spinning its wheels to poll them. However, this setting seems much more likely to be the culprit.
Environment information

Rancher version (rancher/rancher/rancher/server image tag or shown bottom left in the UI): 2.4.10
Installation option (single install/HA): HA

Cluster information

Cluster type (Hosted/Infrastructure Provider/Custom/Imported): AWS
Machine type (cloud/VM/metal) and specifications (CPU/memory): m5.xlarge
Kubernetes version (use kubectl version):

Client Version: version.Info{Major:"1", Minor:"17", GitVersion:"v1.17.6", GitCommit:"d32e40e20d167e103faf894261614c5b45c44198", GitTreeState:"clean", BuildDate:"2020-05-20T13:16:24Z", GoVersion:"go1.13.9", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.10", GitCommit:"62876fc6d93e891aa7fbe19771e6a6c03773b0f7", GitTreeState:"clean", BuildDate:"2020-10-15T01:43:56Z", GoVersion:"go1.13.15", Compiler:"gc", Platform:"linux/amd64"}

Docker version (use docker version): I have docker info not version

Containers: 50
 Running: 36
 Paused: 0
 Stopped: 14
Images: 21
Server Version: 1.13.1
Storage Driver: overlay2
 Backing Filesystem: xfs
 Supports d_type: true
 Native Overlay Diff: true
Logging Driver: json-file
Cgroup Driver: systemd
Plugins:
 Volume: local
 Network: bridge host macvlan null overlay
 Authorization: rhel-push-plugin
Swarm: inactive
Runtimes: docker-runc runc
Default Runtime: docker-runc
Init Binary: /usr/libexec/docker/docker-init-current
containerd version:  (expected: aa8187dbd3b7ad67d8e5e3a15115d3eef43a7ed1)
runc version: 66aedde759f33c190954815fb765eedc1d782dd9 (expected: 9df8b306d01f59d3a8029be411de015b7304dd8f)
init version: fec3683b971d9c3ef73f284f176672c44b448662 (expected: 949e6facb77383876aeff8a6944dde66b3089574)
Security Options:
 seccomp
  WARNING: You're not using the default seccomp profile
  Profile: /etc/docker/seccomp.json
Kernel Version: 3.10.0-1160.6.1.el7.x86_64
Operating System: Red Hat Enterprise Linux Server 7.9 (Maipo)
OSType: linux
Architecture: x86_64
Number of Docker Hooks: 3
CPUs: 4
Total Memory: 15.22 GiB
Name: pcbc-dev-rancher-master-blue-0
ID: NZOC:STDU:BHHW:XMWE:ZNCO:57XJ:DPZY:2MB6:QV6D:HFGK:5TV2:HDVD
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Http Proxy: http://proxy.auiag.corp:8080
Https Proxy: http://proxy.auiag.corp:8080
No Proxy: localhost,<IP_ADDRESS>,<IP_ADDRESS>,<IP_ADDRESS>/16,<IP_ADDRESS>/16,iagcloud.net,nexus3.auiag.corp,nexus3-uat.auiag.corp,nexus3.iag.com.au
Registry: https://registry.access.redhat.com/v1/
Experimental: false
Insecure Registries:
 <IP_ADDRESS>/8
Live Restore Enabled: false
Registries: registry.access.redhat.com (secure), registry.redhat.io (secure), docker.io (secure), docker.io (secure)

gz#14625

Closing in favor of https://github.com/rancher/rancher/issues/36025 which is the same issue and already has necessary labels and such.


Move the ockam_key_exchange_core create into ockam_core.

This is essentially the same as #2288, but for ockam_key_exchange_core.
We're trying to reduce the number of crates, and part of that is moving ockam_key_exchange_core into a new key_exchange submodule of ockam_core. I think this basically looks like:

Make a new pub mod key_exchange; in ockam_core.

Note: unlike the other modules, I think we shouldn't pub use key_exchange::* from the root here, since we'd like to move away from this.

Move the code from ockam_key_exchange_core/src/lib.rs to ockam_core/src/key_exchange.rs.

Update the doc comments so that it says "this module" rather than "this crate" and such. (Ask if you need help wording this).

Change uses of ockam_key_exchange_core::Foo and such to use ockam_core::key_exchange::Foo across our crates.

Delete the ockam_key_exchange_core crate, and any references to it (be sure to check .github/workflows, and to do a search for ockam_key_exchange_core).

That's the basic idea anyway (I may have missed something). Feel free to ask questions if anything is unclear.

Can I help somehow?

Absolutely! I'll assigned the issue to you, feel free to ask any questions here.

Hi @thomcc. It is my first contribution to ockam. As far as I understand (from the task description) it is a sort of simple code  reorganisation rather than cryptography programming. Right?

@fade2black yes that's right, only a code reorganisation.

@thomcc @mrinalwadhwa I removed all refs to the create, but we have a file rust_test_ockam_ockam_key_exchange_core.yml in the workflow folder. May I delete it?

yes please delete it

I guess rust_build_ockam_ockam_key_exchange_core.yml and rust_lint_ockam_ockam_key_exchange_core.yml too?

Yes * ockam_ockam_key_exchange_core.yml can be deleted

@mrinalwadhwa  I'm struggling with
use ockam_vault_core::Secret;
use zeroize::Zeroize;

inside the keyexchange.rs.  It says unresolved import ockam_vault_core`. Any idea?

@fade2black I think the simplest approach would be to wait for https://github.com/ockam-network/ockam/pull/2324 to land. Where @totsteps is moving ockam_vault_core as per https://github.com/ockam-network/ockam/issues/2288


Display status in CLI

Allows Ready condition status to be display at the CLI via oc get horizon, similar to what we do for other operators.
This follows what was done for heat-operator by https://github.com/openstack-k8s-operators/heat-operator/pull/138 .

/retest

/retest

/retest


I want to register a non-store indie game

Sorry, I'd like to bulk register indie games in the ____.exe format that don't exist on any other platforms to Steam. .
Is there a function to do that?
If possible, I'd like to be able to specify a directory and register the exe file and the .jpg file with the same name inside it as thumbnails.

Although not a perfect solution, you have the option to add on Lutris and then import with BoilR.


Feature: put a recaptcha check on account forms

Hello,
This is a little feature we (on our side) planned into implementing to Saleor, to add extra checks. This pull request adds a simple field to account forms to check if the user is human to restrict more the access to bots.
This feature is by default disabled and can be enabled/ toggled from settings.py, through the environment. The field is added through the creation of the base form (lazily).

Pull Request Checklist
(Please keep this section. It will make maintainer's life easier.)

[x] Privileged views and APIs are guarded by proper permission checks.
[x] All visible strings are translated with proper context.
[x] All data-formatting is locale-aware (dates, numbers, and so on).
[x] Database queries are optimized and the number of queries is constant.
[x] The changes are tested.
[x] The code is documented (docstrings, project documentation).
[x] Python code quality checks pass: pycodestyle, pydocstyle, pylint.
[x] JavaScript code quality checks pass: eslint.

Great PR overall, thinking about improvemen: We could disable 'send' button untill Recaptcha completes.
Something like:
in forms.py:
captcha = ReCaptchaField(attrs={'callback': 'recaptchaCallback'})

in template.html:
<form method="post" action=".">
    {% csrf_token %}
    {{ form }}
    <div class="row">
        <script>
            function recaptchaCallback() {
                document.getElementById('registerButton').disabled = false;
            }
        </script>
        <button id="registerButton" type="submit" class="button" disabled>
        {% trans "Register account" %}
        </button>
    </div>
</form>

Sounds great! I will look into that when I'm available!

@NyanKiyoshi Since it's optional, I'd not worry about Chinese-compatible solution in this issue. Recaptcha is well known, will do the job if one need it.

@Pacu2 I think we could let the submit button as it is. It would probably be better if we decide to add other solution (as said above, a Chinese compatible solution) as otherwise it would add Javascript code as we would need to iterate the forms to look for captcha fields.

All good! Thanks!

@NyanKiyoshi Thank you for this new feature! We will mention it in the new release 🎉


Add exponential back-off waiting until /etc/machine-id is populated

Fixes https://github.com/kairos-io/kairos/issues/3038

opted for this one instead: https://github.com/kairos-io/packages/pull/1178


Asyncronous update checking

The GandalfActivity approach blocks the UI leading to a unwanted delay on startup.
Is there any example of how to use Gandalf e.g. with a background Service/IntentService?

First I just want to point out that it is intentional that GandalfActivity blocks the UI. This is because when issuing a force update it is usually related to some unforeseen event or bug found in the future. Without knowing which section of the app the update is for you risk executing code that should not be executing before the Gandalf check can complete.
But Gandalf is built in such a way that you can use it however you would like to get the same update functionality. The README has a quick explanation about using Gandalf without the Activity approach:

If extending GandalfActivity doesn't work for you the Gandalf class can be used directly by calling shallIPass(GandalfCallback callback). In this case make sure you respond to the callback methods and make a call to gandalf.save(Alert alert) and gandalf.save(OptionalUpdate optionalUpdate) if not using the BootstrapDialogUtil for your UI.

Let me know if that isn't clear enough or you need a little more direction.

OK, thanks. I got your point why using a splash activity makes sense.
Another idea to minimize the unwanted delay could be adjusting the http request timeout as this especially happens with bad internet connection. However, this would increase the risk of passing the check simply due to a timeout.

That is a possible solution to avoid long delays during the Gandalf check. You can accomplish this by passing a custom OkHttpClient to the Installer and setting your own timeout length. The current default for Gandalf is set to 30 seconds.


docs: API Reference

Make sure everything that is "user-facing" has JSDoc comments, and implement a CICD pipeline to compile that into a deployed website.
API Sections
Confirm that the sections are in-use in the project, and document them.

[x] Guides

[x] Quick Start
[x] The Basics

[x] 00 - Understanding This Package
[x] 01 - The SuperCamo Singleton
[x] 02 - Document Basics
[x] 03 - Embedded Document Basics
[x] 04 - DB Client Basics

[x] Package Exports

[x] Reference

[x] Classes:

[x] CollectionAccessor
[x] CollectionListEntry
[x] NedbClient
[x] SuperCamo
[x] NedbBaseDocument

Make sure to note that TypeScript intellisense shows more data (eg. rules) on a CTRL+Space shortcut in VSCode

[x] NedbDocument
[x] NedbEmbeddedDocument

[x] Interfaces:

[x] BaseDocument
[x] CollectionAccessor
[x] CollectionsListEntry
[x] DocumentBaseData
[x] DocumentConstructorData
[x] DocumentKeyRule
[x] DocumentObjectData
[x] findManyDocumentsOptions
[x] findManyObjectsOptions
[x] findOneObjectOptions
[x] NedbClientEntry
[x] updateManyOptions
[x] updateOptions

[x] Logging:

[x] SuperCamoLogger

[x] Error Classes - might just leave these as-is for now, they only really exist for catch specificity anyway

Automation
GitHub Actions workflow requirements.

[x] Repo configured with GitHub Pages deployment.
[x] Repo configured with a JSDoc build command.
[x] Workflow configured to run the above JSDoc build command.
[x] Workflow configured to upload JSDoc build output to gh-pages branch.

Some sections (mostly in Interfaces) don't show their explanation content in the generated website, but that's fine - it's nothing that package users are meant to be using anyway. And if they do need to dig into it, then the JSDoc comments/intellisense in their coding editor will work to provide info as a workaround instead.


CrudResource: Add extension points for all service method calls

Add extension points wrapping around the service calls such that we can override the service calls in derived classes without overrideing the HTTP / REST handling.
This would be useful e.g. for nested resources dealing which must take foreign keys into consideration.

Fixed.


New Rule: Dropbox comment phishing

Testing results look good, no egregious match quantity, rule is pretty specific, low concerns with merge.


Fix the TXF link

The current one leads to a 404 page.

Thanks for noticing the broken link. However, the alternative doesn't provide much information. It might be best to use a link to the internet archive:
https://web.archive.org/web/20121103033816/https://turbotax.intuit.com/txf/TXF042.jsp

If you want to change your PR accordingly, I would accept it.

Roger that. I updated it to the Internet Archive link.


Bone Animation Support

Awesome project! Had to make a few changes to get it working but managed to get an animation loading. One thing I noticed tho is it not seem to animate the bones? Is that currently supported?

I've spent a couple of hours looking through the project and it the weirdest thing I'm seeing is that the values in the scon file don't match up to what I'm seeing actually in Spriter - even when I save the file myself, which is super weird. Maybe the difference between your project set up and my demo stuff is that my scon files were generated when generating a Spritesheet - maybe it does something different with the transform data? I tried to get your project exported in the same way but the Ok button is disabled whenever I try 😢
I'll take a look when I get more time but I can't otherwise see any obvious reason why it would break. I'll need to figure out a nice way to debug stuff like this 😂

Hey thanks again so much. So i did have to change a few line of the loader code.
        // Check for loading spritesheets.
        data.folder.forEach((atlas) => {
            atlas.file.forEach((file) => {
                const url = atlasPath + file.name;

                if (!loader.resources[url]) {
                    loader.add(file.name, url, loaderOptions);
                }
            });
        });

I added the extra step to load the individual files rahter than the atlas. Wander is thats maybe causing an issue downstream?

Managed to rule out the spritesheet differences - needed to massive increase the output size of the spritesheets - it still breaks. I'm gonna raise 2 bugs and a feature request off the back of this as there are a couple of weird things going on here. I'm not sure how quickly I'll be able to turn around a fix (I'm still not 10% sure what's going wrong) but I'll keep you posted.

Thanks so much @brinsleylogic, really appreciate the help!


Feature request: default meta

I'd like to be able to set a default meta to be added to each request sent using the repl.
This means I could start a repl and have all my action calls preloaded with for example user data.
Allowing me to more efficiently work with the repl impersonating one of my system users.
Suggested solution:
When I create my serviceBroker for a repl I could set an option for defaultMeta:
  const broker = await startBroker({ defaultMeta: { myMeta: 'test'} } );
  broker.repl()

Alternatively it could be passed as a parameter to the repl command, but having it available in options for the service just like everything else might be a more natural place to have it.

To cover it, you can create your custom commands where you can use any params, meta what you want, e.g.: https://github.com/icebob/kantab/blob/master/repl-commands/boards.js

That would work for us, so I will do that.
It would be nice to have it built in.


Switch Network and Disk charts to stacked bars

Line charts are not very convenient in this case because they keep overlapping and transparency doesn't help.

Done in #78


Move net-ssh dependency to manageiq-gems-pending

Must be merged with https://github.com/ManageIQ/manageiq-gems-pending/pull/303
Based on https://github.com/ManageIQ/manageiq/pull/16216

We (OpenStack) would need this backported.
@miq-bot add_label gaprindashvili/yes

Gaprindashvili backport details:
$ git log -1
commit e79f3087fb2cfe528d5d282a774e42f3bb559d96
Author: Jason Frey<EMAIL_ADDRESS>Date:   Thu Nov 2 17:13:36 2017 -0400

    Merge pull request #16347 from bdunne/net_ssh_dependency

    Move net-ssh dependency to manageiq-gems-pending
    (cherry picked from commit 34433eeb70369dbcd44431781eb82c71b7b8bd88)


[VMR] packages/archive/archiveArtifacts.txt content is not getting updated

The https://github.com/dotnet/dotnet/blob/main/packages/archive/archiveArtifacts.txt file is not getting synchronized from the installer.  This file used to be generated as part of the tarball creation logic.  It's content is dynamic and is based on values in the installer's eng/version.props file.

cc @premun

I think I will need to know more on how we can replace this process.

based on values in the installer's eng/version.props file

I can see that we set this SourceBuiltPrebuiltsTarballName property in Versions.props and that it's only used to be put in this file.
I understand this is a manual process - updating this value? Whenever the bootstrap SDK's version is bumped? Would it be a problem that someone would update this file instead?
I can also see that there is this potential second "private" version. I understand this is used during some internal code flow / when doing the release?

Discussing this with @crummel, we have decided that the correct place for these versions to be stored in the source-build's versions.props file, not the installer's versions.props file.  The archiveArtifacts.txt file will be removed.


Failed to import #include <hyprlang.hpp>

You must already know this, because it's a breaking chance that you announced regarding unifying the languages, but I just got the compilation error.
Following (more or less) hyprland issue:
Bug
How to reproduce?
Just compile the current git version.
[5/13] Building CXX object CMakeFiles/hyprpaper.dir/src/events/Events.cpp.o
FAILED: CMakeFiles/hyprpaper.dir/src/events/Events.cpp.o
/usr/bin/sg++ -DGIT_BRANCH=\"main\" -DGIT_COMMIT_HASH=\"39ad021c7599a86c4619631af5226a887b104bf1\" -DGIT_COMMIT_MESSAGE="\"    internal: move to libhyprlang for config handling\"" -DGIT_DIRTY=\"\" -I/data/git/PKGBUILDs/hyprpaper-git/src/hyprpaper/. -isystem /usr/include/pango-1.0 -isystem /usr/include/cairo -isystem /usr/include/freetype2 -isystem /usr/include/harfbuzz -isystem /usr/include/glib-2.0 -isystem /usr/lib/glib-2.0/include -isystem /usr/include/pixman-1 -isystem /usr/include/libmount -isystem /usr/include/blkid -isystem /usr/include/fribidi -isystem /usr/include/libpng16 -isystem /usr/include/sysprof-6 -isystem /usr/include/webp -O3 -DNDEBUG -std=c++2b -DWLR_USE_UNSTABLE -Wall -Wextra -Wno-unused-parameter -Wno-unused-value -Wno-missing-field-initializers -Wno-narrowing -pthread -MD -MT CMakeFiles/hyprpaper.dir/src/events/Events.cpp.o -MF CMakeFiles/hyprpaper.dir/src/events/Events.cpp.o.d -o CMakeFiles/hyprpaper.dir/src/events/Events.cpp.o -c /data/git/PKGBUILDs/hyprpaper-git/src/hyprpaper/src/events/Events.cpp
In file included from /data/git/PKGBUILDs/hyprpaper-git/src/hyprpaper/src/events/../Hyprpaper.hpp:3,
                 from /data/git/PKGBUILDs/hyprpaper-git/src/hyprpaper/src/events/Events.cpp:2:
/data/git/PKGBUILDs/hyprpaper-git/src/hyprpaper/src/events/../config/ConfigManager.hpp:3:10: fatal error: hyprlang.hpp: No such file or directory
    3 | #include <hyprlang.hpp>

have you installed hyprlang?

No, you got a point. I`m going to create a PKGBUILD for hyprland (if there is none one AUR) yet, and open issue to add this as dependency on current hyprpaper one.

you mean a pkgbuild for hyprlang? hyprland is in repos :P

Yes, sorry. Fast write, slow thinking. Issue solved.


Export .ply (structures only)

Hello @lfranke  I'm really amazed by your work and want to thank you first.
And I have a doubt,

Hi, this is currently a bit difficult, as our point colors/descriptors have no real RGB meaning without the neural network convolutions afterwards.

Since you have mentioned it has "no real RGB" value, is it possible to export a .PLY file with only Pointclould Structures not colors?

Hi, yes this is possible. when you compile with -DMINIMAL_GUI=ON, on the bottom left there should be an save points ply button. It however will only export the positions and original rgb colors, of which only the point positions will be optimized for TRIPS


Kpt live commands accept the config function spec input format

In order for kpt live commands to be listed as sink functions in the kpt functions catalog, we need them to accept the same input format as other config functions.
The config function specification details that all functions must accept a list of resources as input: https://github.com/kubernetes-sigs/kustomize/blob/master/cmd/config/docs/api-conventions/functions-spec.md#input-type
This is blocking #574 .

@natasha41575 @runewake2 could be a good issue to take a look at.


convert UUID_BINARY in pk on update

Fixes issue in comment.
I have also changed the UuidConverter, so that it handles null values. The initial idea was to be strict with the type, but it is not robust and lead to ugly code, where the null check has to be performed manually every time.
Includes test fix from #1980, otherwise tests would fail.

Codecov Report
Attention: 5 lines in your changes are missing coverage. Please review.

Comparison is base (4f36eea) 89.27% compared to head (f5ccdb9) 67.47%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@              Coverage Diff              @@
##             master    #1981       +/-   ##
=============================================
- Coverage     89.27%   67.47%   -21.81%
- Complexity     8049     8052        +3
=============================================
  Files           232      232
  Lines         24519    24527        +8
=============================================
- Hits          21889    16549     -5340
- Misses         2630     7978     +5348

Flag
Coverage Δ

5-max
67.47% <68.75%> (-21.81%)
:arrow_down:

7.4
67.47% <68.75%> (-21.81%)
:arrow_down:

agnostic
67.47% <68.75%> (+<0.01%)
:arrow_up:

mysql
?

pgsql
?

sqlite
?

Flags with carried forward coverage won't be shown. Click here to find out more.

Files
Coverage Δ

src/Propel/Runtime/Util/UuidConverter.php
61.29% <100.00%> (-16.49%)
:arrow_down:

src/Propel/Generator/Builder/Om/ObjectBuilder.php
83.23% <50.00%> (-10.62%)
:arrow_down:

... and 121 files with indirect coverage changes

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Floor-plans do not work

Hello,
I'm doing the course exercise on floor-plans generation and it's not working properly.
What happens is that whatever plant you choose it always shows the same image.
I have also copied the code of the course exercise: javascript, html and css
the only modification I made was commenting the line:
//await viewer.IFC.setWasmPath('../../../');
because I have the web-assemblies in the same project folder.
Could it be that some update of the web-ifc-viewer has damaged this functionality?

Hi, does this happen with any IFC file, or just with specific IFC files? If you could set up a minimal repository where we can reproduce this issue, it would be nice.

It happens with any ifc file, even the same one used in the course lesson.
In the image on the right is the floor 01 - Entry Level of the course. On the left is my exercise. I have also clicked on 01 - Entry Level, but the same floor always appears even if I click on any other button.

Attached the compressed project file. In order not to exceed the allowed limit, I have deleted the node_modules folder:
FloorPlans.zip

It seems like there is a problem with units in the latest web-ifc. We'll take a look and should fix it very quickly. In the meantime, you can try installing the same version of web-ifc-viewer that we use in the course and it will work.

I have the same problem, but installing course version of web-ifc-viewer ("^1.0.207") did not help. It seems like something wrong directly with viewer.plans.**goTo**(model.modelID, plan)  as it works only partly. What else might be a solution?
Here's the link to the repository - https://github.com/AnnaAntonovna/IFC-FloorPlans/tree/main
Here's the web-page - https://annaantonovna.github.io/IFC-FloorPlans/
Thank you in advance!

Hi, I solved this in the last version of web-ifc-viewer. Can you please try? Make sure to rebuild your app, avoid exporting web-ifc-three if you are already using web-ifc-viewer and make sure you are using the correct version of web-ifc (web-ifc": "^0.0.39")

Thank you very much! It works now!

It's happening again in this thread:
https://github.com/IFCjs/web-ifc-viewer/issues/232
I'm using the latest version of WIV

@MiguelG97 we are now focusing our efforst in the components repository. It should be fixed there: the brand-new documentation and tutorials will be released very soon, and it is likely that it will replace web-ifc-three and web-ifc-viewer. In the meantime, you can use the version of WIV that is working, and once we make the official release, making the transition should be quite easy.


aws-creds: Bump rust-ini to 0.18

Bumping rust-ini gets rid of a duplicate ordered-multimap for us.

@durch What's holding up the 0.31 release with aws-creds 0.28? Would love to start using this :+1:
Also, what's up with the "squash merge of the following" (or retitled) squash commits when going from develop to master? It makes it very inconsistent to count contributions and next to impossible to understand what PRs/commits have made it to master and what have not.
Would love to see just a single branch used, where releases are tagged from. That also makes the autogenerated changelog in https://github.com/durch/rust-s3/releases readable, for example the s3 0.29.0 by @durch in https://github.com/durch/rust-s3/pull/253 entry contains many more changes internally that are missing.


Fix simple typos in README.md

The reame is going to be rewritten entirely according to the changes in 0.3.*
Thanks anyway.


Failed to activate asdf environment

Vscode, asdf and Ruby LSP are all in the latest versions

Start the Ruby LSP using vs code
Open a Ruby file
Try to Ruby LSP: Start
Shows the error ailed to activate asdf environment: Unexpected token '/', "/bin/sh: 2"... is not valid JSON

Code snippet or error message
VS code message: Failed to activate asdf environment: Unexpected token '/', "/bin/sh: 2"... is not valid JSON

:wave: This seems like the same issue as https://github.com/Shopify/ruby-lsp/issues/1990 which was solved by updating asdf. What version of asdf is in use?

Thanks. And how was asdf installed?

Based on what I could gather, it seems that /bin/sh (the default shell used when calling exec) doesn't support the [[ ]] syntax on all operating systems. I assume you're using some other shell in your terminal and not /bin/sh, otherwise you'd see the problem there as well.
I think we can try to run exec with the shell identified by VS Code, which I'm exploring on this PR https://github.com/Shopify/ruby-lsp/pull/2006.
@davijonm it would be extremely helpful if you could confirm that this fixes the issue. You can do so by following these steps:

Clone the project
Switch to the branch in the PR or apply the changes manually (since it's only a few changes)
Install dependencies (cd vscode && yarn install)
Open our custom workspace by clicking on the workspace file and then click the button open workspace
In the Run and debug panel, select the task Run extension and click start. This will open a second VS Code window where the development version of the extension is running
In the second window, did the Ruby LSP launch properly with the changes in the branch?

Ok, did all the steps. In the step 5, it opened a second window with this error bellow:

I use zsh but asdf is set in both .zshrc and .bashrc files

Not sure why it still used /bin/sh. I pushed https://github.com/Shopify/ruby-lsp/pull/2006 to fallback to process.env.SHELL and added a print so that we can inspect the values. If you don't mind giving it another try, I'd like to understand if vscode.env.shell is not set for you.

Here is the result

Hey guys, any updates?

@davijonm we're still investigating. For now, you can downgrade to v0.5.19 of the extension to switch to the older activation approach.

I just realized I made a mistake in the previous iteration of https://github.com/Shopify/ruby-lsp/pull/2006. I set the shell inside env, which isn't what I meant to do. I updated the branch to set the actual shell to vscode.env.shell.
Could you please try again and report if that fixes it?

Then, in this new window, I opened a Ruby repository. In the output console, there were these messages:


Add HydroRIVERS index feature

Changes:

GeoGenerator.java: generator for geo documents
JsonCollectionGeoRiverTest.java: tests if JsonCollection works on the data prepared for HydroRIVERS
GeoGeneratorTest.java: tests for GeoGenerator.java
rivers.json: test data used in JsonCollectionGeoRiverTest.java

Ran the indexer:
sh target/appassembler/bin/IndexCollection -threads 1 -collection JsonCollection \
 -generator GeoGenerator -input collections/hydrorivers \
 -index indexes/hydrorivers -storeRaw

on all HydroRIVERS data (8.5 million rivers) with no problems. However, haven't tried querying on the indexed data yet, will do so after building the search class.

Codecov Report

Merging #1776 (1dc8ded) into master (6a70804) will decrease coverage by 0.00%.
The diff coverage is 57.14%.

@@             Coverage Diff              @@
##             master    #1776      +/-   ##
============================================
- Coverage     57.61%   57.61%   -0.01%
- Complexity     1032     1038       +6
============================================
  Files           173      174       +1
  Lines          9794     9836      +42
  Branches       1345     1353       +8
============================================
+ Hits           5643     5667      +24
- Misses         3676     3692      +16
- Partials        475      477       +2

Impacted Files
Coverage Δ

...java/io/anserini/index/generator/GeoGenerator.java
57.14% <57.14%> (ø)

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 6a70804...1dc8ded. Read the comment docs.


created by wangming

Fixes # .
Changes proposed in this pull request:

@seniordev21 Please explain your problems in this PR, we will not contact you on any platform, the issues are resolved here or not.

Hi! Thanks for your contribution. I've just tried to run the app using the "dev" script, but it fail with this error:

Any idea what's wrong? Does it work for you?

I am fixing about it. I already fixed

Hi! Thanks for your contribution. I've just tried to run the app using the "dev" script, but it fail with this error:

Any idea what's wrong? Does it work for you?

I am fixing about it

@seniordev21 Please explain your problems in this PR, we will not contact you on any platform, the issues are resolved here or not.

I already fixed about it and pushed it. So you can use following.

npm install --force
you should change "import{ createHash as t} from 'crypto'" to " const cryp=require('crypto');const t=cryp.createHash();"
in @ensdomains/address-encoder/lib/index.modules.js file
npm run dev
successfully.

As you can see, but I am fixing other problem.


Add a sheet for Buried Secrets

Changes / Comments
This is a new sheet for Buried Secrets, a Forged in the Dark game authored by myself.
It should be compliant with Building Character Sheets standards.  Previous iterations were developed in the character sheet sandbox and it has been used as a custom sheet.

Character Sheet Info Roll20 Internal Use only.

Character Sheet Info Roll20 Internal Use only.


WSFC ProbePort for Azure iLB

Did a [ProbePort] parameter ever make it into any clustering resource, for answering Azure iLB Health Probes?  I cannot seem to find.
TIA

It was discussed in the issue https://github.com/dsccommunity/xFailOverCluster/issues/7 but no one in the community have proposed a change (Pull Request) for it yet.


File nesting does not respect compact folders settings

Does this issue occur when all extensions are disabled?: Yes

VS Code Version: 1.66.0
OS Version: Darwin Kernel Version 21.2.0

Steps to Reproduce:

This looks expected to me. The parent file (index.ts) should not be rendered as a compact folder, as it is not a folder. Not sure if I'm missing something here?

I'm developing a project with a lot of workspaces, each of which has a similar structure (src/index.ts, package.json, tsconfig.json, etc). When I just saw this feature, I couldn't help but wonder if I can directly map each workspace folder to src/index.ts, and then the rest of the files can be expanded with the help of file nesting, so that I don't have to click a lot each time. (I know about files.exclude, but I don't plan to exclude package.json files directly, because I may modify them occasionally.)
You're right though, now I realize now that this is probably beyond the scope of the file nesting feature. If you don't care about the above, please close this issue.
Thank you for providing such a useful feature.


SKCanvas.DrawPicture does not respect paint's color?

Hey guys, awesome project you got here! NGraphics and XamSVG now feel obsolete :))
Anyways during playing with SkiaSharp I noticed I cannot get my svg's (imported via the prerelease SkiaSharp.Svg) painted in any other color than default black (on UWP, didn't try other platforms yet). The DrawPicture call completely ignores the color I set for the paint object. Is this a bug or am I doing something wrong?

To clarify, I'm trying to set a default color for picture rendering (that comes from svg file) ie. my svg files don't have any colors set and are rendered black which is not very flexible, I can of course set color in svg source file but I was hoping I can achieve same result programatically (without messing with source files).

You can do this by painting the picture with a color filter:
using (var paint = new SKPaint()) {
    paint.ColorFilter = SKColorFilter.CreateXferMode(SKColors.Red, SKXferMode.SrcIn);
    canvas.DrawPicture(svg.Picture, paint);
}

This works great for Android, but doesn't work on Desktop for me. Or the newer
paint.ColorFilter = SKColorFilter.CreateBlendMode(SKColor.Red, SKBlendMode.SrcIn);
I'm using an fa.solid SVG.

Apologies, having moved up versions, confirmed working on desktop and android.


Fetching data from data.taipei

Parks in Taipei is an open api endpoint. In order to implement #1, I think we can make a gallery app to demo how to fetch data. How do you think?

Implemented. See this PR #5


Add search by name, symbols and func to get all names

Add .search()

cryptocurrencies.search({name: 'bitcoin'})
cryptocurrencies.search({symbol: 'btc'})

// return {name, symbol}

Add .names()

cryptocurrencies.names()

// return String[]

Add a new test
Add example on readme.md

Sorry for such a late reply! I do like the idea of these search functions, but I think these search features will be quite slow, especially considering how large the list of currencies have become (when you wrote this PR the list was around 4,000 currencies, but now the list is well over 12,000 currencies). So I think I would reverse the search logic to not try to lowercase the key and search through all possible keys, and instead, convert the search string to uppercase and return the key with that value, if it exists, removing the need to loop through all the currencies to find the right one.


Remove 0.5 - 1 pixel line between Connector start and Connector end

The current version 0.1.0 has 0.5 - 1 pixel line between Connector start and Connector end. Can I remove it?

It's appear on Galaxy Tab A (8.0'', 2019) device. On small device, it is not appear. I think it is by 0.5 pixel when you calculate

The current version 0.1.0 has 0.5 - 1 pixel line between Connector start and Connector end. Can I remove it?

I can see it but I can't find where is that pixel! It's getting me crazy. Where can you remove it?


Add Think Java book

Add Think Java book
What does this PR do?
Add resource(s)
thinkjava.pdf
For resources
Description
Think Java is an introductory programming book that covers the basics of Java programming and object-oriented concepts. It is designed for beginners and provides a comprehensive understanding of the Java programming language.
Why is this valuable (or not)?
This book is valuable as it introduces foundational concepts in Java programming, making it an excellent resource for beginners and anyone looking to enhance their Java skills.
How do we know it's really free?
The book is available for free online through O'Reilly Media under the Creative Commons license, which allows free access to educational resources.
For book lists, is it a book? For course lists, is it a course? etc.
Yes, this is a book.
Checklist:

[x] Read our contributing guidelines.
[x] Search for duplicates.
[x] Include author(s) and platform where appropriate.
[x] Put lists in alphabetical order, correct spacing.
[x] Add needed indications (PDF, access notes, under construction).
[x] Used an informative name for this pull request.

Follow-up

Check the status of GitHub Actions and resolve any reported warnings!

Think Java
Author: Allen B. Downey, Chris Mayfield
Description: Think Java is an introduction to Java programming for beginners. It covers the basics of the language and object-oriented programming concepts.
Link: Think Java
License: CC BY-NC-SA 3.0

It looks like you are a first-time contributor. Please see docs/CONTRIBUTING.md for guidelines on how to contribute. This is not a valid contribution.

The repo does not host books. Please read docs/CONTRIBUTING.md guidelines. If the book is free licensed, consider depositing in archive.org or unglue.it


Nested widget_pages

Feature Request
Is your feature request related to a problem? Please describe.
Right now widget_pages cannot have nested widget_pages, this is, the folder containing the index.md file with type: "widget_page" in its front matter cannot have subfolders (subsections).
Describe the solution you'd like
Following this comment, it'd be great if widget_pages could have subfolders inside with more widget_pages (essentially becoming branch bundles instead of leaf bundles).
Describe alternatives you've considered
One can make those widget_pages sections of the main widget_page but that can have a negative impact on the performance, as seen in #1992.
Additional context
This is an example of a folder structure I'm willing to have:
content
│
└───folder1
│   │   some widgets
│   │
│   └───subfolder1
│       │   more widgets

The more I read the more convinced I am that widget_pages should definitely be sections (https://gohugo.io/content-management/sections/)

Great suggestion @rodrigoalcarazdelaosa !
A year or more ago, I experimented with nested Widget Pages, but Hugo did not have the capability to support it without undesired side effects at the time.
However, from Hugo v0.68.0+ (and recent bug fixes), Hugo's new _build and cascade options appear to enable a refactor of widget pages in a way which would allow for nested Widget Pages without any undesired side effects 😃
This requires further investigation and likely there will be some breaking changes.
As a temporary workaround to the problem you presented with breaking up a long widget page into multiple widget pages, it may be possible to create folders for multiple widget pages within the same parent folder (i.e. not nested) and then use Hugo's permalink option to effectively nest them inside each other.

Somewhat related to this (if not I'm happy opening a new feature request). Right now the portfolio widget cannot use (show) content that is in the same folder of the widget itself (which must be a widget_page). Ideally I'd love to have a folder working as a widget_page with a portfolio widget that'd be showing projects located in subfolders inside that widget_page (see image attached). That way the url of those projects would still show the same structure created with the widgets.

As a temporary workaround to the problem you presented with breaking up a long widget page into multiple nested widget pages, perhaps it may be possible to create folders for multiple widget pages within the same parent folder (i.e. not nested) and then use Hugo's permalink option to effectively nest them inside each other?

I hadn't though about this @gcushen and it's working out beautifully! Actually I'm achieving the same end result as with nested widget_pages. These obviously would be much more convenient, as I wouldn't need to manually define the url of all my pages, but in the meantime I'm very very happy!

After further investigation, the optimal approach for now is to keep Widget Pages as standard "pages" (aka "page bundles") in Hugo, rather than convert them to Hugo's multi-page "branch bundle" concept. This is aligned with the plan for Widget Pages v2 and closer CMS integration.
Widget pages can be nested by creating them in a flat structure and then nesting them via permalinks, as described above. Perhaps Hugo will provide first-class support for nested pages (aka "page bundles") in the future.


Add service to notify a user when a validator picked has fallen from grace

Oh, this sounds similar to what we discussed yesterday...


Add missing AList type alias to sbt.Import

Look like a flaky test in CI.  Here's the power assert:
[info] - cancel on-going task with string id *** FAILED ***
[info]   assertion failed
[info]
[info]   assert(svr.waitForString(1.minute) { s =>
[info]              |             | |           |
[info]              false         | 1 minute    testpkg.EventsTest$$$Lambda$330/0x00000001003c0840@248d118
[info]                            scala.concurrent.duration.package$DurationInt@1


Add Cargo.lock

I think the rust-lang book was misinterpreted. For applications, it is considered best practice to check in a Cargo.lock
https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html

If you’re building an end product, which are executable like command-line tool or an application, or a system library with crate-type of staticlib or cdylib, check Cargo.lock into git

thanks but will fixing that with #22


Add ref_id output to data.ec_deployments

Overview
Add ref_id to data.ec_deployments. It is currently only available in data.ec_deployment: https://registry.terraform.io/providers/elastic/ec/latest/docs/data-sources/ec_deployment#elasticsearch.#.ref_id
Possible Implementation

Testing

Context
When adding remote clusters from data.ec_deployments it isn't possible to add clusters which don't have the current default ref_id of main-elasticsearch. Leaving it blanks results in the error message:
deployments.deployment_remote_resource_not_found: Invalid Remote Clusters Configuration. The following resource could not be found:(deployment [removed] - ref_id [main-elasticsearch])

An example of it being used with data.ec_deployment can be seen here:
https://registry.terraform.io/providers/elastic/ec/latest/docs/resources/ec_deployment#with-cross-cluster-search-settings

Your Environment

@Crazybus the example uses the ec_deployment resource, not any of the data resources.

I think this got closed accidentally by a comment that was referring to a workaround for this issue.


How to receive message (Xamarin Forms iOS)

I am trying to use Firebase cloud message system. For that I need to load the GoogleService-Info.plist but when I try to open it gives me this error.

The Build action is set to: BundleResource.

Oke I got this to work (GoogleService-Info.plist). can someone maybe explain to me how I can receive message. I can not find the proper information to get it working.


Propose a better inclusive look to the create pod page on solidcommunity.net

see gitter https://gitter.im/solid/solidos?at=618a9403ee6c260cf76bf9fb

The Look and Feel is way improved.
Can I deploy it tonight at solidweb.org ?

See proposed page example on the ticket: https://github.com/solid/node-solid-server/pull/1636#issue-776659160

Team: I deployed the new index.html to solidweb.org as requested here https://github.com/solid/deit/issues/23#issuecomment-964996960 and hope this goes along with a kindof group consensus or a common sense of the project although not finally merged yet. ;-)


Enhance the "new application version" notification email to contain an optional custom text

Sending out a notification to all users that a new version of given application became available in the portfolio is optional. User that changes the status of given version to active can request to trigger such notification.
Currently such notification contains a static set of basic information about the application. It should be enhanced to also include an optional text entered by the user.

@kbeyro the layout with custom message could be slightly improved


Bump ocm-sdk-go to v0.1.310

cc @gdbranco @ciaranRoche
This PR is just to address the bump.

/lgtm


Errors from encodeValue_ are not caught and generate a UnhandledPromiseRejectionWarning

Environment details

OS: MacOSX 10.14.6
Node.js version: v10.19.0
npm version: 6.13.4
@google-cloud/spanner version: 5.1.0

Bug description
Errors thrown by common-grpc/service/encodeValue_ like this one (passing undefined as value for a named parameter) are never caught by this function's caller, resulting in Unhandled Promise Rejections. Also, for some reason it seems to crash the underlying Node.js process.
The error thrown in encodeValue_ goes all the way to SessionPool.getReadSession where it fails to be caught:

encodeValue_
GrpcService.encodeValue_
codec.encode
Snapshot.encodeParams
Snapshot.runStream
Database.runStream
SessionPool.getReadSession <-- Probably where the error should be caught

Steps to reproduce
There are probably different ways to reproduce the error; all you have to do is make the encodeValue_ helper throw. One way to achieve this is to provide an undefined value to a named parameter in a query

Run a query using named parameters, but don't pass a value to the parameter

const q = {
  json: true,
  params: { },
  sql: 'SELECT * FROM tableId WHERE namedParameter = @namedParameter',
};
const [rows] = await db.run(q); // This will lead to an Unhandled Promise rejection

So any attempt to catch the error will fail
const [rows] = await db.run(q).catch(() => console.log('I will never be called'));

But perhaps more unexpectedly, the code will stop running after this line:
const [rows] = await db.run(q).catch(() => console.log('I will never be called'));
console.log('Unreachable code is never called ???');

I am preparing a PR which might help fix the issue; but wanted to file the issue separately in case you prefer to fix the issue differently.
Thanks for your help :)

@WaldoJeffers the below snippet worked for me.
    const q = {
        json: true,
        sql: 'SELECT * FROM Singers WHERE SingerId=@id',
    }
    try {
        const [rows] = await database.run(q);
        console.log(rows.length);
        rows.forEach(console.log);
    } catch (error) {
        console.log('I will get called.')
        console.log('Error message => ' + error.message);
    }
    console.log('Continue execution here...');

I will get called.
Error message => 3 INVALID_ARGUMENT: No parameter found for binding: id
Continue execution here...

Hello @AVaksman,
Thanks for your answer. Could try the same thing with
    const q = {
        json: true,
       params : { id: undefined }, // Add this line (assuming both Singers & SingerId really exist)
        sql: 'SELECT * FROM Singers WHERE SingerId=@id',
    }
    try {
        const [rows] = await database.run(q);
        console.log(rows.length);
        rows.forEach(console.log);
    } catch (error) {
        console.log('I will get called.')
        console.log('Error message => ' + error.message);
    }
    console.log('Continue execution here...');

This does result in (node:8165) UnhandledPromiseRejectionWarning: Error: Value of type undefined not recognized. for me

@WaldoJeffers Would you mind also having a look at #1208?

Hello @olavloite ,
Thanks for your PR. It's probably a much better fix than my PR, but I'm not familiar enough with the codebase to provide feedback on the changes 😬


Update rob.json

Adding skyBlue and lightGrey, future RoB token colors to company scheme.  Note that hex colors are from recent RoB color pdf.  Color codes in that pdf for cherry (A60A3D) and fuchsia (BF4DA5) do NOT match what is in this file.  I have not checked the other colors.

I added these colors and updated cherry and fuchsia as well in another commit.


Add PDF file caching

Currently, every time someone opens a resume and tries downloading it as a PDF, it takes some time to generate it, which is not a great user experience. This PR adds a PDF file caching feature, thus each generated PDF is kept in the exports folder and recreated only if it has been updated.
To achieve this, I also had to update the sync saga to save the updated resume to the store as updateAt date is generated only during calling the save function on the server.

@klejejs So, does this mean all resumes (even the out of date ones) would be stored indefinitely on the file system? This would increase the storage usage I believe, and not something planned for.

@AmruthPillai RIght. I did not think about the instance you are hosting and that very many people are using it. Do you have any data about how many people export PDFs daily? Would you accept this PR if I created an environment variable with cached PDF storage time and then, based on it, delete old PDF files?

Yes, as per the function execution log, there's an average of 8000 calls per day. Some days have extreme traffic, and have more than 12000 executions (PDFs generated per day). With each PDF roughly being around 300 KB, that's almost 2.4 GB a day 🤯
It doesn't necessarily have to be an env var, but a constant in the code to schedule deletion of the file after maybe 6 days? NestJS's scheduler service should be able set this up (similar to how it is now, but just with an increased time) and along with your change on lastUpdate would work well.

Wow, those are some big numbers 🤩
I'll update the PR then and add the scheduled deletion. I was thinking of an environment variable just because for people like me, who self-host this great piece of software, the deletion period could be set to longer. Also, it will allow you to easily change the period if the exports folder gets too big.

@AmruthPillai Added scheduled deletion and set default timeout to 6 days.


Awesome 4.3: beautiful.gtk is not supported

Cc: @dtzWill
Issue description
First of all, thanks to everyone for working on NixOS.
Awesome 4.3 has a module called beautiful.gtk, it allows

Querying current GTK+ 3 theme via GtkStyleContext.

It can be used for theming, as shown in Awesome's example gtk theme.
However, the current build does not include the typelib files needed by the module making it unusable.
Investigation
The beautiful.gtk implementation uses lgi to obtain Gtk via gobject-introspec
    return require('lgi').Gtk

Since the current build does not include the typelib files needed, the above call fails.
After some experimentation, I found out that both gtk3-x11 and atk are needed.
For example:

run lua and try to load Gtk: fails with Typelib file for namespace 'Gtk' (any version) not found

$ lua
Lua 5.2.4  Copyright (C) 1994-2015 Lua.org, PUC-Rio
> Gtk = require('lgi').Gtk
...26fkq-lua5.2-lgi-0.9.2-1/share/lua/5.2/lgi/namespace.lua:158: Typelib file for namespace 'Gtk' (any version) not found
stack traceback:
        [C]: in function 'assert'
        ...26fkq-lua5.2-lgi-0.9.2-1/share/lua/5.2/lgi/namespace.lua:158: in function <...26fkq-lua5.2-lgi-0.9.2-1/share/lua/5.2/lgi/namespace.lua:155>
        (...tail calls...)
        stdin:1: in main chunk
        [C]: in ?
>

install gtk3-x11 (the package that actually includes the typelib file) and add the girepository-1.0 folder to the GI_TYPELIB_PATH environment variable: fails with Typelib file for namespace 'Atk', version '1.0' not found

$ nix-env -iA nixpkgs.gtk3-x11
$ export GI_TYPELIB_PATH=/nix/store/nav1j5p1ac814y47ngiapwzdk75hzly5-gtk+3-3.24.5/lib/girepository-1.0:$GI_TYPELIB_PATH
$ lua
Lua 5.2.4  Copyright (C) 1994-2015 Lua.org, PUC-Rio
>
> g = require('lgi').Gtk
...26fkq-lua5.2-lgi-0.9.2-1/share/lua/5.2/lgi/namespace.lua:158: Typelib file for namespace 'Atk', version '1.0' not found
stack traceback:
        [C]: in function 'assert'
        ...26fkq-lua5.2-lgi-0.9.2-1/share/lua/5.2/lgi/namespace.lua:158: in function <...26fkq-lua5.2-lgi-0.9.2-1/share/lua/5.2/lgi/namespace.lua:155>
        (...tail calls...)
        stdin:1: in main chunk
        [C]: in ?
>

install atk and add it to GI_TYPELIB_PATH and finally Gtk loads.

Steps to reproduce

start Awesome as window manager
modify ~/.config/awesome/rc.lua to load the example gtk theme

beautiful.init(
  gears.filesystem.get_themes_dir() .. "gtk/theme.lua"
)

restart awesome
observe the warnings issues by Awesome:

$ journalctl --user --since=today | grep 'GTK'
xsession[28002]: W: awesome: Can't load GTK+3 introspection. Seems like GTK+3 is not installed or `lua-lgi` was built with an incompatible GTK+3 version.
xsession[28002]: W: awesome: Can't load GTK+3 theme. Using 'xresources' theme as a fallback.

Possible solution
I suggest that both atk and gtk-x11 are added as build inputs to the awesome package, I tried this out and it actually works. The catch is that the closure size increases by 123.9M:

build awesome without gtk3-x11 and atk
nix path-info ./result | grep awesome-> 99.6M

build awesome with gtk3-x11 and atk
nix path-info ./result | grep awesome -> 223.4M

So, instead of adding the packages unconditionally, we could add an optional flag, like e.g. withGtkSupport, defaulting to false. In this way, one could always build awesome and add it to services.xserver.windowManager.awesome.package. Ideally one could even add something like awesome-gtk3 to the top level nixpkgs, a bit like gtk3-x11:
https://github.com/NixOS/nixpkgs/blob/6d7ed964296202023f72f18b964dc18d74a34f42/pkgs/top-level/all-packages.nix#L10312-L10314
If a decision is made, I'd be happy to submit a PR.
Technical details

system: "x86_64-linux"
host os: Linux 4.19.36-hardened, NixOS, 19.03.172361.cf3e277dd0b (Koi)
multi-user?: yes
sandbox: yes
version: nix-env (Nix) 2.2.2
channels(root): "nixos-19.03.172361.cf3e277dd0b"
channels(user): "unstable-19.09pre177249.dfd8f84aef1"
nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos

awesome 4.3 (Too long)

Compiled against Lua 5.2.4 (running with Lua 5.2)
D-Bus support: ✔
execinfo support: ✔
xcb-randr version: 1.6
LGI version: 0.9.2

It should not be necessary to use gtk3-x11, gtk3 should work just fine.
See https://github.com/NixOS/nixpkgs/pull/43150 for docs on wrapGAppsHook, which will populate the environment variable automatically.

Thanks, I'll have a look. For the record, I used gtk3-x11 because that's where nix-locate told be the typelib files where.
I am still keen on hearing what the correct solution would be regarding how to add support (closure size, optional arguments etc.).
Thanks.

@jtojnar thanks for our suggestions. Here are my thoughts:

using gtk3 seems to work as well, the closure size is 222.9M instead of 223.4M
wrapGAppsHook seems quite conveniet, but awesome needs additional --search options in the wrapper and it's unclear to me whether we could do that after introducint wrapGAppsHook
wrapGAppsHook uses wrapProgram that seems to have negative effects, see #60229 so we may have to look for alternative solutions anyway (Awesome does not seem to use much of GTK anyway as it's not a GTK app)

weird how could it shrink?
You can use gappsWrapperArgs as described in the doc PR to add more options.
Yeah, I am aware of that but other than hardcoding the typelibs like we do in GNOME Shell extensions, we do not have anything better at the moment. See https://github.com/NixOS/nixpkgs/issues/60260 for deeper analysis.

weird how could it shrink?

¯_(ツ)_/¯ maybe it's got less dependencies built than the gtk3-x11 one?

You can use gappsWrapperArgs as described in the doc PR to add more options.

I see, I somehow missed that.

Yeah, I am aware of that but other than hardcoding the typelibs like we do in GNOME Shell extensions, we do not have anything better at the moment.

It seems that makeWrapper works OK (I am using this in an overlay on NixOS waiting for the patches to land in the stable channel):
https://github.com/NixOS/nixpkgs/issues/60229#issuecomment-488841377
https://github.com/stefano-m/nixpkgs/commit/8708123689798d076df0031571e6888495e83aa8
https://github.com/stefano-m/nixpkgs/commit/42351c50c08ce866cbc90ad52c263482533622b3
In the end, AwesomeWM should not need the whole of gtk, I think that gtk should be made optional so one can turn it on or off.

See #60260 for deeper analysis.

Thanks, I did notice that and I'll keep an eye on it


Update jscs to 3.0.7

Changelog at https://github.com/jscs-dev/node-jscs/releases

There is tilde there, so it should be updated automatically?