Ram

About the PR
Add a hand ram for the Security.
Why / Balance
This item may allow security to gain quick access to barricaded criminals or other locations where security do not have access. The ram can only be picked up with two hands and is ginormous in size. Can be crafted on Sec Techfab for 10 units steel and 10 seconds.
Media
https://github.com/user-attachments/assets/dcdcacc8-ae01-49e1-a539-da0de4825e5b
Requirements

[X] I have read and am following the Pull Request and Changelog Guidelines.
[X] I have added media to this PR or it does not require an ingame showcase.

Breaking changes

Changelog
:cl:

add: Add a hand ram for the Security

I think it should be implemented differently. With this, people can break the walls into space

Nukies dream if they rush armory I guess. just wide-swing delete whole departments as rod elemental.

Security has all sorts of methods of getting into places they don't have access to. Talking to the AI, captain, getting an engi to hack it, or getting access on their ID from the hop are all viable methods. This addition de-incentivizes player interaction and causes problems for engineering. It also seems very easily abusable, being a cheap and powerful tool for the sole purpose of causing damage to the station, which security should NOT be doing.

Agreed, in real life, corporate security's first and for most goal is to protect the companies assets and employees. Destroying company asset's go against a corporate security officer's training and wouldn't be implemented especially in the case of apprehending a suspect.

Considering the changes, I feel that the "overpowered" comment from Sloth wasn't addressed.
100 structural damage is a lot. With unlimited uses and effectively unlimited numbers this could tear through stations. Need to get through a door? You got AI, access requests or hacking. Need to get through a wall? Engineers, biting the bullet and going blind yourself, cutting it down with your knife or get equipment from Salvage.
I am having difficulties seeing where this would be appropriate for Security to have, and if they were to have it, how to balance it to not make it just be basically a pickaxe/axe/sledgehammer, which already exists.

A battering ram can destroy a station? I imagine officers going to a station and breaking it, funny.  The AI can't open the door because the wire is cut or the camera is broken, the accesses can't be given because the HoP is rotting in the tunnels with Ian, you can't hack the doors because you don't have insulated gloves and it's not certain that they haven't already been stolen by traitors from all over the station. Breaking a wall with a knife or blowing it up with explosives, cool.
That's what a ram is for when more peaceful and safer ways of getting somewhere have run out.
If people think that such a ram is OP and officers will have fun breaking down the walls of the station, then I'll just close the PR. Maybe in the future I'll find a more balanced way to get into inaccessible rooms

Some airlock breaking values (based on testing, so they're not exact):
* Energy Sword: 20 seconds

* Fire Axe: 12 seconds

* Ram: 6 seconds

My concern is less Security breaking in, and more some tider getting their hands on it and deciding that the Captain's room is now theirs.

How does it look vs reinforced walls? Cause they had some high structural resistances, right? Esword can't even scratch it if I recall right and ram will dodge much of penalties that fireaxe would face.

I have rarely been in a game where a secoff can't catch someone because they go through a locked door, but it does happen. The ram could also be useful in case traitors block off areas - particularly in maints- by building walls. I distinctly remember one game where several tiders barricaded themselves in disposals and harassed security officers, which although quite funny, became frustrating when we had to wait for salvage to show up to break down the 3-layer-thick walls they had erected.
However, I think the ram should not be crafted at the secfab, mostly because the warden or HoS should authorize its usage. It seems odd to let a secoff do major damage to corporate assets without a signoff from one of the security personnel. Maybe the armory could have a ram or two.

I distinctly remember one game where several tiders barricaded themselves in disposals and harassed security officers, which although quite funny, became frustrating when we had to wait for salvage to show up to break down the 3-layer-thick walls they had erected.

I would say its more problem with bulding.
You need no tools and only few seconds if you have mats to make things that take way, WAY longer to deconstruct or destroy.  Likewise whole reinforced wall is mere 3 doafters of 2/2/2 resources while deconstructing it requires tools, protection if you do not want to go blind and way more time.

Thank you for taking the time to put this together. Unfortunately, after some discussion amongst the maintainers, we have decided to close this PR. The ram is simply too powerful, being a reusable device with extremely high structural damage. This allows the wielder to break down not only doors, but also walls (including reinforced) and other structural elements with great effectiveness, which is well outside the scope of the proposed use of this device
As it currently stands, we do not see a way this PR can move forward without a complete redesign. If you still feel that security needs access to a device capable of breaching doors, you are welcome to submit an alternative proposal; we would encourage you to discuss its design on our Discord with other contributors before you commence work


Create abc

⚛👋 Hello there! Welcome. Please follow the steps below to tell us about your contribution.

Copy the correct template for your contribution

🐛 Are you fixing a bug? Copy the template from https://bit.ly/atom-bugfix
📈 Are you improving performance? Copy the template from https://bit.ly/atom-perf
📝 Are you updating documentation? Copy the template from https://bit.ly/atom-docs
💻 Are you changing functionality? Copy the template from https://bit.ly/atom-behavior

Replace this text with the contents of the template
Fill in all sections of the template
Click "Create pull request"

We require the issue template to be filled out on all new issues and pull requests. We do this so that we can be certain we have all the information we need to address your submission efficiently. This allows the maintainers to spend more time fixing bugs, implementing enhancements, and reviewing and merging pull requests. Please open a new issue and fill out the template for us.
Thanks for understanding and meeting us half way :grinning:


fly machines don't always have env vars set in time

In my legacy fly deployment (generated pre-1.6.3), I'm occasionally having my flame-initiated application crash on startup when executing FLAME.call.
In my runtime.exs I have e.g. System.fetch_env!("BOX_ENTERPRISE_ID") and I'll get this in fly logs when flame executes
** (System.EnvError) could not fetch environment variable "BOX_ENTERPRISE_ID" because it is not set

This seems to only happen for environment variables I've set in fly.toml.  It does not seem to happen for secrets I've set with fly secrets set.
I think the env vars are set late (after runtime.exs tries to look for them) because if I ssh into the running flame machine after the flame call has crashed, i see the expected env vars.

The fly.toml env vars are not automatically set in the machine as the spawned machines don't know anything about fly.toml at all. In such cases, you'll need to forward your own env from the parent in the pool options. If you want to send a PR to menetion this in the FlyBackend moduledoc, please do!. Thanks!


feat(exporter): include Git tag as attribute for github_repo_release_downloads metrics

The github_repo_release_downloads metric only has the release attribute, which could be sometimes a human-readable name. This PR includes the Git tag value as metric's attribute, which is usually semver'ed
Potentially fixes https://github.com/grafana/agent/issues/6495

LGTM, thanks!


UI/apps: can't launch cluster apps

When going to a cluster > project (any project, pick default) > apps > launch and pick any app I get greeted by a screen with an overlay spinner that never ends. This overlay goes over the whole screen, even stopping me from using the Rancher menu to navigate away.
This problem only happens on apps from our private catalog. It appears the code is making some assumptions about being able to display chart details (I'm not sure where it gets those from) and when that assumption doesn't hold the UI breaks.
Looking in the JS console I see this:
TypeError: can't convert undefined to object at component.js:250

initPreviewTab: function initPreviewTab(selectedTemplateModel) {
      var files = Object.keys(selectedTemplateModel.get('files')) || [];

When trying to launch a global, so Global > Apps > Launch (pick any app) I get the same error message, but now at a different part in the code, around line 499:
            case 9:
[..]
              files = Object.keys(selectedTemplateModel.get('files')) || [];

However, in global app launch the spinner isn't a full overlay and doesn't prevent me with interacting with the UI. It's just a spinner in the right part of the chart info and I can use the rest of the UI and attempt to launch an app.

After some further investigation this turns out to be a manifestation of #24914. Closing in favour of that issue.


Small Typos: ControlsDictionnary and ThemeDictionnary

Describe the bug
Both filenames and classes  for ControlsDictionnary and ThemeDictionnary have the same spelling mistake (double n).
To Reproduce
Look at project.
Expected behavior
Rename to ControlsDictionary and ThemeDictionary

Btw while I'm here, I just love that this is the first WPF lib I found that fixes the border/theming in .net7 on win11 without any problems or code changes.

Pushing version 5.2.1 typo fixed I also fixed the docs.


WIP Refactor sync controller dispatcher for maintainability

NOTE: This PR is not ready for review until #724 merges.

The new updater and deletion dispatcher had common underpinnings that are now factored into OperationDispatcher
The updater has been rewritten against the common dispatcher as ManagedDispatcher (since it operates on resources managed by a federated resource in member clusters).
The deletion dispatcher has been rewritten against the common dispatcher as UnmanagedDispatcher (since it targets resources that are not managed by a federated resource in member clusters).
The dispatchers and the retain logic have been moved to the dispatch package to ensure the sync controller only uses exported interfaces.

Rebased

Rebased and ready for review.

I could not find any flaws. the changes LGTM.

@marun few nits, otherwise lgtm.

Responded to comments.

The latest push ensures that ManagedDispatcher.Create returns StatusError on creation if the error that doesn't indicate that the resource already exists. Previously the error was being logged but then execution continued.

Thanks @marun.
/lgtm


form.setTouched is not a function vue

Laravel Precognition Plugin Version
0.5.8
Laravel Version
11.0.0
Plugin
Vue
Description
setTouched is not a function in vue plugin.
Steps To Reproduce
form.setTouched(["first_name"]).validate({
onSuccess: (response) => {
nextStep();
},
});
setTouched is not a function in vue plugin.

You will want to use form.touch. I mistyped setTouched in some of the issues in the repo. I've just gone and corrected that.
<button
    type="button"
    @click="form.touch(['name', 'email', 'phone']).validate({
        onSuccess: (response) => nextStep(),
        onValidationError: (response) => /* ... */,
    })"
>Next Step</button>


Forced updates of expired Kubernetes versions might fail because requirements are not met

How to categorize this issue?

/area ops-productivity
/kind enhancement
What would you like to be added:
Shoot maintenance controller enforces update of expired Kubernetes versions. However, this can fail for an update of a minor version if not all requirements are met.
Upgrading Kubernetes v1.26->v1.27 is already covered by #8114 which disables static token kubeconfig in this case.
However, there are upgrade paths which are not covered yet

[x] v1.22->v1.23:  v1.23 requires containerd CRI, docker is not supported anymore:
https://github.com/gardener/gardener/pull/8272
[x] v1.24->v1.25: PodSecurityPolicy needs to be deactivated before the update and all PodSecurityPolicy resources have to be deleted, because this API is not served anymore in v1.25 (ref): https://github.com/gardener/gardener/pull/8281

Deleting PodSecurityPolicy resources affects the content of the cluster and not only its specification.
Thus, there is an open question. Should maintenance-controller stop if it finds PodSecurityPolicies in the shoot or should it delete them?
We deactivate the admission controller only while keeping the resources.

[x] v1.26->v1.27:  Maximum workers of each worker group have to be greater or equal to its number of zones: https://github.com/gardener/gardener/pull/8281

Why is this needed:
Improving ops-productivity

There is also https://github.com/gardener/gardener/blob/15339f30da15e91f8892d406e7f9eb3ca6bfa129/pkg/apis/core/validation/shoot.go#L1843-L1849

Deleting PodSecurityPolicy resources affects the content of the cluster and not only its specification.
Thus, there is an open question. Should maintenance-controller stop if it finds PodSecurityPolicies in the shoot or should it delete them?

Well, changing the CRI from docker to containerd might also affect "the content" of the cluster. Also, there might be hibernated clusters that require a force-upgrade, so we cannot talk to their API servers. For simplicity reasons, I would probably ignore the PSPs and simply go ahead and disable the plugin. The consequence out of this is that the PSPs will remain in ETCD for the remaining lifetime of the cluster.
The "complete" solution would require way more effort (waking up the shoot, waiting for it, and all of this might fail or not even work (invalid IaaS credentials), so the force-upgrade may get stuck again and we are back at square one).

/assign

All tasks have been completed.
/close


Remove survey banner.

We have gathered enough data to determine whether our docs direction
was the right approach.
Test Plan:
Ran locally, no survey banner is displayed.

No survey banner shown now...

By analyzing the blame information on this pull request, we identified @hramos and @Andreyco to be potential reviewers.

@facebook-github-bot shipit

Thanks for importing. If you are a Facebook employee, you can view this diff on Phabricator.


Introduce spec specific namespace

:warning: :construction:
As @solnic suggested in Gitter:
We should use a namespace for test constants
And clear only that namespace

Use  ROMSpec as namespace during specs.
Conclusion: It adds much noise to specs but makes cleaning spec env simple and straightforward.
Discuss!

How about module Test;end in spec_helper and then just Test::Something = Class.new in specs??

:clap:


If a function wrapped in action throws some error it should be possible to catch it.

Describe the bug
Let's consider this example:
const myAction = action(() => throw new Error("Some error"));

// somewhere in a component
const doMyAction = useAction(myAction);

doMyAction().then(() => {
   // this function will always be executed despite the fact that the action failed.
   console.log('Action resolves without any error');
}, (error) => {
   // this function will never catch an error
   console.error('An error occured');
});

This error relates to this line: https://github.com/solidjs/solid-router/blob/main/src/data/action.ts#L97
Perhaps, handler should check the argument type (to preserve the current possibility to throw redirect or revalidate) and throw an error if the argument is not solid-related thing.
Your Example Website or App
see description
Steps to Reproduce the Bug or Issue
run this code
const myAction = action(() => throw new Error("Some error"));

// somewhere in a component
const doMyAction = useAction(myAction);

doMyAction().then(() => {
   // this function will always be executed despite the fact that the action failed.
   console.log('Action resolves without any error');
}, (error) => {
   // this function will never catch an error
   console.error('An error occured');
});

Expected behavior
Error handler should handle errors.
Screenshots or Videos
No response
Platform
any
Additional context
No response

Oh, no, it relates to solid-router.


The inferred type of '...' cannot be named without a reference to '..node_modules/zod/lib'. This is likely not portable. A type annotation is necessary.

I realize that this is most likely not a bug at zod but maybe it is!?
I have a package that exposes an API to firestore with zod validation. I'm using generics to determine the type of data returned based on the validation schema given.
But when I install the package and create my client I get a lot of errors like this
The inferred type of 'databaseClient' cannot be named without a reference to '../../firestore-zod/node_modules/zod/lib'. This is likely not portable. A type annotation is necessary.ts(2742)

I don't really understand the issue but I'm guessing it's related to using z.infer<typeof validationSchema>? Anyone able to help to get around it?

@mr-bjerre
Can you link to the repo? I'm not sure exactly how much help we can be here, but maybe myself or someone else reading can offer some guidance or just a second pair of eyes on the issue.

I'll try to create a reproducible example. Unfortunately the current repro is private

@scotttrinh I have a repo here now. Note it is using pnpm and turborepo. Let me know if I should provide more info.
The error appears if you clone and then run the following commands
pnpm install
pnpm build

I've noted something interesting. If I install zod in domain-db and create the schema here instead of importing then it works. Not sure if that helps to determine what the issue is

Out of the blue I have a similar issue as well. Did you manage to figure it out?

Out of the blue I have a similar issue as well. Did you manage to figure it out? It's the same thing, if I create the schema inside a file it doesn't complain.

I just went with my last comment (reorganised my repo)

I realise this thread has been closed, but has anyone found a solution to this?
I've started getting this issue with a mature project using zod when we're upgrading our libraries (which export types and schema) from CommonJS to ESM.
Any solutions (or even a better understanding of the error) would be appreciated

For anyone who comes across this error and is using PNPM, adding "preserveSymlinks": true to my tsconfig.json worked for me.

@scotttrinh I have a repo here now. Note it is using pnpm and turborepo. Let me know if I should provide more info.
The error appears if you clone and then run the following commands
pnpm install
pnpm build

I think i found the solution but don't known why.
Re-export zod from your wrapper package, either in firestore-zod or validators is ok.
export * from 'zod';

import core from 'captain-america-core';
export const test = core .server.api.login.schema;

The inferred type of 'test' cannot be named without a reference to '***/node_modules/zod'. This is likely not portable. A type annotation is necessary.ts(2742).
i have not good solution for this error , but worked.
import core from 'captain-america-core';
export const test = core .server.api.login.schema as typeof core .server.api.login.schema;

This is a ridiculous solution, but it works.😂😐


Banking forwarder share per-account forwardable packets batcher

Problem
Follow-up of #1156, instead of allocating ForwardPacketBatchesByAccounts every time forwarding is called, sharing it between calls.
Summary of Changes

further reduce memory (re)allocation by sharing single instance of ForwardPacketBatchesByAccounts between forwarding calls
updated multi-iterator and central schedulers to do that.

Fixes #

Master:
test bench_forwarder_handle_forwading_contentious_transaction ... bench:  13,556,918 ns/iter (+/- 224,027)
test bench_forwarder_handle_forwading_parallel_transactions   ... bench:  13,641,835 ns/iter (+/- 165,722)

this PR:
test bench_forwarder_handle_forwading_contentious_transaction ... bench:  12,039,814 ns/iter (+/- 178,096)
test bench_forwarder_handle_forwading_parallel_transactions   ... bench:  12,588,714 ns/iter (+/- 247,550)

Codecov Report
Attention: Patch coverage is 87.87879% with 4 lines in your changes are missing coverage. Please review.

Project coverage is 82.1%. Comparing base (aa2f078) to head (6d118cf).
Report is 9 commits behind head on master.

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #1205   +/-   ##
=======================================
  Coverage    82.1%    82.1%
=======================================
  Files         886      886
  Lines      236417   236452   +35
=======================================
+ Hits       194266   194327   +61
+ Misses      42151    42125   -26

Forwarder already contains things that limit the output from forwarding like the data_budget. What do you think of having Forwarder own this batching mechanism as well?

Forwarder already contains things that limit the output from forwarding like the data_budget. What do you think of having Forwarder own this batching mechanism as well?

Wasn't too happy to change plumbing of Forwarder as &mut if let it own the batcher. Now think about it, it might not be that bad.

Forwarder already contains things that limit the output from forwarding like the data_budget. What do you think of having Forwarder own this batching mechanism as well?

How about https://github.com/anza-xyz/agave/pull/1234 ?

close in fav #1234


gRPC and inter-process communication

Internal preview: https://review.docs.microsoft.com/en-us/aspnet/core/grpc/interprocess?view=aspnetcore-5.0&branch=pr-en-us-19626
Note: Uses features new in .NET 5 RC1. Don't merge until RC1 is released.

@JamesNK  if possible can you target this to the RC1 branch?
BTW, RC1 is available at https://github.com/dotnet/installer/blob/master/README.md#installers-and-binaries, so maybe we could put in a note that this requires RC1, which is planned to be released mid September.

@JamesNK  I think it's OK to merge this once you're ready because we're already adding RC1 content. With your monike, the article won't be visible by default. RC1 is available now, just not the released RC1.

I've added a note that ConnectionFactory is new in RC1. It can be removed once RC1 is generally available.


Sawtooth metrics while summarizing over series

On graphite 0.9.12+debian-3, I'm seeing the following behavior sporadically.  The 5 minute averages are going to zero due to the transformNull() operation.  However, a few seconds later they will go back to normal when the data is refreshed.
Any insight would be appreciated.

It would be helpful to see the actual data. Can you upload a copy of your Whisper file somewhere?

Sure, thank you.  The attached file is a sample of what would be there -- I don't have the particular wsp file that produced the image.  This is the series that would produce such an image though.
https://s3-us-west-1.amazonaws.com/shammah/disk_used.wsp

@schancel Would you mind testing with the 0.9.x branch (HEAD) and let me know if you're still seeing this? We've had some recent fixes that affect merging of CarbonLink and Whisper archives which I think may be related to your issue.

@obfuscurity Sorry for the delay.  Looks like I'll be able to test 0.9.15 soon.   I'll post here once I find out if that resolved the issue.  Thanks for looking into it.


Add CDC interface for espressif port to work with esptool

Is your feature request related to a problem? Please describe.
CDC interface allow esptool to request board into bootrom for downloading. A bit more convenience

This would be very handy, indeed!


Hyak net core add release notes and deprecated some method

Hydra PR Links
Azure/hydra-specs-pr#1402: [HDInsight] - Update configurations
Rest Spec PR Links
Azure/azure-rest-api-specs#5477: [HDInsight] - Update configuration related APIs
Note

Add release notes
Deprecate some method relate to EnableHttp and DisableHttp in ClusterOperationsExtensions.Http.Customizations.cs and IClusterOperations.Customizations.cs
Mark  TestCustomCreateEnableDisableConnectivity method as Obsolete in HttpTests.cs

LGTM


How to get AuthenticationErrorDetail for 403 responses?

Query/Question
According to these docs, https://techcommunity.microsoft.com/t5/azure-paas-blog/troubleshooting-the-403-error-for-user-delegation-sas-in-azure/ba-p/3294999 I should be able to troubleshoot 403 authentication errors by looking at the AuthenticationErrorDetail.
However, the exception in this SDK (StorageException) does not seem to have such a field.
When I get exceptions like this: "403 Server failed to authenticate the request. Make sure the value of Authorization header is formed correctly including the signature." I don't also get the message like in the link above that tells me what was wrong with the authorization header.
Why is this not a Bug or a feature Request?
I'm not sure if this is a bug or just missing documentation on how to get the AuthenticationErrorDetail from StorageException.
Setup (please complete the following information if applicable):

OS: Windows
IDE : Visual Studio
Version of the Library used 1.10.1

Information Checklist
Kindly make sure that you have added all the following information above and checkoff the required fields otherwise we will treat the issuer as an incomplete report

[x] Query Added
[x] Setup information Added

Hi @mattdurak there are a few things you can check in the exception, and depending on which API you're calling, some of the fields may be empty.
  try
  {
    auto properties = blobClient.Download().Value;
  }
  catch (Azure::Storage::StorageException& e) {
    std::cout << e.ReasonPhrase << std::endl;
    std::cout << e.RequestId << std::endl;
    std::cout << e.ErrorCode << std::endl;
    std::cout << e.Message << std::endl;
    for (const auto& i : e.AdditionalInformation)
    {
      std::cout << i.first << ": " << i.second << std::endl;
    }
  }

If you cannot figure out the problem with the output from above code, you can contact us with the RequestId field, we can help you check from server-side.


Move forc explore command into a dedicated forc-explore executable subcrate

We should implement forc explore as a forc plugin as described in #944.

https://github.com/FuelLabs/forc-explorer


Classifer Module ARM not working on Raspberry Pi 4

Hello,
I have followed the tutorial, and exported a ARM based model from Custom Vision. I attempt to upload this model to a Raspberry Pi 4 IoT Device however the classifier module keeps failing due to the following error.

Can anyone point me in the right direction to fix this?

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

ID: d10bd923-e9e2-3958-a9b9-1baac169b308
Version Independent ID: f78bdb47-e841-b612-6964-9a6f1fce293f
Content: Tutorial - Deploy Custom Vision classifier to a device using Azure IoT Edge
Content Source: articles/iot-edge/tutorial-deploy-custom-vision.md
Service: iot-edge
GitHub Login: @PatAltimore
Microsoft Alias: patricka

Thanks for the feedback! We are currently investigating and will update you shortly.

@bbabcock1990 Are you still blocked? This doc has been tested on Raspberry Pi3.
Adding author @PatAltimore to update if there is any compatibility issue.

Hi @AshokPeddakotla-MSFT!
I was actually able to fix the problem. It turns out it was a user mistake. My VS Code was not set to ARM for compiling but instead AMD64. Once I set this to ARM, I was able to get this working on the PI 4 device.

@bbabcock1990 Glad to hear you are able to fix it.
We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.


Remove property tagulous fields

This PR changes the Tagulous fields of Property (name & unit) to TextFields.
The migration contains forward and backwards functions.
The REST api seem to require no change.

Hi @IoannisNezis - I would actually keep the name as a tag field. There should be no little collision there.

Hey @pastewka,
that"s true a key should never duplicate for one DST.
I will implement a prevention in the editor to create two properties with the same key.
But i have a bad feeling about the using the Tag field without using its upsides, i think it will only introduce unexpected Behavior.
One issue i already see:
When two users create a Property with the same name at the same time we will still have a race condition.
I would not be surprised if there a more unpleasent surprises.
At the moment the Tagulous field just introduces complexity without any benefits over a simpler solution.
I would prefer migrating to a simple TextField for now and move to a Tagulous field when we actually need its features.

Okay, makes sense!


KAFKA-18034: CommitRequestManager should fail pending requests on fatal coordinator errors

Jira: https://issues.apache.org/jira/browse/KAFKA-18034
In KAFKA-17696 we will remove ErrorEvent to pass the metadata error, In this PR we also want to fix that passing the fatal event without using ErrorEvent
Committer Checklist (excluded from commit message)

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

Thanks for @kirktrue comments,

I have a personal preference to avoid different RequestManager classes from calling one another directly. I could imagine introducing a class that's created in the RequestManagers class and then passed down into any RequestManager that needs it.

Both AbstractHeartbeatRequestManager and CommitRequestManager now require CoordinatorRequestManager, so I’m uncertain whether creating a Tracker class would effectively prevent different RequestManager classes from directly invoking one another. Additionally, fatal errors include not only GROUP_AUTHORIZATION but also other unpredictable exceptions. If we introduce a new class, it would essentially serve as a record. WDYT?

Regarding the concern with the interaction between the request managers,  I totally see how in some cases a 3rd component can help decouple, but that becomes more interesting when we have 2-way interactions, mostly because it also introduces state to maintain and another player in the architecture, so better not to pay that price if not really needed?
The interaction here seems fairly simple to me (1 way only): coordinatorMgr exposes coordinator node and fatal error to others (so HB/Commit mgr use it). Also, the dependency already exists before this PR, to access the coordinator node, we're just extending it to access fatal errors.
Those are my first thoughts on that, but of course, happy to hear more about the tracker idea if we think it's a fair trade-off here and I'm not seeing it.


Is there any way we can fix the header position in the table widget?

Tried a couple of css tricks with no success. I think this is related to the outer (Qlik) css. Any help would be appreciated


Feed generator: prototype

Add a basic feed generator and ancilliary functions to generate metrics

Superseded by https://github.com/ooni/pipeline/pull/228

Ok then closing this.


Proper json serialization in search CLI.

Closes #211

Codecov Report

Merging #215 (7a9706d) into main (1c36b15) will decrease coverage by 0.02%.
The diff coverage is 30.76%.

@@            Coverage Diff             @@
##             main     #215      +/-   ##
==========================================
- Coverage   73.77%   73.74%   -0.03%
==========================================
  Files          70       71       +1
  Lines        5826     5827       +1
==========================================
- Hits         4298     4297       -1
- Misses       1528     1530       +2

Impacted Files
Coverage Δ

quickwit-cli/src/lib.rs
18.64% <0.00%> (-0.11%)
:arrow_down:

quickwit-search/src/lib.rs
93.65% <ø> (ø)

quickwit-serve/src/rest.rs
92.70% <ø> (+4.97%)
:arrow_up:

quickwit-search/src/search_result_json.rs
40.00% <40.00%> (ø)

quickwit-search/src/collector.rs
71.03% <0.00%> (-0.69%)
: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 1c36b15...7a9706d. Read the comment docs.


QR codes for transactions

Transaction QR codes
Prize Bounty
23,000 (approx. 3,000 USDT) for each of the top 10 intermediate submissions
Challenge Description
Create QR codes for delegation or other transactions. Bring your creativity, ideas, and design to the table.
Winning contributors may receive funding or grants to continue this work beyond the hackathon.
Submission Requirements

Create a public GitHub repository for your project, then submit it using the Gitcoin UI.
Create a design document or a README file.
Find a way to explain your design and implementation. You can use a detailed written document with screenshots, or a video.
You can upload your document or the video here or on a platform of your choice. Use the following naming convention for your file:

Teamname_Title_Serial_YearMonthDate.*
Example: dAppsRUs_DAO_001_20210914.*

Add technical documentation and unit tests as appropriate.

All bounty submissions must be received no later than 11:59 PM EDT on October 11th, 2021, or earlier.
Judging Criteria
This entry will be judged based on the following:

Novelty, design, creativity, and complexity
Code correctness, unit tests, and technical documentation
Deployment of the project to the Testnet
A detailed design description and a plan for future possibilities and enhancements
A video or technical documentation explaining the design and the implementation

The submission will be compared to other advanced projects, and the top 5 submissions will receive a prize.
Winner Announcement Date
Projects will be evaluated within 2 weeks of the hackathon ending or earlier when possible. Winners will be announced the week of October 25th, and the payout will occur after the winners are announced.
CSPR vs USDT
If CSPR cannot be accepted in certain jurisdictions, winners will receive the equivalent amount in USDT. Gitcoin establishes the conversion rate on the day the bounty is issued.
Questions?
Join the Casper Hackathon Discord Server if you have any questions.
We are also holding live ask-me-anything sessions every weekday at 4 pm CEST.

I need to re-open this issue in a new category.


SOLVE: How do I create an admin account?

http://www.swgemu.com/forums/showthread.php?t=85624&p=833604&viewfull=1#post833604

Set acct ID=1  level to 15

I plan to script this, we can make a panel with common commands.

Yoda makes this easy.
http://<IP_ADDRESS>:44480/


Add a command line flag to disable _getStatusSign

Describe your idea
I am trying to automate the generation and uploading of screenshots for my app using Detox and fastlane.
I have managed to build the path fastlane requires by passing in a custom artifacts location --artifacts-location ios/fastlane/screenshots/ and naming my tests appropriately: ios/fastlane/screenshots/hi/0_APP_IPHONE_55_0.png
Unfortunately Detox automatically adds a ✓  before any tests that passes so the detox test outputs:
ios/fastlane/screenshots/✓ hi/0_APP_IPHONE_55_0.png
I managed to fix this by using patch-package to update node_modules/detox/src/artifacts/utils/ArtifactPathBuilder.js -> _getStatusSign to always return "" .
It would be great if we could pass a cli argument such as --disable-status-sign which would disable this instead of needing to patch the library.

Well, you can override that logic, I guess, if you specify your own path builder implementation. It is not brilliantly documented, probably, but we do have some docs on it:
https://wix.github.io/Detox/docs/api/artifacts/#:~:text=pathBuilder (in Configuration Object section)
Also, some code:
https://github.com/wix/Detox/blob/master/examples/demo-react-native-jest/e2e/detox.pathbuilder.js
https://github.com/wix/Detox/blob/master/examples/demo-react-native-jest/detox.config.js#L63

Cheers @noomorph, I will try to find some time over the next few weeks and create a PR 👍

@SMJ93 do you mean PR to the docs or something else?

@noomorph this would require adding another CLI flag so a PR would need to update the docs + code.
e.g. Add --disable-status-sign.
detox test --configuration ios.sim.debug --disable-status-sign


Allow external configuration of json body parser

The swagger-metadata middleware uses body-parser to parse JSON payloads.
The actual json parser is instantiated on line 42:
var jsonBodyParser = bp.json();
However, this is using the default options for body-parser's JSON parser (see doc here).
In my specific use-case, I am working with large JSON payloads, making me hit the default 100kb limit enforced by body-parser.
At this moment, I am forced to fork the project in order to customize the parser as needed.
I am not sure if there has already been considered a way to allow external configuration of the parsers. If this is the case, then I'd be glad to contribute a PR for this topic.

You are not forced to fork the project, you just need to provide the middleware yourself.  The middlewares we included are conditionally activated based on necessity.  So if you need a custom version, or a custom configuration, just wire them up as you would otherwise and your version will be used.  This is documented in the middleware documentation and has been discussed on numerous occasions.
Duplicate of #263 and #322 and others.


Upgrade @typescript-eslint to v4

Breaking changes do not seem to affect ESLint configs.
Breaking Changes: https://github.com/typescript-eslint/typescript-eslint/releases/tag/v4.0.0
Check dependencies
$ yarn check
yarn check v1.22.4
success Folder in sync.
✨  Done in 0.58s.

Thanks!


Category for Encryption/Secrets Management

A key need (pun intended) of managing everything-as-code is injecting variables at runtime, these tools don't seem to be accounted within the landscape?
https://www.vaultproject.io/
https://square.github.io/keywhiz/
https://www.gnupg.org/
etc...
ansible/chef vault
https://aws.amazon.com/kms/
https://keybase.io

https://lyft.github.io/confidant/

Hi @JJediny, leaving this open as we're considering it for a future release

Thanks @JJediny, closing as this new category update was included in the most recent version https://github.com/cncf/landscape#current-version


[BUG] Empty card during review

Describe the bug
A multi line card get displayed without any text and screw up next card. When there is a leading space.
To Reproduce
Steps to reproduce the behavior:

Create a multi line card with a space in front of the separator
Go to review
See empty card/screw card

Expected behavior
Should Ignore leading space in the separator line.
Screenshots

Versions:

OS: Win10
Obsidian version: v1.5.3
Plugin version: 1.11.0
Installer version: 5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) obsidian/1.4.16 Chrome/114.0.5735.289 Electron/25.8.1 Safari/537.36

Hi @4Source could you please post the actual .md file to simplify reproducing the issue

Test multi line bug.md

Hi @4Source, I've fixed this, could you please test and confirm.
main_853A.zip
Thanks
Ronny

@ronzulu I've tested it with your fix and it worked for me every think looks good.

Thanks


Refactored the Color struct.

Refactored color to store the value as RGBA.
Added FromHex and ToHex to color.

Looks all good to me. A few StyleCop issues, most which were pre-existing, the only warning of any significance was this for GetHashCode
https://www.jetbrains.com/help/resharper/2016.2/NonReadonlyMemberInGetHashCode.html


add support for H100 mega AcceleratorType

Thanks for stopping by to let us know something could be better!
PLEASE READ: If you have a support contract with Google, please create an issue in the support console instead of filing on GitHub. This will ensure a timely response.
Is your feature request related to a problem? Please describe.
What the problem is. Example: I'm always frustrated when [...]
When I call com.google.cloud.aiplatform.v1 with a3-megagpu-8g machine type in java, I find that AcceleratorType does not support nvidia-h100-mega-80gb
Describe the solution you'd like
What you want to happen.
add support for H100 mega AcceleratorType
Describe alternatives you've considered
Any alternative solutions or features you've considered.
Additional context
Any other context or screenshots about the feature request.

Thanks for reporting.
However, this repository host client libraries for various services defined by proto.
In this case, AcceleratorType is defined here
Your feature request seems to be for the backend service rather than its client library. In addition to support console, you may want to file via support channels for the product here to be better tracked.
Closing this ticket.


Issue with video mute with keyboard letter V

Dear Team,
When a user try to press the keyboard letter V  continuously ( by pressing letter v very fast ) with out waiting for the camera state to get enable or disable. now user cannot mute the video anymore and he needs to restart the session.
Could not verify the same with audio mute with letter M
Thanks

Yes, confirmed.

Additional information: This is not the case for very quick multiple clicking the camera button.

Fixed in new client


[MRG] Add and use new logo

Closes #455
README preview: https://github.com/jupyter/repo2docker/blob/a9c80b0af41ae26ce9c3006424387268490c1c70/README.md
Docs preview: https://11-90722372-gh.circle-artifacts.com/0/html/index.html

Let's merge this and then figure out the path to the PNG that is referenced in the README.md. Currently that is (I think) referencing a file on a branch in my repo. I don't know how to find out what that URL will be after merging this, hence the double step.

FYI Cal Poly folks, @ellisonbg @tgeorgeux @zsailer @Ruv7

In #455 we originally wrote "5 November" but there is no rush.
How about putting comments/thoughts which aren't blockers but should be addressed at some point in #455 instead of here?

ahhh right - I guess I "forgot forgot the 5th of november" lol...let's leave it up a bit longer in case the cal poly folks would like to share their thoughts

For anyone who's arriving at this PR for the first time:

Here's the original logo open design issue
Here's the issue proposing a specific design...we left it in an "open comment period" for ~10 days to get feedback, but didn't get much. I think we should have "@" notified more people

This PR is now a "final design" proposal to be merged in to the repo.

we left it in an "open comment period" for ~10 days to get feedback, but didn't get much. I think we should have "@" notified more people
Probably a good practice to always notify (@-mention) @ellisonbg @tgeorgeux @Ruv7 @ZSailer as a courtesy when there are UI/UX logos, visuals, branding being changed.  Let's give it 48 hours for these folks to chime in if desired. After that, I think the change can be merged with no objections.

+1 to giving it several days! Sorry if this went under the radar for some folks.

friendly ping on this - think that we can move things forward here?


Declarative treesitter-based indentation rules

As the VS Code team is considering integrating tree-sitter in the UI thread (https://github.com/microsoft/vscode/pull/161479 and more recently https://github.com/microsoft/vscode/issues/207416) to potentially improve tokenization (https://github.com/microsoft/vscode/issues/77140) and syntax highlighting (https://github.com/microsoft/vscode/issues/50140) I'd like to suggest that indentation is another area that could be drastically improved by tree-sitter.
Currently language extensions have these possibilities when it comes to defining indentation, all with their drawbacks:

Define indentationRules and onEnterRules regexps. Because of the limitations of regexps to match programming language constructs this produces surprising indentation in many edge cases that are often not possible to fix in full generality. The python extension for instance has struggled with these quite a bit: https://github.com/microsoft/vscode-python/issues/481

Override the Enter key to bypass the regexp-based indentation, e.g.:
https://marketplace.visualstudio.com/items?itemName=KevinRose.vsc-python-indent
The extension is then able to maintain knowledge of the code structure and implement an ad hoc engine.
This works but only when indenting after Enter is pressed, the indentation command is not called when moving lines up and down or pasting with autoindent. Furthermore, if the extension host is swamped there might be a noticeable delay between pressing enter and inserting the newline and indent in the editor.

Correct the indentation with a format-on-type provider for \n. This is the approach taken for python, with pylance now providing indentation corrections via format-on-type: https://github.com/microsoft/pylance-release/issues/1613.
I call these "corrections" because the indentation rules of the renderer thread are applied first and are immediately visible. The format-on-type edits are applied second and noticeable to the user if the extension host is slow to respond. That's not too bad but it's also possible for the format request to be cancelled/ignored if the user types too fast and invalidates the document version sent to the provider.

Indenting in both the renderer process and in edit corrections via format-on-type is a good compromise overall but it requires non-trivial analysis and behaviour implemented in extension code. Allowing extensions to provide smarter indentation rules aware of the tree structure of code (and with provisions for vertical alignment, see https://github.com/microsoft/vscode/issues/66235) would make the initial indentation in the UI thread much more accurate in general.
That's where tree-sitter comes in. Both Emacs and nvim provide an indentation engine specified by declarative tree-sitter queries:

Emacs tutorial: https://www.masteringemacs.org/article/lets-write-a-treesitter-major-mode
Documentation: https://www.gnu.org/software/emacs/manual/html_node/elisp/Parser_002dbased-Indentation.html

nvim documentation: https://neovim.io/doc/user/treesitter.html#treesitter-query
https://github.com/nvim-treesitter/nvim-treesitter/blob/aa8d8bc600e00f84d11b9d40c6900d72d0f68fa3/doc/nvim-treesitter.txt#L210
C example https://github.com/nvim-treesitter/nvim-treesitter/blob/master/queries/c/indents.scm

Similarly, a tree-sitter declarative language for indentation in VS Code could solve the issue of complex tree-based indentation running entirely in the main process without running extension code.

@aiday-mar  were you just working on something like this?

Hi @lionel- @alexr00, thank you for posting this issue. Indeed, we are currently discussing using tree-sitter to perform the indentation. For the moment, we are trying to improve the indentation regex rules and explore the limits of these. As you mentioned, there are cases where regex indentation rules perform poorly mostly because the indentation code is not aware of the context. This is why tree-sitter could be a good alternative. One issue with using tree-sitter is that it would be computationally more expensive to do the indentation, and the indentation would be computed asynchronously (whereas currently the computation is synchronous). This implies a delay in the indentation just like with format-on-type. We will continue in-team discussion about this feature request.

One issue with using tree-sitter is that it would be computationally more expensive to do the indentation, and the indentation would be computed asynchronously (whereas currently the computation is synchronous). This implies a delay in the indentation just like with format-on-type. We will continue in-team discussion about this feature request.

Interesting. I was hoping the incremental reparsing of TS would be fast enough to do everything synchronously. IIUC the asynchrony would be contained to the renderer process and would not be impacted by a slowed down extension host? Hopefully the delay will not be noticeable most of the time.

we are trying to improve the indentation regex rules and explore the limits of these. As you mentioned, there are cases where regex indentation rules perform poorly mostly because the indentation code is not aware of the context. This is why tree-sitter could be a good alternative.

I'd like to mention here an important use case for us (the same discussed in https://github.com/microsoft/vscode/pull/136593#issuecomment-2034162095): chains of operator-separated expressions like a && b && c. In the language R these chains (often called pipelines) are very common:
# ggplot2 pipeline
mtcars |>
 ggplot(aes(
   disp,
   drat
 )) +
 geom_point(
   aes(colour = cyl)
 )

# dplyr pipeline
starwars |>
 group_by(species) |>
 summarise(
   n = n(),
   mass = mean(mass, na.rm = TRUE)
 ) |>
 filter(
   n > 1,
   mass > 50
 )

We are currently using OnEnter rules designed to avoid a staircase indentation effect like:
# Unwanted staircase
foo() +
  bar() +
    baz()

# Expected indentation
foo() +
  bar() +
  baz()

However these rules can only really handle one-liners, they start to fail when the pipeline elements are laid out on multiple lines:
foo() +
  bar(
    x
  ) +
    baz(
      y
    )

Even if we could match across more lines, I don't think we could really express what we need in full generality with regular expressions.
With nvim tree-sitter queries, we can express this alignment rule simply with:
[
  (binary_operator)
] @indent.begin

This should work with homogeneous left-associative operators because in that case, since we indent from the right-hand side, the parent of the current node will be the top most node in the chain of operators.
For more complex cases such as righ-associative operators, we can use the Emacs approach of expressing indentation with a matcher and an anchor. First here is how the same nvim rule as above is expressed:
((parent-is "binary_operator") parent-bol r-ts-mode-indent-offset)

This matches a child of a binary operator and indents from the parent node. To make sure that we always indent from the topmost node of a chain of binary operations, we can modify as follows:
((parent-is "binary_operator") (ancestor-while "binary_operator") r-ts-mode-indent-offset)

This uses this anchor which climbs a tree as long as the type matches and selects the start position of the last node that matched:
(defun ancestor-while (type)
  (lambda (node parent _bol &rest _)
    (while (and parent (string-match-p type (treesit-node-type parent)))
      (setq node parent)
      (setq parent (treesit-node-parent parent)))
    (treesit-node-start node)))

This example illustrates how TS rules can express indentation behaviour that approaches based on regular expressions struggle with. We will need a sufficiently flexible API to express more complex indent rules but it should be easy to extend the API with additional matchers and anchors as needed.

Hi @lionel- thank you for sharing these interesting thoughts. Unfortunately, as of now I am not aware if/when we will consider changing the indentation API. I will let you know if/when this happens, and take your ideas into account.
As concerning the asynchronicity, I believe the tree parsing would be done in a separate worker thread. It could be the delay is small and therefore not noticeable as you mentioned - we would have to test to check this.


⚠ Turnos 24x7 has degraded performance

In d11d7c0, Turnos 24x7 (https://reservas-dev.alternativasinteligentes.com/) experienced degraded performance:

HTTP code: 200
Response time: 8084 ms

Resolved: Turnos 24x7 performance has improved in 3042b60.


Allow URLs for TFTP Server (Bug #6634)

The setPattern() thing ain't usable for this and just causes regressions; also is_URL() from util.inc is way too limited for this purpose.  Backport PR #3083 to RELENG_2_3.

Before this pull request can be accepted you must first sign a CLA as described at https://www.pfsense.org/about-pfsense/#cla. Please read for more details.

We cherry-pick PRs commits from master to RELENG_2_3. Closing it in favor of #3083


Allow HEAD requests so services can easily test the microservice's availability

E.g. to allow Islandora Bagger Integration to ping the microservice.

Also included in this commit is a check to see if the locations file exists; if it doesn't, the service returns an empty array.

Resolved with a57c962ddf7fd6cd3f401df2bee0a2d79afad67f.


notebook with ann inference example added

added example of ALS inference with nmslib library

als training
making prediction with predict method
building index  on item vectors with default parameters
evaluating quality of prediction with- and without seen filtering
building more complex index  on item vectors for better quality

added ids conversion with StringIndexer instead of protected ._convert_index()


allow_netbird_windows.go is language dependend

Describe the problem
Adding a firewall rule under windows to allow traffic from wireguard interface only works if the system language is set to english.
To Reproduce
Steps to reproduce the behavior:

Set your system language to e.g German
Install Netbird
Connect
Log file contains an error, no firewall rule is created

Expected behavior
No error in log, firewall rule is created
The problem is the hardcoded noRulesMatchCriteria in client/firewall/uspfilter/allow_netbird_windows.go

Hello @moserpjm thanks for reporting the issue. To help us troubleshoot the can you run the following commands on your Powershell with administrator privileges and then share the output?
netsh advfirewall firewall add rule name=Netbird dir=in enable=yes action=allow  profile=any localip=<IP_ADDRESS>
netsh advfirewall firewall show rule name=Netbird
netsh advfirewall firewall delete rule name=Netbird

We will validate in our end too with a operating system in another language.

Sure. Here you go:

Thanks, can you also share the logs from your netbird client? They are located at C:\Programadata\netbird\client.log

That's the relevant part:
2023-10-23T19:11:17+02:00 INFO client/internal/config.go:207: new Admin Panel URL provided, updated to https://netbird.xxx.xxx (old value https://netbird.xxx.xxx:443) 2023-10-23T19:11:18+02:00 ERRO client/internal/routemanager/manager.go:41: server router is not supported: firewall not supported on windows 2023-10-23T19:11:18+02:00 INFO client/internal/engine.go:249: using userspace bind mode <IP_ADDRESS>:51820 2023-10-23T19:11:18+02:00 ERRO client/internal/acl/manager_create.go:23: failed to allow netbird interface traffic: exit status 1 2023-10-23T19:11:18+02:00 INFO signal/client/grpc.go:157: connected to the Signal Service stream 2023-10-23T19:11:18+02:00 INFO client/internal/connect.go:179: Netbird engine started, my IP is: <IP_ADDRESS>/16 2023-10-23T19:11:18+02:00 INFO management/client/grpc.go:143: connected to the Management Service stream

I also saw issue with netsh commands in paste dependent on the operating system language.
I have major of windows peers with italian system language and looking for the rule "Netbird" with:
netsh advfirewall firewall show rule name=Netbird
seems missed
anyway netbird is working except https://github.com/netbirdio/netbird/issues/1195 on some of them (probably not related)

@mlsmaycon I did a fast test and instead check the output string that change with language and with S.O. != english fails can be checked $? instead
netsh advfirewall firewall show rule name=Netbird
if($?)
{
   echo "rule found"
} else {
   echo "rule missed"
}

from a test on both missed and present seems working:
PS C:\WINDOWS\system32> netsh advfirewall firewall show rule name=Netbird

Nome regola:                          Netbird
----------------------------------------------------------------------
Attivata:                             Sì
Direzione:                            In
Profili:                              Dominio,Privato,Pubblico
Raggruppamento:
LocalIP:                              <IP_ADDRESS>/32
RemoteIP:                             Qualsiasi
Protocollo:                           Qualsiasi
Attraversamento confini:              No
Azione:                               Consenti
OK.

PS C:\WINDOWS\system32> if($?)
>> {
>>    echo "rule found"
>> } else {
>>    echo "rule missed"
>> }
rule found
PS C:\WINDOWS\system32> netsh advfirewall firewall delete rule name=Netbird

Regole eliminate 1.
OK.

PS C:\WINDOWS\system32> netsh advfirewall firewall show rule name=Netbird

Nessuna regola corrispondente al criterio specificato.

PS C:\WINDOWS\system32> if($?)
>> {
>>    echo "rule found"
>> } else {
>>    echo "rule missed"
>> }
rule missed

about the rules that try to set netbird seems to me wrong as accept any external source to any protocol and don't restrict to specific destination port or executable


chore: use path.join to fix master build on windows

Is the Windows build not executed for PRs? Looks like it's still failing on master.


xSQLServerHelper: Added test for the rest of the helper functions

Pull Request (PR) description

Changes to xSQLServerHelper

Added tests for those helper functions that did not have tests.

This Pull Request (PR) fixes the following issues:
None
Task list:

[x] Change details added to Unreleased section of CHANGELOG.md?
[ ] Added/updated documentation, comment-based help and descriptions in .schema.mof files where appropriate?
[ ] Examples appropriately updated?
[x] New/changed code adheres to Style Guidelines?
[x] Unit and (optional) Integration tests created/updated where possible?

This change is

Codecov Report

Merging #643 into dev will increase coverage by <1%.
The diff coverage is 40%.

@@         Coverage Diff          @@
##            dev   #643    +/-   ##
====================================
+ Coverage    95%    95%   +<1%
====================================
  Files        29     29
  Lines      2943   2943
====================================
+ Hits       2797   2824    +27
+ Misses      146    119    -27

Reviewed 3 of 3 files at r1.
Review status: all files reviewed at latest revision, 6 unresolved discussions, some commit checks failed.

CHANGELOG.md, line 40 at r1 (raw file):

  - Removed helper function Grant-CNOPerms because the deprecated resource that was using it was removed.
  - Removed helper function New-ListenerADObject because the deprecated resource that was using it was removed.
  - Added tests for those helper functions that did not have tests.

Also add that bugs, in regards to passing a CimInstance as DesiredValue, were fixed in Test-SQLDscParameterState helper function.
And that Test-SQLDscParameterState now outputs a warning message when a value type is not supported.

Tests/Unit/xSQLServerHelper.Tests.ps1, line 908 at r1 (raw file):

                $databaseEngineServerObject = Connect-SQL -SQLServer $mockExpectedDatabaseEngineServer -SQLInstanceName $mockExpectedDatabaseEngineInstance
                $databaseEngineServerObject.ConnectionContext.ServerInstance | Should -BeExactly "$mockExpectedDatabaseEngineServer\$mockExpectedDatabaseEngineInstance"

Here more values should be checked, like Username.

Tests/Unit/xSQLServerHelper.Tests.ps1, line 927 at r1 (raw file):

                $databaseEngineServerObject = Connect-SQL @testParameters
                $databaseEngineServerObject.ConnectionContext.ServerInstance | Should -BeExactly "$mockExpectedDatabaseEngineServer\$mockExpectedDatabaseEngineInstance"

Here more values should be checked, like Username.

Tests/Unit/xSQLServerHelper.Tests.ps1, line 934 at r1 (raw file):

not return a correct Analysis Service object

'Database Engine'

Tests/Unit/xSQLServerHelper.Tests.ps1, line 1155 at r1 (raw file):

        Context -Name 'When passing invalid types for DesiredValues' -Fixture {
            It 'Should return the correct error when DesiredValues is of wrong type' {

Should throw

Tests/Unit/xSQLServerHelper.Tests.ps1, line 1197 at r1 (raw file):

        Context -Name 'When passing an CimInstance as DesiredValue and ValuesToCheck is $null' -Fixture {
            It 'Should return the correct error' {

Should throw the correct error.

Comments from Reviewable

Review status: 1 of 3 files reviewed at latest revision, 6 unresolved discussions.

CHANGELOG.md, line 40 at r1 (raw file):
Previously, johlju (Johan Ljunggren) wrote…
Also add that bugs, in regards to passing a CimInstance as DesiredValue, were fixed in Test-SQLDscParameterState helper function.
And that Test-SQLDscParameterState now outputs a warning message when a value type is not supported.

Done.

Tests/Unit/xSQLServerHelper.Tests.ps1, line 908 at r1 (raw file):
Previously, johlju (Johan Ljunggren) wrote…
Here more values should be checked, like Username.

Done. This test doesn't use impersonation so can't test for more here.

Tests/Unit/xSQLServerHelper.Tests.ps1, line 927 at r1 (raw file):
Previously, johlju (Johan Ljunggren) wrote…
Here more values should be checked, like Username.

Done.

Tests/Unit/xSQLServerHelper.Tests.ps1, line 934 at r1 (raw file):
Previously, johlju (Johan Ljunggren) wrote…

not return a correct Analysis Service object

'Database Engine'

Done.

Tests/Unit/xSQLServerHelper.Tests.ps1, line 1155 at r1 (raw file):
Previously, johlju (Johan Ljunggren) wrote…
Should throw

Done.

Tests/Unit/xSQLServerHelper.Tests.ps1, line 1197 at r1 (raw file):
Previously, johlju (Johan Ljunggren) wrote…
Should throw the correct error.

Done.

Comments from Reviewable

Reviewed 2 of 2 files at r2.
Review status: all files reviewed at latest revision, all discussions resolved, some commit checks failed.

Comments from Reviewable


ordinal.rangeRoundBands could allow alignment?

Related mbostock/d3#1913.
Rather than always centering in the range (middle), maybe you want it to be left- (start) or right- (end) aligned?

Now covered by #28.


apply-all and auto-approve is a dangereous combination.

related to #386 where the auto-approve option for terraform was hardcoded into the apply-all command.
Maybe i am doing something wrong so please correct me.
Assume a setup with 2 modules

moduleA - Independent Module
moduleB - Depends_on moduleA

moduleB uses a terraform remote state from moduleA to extract some resource attributes

When apply-all is run there is no opportunity to verify what changes will be caused in moduleB depending on changes in moduleA

running a plan-all first does not help because changes in moduleB will only happen after the remote state for moduleA is updated with an apply
running an apply-all will not give me any chance to review the changes in moduleB due to the updated remote state for moduleA , this is very dangereous
The only option left is to run plan and apply for each module manually, which can be quite a pain when there are many modules to run and makes the dependency management in terragrunt useless.

It would be great if, when running terragrunt interactively , the apply-all command gave a chance to review the plan before actually applying it for all modules in the stack.
in the Issue #386 where this option was discussed (sorry i was not around at the time) it was assumed that there was no use-case to not want the terraform auto-approve option always enabled in an apply-all case but i tend to disagree.
It was argued that without it all automated runs of apply-all would break but that is what the terragrunt-non-interactive flag should be about.  It should make the run of terragrunt non interactive and so enable the auto-approve terraform option.
Is there anything i am missing that would let me run an apply-all without the risk of destroying all my resources because of no chance of checking the changes before they are applied ?

That's a fair point. What would be your suggested fix?
FWIW, we very rarely use apply-all for anything other than the initial deployment of an entire environment. After that, once code is running in prod, we always deploy one module at a time, usually via CI, with PR and plan reviews. In other words, I'd argue apply-all in prod in general is risky, even if it had a proper interactive mode.

New user to terragrunt and found the auto apply on apply-all quite a problem when developing.  Would love a simple option to toggle that.

Yes, auto approve is very dangerous. Please allow configure it and allow limit terragrunt concurrency to 1 thread. Very needed for production deployment!

Thanks @aaratn
Seems terragrunt apply-all doesn't support -auto-approve , furturely it doesn't support -help as well. I raised #884 for this issue.

To auto-approve you can execute terragrunt apply-all --terragrunt-non-interactive

I would suggest enabling auto-approve only when terragrunt-non-interactive is specified.

And of course disabling auto-approve when terragrunt-non-interactive is not set.
What about it? Would a change like this be accepted? I can make a PR, that does not sound very hard to do.

And of course disabling auto-approve when terragrunt-non-interactive is not set.

It sounds like in the description of the PR, the goal was not to disable auto-approve, but to change when approval is requested. That is, you want to see and approve the plan output of each module before apply is executed.
I'm having a bit of a brain fart though. Doesn't that happen already if you just run apply-all, as apply shows the plan and asks for confirmation?

It sounds like in the description of the PR, the goal was not to disable auto-approve, but to change when approval is requested. That is, you want to see and approve the plan output of each module before apply is executed.

Yes, I want to see the plan of each module and confirm it before apply, one at a time. I believe this should be the default behaviour (overridable with terragrunt-non-interactive)

I'm having a bit of a brain fart though. Doesn't that happen already if you just run apply-all, as apply shows the plan and asks for confirmation?

Nope. Currently you get one interactive question asked:
Are you sure you want to run 'terragrunt apply' in each folder of the stack described above? (y/n)

And beyond that, no more interaction. Each terraform apply is executed with -auto-approve, so the plan phase is not even displayed before the application starts. That's why I talked about disabling auto-approve but only when terragrunt-non-interactive is not set.
So, the proposed change is:

change the default (interactive) behaviour to have terraform ask your confirmation before applying for each terragrunt module. Keeping the question Are you sure you want to run 'terragrunt apply' in each folder of the stack described above? (y/n)
keep the current behaviour when terragrunt-non-interactive is set

I believe the current interactive behaviour is useless and there is no need to keep it.  The question Are you sure you want to run 'terragrunt apply' in each folder of the stack described above? (y/n) is not really useful as you give your consent to something you don't fully know before you see the plan results.

Nope. Currently you get one interactive question asked:
Are you sure you want to run 'terragrunt apply' in each folder of the stack described above? (y/n)
And beyond that, no more interaction. Each terraform apply is executed with -auto-approve, so the plan phase is not even displayed before the application starts. That's why I talked about disabling auto-approve but only when terragrunt-non-interactive is not set.

Ah, that's the context I was missing. Thanks for explaining!

So, the proposed change is:

change the default (interactive) behaviour to have terraform ask your confirmation before applying for each terragrunt module. Keeping the question Are you sure you want to run 'terragrunt apply' in each folder of the stack described above? (y/n)
keep the current behaviour when terragrunt-non-interactive is set

Agreed. PR to do this is very welcome! 👍

Note that for whoever is trying to implement this, you will run into issues where the stdin and stdout is interleaved across concurrent terraform runs.
This will lead to a few issues:

You won't be able to parse the plan output because resource plans will be interleaved across modules (note that this is the same issue we have with plan-all).
Your answers you type to confirm could be sent to multiple apply calls, since the stdin is shared.

I am not sure it is possible to implement this without disabling the concurrency (from a UX perspective), so it seems like https://github.com/gruntwork-io/terragrunt/pull/636 is necessary.

Hi all,
When running a terragrunt apply, what is the difference between terragrunt apply -auto-approve vs. terragrunt apply --terragrunt-non-interactive?

Hi all,
When running a terragrunt apply, what is the difference between terragrunt apply -auto-approve vs. terragrunt apply --terragrunt-non-interactive?

-auto-approve skips interactive prompts from Terraform, such as the prompt to check the plan output before running apply. --terragrunt-non-interactiveskips interactive prompts from Terragrunt, such as the prompt to create an S3 bucket as a state backend if the bucket doesn't exist already.

Do we have any ETA to change this beaviour?

Do we have any ETA to change this beaviour?

For others arriving at this issue, terragrunt now discourages the use of terragrunt apply-all in favor of terragrunt run-all apply instead.
The above issue works as expected when using terragrunt run-all apply, as in both terragrunt AND terraform will prompt for input.
If you want to skip terragrunt's prompts, then use: terragrunt run-all apply --terragrunt-non-interactive
If you want to skip terraforms prompts, then use: terragrunt run-all apply -auto-approve
If you want to skip both sets of prompts, then use: terragrunt run-all apply --terragrunt-non-interactive -auto-approve

@emilhdiaz, in my case terragrunt run-all apply behaves the same with or without -auto-approve, i.e. in both cases it skips Terraform's confirmation prompt.

@tensor5 You're right, not sure how I missed that before (made a note of it in my prior comment, thanks).
In that case, I would echo the OP. This behavior seems counter intuitive to me.

@jlepere-everlaw Just came across this new flag myself. You might have better luck simply setting the TERRAGRUNT_AUTO_APPROVE environment variable in your shell or automatically via something like https://github.com/direnv/direnv.

Thanks, @emilhdiaz! I ended up setting the TERRAGRUNT_AUTO_APPROVE environment variable in a similar fashion to your suggestion.

New Terragrunt user here.
I love the fact that you can have your Terragrunt Architecture DRY. It helps A LOT when you have multiple modules and dependencies between them.
I came from a pure Terraform complex multi-account level structure, and TF sucks really bad at dependencies between modules and duplication of code.
TBH, the run-all Terragrunt command caught my attention when I was comparing the two solutions, but I was disappointed when I saw it is not recommended for production usage.
I wish plan-all would take care of all the dependencies and just work.
Also, need to think about consistency. In terraform with Github Actions, I was able to upload the .tfplan file to Github and use that same file when running terraform apply. With Terragrunt, that's not something I can easily have.
I have also published a discussion here, to debate best practices on my use case.

I just found that terragrunt apply, when provided with a plan file and nothing else, auto-approves the changes and apply them straight away. Can someone confirm that is the expected behaviour and point me to where in the docs that behaviour is mentioned as I could not find it?


Update download for Fedora.

The syntax for the Fedora package manager has changed. Instead of using yum to install packages, now the command is "dnf". The downloads page for Fedora does not represent this change; the new command should be "sudo dnf install haskell-platform". Other than that fantastic website.

Thanks! mind making a PR?
The file should be: https://github.com/haskell-infra/hl/blob/master/static/markdown/linux-install.md

I think OP may be talking about the Haskell Platform page.


updating

will you be updating the styles on this to match the material releases?

I added them from the newest version. Thanks for reporting!