Template_HierarchicalStructuresEnablingBoM not opening in AASX Package Explorer

No Problems opening any other Templates using Package Explorer V3.0 either via File/Open/... or Drag&Drop other than with the HierarchialStructures Template

Error: while receiving file drop to window: PackageCentral: while performing load from C:\Users\User\Desktop\Asset Administration Shell\Templates\Bill Of Materials\IDTA 02011-1-0_Template_HierarchicalStructuresEnablingBoM.aasx at \PackageCentral.cs:line 83 gave: One or more errors occurred. (While opening aasx C:\Users\User\AppData\Local\Temp\tmp6F77.aasx from source local file: C:\Users\User\Desktop\Asset Administration Shell\Templates\Bill Of Materials\IDTA 02011-1-0_Template_HierarchicalStructuresEnablingBoM.aasx buffered to: C:\Users\User\AppData\Local\Temp\tmp6F77.aasx at \AdminShellPackageEnv.cs:line 491 gave: While reading the AASX C:\Users\User\AppData\Local\Temp\tmp6F77.aasx at \AdminShellPackageEnv.cs:line 481 gave: While reading spec from the AASX C:\Users\User\AppData\Local\Temp\tmp6F77.aasx at \xmlization.cs:line 20625 gave: The required property Type has not been given in the XML representation of an instance of class Reference at: submodels/[0]/submodelElements/[0]/statements/[0]/statements/[1]/first) PackageCentral: while performing load from C:\Users\User\Desktop\Asset Administration Shell\Templates\Bill Of Materials\IDTA 02011-1-0_Template_HierarchicalStructuresEnablingBoM.aasx at \PackageCentral.cs:line 83 gave: One or more errors occurred. (While opening aasx C:\Users\User\AppData\Local\Temp\tmp6F77.aasx from source local file: C:\Users\User\Desktop\Asset Administration Shell\Templates\Bill Of Materials\IDTA 02011-1-0_Template_HierarchicalStructuresEnablingBoM.aasx buffered to: C:\Users\User\AppData\Local\Temp\tmp6F77.aasx at \AdminShellPackageEnv.cs:line 491 gave: While reading the AASX C:\Users\User\AppData\Local\Temp\tmp6F77.aasx at \AdminShellPackageEnv.cs:line 481 gave: While reading spec from the AASX C:\Users\User\AppData\Local\Temp\tmp6F77.aasx at \xmlization.cs:line 20625 gave: The required property Type has not been given in the XML representation of an instance of class Reference at: submodels/[0]/submodelElements/[0]/statements/[0]/statements/[1]/first)
InnerException: One or more errors occurred. (While opening aasx C:\Users\User\AppData\Local\Temp\tmp6F77.aasx from source local file: C:\Users\User\Desktop\Asset Administration Shell\Templates\Bill Of Materials\IDTA 02011-1-0_Template_HierarchicalStructuresEnablingBoM.aasx buffered to: C:\Users\User\AppData\Local\Temp\tmp6F77.aasx at \AdminShellPackageEnv.cs:line 491 gave: While reading the AASX C:\Users\User\AppData\Local\Temp\tmp6F77.aasx at \AdminShellPackageEnv.cs:line 481 gave: While reading spec from the AASX C:\Users\User\AppData\Local\Temp\tmp6F77.aasx at \xmlization.cs:line 20625 gave: The required property Type has not been given in the XML representation of an instance of class Reference at: submodels/[0]/submodelElements/[0]/statements/[0]/statements/[1]/first)
InnerException: While opening aasx C:\Users\User\AppData\Local\Temp\tmp6F77.aasx from source local file: C:\Users\User\Desktop\Asset Administration Shell\Templates\Bill Of Materials\IDTA 02011-1-0_Template_HierarchicalStructuresEnablingBoM.aasx buffered to: C:\Users\User\AppData\Local\Temp\tmp6F77.aasx at \AdminShellPackageEnv.cs:line 491 gave: While reading the AASX C:\Users\User\AppData\Local\Temp\tmp6F77.aasx at \AdminShellPackageEnv.cs:line 481 gave: While reading spec from the AASX C:\Users\User\AppData\Local\Temp\tmp6F77.aasx at \xmlization.cs:line 20625 gave: The required property Type has not been given in the XML representation of an instance of class Reference at: submodels/[0]/submodelElements/[0]/statements/[0]/statements/[1]/first at    at AasxPackageLogic.PackageCentral.PackageCentralItem.Load(PackageCentral packageCentral, String location, String fullItemLocation, Boolean overrideLoadResident, PackageContainerOptionsBase containerOptions, PackCntRuntimeOptions runtimeOptions) in D:\a\aasx-package-explorer\aasx-package-explorer\src\AasxPackageLogic\PackageCentral\PackageCentral.cs:line 102
at AasxPackageExplorer.MainWindow.UiLoadPackageWithNew(PackageCentralItem packItem, AdminShellPackageEnv takeOverEnv, String loadLocalFilename, String info, Boolean onlyAuxiliary, Boolean doNotNavigateAfterLoaded, PackageContainerBase takeOverContainer, String storeFnToLRU, Boolean indexItems) in D:\a\aasx-package-explorer\aasx-package-explorer\src\AasxPackageExplorer\MainWindow.xaml.cs:line 376
at AasxPackageExplorer.MainWindow.Window_Drop(Object sender, DragEventArgs e) in D:\a\aasx-package-explorer\aasx-package-explorer\src\AasxPackageExplorer\MainWindow.xaml.cs:line 3364.Inner message: One or more errors occurred. (While opening aasx C:\Users\User\AppData\Local\Temp\tmp6F77.aasx from source local file: C:\Users\User\Desktop\Asset Administration Shell\Templates\Bill Of Materials\IDTA 02011-1-0_Template_HierarchicalStructuresEnablingBoM.aasx buffered to: C:\Users\User\AppData\Local\Temp\tmp6F77.aasx at \AdminShellPackageEnv.cs:line 491 gave: While reading the AASX C:\Users\User\AppData\Local\Temp\tmp6F77.aasx at \AdminShellPackageEnv.cs:line 481 gave: While reading spec from the AASX C:\Users\User\AppData\Local\Temp\tmp6F77.aasx at \xmlization.cs:line 20625 gave: The required property Type has not been given in the XML representation of an instance of class Reference at: submodels/[0]/submodelElements/[0]/statements/[0]/statements/[1]/first)
Inner message: While opening aasx C:\Users\User\AppData\Local\Temp\tmp6F77.aasx from source local file: C:\Users\User\Desktop\Asset Administration Shell\Templates\Bill Of Materials\IDTA 02011-1-0_Template_HierarchicalStructuresEnablingBoM.aasx buffered to: C:\Users\User\AppData\Local\Temp\tmp6F77.aasx at \AdminShellPackageEnv.cs:line 491 gave: While reading the AASX C:\Users\User\AppData\Local\Temp\tmp6F77.aasx at \AdminShellPackageEnv.cs:line 481 gave: While reading spec from the AASX C:\Users\User\AppData\Local\Temp\tmp6F77.aasx at \xmlization.cs:line 20625 gave: The required property Type has not been given in the XML representation of an instance of class Reference at: submodels/[0]/submodelElements/[0]/statements/[0]/statements/[1]/first

@NLIFTTUW Please try to open it with the latest version of the AASPE

@NLIFTTUW The issue is resolved please refer to below link for the SMT
https://github.com/admin-shell-io/submodel-templates/blob/main/published/Hierarchical%20Structures%20enabling%20Bills%20of%20Material/1/0/IDTA%2002011-1-0_Template_HierarchicalStructuresEnablingBoM.aasx

Thank you very much


Travis tests are failing (?)

The readme says "build: error". Wut?
I have to dig up the Travis URL first to find out what's wrong. Relatedly, let's also link to the test runs in the readme, not just to the indicator image.

resolved in 'blessed-integration' branch. I beleive py2.5 is no longer a supported target, either. https://github.com/erikrose/blessings/blob/blessed-integration/tox.ini#L2-L7
The cause of this error is that many supporting tools: tox, py.test, and virtualenv/wrapper, for example, no longer support python2.5.  A workaround is to explicitly downgrade such tools to support python2.5 builds.


chat shell

similar to other programming languages (python shell, etc.) create a "virtual shell" which implements a chat to further refine api responses. this would be stateful chat session.
a different solution would be to add a chat flag to completions to reference already received answers. these sessions would need to be managed (create, delete, etc.) and saved on the machine.

the actual requirement is: reference already sent prompts and responses to refine the answer.

possible solution:

add --chat flag to txt, sh, and code subcommands
introduce chat subcommand
subcomannds of chat subcommand: ls, rm

design decision: no "virtual shell" will be implemented. flags are used to create a chat conversation.


change load local ./ hf parquet dataset

add load downloaded huggingface dataset, in case of machines cannot connect to huggingface.co

@microsoft-github-policy-service agree

@kindaQ HF datasets has caching (https://huggingface.co/docs/datasets/cache) so that if you copy the downloaded data into a machine and properly set HF_DATASETS_CACHE, that machine can directly load the datasets without downloading. If you agree caching will solve your issue, we would prefer not to merge this PR and add another layer of complexity. If caching does not solve your case, please explain. Thank you.

@kindaQ HF datasets has caching (https://huggingface.co/docs/datasets/cache) so that if you copy the downloaded data into a machine and properly set HF_DATASETS_CACHE, that machine can directly load the datasets without downloading. If you agree caching will solve your issue, we would prefer not to merge this PR and add another layer of complexity. If caching does not solve your case, please explain. Thank you.

I have tried  " export HF_DATASETS_CACHE="/path/to/another/directory""  and  "dataset = load_dataset('LOADING_SCRIPT', cache_dir="PATH/TO/MY/CACHE/DIR")",
but  still got "ConnectionError: Couldn't reach 'Dahoas/rm-static' on the Hub (ConnectionError)"
here is my screenshot:

would you please try it in your machine which cannot connect to huggingface.co

Based on HF's doc https://huggingface.co/docs/datasets/loading#offline, could you try to set HF_DATASETS_OFFLINE to 1 to enable full offline mode?

Based on HF's doc https://huggingface.co/docs/datasets/loading#offline, could you try to set HF_DATASETS_OFFLINE to 1 to enable full offline mode?

it does not work

I have reviewed the code of "load_dataset", the first param only support
"_PACKAGED_DATASETS_MODULES = {
"csv": (csv.name, _hash_python_lines(inspect.getsource(csv).splitlines())),
"json": (json.name, _hash_python_lines(inspect.getsource(json).splitlines())),
"pandas": (pandas.name, _hash_python_lines(inspect.getsource(pandas).splitlines())),
"parquet": (parquet.name, _hash_python_lines(inspect.getsource(parquet).splitlines())),
"text": (text.name, _hash_python_lines(inspect.getsource(text).splitlines())),
"imagefolder": (imagefolder.name, _hash_python_lines(inspect.getsource(imagefolder).splitlines())),
"audiofolder": (audiofolder.name, _hash_python_lines(inspect.getsource(audiofolder).splitlines())),
}"
or  xxx.py
or directory path
otherwise  it will connect to hub,   "load_dataset("Dahoas/rm-static")" will go into this branch
so changing cache_dir  could not solve my issue

@kindaQ Thanks for the clarifications. Now I agree that this PR is needed. I finished my review and left some comments that need your fix. Please also write a short paragraph of documentation about this feature at https://github.com/microsoft/DeepSpeedExamples/blob/master/applications/DeepSpeed-Chat/README.md#-adding-and-using-your-own-datasets-in-deepspeed-chat, in order for other users to actually understand how to use your contribution.  One other thing is that the formatting test is failed, please follow https://www.deepspeed.ai/contributing/ to fix it with pre-commit.


Recursion error with double MonitorField and defer()/only() usage

Using two MonitorField in a same model generates a recursion error as soon as we use only() or defer() on that model, but only with Django 1.10+.
I will create a PR to demonstrate the issue.

Thanks @romgar for the report and failing tests! Unlikely that I will have time to work on a fix for this soon, but I'd be happy to review and merge a fix if someone comes up with one.

Issue fixed by PR #242!


Normalize synchronized file name to work across platforms

If a document contains a character not allowed by a certain platform (i.e Windows) but created on the other platforms, Obsidian will not able to synchronize or open document.
Sync log looks like below example
2023-10-12 14:14 - Ignoring remote file name with illegal characters Memex/[US-AZ] [H] Weber Key (Snow) Grinder, Magic Tumbler [W] Local Cash, PayPal, Venmo, Zelle : coffeeswap.md

in this case, Windows does not allow : .

fyi aware there's template can be used {{ }} instead of PageTitle, however document doesn't seem to addess if I want to use PageTitle as is, or apply custom formatting to pageTitle itself.


[DO_NOT_MERGE] NP-1442/after approving the approval request, it redirects to the earlier screen

I decided to add contextActions to use specific methods for contextMenu if required as in case of https://nanopay.atlassian.net/browse/NP-1442, where as Anna suggests in the comments we need to 'go back' to approval request if we use actions in DetailView but we don't need to 'go back' to approval request if we use context menu actions.

used isContextMenuEnabled and isDetailViewEnabled instead of ContextMenuActions refinement just as an option for tomorrows discussion


chore: release 0.19.0

:robot: I have created a release *beep* *boop*
0.19.0 (2023-01-17)
Features

add mapstructure tags (#88) (481788c)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/contiamo/openapi-generator-go/releases/tag/v0.19.0 :sunflower:


Add Documented Support for Python 3.10

Also adds python 3.10 to the test suite.
RT-Utils version should be bumped after this is merged.

Perra


My money not received the game please check the issue

Environment
Include the result of the following commands:

nginx -V
uname -a

Description
Describe the bug in full detail including expected and actual behavior.
Specify conditions that caused it. Provide the relevant part of nginx
configuration and debug log.

[ ] The bug is reproducible with the latest version of nginx
[ ] The nginx configuration is minimized to the smallest possible
to reproduce the issue and doesn't contain third-party modules

nginx configuration
# Your nginx configuration here

or share the configuration in gist.
nginx debug log
It is advised to enable
debug logging.
# Your nginx debug log here

or share the debug log in gist.

Please solve my issue
On Sun, Sep 29, 2024, 9:30 PM Maryna-f5 @.***> wrote:

Closed #228 https://github.com/nginx/nginx/issues/228 as not planned.
—
Reply to this email directly, view it on GitHub
https://github.com/nginx/nginx/issues/228#event-14445631013, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/BLWJ5OTLUFQWYKL4PH2OIGLZZAPZRAVCNFSM6AAAAABPBSZBRCVHI2DSMVQWIX3LMV45UABCJFZXG5LFIV3GK3TUJZXXI2LGNFRWC5DJN5XDWMJUGQ2DKNRTGEYDCMY
.
You are receiving this because you authored the thread.Message ID:
@.***>


Key Agent additional profile key names

The names of the keys for the additional properties in the key agent profile should be:

jurisdiction
x
facebook
linkedin
smartvaults_nip05 (nip05 specific for smartvaults where will add the agents approved by us)

I think we should also add website
All properties should be optional

website is already part of the base profile properties


Upgrade to yew 0.19.x

It would be great if the component could be upgraded to work with Yew 0.19

@siku2 Could you create a new release with this change?

@siku2 Could you create a new release with this change?

Sure thing.
Please remind me again if I haven't gotten to it by Saturday.

@siku2 Could you create a new release with this change?

Alright, 0.3.0 is live!


#279: add short flags

Closes: #279
This PR updates urfave/cli to v2 and adds short flags.

This looks good. I assume this removes the ability to use flags like this: -fork-path?

This looks good. I assume this removes the ability to use flags like this: -fork-path?

No, but there's an option to do so


backstage-cli (config): add config:help command.

Hey, I just made a Pull Request!

preparing for #3367 , pre-req was #4559
Example use:
# list all top-level keys
$ yarn backstage-cli config:help

# list info for specific key
$ yarn backstage-cli config:help app.baseUrl

# list properties for intermediate paths
$ yarn backstage-cli config:help app techdocs kubernetes

:heavy_check_mark: Checklist

[ ] A changeset describing the change and affected packages. (more info)
[ ] Added or updated documentation
[ ] Tests for new functionality and regression tests for bug fixes
[ ] Screenshots attached (for UI changes)

I've never written anything in TypeScript before, so I expect there to be weird stuff to address.. got this far by trial and error, mostly :p

@Rugvip @freben I'd need some feedback on how you want this to work and look like. And if it should be generated during some CI build step, or just manually updated occasionally..
I've included the generated docs as-is for now, so it is easier to discuss around it, and see what it could look like.
No rush, I'll let this one simmer for a while now ;)

Tugboat has finished building the preview for this pull request!
Link:

https://pr4496-iucovpayetu76zpdrzjni22nmbrvqyvu.tugboat.qa

Dashboard:

https://dashboard.tugboat.qa/60265e2065f81730cceebb87

bump. Just checking if this is on someones todo to look at? ;)
For now, I'm mostly looking for, if this is going in an acceptable direction, or if a major re-take is in order, before I look into generating docs for the less frequently used schema constructs, such as anyOf/oneOf and arrays etc.

researching for a way forward with this, and found https://www.npmjs.com/package/@adobe/jsonschema2md
I'll do some local POC:ing to see if it would be feasible to use that (or similar) for this.

Ok, for the docs generation, I think it could work, but as a cli tool to output plain text, it could work, but I think it's more work than what it might be worth... as it is a cli tool meant to generate a full site with a bunch of md files.
Here's some output from my abuse of the library...

also, it does support the anyOf, allOf, oneOf etc... but again, doesn't really work for offline cli use without some effort

So, given this library, I switch focus to generating the docs see how far I get with that, and put the cli config:help tool on ice for now.

@Rugvip wanna take a look at this one?

Thinking that this is superseded by https://github.com/backstage/backstage/pull/5328, even though it's not exactly the same thing. Gonna close this but let's dig it up if we feel that the config documentation problem isn't properly solved.


Is it possible to manually reset momentum in SGD?

Context: I am running the same optimizer multiple times for cross-validation and trying to completely reset it at each run so I can avoid recompiling exactly the same thing as before. My data is relatively small and my GPU is quite fast so it converges very quickly and the compilation time becomes comparable to the processing time.
What I have tried: to reinitialize stuff I stumbled upon this issue and simply saved / loaded my initial parameters at each fold. Apparently it was working until I decided to include momentum on it. My hyper-parameter optimizer converged to a configuration with a very high momentum and was giving absurdly good results, then I realized my mistake of forgetting to reinitialize the momentum shared variable: there was information leaking from fold to fold.
I gave a quick read in the code in optimizers.py and as I understand the shared variables m which hold the momentum value are kept internal so I don't have access to it.
TLDR:
How can I have access to the shared variables holding the momentum value?
Is there any built-in solution in keras for cross-validation that does not involve recompiling everything again?
Are there any other shared variables that could be leaking information from one fold to another?
Are there plans to add a proper reinitialization feature to keras?

This has been addressed in #428 and fixed with #441.  There are get_state and set_state methods on the optimizer.  The momentum term is included in self.updates but it is a list so you will have to keep track of the corresponding index of the momentum term.
m = shared_zeros(p.get_value().shape) # momentum
v = self.momentum * m - lr * g # velocity
self.updates.append((m, v))

Thanks, so if I understand well if I do something like this
def generic_training_and_testing_function(X_train, Y_train, X_test, model):

	weights = model.get_weights()
	state = model.optimizer.get_state()

	model.fit(X_train, Y_train, batch_size=100, nb_epoch=400, verbose=0)

	Y_pred = model.predict_classes(X_test, verbose=0)

	model.set_weights(weights)
	model.set_state(state)

	return Y_pred

I will be completely isolated right?
I don't need to keep track of momentum individually if it is being taken care of with another function
Also

I might be wrong, but I think that every call to model.fit resets the accumulated states (such as momentum, etc.) in the optimizers

Is this true? I get some radically different results when bringing the compilation inside the folds even when using get_weights and set_weights
I wasn't able to test your functions yet because I am running with the pip version, I'll edit this when I do it
Going beyond that, doing a one-liner initializer each time using a different initial random point instead of using of four lines to initialize always at the same point would be a good feature I think

Successive calls to fit do not reset any of the parameters of the model, including the state of the optimizers. Successive calls to fit with nb_epoch = 1 is effectively the same as a single call to fit.

I see.  If your goal is to reset all states (parameters and optimizer states) then model.set_weights() and model.optimizer.set_state() should do that.

How can I use model.optimizer.set_state() to modify my learning rate as a function of epochs?
Can you please give an example?!
Thanks..

Why don't you try using decay?
If you want to do it differently I cannot help you that much, I've been using set_state() only as a save/reset mechanism. Maybe in that case it would be better to open another issue and be more specific.

well I use decay, but it works on iterations. I want to reduce my learning rate at discrete stages like for example reduce LR by 1/10, every 100th epoch etc.I guess I have to open a new issue for this.

Seems get_state and set_state were removed, what is the current method of reset optimizer state?

Seems get_state and set_state were removed, what is the current method to reset the optimizer state?
I was able to use the optimizer.variables() attribute like this :

#Get initial states
init_states = [var.value() for var in optimizer.variables()]
#Do the optimization
...
#reset optimizer state to init_state
for val,var in zip(init_states,optimizer.variables()): var.assign(val)
(You can use tf.print(optimizer.variables()) in your optimization loop to verify)


Improved configuration DSL

Current state
The current state of the dependencyAnalysis extension leaves a bit to be desired. Consider:
// root build.gradle
dependencyAnalysis {
  issues {
    onAny {
      fail("some:dep", "some-other:dep")
    }
  }
}

What does that mean? In fact, what it means is that, on detection of "any" issue (and there are three types that are distinguished; see below), the plugin will fail the build. Oh, and if it encounters either of "some:dep" or "some-other:dep", it will pretend those don't exist; they simply won't show up in any report, because they're being ignored (if you look at the source code for the fail() method, you'll see that its optional argument is named "ignore").
This is not very intuitive.
Three types of issue:

Unused dependencies (which should be removed!) -> onUnusedDependencies {}
Used transitive dependencies (which should be declared directly!) -> onUsedTransitiveDependencies {}
Incorrect configuration for a dependency (is api but should be implementation, and vice-versa). -> onIncorrectConfiguration {}

And in addition, as one can see above, there is an onAny {} block which configures all three types simultaneously and equally.
There are currently three options for each of these three types:

warn(). This is the default behavior. The plugin will print its advice to console and the build will not fail due to any dependency issue detected.
fail(). This will tell the plugin to fail the build upon detection of the configured issue type.
ignore(). This tells the plugin to ignore any dependencies issues of the associated type. Perhaps you don't care if you're using transitive dependencies, for example.

Consider this more complex example:
// root build.gradle
dependencyAnalysis {
  issues {
    onUnusedDependencies {
      fail("some:dep")
    }
    onUsedTransitiveDependencies {
      ignore()
    }
    onIncorrectConfiguration {
      warn("some-other:dep")
    }
  }
}

and the result of this is that:

The plugin will fail if it discovers any unused (but declared) dependencies, unless that dependency is "some:dep", which it ignores.
The plugin will ignore all issues relating to used transitive dependencies.
The plugin will emit a warning and not fail the build if it detects a plugin on the wrong configuration, unless that dependency is "some-other:dep", which it ignores.

So, that's the current state.
Goals for an improved API
Readable
The first goal is readability. A DSL with a block like onUnusedDependencies { fail("some:dep") } isn't very readable, as it is natural to think we're telling the plugin to fail if "some:dep" is unused, which is roughly the opposite of the actual behavior.
Flexible
There is already some degree of flexibility, but more is desirable. For example, it might be useful to be able to ignore certain dependencies only for a particular project (or set of projects). Currently we can only ignore a dependency for all projects.
What about configuring this behavior via a file, instead of or addition to the DSL? Consider lint for example, which can be configured with an XML file. We could do the same, with XML or JSON or whatever.
Unambiguous
Currently there's a degree of ambiguity. If one configures both the onAny {} block and one of the others, what is the result? Does onAny supersede the more specific rule? Does the specific rule supersede the general? Are the rules combined in some way? In point of fact it's the last option (the rules are unioned together), but this is not obvious.
Proposed API
I'm currently considering something like the following:
issues {
  assumeIsolated = false // one of [true, false]

  // configure ':proj-a'
  project(':proj-a') {
    behavior = 'warn' // one of ['warn', 'fail', 'ignore']

    // The following are assumed to be correct. I.e., the plugin will not
    // suggest removing these if they’re found on the given configuration,
    // or variant thereof.
    convention {
      implementation = ['androidx.core:core-ktx', '*-ktx']
      api = ['androidx.multidex:multidex']
      // note that, by default, the plugin will not suggest changing a
      // compileOnly dependency. It assumes users know what they’re
      // doing when they do that.
    }
  }

  // configure all projects
  all {
    ...
  }
}

Overlapping rules
When rulesets overlap (for example, you've configured all {} and specific projects, the system will layer these, with the more general at bottom and the more specific at top. So you might set all { behavior = 'warn' }, but project(':proj-a') { behavior = 'fail' }. Any issue detected in proj-a will lead to build failure, but issues in other projects would merely result in a warning.
Non-holistic / isolated changes
assumeIsolated: when unset or set to false (the default), the plugin follows default (current) behavior. When set to true, it will assume changes to the project will be made piecemeal (not holistically). As such, it will not suggest removing an "unused" dependency that is part of the ABI of a parent project unless that ABI dependency is on the api configuration; nor will it suggest reducing the visibility of any dependencies that are currently on api (even if they "should" be implementation). The idea is to minimize the potential to break a given subproject that is undergoing incremental (non-holistic) change. Correct implementation of such an algorithm would likely be very complex, and so would likely come last, if at all. Such a need may be highly specialized, and of uncertain general benefit.
Config file
One additional change I would like to make to the DSL is to provide an option to write it out to disk as a json config file. The dependencyAnalysis {} extension could then take a single config parameter that points to such a file, and then the file is the source of truth. Sort of like how lint can be configured in the Android world.

I like the convention api idea.
For fail, warn & ignore, I would maybe prefer a map:
issues.onUnused {
  "some:dep" -> fail()
  "some:2" -> ignore()
  "some:3" -> warn()
  default -> fail()
}

Added a 1.0 milestone. This issue is important enough that I consider it a prereq for 1.0 status.


Build get products endpoint

Returns a list of products
Each product has id, description, price
At first just return mock data (ask ChatGPT to create a list of ten products with those fields above)

Can i tackle this issue @hinchley2018 ?
I believe the way to do this is

Running a get method with express
Setup the endpoint in the first get method parameter (in this case, i believe it is "/products")
Setup the callback function in the second get method parameter (in this case, a callback that returns a list of mock object?)

@teoh4770 of course lmk if you get stuck or need help

Thanks @hinchley2018

Hi @hinchley2018, got a few questions related to this issue. So I have setup the "/products" route that return a list of products when being requested. However, I stuck at a few parts:

I'm gonna setup the api functions in "frontend" folder similar to this, do you think it is a good structure? Or do you prefer to call it "controller" instead of "api" in this case?

File structures:
api/
  ProductsAPI.js
  ProductsAPI.test.js

Reference Image:

In the ProductsAPI, there's a function "getProducts" that fetch the products using the endpoint setup at the backend. I wanna setup a test for the "getProducts" async function, but I realise that I didn't know how to setup a mock test for async function. I directly called the function inside the test block, which I know is incorrect. Any example of how to do this?

closed by #22


Add statistics and percentage selector components

This PR ports the statistics and percentage selectors over to Solara. The logic of these was mostly Python-side anyway, so I decided to just go ahead and move the layout side to Solara as well. Additionally, this adds a utility function based on what @nmearl did for the dotplot viewer to encapsulate the operations for making a Plotly figure resizable.
These mostly behave the same way as they did previously, but any thoughts or tweaks to the layout are welcome.

Thanks, @Carifio24! This is looking good. I do have some comments about the component styling, but let's leave cosmetic changes until after we've worked out all the content. Are the data points all just integers? I'm wondering why the histogram bars are not centered on their respective values, whereas the mode line markers are. This will likely confuse a lot of users, so we should get the histogram bars centered if we can.

@patudom So I think the issue that we're having here is that the histogram bins aren't playing nicely with the integer values of the points. In the histogram viewer state, you set the number of bins. This doesn't play particularly nicely with our use case, since the students don't have any way to adjust the bins themselves.
It looks like what we did in the past was to explicitly set the number of bins to be equal to the range of the data - basically, make the bin edges be the integer values within the range. I'll implement the same thing in the new version (that'll go over in Hubble).

@patudom I've added that bin-updating functionality to the Hubble PR.


nvm

how did you fix this i dont understand

i am getting this as well and not sure what i am doing wrong

well it just fixed itself, i just had to wait a bit. probably because I had just activated my tinder account.

@idkm23 you have to activate Tinder Social for results to show in the groups response, and then you have to have friends that also activated it (unless they were auto opted-in in Australia)


adds https://github.com/mattelacchiato to list of authors

Description
Adds https://github.com/mattelacchiato as an Author + cleans up code

@agudian: Please review, merge and delete branch.

@mattelacchiato, does that work for you, or should we use an actual email address?

Totally fine for me!


Why is scope called "scope"? Why not "router" or "route"?

The names application, pipeline, and controller all makes sense to me, and I intuitively grasp what their purpose is. But every time I want to write a router to connect URLs (or partial URLs) to handlers, I want to type let books = router { ... } instead of let books = scope { ... }.
So why is this CE builder called scope instead of router? I realize that Phoenix uses the name scope and Saturn was heavily inspired by Phoenix, but since this was confusing to me, there's a possibility that it would be confusing to someone else who'd never used Phoenix, and that router might be a less-confusing name. It's at least worth opening a discussion.

So why is this CE builder called scope instead of router?

Well, the reason was literally because Phoenix call it like that. ;-)
However, I do agree that we maybe should rename it to router as it would be less confusing for people starting with the framework, and it would better express what this component is about.
CC: @isaacabraham @NinoFloris @baronfel any opinions?

Router works for me. In our training course, that's exactly how we describe scope, so it seems like a good fit. Scope isn't necessarily bad - it represents a "scope" of routes :-) But router seems even better.

+1 - and keep scope as deprecated for couple of minors

Yes! Good change

The funny thing is that I actually use name Router in the overview documentation ;-)
Ok, let's do this.

Fixed by https://github.com/SaturnFramework/Saturn/commit/4f896ef906a569a3b2802bbd50cb0e6a6c73e41e


$loadingRouteData not working with promises or transition.next()

Vue.js & vue-router.js version
1.0.26, 0.7.13
What is actually happening?
$loadingRouteData is being set to false right after route.data function returns.
This is true even if a Promise is returned and the promise is pending. So $loadingRouteData becomes false before the Promise finishes resolving.
Besides that, calling transition.next() doesn't set $loadingRouteData to false, if nothing is returned.

Everything seems to work correctly - http://www.webpackbin.com/V1IvK77d-
Can you share your not working code with us ?

Closing for inactivity.


405 method not allowed

Cloned repo
Restored packages
Built system
Published system to IIS server (with app pool perms on whole dir and packages target dir)
Followed setup guide (for appSettings)

  <appSettings>
	<add key="Container.SecurityType" value="SymbolSource.Contract.Security.NullSecurityService, SymbolSource.Contract" />
	<add key="InstanceSalt" value="mysalt" />
	<add key="NullSecurity.PushApiKeys" value="123456-apikey-here" />
	<add key="NullSecurity.AllowNamedFeeds" value="false" />

	<add key="Container.StorageType" value="SymbolSource.Contract.Storage.LocalStorageService, SymbolSource.Contract" />
	<add key="LocalStorage.RootPath" value="C:\inetpub\wwwroot\parent_folder\ihavewriteprivshere" />

	<add key="Container.SchedulerType" value="SymbolSource.Contract.Scheduler.FileSchedulerService, SymbolSource.Contract" />

  </appSettings>

And yet:
nuget push mysymbolpack.symbols.nupkg "123456-apikey-here" -source https://myinternaloffice.subnet
Response is as follows:
  PUT https://myinternaloffice.subnet/api/v2/package/
  MethodNotAllowed https://myinternaloffice.subnet/api/v2/package/ 133ms
Response status code does not indicate success: 405 (Method Not Allowed).

The root domain boots up fine with an xml output.
This XML file does not appear to have any style information associated with it. The document tree is shown below.
<service xmlns="http://www.w3.org/2007/app" xmlns:atom="http://www.w3.org/2005/Atom" xml:base="https://myinternaloffice.subnet/">
<workspace>
<atom:title type="text">Default</atom:title>
<collection href="Packages">
<atom:title type="text">Packages</atom:title>
</collection>
</workspace>
</service>

What have I done incorrectly?

I solved this by adding to web.config.
		<!--Add the following to the beginning of <system.webServer><modules>:-->
		<remove name="WebDAVModule" />
		<!--Add the following to the beginning of <system.webServer><handlers>:-->
		<remove name="WebDAV" />

As per https://stackoverflow.com/questions/16451183/405-method-not-allowed-in-nuget-push
Now it's stating 500 internal server error.
And so I dig on...

Problem was more missing appsettings...
	<add key="Support.InsightsWebAppInstrumentationKey" value="" />
	<add key="Support.InsightsWebJobInstrumentationKey" value="" />
	<add key="Support.IntercomAppId" value="" />
	<add key="Support.IntercomApiKey" value="" />

Now for the real error, the Key for local storage is incorrect, and yet the error is totally unhandled.
	<add key="LocalStorage.RootPath" value="thepath" />
should be (aka incorrect Readme documentation)
	<add key="FileStorage.RootPath" value="thepath" />
And now everything works perfectly.
Highly recommend that you add these major points to the readme, such a simple change, such a massive difference.

Thank you for all the time you spent on investigating this issue, and providing the solution. Funny enough I stumbled upon the 405 Method Not Allowed issue just last week in a different project, but did not think of SymbolSource, that it might also be affected. Apparently Azure Websites, where the service is primarily hosted, does not have WebDAV installed, and does not exhibit this issue. By the way this is a problem for any REST-ful services: https://stackoverflow.com/questions/6147181/405-method-not-allowed-in-iis7-5-for-put-method
As for FileStorage.RootPath you are also absolutely right. In Web.config the name of the setting was correct, but the README needed an update. This is all because LocalStorageService was once called FileStorageService and the name of the setting was left behind for backward compatability.

Awesome thank you!!!
And want to say it has been working excellently, and am very appreciative for your work on this project. Thank you!


Feature/add-kafka-pubsub-schema-registry

Description
Added doc for Kafka Pubsub component Avro Schema registry support
Issue reference
#3930

@passuied  Replied to you comment. PTAL.

@msfussell I'm unclear what else is missing. I have added all samples originally


Building Error - "golang:1.8-alpine AS builder"

I tried building with Docker and getting this error. Pumba binary runs fine, but I wanted to try to build it. This is on a RHEL 7.3.
user@box pumba]$ docker build -t pumba -f Dockerfile .
Sending build context to Docker daemon 38.68 MB
Step 1 : FROM golang:1.8-alpine AS builder
Error parsing reference: "golang:1.8-alpine AS builder" is not a valid repository/tag

I have just tried the same command for build and all works as exected (on macOs Sierra 10.12.6 Docker Version 17.06.2-ce-mac27), also i see 'golang:1.8-alpine' in dockerhub registry.

Ahh it's a corp proxy issue.


Problem with file names that are long

If the length of the filename is equal to the SPIFFS_OBJ_NAME_LEN then there appear to be problems. It looks as though there are several strcpy/strcmp calls in the code -- I suspect that they should all be bounded. This test case just verifies that directory listings return the right thing. The alternative is that the null should be included in the SPIFFS_OBJ_NAME_LEN size -- in which case, the open of the longest file should fail.
This is a very simple test case:
TEST(long_filename_75) {
  fs_reset();

  int len;
  char c;
  int limit = SPIFFS_OBJ_NAME_LEN;
  for (c = 'A'; c <= 'D'; c++) {
      for (len = 1; len <= limit; len++) {
          char namebuff[SPIFFS_OBJ_NAME_LEN + 3];
          memset(namebuff, 0, sizeof(namebuff));
          memset(namebuff, c, len);

          spiffs_file fd = SPIFFS_open(FS, namebuff, SPIFFS_RDWR | SPIFFS_CREAT, 0);
          TEST_CHECK_GE(fd, 0);

          int res = SPIFFS_close(FS, fd);
          TEST_CHECK_GE(res, 0);
      }
  }

  spiffs_DIR d;
  struct spiffs_dirent e;
  struct spiffs_dirent *pe = &e;

  SPIFFS_opendir(FS, "/", &d);

  unsigned char counts[SPIFFS_OBJ_NAME_LEN + 3];
  memset(counts, 0, sizeof(counts));

  while ((pe = SPIFFS_readdir(&d, pe))) {
    counts[strlen(pe->name)]++;
  }
  SPIFFS_closedir(&d);

  for (len = 1; len <= limit; len++) {
    TEST_CHECK(counts[len] == 4);
  }
  TEST_CHECK(counts[limit+1] == 0);

  return TEST_RES_OK;
} TEST_END(long_filename_75)

Yes, this is an old sin of mine, that I've been too lazy to fix. I left it
to the users to make sure they did not have names longer than MAX-1.
I'll look into it.

The back story is that I want to move nodemcu-firmware onto the stock spiffs code with none of our changes in it. This is (AFAIK) the last thing that we changed..... There were a number of alignment related things, but you seemed to have fixed these. Given that you are also running on an ESP module, you will have faced all of those problems.

Yes, bringing up your version to latest would solve a bunch of problems. Saw in you issue tracking you've had a great deal of trouble wrt spiffs - sorry for that.
I just got started on my ESP project here, so you perhaps shouldn't rely on my pretty shallow experience with spiffs on ESP. So far no problems though. The only alignment fixes I can think of is #10 (config flag SPIFFS_ALIGNED_OBJECT_INDEX_TABLES) and #29. Does this correlate with your fixes?
As for the SPIFFS_OBJ_NAME_LEN related fix, this config will be commented to indicate that this length includes the zero. Plus changing strcmp and strcpy to their size limited variants. Unfortunately, I cannot add the extra zero-byte in the patch, as that would move the indirection table in file headers, making previous versions incompatible.

Can you reject filenames that are too long (in open)?

Ah yes of course. That'd be more posix aligned. Good idea. Thanks!

something like that?

Yes -- just like that!

Great! Cheers for all input.


Importing a csv file is very slow

System information:

Windows 10
DBeaver 7.3.2

Connection specification:

MySQL 8.0.20
MySQL 8.0.17
Do you use tunnels or proxies (SSH, SOCKS, etc)? No

Describe the problem you're observing:
I have a CSV file which consists of 18k rows, 5 columns. When I import this file using phpmyadmin, it takes around 8 seconds. If I import it via the DBeaver GUI, it takes almost 5 minutes. I tried changing the performance options (Open new connections, Use transactions) but none of that seems to improve the speed. Even disabling batches results in the same speed, around 100 rows per second. This setting, the 100 rows per second, is probably the reason why it's slow, but as far as I could see, you cannot change that (only the batch size, which is default set to 10k)
Steps to reproduce, if exist:
Import an CSV file with +10k rows. You'll notice it will do it per 100 rows.

Thank you for the report.

Thank you for the report.

Hi Team, Importing into Redshift is also very slow. Are you planning to use the batch insert instead of single inserts to speed this up (will it speed it up for Redshift too)?
Thanks,
Deepak

Fixed.
The problem was caused by poor batch processing performance in MySQL driver. Parameter rewriteBatchedStatements set to true solves the problem.
We will set it to true by default in the next version.

Verified

Looks like this fix is only for the originally reported issue with MySQL. Should I open a new issue for Redshift slowness?

@deepaksenthilkumar  Yes, It can either be a similar or a different issue, so it needs to be in another issue

get hanged  while importing a 1M lines csv file.

file content:


feat(tipping): github profile support

Link this PR to an issue
Fixes #766
Type of change (Remove other not matching type)

New feature (non-breaking change which adds functionality)

Describe the changes you have made in this PR -
Currently we only support Github profiles. We could widen support to repositories (so you have the option to donate on i.e. reneaaron/webln-demo at the cost of an extra request, too.
How Has This Been Tested?

Add a lightning address to your GitHub profile

Checklist:

[x] My code follows the style guidelines of this project and performed a self-review of my own code
[x] New and existing tests pass locally with my changes
[ ] I checked if I need to make corresponding changes to the documentation (and made those changes if needed)

@bumi Support for GitHub profiles is here! 💯
Do you think we should support donation on user repositories for the price of an extra request? Since currently we try to avoid that I initially skipped that, but I am happy to add it.
Regarding docs update:
I've updated the table here, do we need to add info about this battery to other places as well?

I would also delete the existing one: https://github.com/getAlby/lightning-browser-extension/blob/master/src/extension/content-script/batteries/GitHubRepo.ts - it used the lndonate idea of a file. but requires an additional HTTP request and imo it is good to put the info in the readme.
for a second I also thought we could additionally load the info from the .github/FUNDING file (check for a link that has a lighting=... parameter.
(see https://github.com/bumi/lnme/blob/master/.github/FUNDING.yml

for a second I also thought we could additionally load the info from the .github/FUNDING file (check for a link that has a lighting=... parameter.

I didn't know about that. That is awesome! 💯

as the URL matches for both repos and profiles. Maybe we can directly also read the data from the readme?

That should definitely be possible, too.
So we would have the following options

GitHub Profile via⚡ in short bio or README
GitHub Repo via .github/FUNDING.yml
GitHub Repo via ⚡in README

For supporting the FUNDING.yml I'd probably create another issue as I think we need to put some more thought into that. (how to identify lightning addresses, lnurlp, etc)

+1 - and it already works when the user clicks on the sponsor link. Alby will open with such lightning query params.

@bumi Sure, i'll have a look at it!


Better support for various Maggma stores

Summary of Changes
This PR does two things:

FIX: It fixes support for MontyStore
CHANGE: It modifies how Maggma Stores are specified in the quacc settings. Now, instead of using PRIMARY_STORE with an unwieldy JSON string, a dictionary is provided: STORE. It specifies the maggma Store type and all arguments to pass to it.

Example:
STORE:
  MongoStore: # any store in `maggma.stores.__init__.py` is valid
    database: my_db_name
    collection_name: my_collection_name
    username: my_username
    password: my_password
    host: localhost
    port: 27017

Checklist

[X] I have read the "Guidelines" section of the contributing guide. Don't lie! 😉
[X] My PR is on a custom branch and is not named main.
[X] I have used black, isort, and ruff as described in the style guide.
[X] I have added relevant, comprehensive unit tests.

Notes

Your PR will likely not be merged without proper and thorough tests.
If you are an external contributor, you will see a comment from @buildbot-princeton. This is solely for the maintainers.
When your code is ready for review, ping one of the active maintainers.

Tagging @zulissimeta. Thank you for the bug report! This will be patched in the next release.


Add blocking process checking to update tool function

Currently when a defined update tool is used or the label type is updateronly, Blocking Processes are not checked.
Looks like this is because the Update tool function is above the blocking processes function in main.sh.
To get this working I copied the blocking process action function into the update tool function.
This may not be the best way to do this.
This also might cause problems if blocking processes only need to be checked when not using an update tool.

I believe this might be an intentional choice as the thought is that the update tool might/should have it's own logic to deal with running processes.
@Theile do you hav comment on this?

My best memory of this is that it's correct what Armin is writing.
If the software should only be updated it will use updateTool to do this, and that variable will point to the tool within the software itself so we expect that to handle the situation.
Installomator will not download anything in this situation, so we didn't think that Installomator should check for anything in these cases.


Tob team member highlight (Player Indicators)

Modifies Player Indicators to be able to indicate tob team members.

This is controlled by the "Highlight team members" option. Currently this option is for highlighting players with the same team cape as you, but since team capes aren't worn at tob I don't see an issue lumping these two options together into the same option. I'm open to changing this though - a lot of players may have realized that the "team members" option currently is about team capes (despite the description confusingly never mentioning team capes once), and may not assume that more functionality might be added to it.
So far I've only tested this in duo sizes but I see no reason it wouldn't work in larger team sizes.

Clarifies what "Team members" are in the config description for the "Highlight team members" checkbox.

Fixes a bug where having only "highlight team members" enabled with no other highlight options enabled results in no player names being drawn at all, even for team members.

Would close #11969 and #13104

I was just thinking about implementing this extension myself, but was happy to find someone else had already gotten to it. Bummer this is so stale though, its a solid upgrade.

This could be made as a hub plugin, you'd just have to make sure that player indicators isn't already drawing that person's name.
If you do, you might want to include toa as well.

Where you added feels like a good fit to me, since this is the plugin that controlls player highlights. Though imo it'd make more sense as a seperate toggle than team -- something like, raid-party. Are you thinking it'd be easier to contribute this as a plugin?

It is almost always easier to do things as plugin hub plugins where possible (although in this case I see if the existing toa and tob all-in-one plugins will take it before releasing it as standalone). If you want to try getting it into core though, feel free. I agree that it would fit into player indicators well.


Hi how long is yolov4-ftlite take for one image?

I trained my own yolov4 model and change the weight file to TF version.
but TF version take about 30 seconds for only one image.
is it normal??
I expected less than 1 second so.
I think yolov4 darknet is much faster than TF version.

i tested on yolov3-tiny int8 quantized, it take 27ms on pixel 4

@hunglc007  would it be possible to send me the yolov3-tiny int8 tflite file?
Kind regards,
Joseph

I too tried to detect images through Yolov4 tflite, but it is taking 2-3 seconds to detect the correct image, I don't think so it is normal to detect the image with that delay!
But did you resolve your issue  seungyun-shin


Performance Issues on create/resize

Hi,
I've noticed that c3.js can be quite slow when the window is resized or when the chart is initially generated. These issues are related to issue #730 which has been closed, however the performance is still quite poor.
In my app we have a number of charts on the same page (~7), and are planning on increasing this number. There are also several pages which means overall we have 50+ charts on our single page app (though mostly hidden).
Initially (and preferably) I have the charts in variable sized containers and I'm finding a single resize will take the page 3-4sec. I've tried setting a fixed size.width/size.height and also the padding.left as in #730 however this only reduces the resize time to ~1.5sec (~200ms per chart).
I have other charts in the same page that are using pure d3 and these all resize in around 10-20ms per chart.
I've noticed in the profiler that the vast majority of the resize time (~180ms per chart) is spent in the function: getBoundingClientRect, which is called several times each resize and takes ~25ms per call.
At this stage I've only just started looking into what I can do to improve this performance, however I thought I'd raise the issue so if others have ideas for solutions or have seen the issue they can let me know.
Overall I'm loving c3.js and its ease of use and features and really want to see how it progresses and am hoping I can find time to help contribute.

Hey @solgarius, I posted something the other day about resize events and hiding / showing the charts.  Have you tried explicitly giving the chart options a height and width?  If the performance hit is during getBoundingClientRect it might be doing this to get the size.  If the size is set it might not need to do this call.  Just curious though.  Hope it helps!

@lilasquared, settting the height/width does seem to solve the problem, however I noticed that all of my 50+ charts are being resized even though only 7 are actively displayed on the screen.
Ultimately, I'd prefer to allow c3 to figure out the resize for me and I don't have to explicitly set the size, hence the reason for this ticket. I.e. sure, I can work around it, but it would be better if we can resolve the core issue.
Perhaps I'm looking at this issue a little too broadly. I suspect some of the problems should be resolved by #936, #926 and #857/#860
I suggest though, to improve the performance further, is it possible to have new functions in the API: chart.active & chart.inactive (or similar) to explicitly notify the chart that it is currently not active and not to resize/do updates etc and then when set to active it can resize itself and do any other pending actions?
This would differ from generate/destroy because it shouldn't require as large an overhead as these functions have.

That definitely sounds like a good idea but i am not involved really in anything as far as coding in the api.  I just wanted to share my experience from working with the height / width properties.  I'm a moocher of this library and haven't had time to get into contributing yeat =P

@solgarius Thanks for reporting. Please let me mark enhancement because it seems a kind of edge case. Btw, could you give us some fiddle to reproduce your situation? It would be helpful for us to look into. Thanks.


Uncaught Error: write EOF

From @matgara on March 16, 2015 18:12
[Enter steps to reproduce below:]

...
...

Atom Version: 0.187.0
System: Microsoft Windows 8.1 Pro
Thrown From: Atom Core
Stack Trace
Uncaught Error: write EOF
At events.js:94

Error: write EOF
  at Object.exports._errnoException (util.js:753:11)
  at exports._exceptionWithHostPort (util.js:776:20)
  at WriteWrap.afterWrite (net.js:766:14)

Commands
  2x -0:43.9 editor:newline (atom-text-editor.editor.is-focused)
  4x -0:15.4 core:undo (atom-text-editor.editor.is-focused)
     -0:03.5 clang-format:format (atom-text-editor.editor.is-focused)

Config
{
  "core": {
    "themes": [
      "atom-dark-ui",
      "atom-dark-syntax"
    ]
  },
  "editor": {
    "invisibles": {}
  }
}

Installed Packages
# User
clang-format, v1.8.0
linter-clang, v2.25.1

# Dev
No dev packages

Copied from original issue: atom/atom#5983

I can't replicate this


Register Oceananigans v0.9.0

@JuliaRegistrator register()

Registration pull request created: JuliaRegistries/General/2421
After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.
This will be done automatically if Julia TagBot is installed, or can be done manually through the github interface, or via:
git tag -a v0.9.0 -m "<description of version>" ccd312b9535ac93aac15abefbfdafc707d87e55a
git push origin v0.9.0


Docs unclear

I am confused about how to use this library, and I expect that others would be as well. So then, it seems worth elaborating and clarifying in the README.
In the "Usage" section it says to run yarn && yarn build and that doing so will generate those directories. However, what if you don't have yarn (I don't)? And what I'd assume that there is more to do than just run that command.
I came across https://documentation.divio.com/ recently. I think it's a great resource on how to write documentation that you might like as well.

However, what if you don't have yarn (I don't)?

Just swap in NPM, PNPM, or your package manager of choice. It makes no difference.
$ npm install && npm run build

And what I'd assume that there is more to do than just run that command.

Nope, that's it for building this demo.

Just swap in NPM, PNPM, or your package manager of choice. It makes no difference.

Hm. Personally I'm using Deno's Fresh web framework. What would I do there?

Nope, that's it for building this demo.

I guess this assumes that you havereact-preact-lib in package.json and something about the build script in package.json, right?

What would I do there?

No clue, I don't use Deno. I'm sure there's plenty of resources online though.

I guess this assumes that you havereact-preact-lib in package.json and something about the build script in package.json, right?

No. You build the lib locally, publish to NPM, and then consume it by adding <insert-lib-name-here> to the consuming application's package.json.
Might help to read up on the basics of NPM.

Closing this out, as there's no issue specifically with this repo.
If you're still stuck, I can try to offer some help for NPM & Node usage, but if you're going to be using something niche like Deno, know that you're going off the beaten path.


update USFM.js to fix Hebrew Punctuation issue

Per @PhotoNomad0 the USFM.js needs to be updated in order to fix the Hebrew char issue
https://github.com/unfoldingWord/translationCore/issues/7286#issuecomment-1134684677

Notes:

actually usfm-js library

@elsylambert this is now fixed in the development build

v1.0.0 build 8d822eb

Not in Release Version v1.0.0 build 2e38ce6.


Check that flash base address is aligned to physical block boundary

Possible enhancement for sometime down the road: Add a check when the file system is first mounted that SPIFFS_CFG_PHYS_ADDR is aligned to a SPIFFS_CFG_PHYS_ERASE_SZ boundary. Purely my fault, I ended up chasing my tail for a bit getting weird results, all thanks to it being difficult to type without opposable thumbs.
Perhaps also check that SPIFFS_CFG_PHYS_SZ is an even multiple of SPIFFS_CFG_PHYS_ERASE_SZ.

@jcwren yep, a sanity check on the config will come up in 0.4.0


Unexpected undefined directory

Hi, after upgrade rustycode to 0.14.2, it always create a directory called undefined in my project root, and use it as if it was $HOME/.cargo. I guess there must be something going wrong here since the directory name is undefined. And I really want rustycode to just use $HOME/.cargo.

I see. Can you set cargoHomePath explicitly in settings for now and see if something changes?

@saviorisdead I think if you change [this line] (https://github.com/saviorisdead/RustyCode/blob/2204727bac65a966ebf38455f8fcea693b8da77e/src/services/pathService.ts#L26) to
return cargoHomePath || process.env['CARGO_HOME'] || '';

it will probably fix it.
Also, I believe it would be better to change this line to
const racerEnv = Object.assign({}, process.env, {'CARGO_HOME': cargoHomePath});

So the current environment is not overwritten.

@saviorisdead, Yes, set cargoHomePath fixed it.

I've updated path resolution for CARGO_HOME as @Draivin suggested, so also you could try leaving cargoHomePath null and see if it helped.

Just upgrade to 0.14.3, it works just fine without setting cargoHomePath.

Awesome. So it fixed, thanks to you guys, @BusyJay, @Draivin. I'm closing this.


Feature Request: (Potentially) Better log line deletion with marks

Feature Requested
Neovim has a great feature called marks, which essentially act like "bookmarks" for lines. Once you mark a line, you can quickly jump to the mark in one motion.
If chainsaw marked every log line, it would make operations such as deletion easier on these lines. This could help prevent unintentionally deleting actual code which for whatsoever reason includes your marker substring.
Markers behave pretty logically most of the time, the mark moves with the text (if you were to prepend some lines of text before the log line for example), and the mark also gets deleted if you were to delete the line of text using dd. However, I did find one edge case, if i marked a line and then deleted it by going into insert and backspacing away the whole line, the mark shifts onto the line of code below it, ending up marking the wrong line.
I'm personally not super well versed with marks and the nvim lua api, so I'm not too sure how exactly to avoid such edgecases, but if implemented correctly marks have the potential to make bulk operations on log lines more efficient and robust.
Relevant Screenshot
No response
Checklist

[X] The feature would be useful to more users than just me.

I also thought about using marks (or rather, extmarks), but decided against it, for several reasons:

reliability: as you stated, there are some cases where marks can get deleted. This not only includes the edge case you are describing, but also various vim commands (certain formatting plugins, :delmarks, :bwipeout, …). As such, marks are just not reliable enough.
transparency: with a marker, it is at glance transparent to the user which log statements are from chainsaw and which are log statements intended to stay.
portability: If you switch to a different editor, or to a different machine without somehow syncing your shada, this information is lost. String markers have the advantage of working reliably here as well.
interoperability: (ext)marks are a vim-exclusive feature. In contrast, "delete lines with string x" is a fairly common operation, which you can execute in pretty much any editor more advanced than notepad/textedit. Some editors also have dedicated extensions that work similarly, such as Turbo console log for VS Code. Using string markers, nvim-chainsaw is pretty much compatible with those other plugins, allowing you to use this plugin collaboratively with others.

As such, the advantages of using string markers outweigh the disadvantages by far in my view, which is why I settled on string markers.

unintentionally deleting actual code which for whatsoever reason includes your marker substring.

This problem case can be dealt with by simply using a unique string as marker. And even if you work with some arcane file which includes all existing emojis, there are special characters, or a combination of characters you could use.


Buildfarm release for noetic

Feature request
Release the messages for ROS Noetic
Description
Similar to https://github.com/Autoware-AI/core_perception/issues/7: can these messages be released for Noetic?
There I got the answer:

we are not targeting any of these packages for release to the ROS Build Farm at this time

But since the messages are released for melodic, I think it's wise to ask again.
Alternatives
I can release them, but I'm hesitant about that because I did not do the initial release.

Thanks for asking, @Timple. I'm OK releasing the messages for Noetic since there shouldn't be any changes. However, I need to get the release URLs updated from Gitlab to Github in rosdistro first (see https://github.com/ros/rosdistro/pull/26394). Once that's merged, I'll release 1.14.0 messages in Melodic and also release them in Noetic.

Great, thanks.
I'll be awaiting the release!

@Timple 1.14.0 messages PR is in (ros/rosdistro#26449) but releasing to noetic requires jsk_recognition_msgs to be released there as well. See reference above to me asking for an update on this.

jsk_recognition_msgs has been released. So would you mind releasing the messages for noetic?

Thanks for keeping an eye on this. ros/rosdistro#27235.


Fixed syntax errors in fr.lang.php

Added a backslash before two instances of single-quotation marks ( ' ), one in each of lines 24 and 26. They are supposed to be part of the localised string, but compiler would interpret it as string opener/closer.

+1


The problem with 'AttemptTimeLimiters.fixedTimeLimit'

When I use AttemptTimeLimiters. FixedTimeLimit method, prompt SimpleTimeLimiter is private,
after checking found guava version more than 22, SimpleTimeLimiter create method changed, also use 'create' method to build   SimpleTimeLimiter.
Please note to make corresponding changes in the later version, or prompt.

I'm seeing the same problem. Guava-retrying no longer works with guava version 22+.

I'm guessing this project is dead, no updates since 2016


Fix sample sheet file name composition

Path names should be concatenated using the resolve API. The string interpolation should never be used with file paths, because it's not portable since it cause the loosing of the file protocol (due to the underlying java API).
For example if the path is a S3 path eg. file = "s3://bucket/foo/bar.txt" the "$file" would return /bucket/foo/bar.txt.

Awesome! Thank you @pditommaso ! I changed the base branch to dev as we only have stable, released code on master. Just waiting for NF v21.04.0 now 🥁😅

And I suspect the nf-core linting is failing because the PR was created off the master branch and some of the expected files do not exist there yet but do on dev. May be easier to create the PR off an branch synced with dev or I can add it separately given that it is a relatively small change? Lemme knw.

ok, closing this then


Investigate more filters we can support

From backlog item:264
among others:
Chebyshev types I and II
Elliptic
Bessel
Gaussian
Legendre–Papoulis filter

Horizons are displayed using an Infragistics Ultra Tree derived class for both import and export.


[Snyk] Security upgrade react-scripts from 4.0.3 to 5.0.0

This PR was automatically created by Snyk using the credentials of a real user.Snyk has created this PR to fix one or more vulnerable packages in the `yarn` dependencies of this project.

Changes included in this PR

Changes to the following files to upgrade the vulnerable dependencies to a fixed version:

package.json
yarn.lock

Vulnerabilities that will be fixed
With an upgrade:

Severity
Priority Score (*)
Issue
Breaking Change
Exploit Maturity

798/1000  Why? Proof of Concept exploit, Recently disclosed, Has a fix available, CVSS 8.1
Remote Code Execution (RCE) SNYK-JS-EJS-2803307
Yes
Proof of Concept

(*) Note that the real score may have changed since the PR was raised.
Check the changes in this PR to ensure they won't cause issues with your project.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.
For more information:
🧐 View latest project report
🛠 Adjust project settings
📚 Read more about Snyk's upgrade and patch logic

Learn how to fix vulnerabilities with free interactive lessons:
🦉 Remote Code Execution (RCE)

This PR is fixed under https://github.com/giranm/pd-live-react/pull/104 - closing this in favour.


Update feature branch with master

For contributor use:

[ ] Targeted PR against master branch
[ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work
[ ] Code follows the standards mentioned here
[ ] Updated relevant documentation
[ ] Re-reviewed Files changed in the Github PR explorer
[ ] Added appropriate labels

Codecov Report
Attention: Patch coverage is 21.76991% with 442 lines in your changes missing coverage. Please review.

Project coverage is 33.91%. Comparing base (dbb5eec) to head (7b5ff7f).

Files
Patch %
Lines

internal/super/setup.go
0.00%
143 Missing :warning:

internal/super/scaffolds.go
0.00%
85 Missing :warning:

internal/prompt/select-options.go
0.00%
53 Missing :warning:

internal/super/generate.go
69.93%
33 Missing and 10 partials :warning:

internal/prompt/text-input.go
0.00%
31 Missing :warning:

internal/config/init.go
0.00%
21 Missing :warning:

internal/dependencymanager/dependencyinstaller.go
42.42%
12 Missing and 7 partials :warning:

internal/prompt/prompt.go
0.00%
13 Missing :warning:

internal/tools/flowser.go
0.00%
5 Missing :warning:

internal/command/command.go
0.00%
4 Missing :warning:

... and 16 more

Additional details and impacted files
@@                    Coverage Diff                     @@
##           feature/stable-cadence    #1643      +/-   ##
==========================================================
- Coverage                   34.40%   33.91%   -0.50%
==========================================================
  Files                          96      100       +4
  Lines                        5917     6222     +305
==========================================================
+ Hits                         2036     2110      +74
- Misses                       3604     3828     +224
- Partials                      277      284       +7

Flag
Coverage Δ

unittests
33.91% <21.76%> (-0.50%)
:arrow_down:

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

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

Thank you for keeping this updated!
I had a look at the conflict resolution (git log -1 -p -w --remerge-diff c053a6ac30c3de6d2265365d997085737f10e89e) and it looks good. Unfortunately, due to https://github.com/onflow/flow-core-contracts/issues/433, these two changes need to get reverted (i.e. counter-intuitively, the lower versions are the actual current versions):
-       github.com/onflow/flow-core-contracts/lib/go/templates v1.0.0
+       github.com/onflow/flow-core-contracts/lib/go/templates v1.2.4-0.20231016154253-a00dbf7c061f

-       github.com/onflow/flow-core-contracts/lib/go/contracts v1.1.0 // indirect
+       github.com/onflow/flow-core-contracts/lib/go/contracts v1.2.4-0.20231016154253-a00dbf7c061f // indirect

The fixes, faebf02b45d5f4eea513931a080e3e3c8489b569 and 970ab037180534e99babc917f8a47ed1c4da56b6, look good, too!

@turbolent The versions I added were what are on the stable cadence branch currently? If I revert those changes, it breaks.

@chasefleming Yep, all I meant to do above was confirm that your fixes are correct 👍


use mev tendermint by default

This PR makes mev-tendermint Juno's default tendermint implementation.
It is being discussed in this gov prop:

https://commonwealth.im/juno/discussion/8099-promote-healthy-mev-within-the-juno-community-and-set-ecosystem-limits-on-harmful-mev

Once mev-tendermint is Juno's default tendermint consensus implementation, it becomes possible for Juno to work to put features in (or remove features from) the core consensus layer.
A while ago, I experimented with what that might look like:

#404

Due to the reality that the normal maintainer ship of tendermint can no longer maintain that repository because copyright holders have asserted their dominance over that repository, I support merging this PR ASAP.

I think it makes sense to just close this for now and wait and see if we have any sensible outcome from upstream. Honestly I don't think any outcome here is going to be all that sensible but let's see.


does not always draw trackers and history

there is some issue with initial drawing, In some cases, at least right after dashboard edit, no indication of any trackers or history is drawn. On a browser e.g. f5 refresh fixes this.
Apparently -on android companion app- also just dashboard tab change from the view with the card to another and then back leaves the data undrawn.  I'm not aware of any refresh that would fix, exept restarting whole HA companion app.

The history is loaded async, so it could be it's just slow.

I added unsubscribe logic hopefully solving this.

Sorry but this seems to still exist.
And now I checked also "from the view with the card to another and then back" with browser and that also fails (view= "tabs" on a dashboard.
When going to another dashboard and then returning works = from sidebar.

Can you take a look at the Browser console to see if you see any error?

I might have figured this out.
Adding
this.firstRenderWithMap = true;
to e.g. place where
this.map.remove();
is done, seems to fix the issue.

Very interesting @Hiekkaharju! I just noticed I might have the same issues in certain cases. Will try your work around!

Can you test with v0.9.0?

Seems to work. Thanks again :)
OT + FYI: I see you added fallback coordinates. If I read the code correctly they will be used only if longitude/latitude is empty.
I've a device which returns -1,-1 as coordinates if it can't get a fix. I don't know if that's common.
I've already earlier made an automation which replaces those -1,-1 with fixed coordinates using see-service, so I do not need support for -1 fallback, but somone else might.

Problem is -1,-1 however unlikely is a valid coordinate. Would be better to set it to null.

It would not be hard to check for this. WDYT @Hiekkaharju?

Based on your previous reply, if I were you, I would  leave it for now and if someone else later asks for it, take this as a +1


Check periodically for validity of Endaoment projects

We should periodically (~1 month) check for updates on our import Endaoment projects. This should be able to be done by their API
We should check and update the following fields if there are new changes.

[ ] title
[ ] description
[ ] recipient addresses

If the query returns a response indicating that it has been offboarded from Endaoment we should remove the project from our UI.
Endaoment just published new rest APIs that can let us fetch project information by ID
https://api.endaoment.org/oas#/EndaomentSdk/getOrgsById

@divine-comedian needs to find the id of the projects and add it to the CSV

Still need to get project Ids along with mainnet address to properly map them together

@HrithikSampson can take on this one with guidance from @mohammadranjbarz once it is unblocked by meee

We'll need to use this list of ~3613  projects that need to be checked monthly for new description and title
org-with-ids.csv
in addition these projects should be added to the list of project data we check periodically
Ukraine America Initiative
https://app.endaoment.org/orgs/88-2280006
Project ID: 0ede481a-c59c-4201-8b0c-69e375cdd7ea
Category: Disaster Preparedness and Relief Services
Reef Guardians Hawaii
https://app.endaoment.org/orgs/47-3975420
Project ID: 2627e4ee-f713-4298-84d2-9fbad53d9ed9
category: Water Resource, Wetlands Conservation and Management
Mindfulness Through Play
https://app.endaoment.org/orgs/82-4211804
Project ID: 2d257c44-c39e-4f41-b4b4-24dd732f545d
Category: Student Services and Organizations
SOLUTIONS PROJECT INC
https://app.endaoment.org/orgs/46-3811348
Project ID: a60836a2-f06e-4b5b-9354-584a4ca5b4b0
Category: Energy Resources Conservation and Development
Peace Winds America
https://app.endaoment.org/orgs/26-3744952
Project ID: 25b2e4a9-20de-4564-be24-fc523a22d65c
Category: Disaster Preparedness and Relief Services
Love Justice International
https://app.endaoment.org/orgs/71-0982808
Project ID: c8101dbe-f308-425c-a0a5-39a98316c02f
Category: Victims' Services
Metagovernance Project Inc
https://app.endaoment.org/orgs/85-3442527
Project ID: d94cdffb-50cc-4127-806d-051b26f5ce00
Category: Computer Science

@HrithikSampson this should be unblocked now - you have the project IDs to start creating the checker service

@kkatusic is this the issue you worked on to get endaoment project information periodically?

@kkatusic is this the issue you worked on to get endaoment project information periodically?

I didn't work on this issue, I will now ;)

@divine-comedian do Endaoment projects have option to change wallet address or title or description inside our dApp? Asking this because if something has been changed, such as the project title, the only link I have left is the address, but if someone change address we have a problem

@kkatusic
The project owner COULD, but probably would never happen. We have set one  project owner for all endaoment projects (endaoment.eth) but normally that project owner should never edit projects directly, but technically they could.

@divine-comedian and that implicate that some project maybe have some changes :(
I will write update migration and then check if numbers of projects inside csv match number inside database ;)

updated new CSV file to migration, now needs to check, add new column fill endaomentID to projects then setup some cronJobs etc..


Bump Dependencies #9820146413

Bumps dependencies for product-is. Link : https://github.com/wso2/product-is/actions/runs/9820146413

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


CB-11917 - Remove pull request template checklist item: "iCLA has been submitted…"

Cordova CI Build has completed successfully.
Commit     - Link
Dashboard - Link

Builder Name
Console Output
Test Report
Device Logs

Windows 8.1 Store
Link
Link
Link

Windows 10  Store
Link
Link
Link

Windows 8.1 Phone
Link
Link
Link

iOS
Link
Link
Link

Android
Link
Link
Link


Support env variables

It looks like this doesn't use actual Kubernetes secrets object correct?  And the only way for an application to access a secret inside a container is to read from the filesystem (that is, the volume mount)?
Just looking for clarity - thanks.

That is correct.  Instead of maintaining your application secrets as k8s secrets within the cluster, this solution provides your pods/containers an alternate secure way to retrieve application secrets stored outside of the cluster by using this k8s flex volume to communicate with Azure Key Vault.
Hope this help.s Let me know if you have other questions or concerns.

Ok thanks.  So one concern is that I've seen organisations put a lot of effort into converting their applications into microservices that are configured with environment variables as per the 12-factor app, so it looks like that won't work with this.
I'm just curious regarding the decisions behind doing it this way (with volumes).  I've seen other integrations do it this way as well, is this the new best-practice for managing secrets in kubernetes?

microservices that are configured with environment variables

This is a good feedback. Will think about how to enable this.

decisions behind doing it this way (with volumes)

Doing it with volume was intended to make it easier for developers to adopt this by adding the flexvolume reference as part of their existing application deployment yaml as oppose to say adding another sidecar container just for this purpose.

is this the new best-practice for managing secrets in kubernetes

Today many organizations have concerns around storing and maintaining application secrets as k8s secrets in the cluster. Even with RBAC enabled, there is still chance where the wrong pod might get access to secrets for another pod. Another concern is around how secrets are stored and updated as part of CI/CD process which means the secrets are actually part of the codebase. This solution was created to address these concerns to allow organizations to:

store and maintain their application secrets outside of the cluster in a secure key vault store
access application secrets easily by adding this flexvolume to their application deployment yaml

Hope this helps.

Thanks - that makes sense.  It's good to know where things are going.
I'm glad to hear you will think about support for environment variable configuration.  Even if it's not best practice at the moment, supporting it will make migrating the application much easier (both to containers and to use volumes).

I understand that it’s really bad practice to keep secrets in env vars, but we also have some legacy applications that only work that way and are really hard to change.
It would be really great if this scenario could be supported (but feel free to discourage it as hard as possible in the docs :) )

Is this feature ready to use ?

We definitely hear you that migrating solutions that use env vars is going to be a challenge and an education. But collectively we felt that it’s not something we should support. We could perhaps start by updating common applications that use env vars today and show users how to do that more efficiently.

Is there any example deployment which we can refer to use the AKV secrets with POD?

@Ravibabu-Nannuri You can take a look at this: https://github.com/Azure/kubernetes-keyvault-flexvol#use-the-keyvault-flexvolume

@ritazh Hi, your example is for the nginx container specifically. However, what if an image for microservices is provided and you do not know the start command? My point is, the container would be running fine normally, but when you add a command to the deployment file, only this will be executed and then the status becomes 'completed'. I tried adding a 'sleep infintely' to keep the container running but this does not run the startscript in he image. Futhermore, I think the added command (to export an env var) is executed in a subshell? therefore, if one would connect to the container afterwards, the 'main'shell would not have this environment variable?

@bartb01 -  you are right, the command is executed in a subshell. To have the parent shell have this env variable, you should do this.
command: [“/bin/sh”, “-c”, “echo ‘export TESTSECRET=$(cat /kvmnt/mysecret)’ >> ~/.bashrc; tail -f /dev/null;“]

@deepak0917 thanks for your reply! I cannot look inside the image so its not possible for me to get the startcommand. I have tried executing your command (without tail-ing /dev/null) in a postStart lifecycle:
- image: img:tag
        name: name
        lifecycle:
          postStart:
            exec:
              command: [“/bin/sh”, “-c”, “echo ‘export TESTSECRET=$(cat /kvmnt/mysecret)’ >> ~/.bashrc“]

However this unfortunately only creates the environment variable when logging into a shell (e.g. kubectl exec -it  bash)
I tried it with etc/environment and etc/profile.d/setenv.sh aswell, for system wide env vars, but it does not create the environment variable without connecting to the container..

Hi @ritazh,
It would be super nice if we could use a structure like this:
apiVersion: v1
kind: Pod
metadata:
  name: nginx-flex-kv
spec:
  containers:
  - name: nginx-flex-kv
    image: nginx
    env:
      - name: TEST_SECRET
        valueFrom:
          flexVolumeRef:
            name: test_flex
            key: secret-name
            path: /kvmnt
            [...]

I was wondering if we could try submit code on the upstream to implement that.
I don't know if this would be the best way, but how about:

We create a new FlexVolumeRefSelector, like this one
Then we add a new case for case envVar.ValueFrom.ConfigMapKeyRef != nil: in this loop, like this one
We implement the logic of attaching/mounting the FlexVolume in the master, retrieve the secrets and parse it into the environment variables.

How problematic would it be mouting the FlexVolume in the master? Is it a feasible  approach?

@martin2176 one workaround is to set the environment variable before the main process starts in your container. For example:
...
spec:
  containers:
  - name: nginx-flex-kv
    image: nginx
    command: ["/bin/sh", "-c", "export SECRET=$(cat /kvmnt/mysecret); echo $SECRET; nginx -g 'daemon off;'"]
    volumeMounts:
    - name: test
      mountPath: /kvmnt
      readOnly: true
...

How would one update this to export all values from /kvmnt/ to environment variables, assuming there were multiple secrets stored? (Apologies, bash amateur here)

I agree with @martin2176
I feel that there are alot of containers out there that still use env vars as a way to change the behaviour of an application. I appreciate that env vars is not the best approach but using FlexVol to access the KeyVault isn't very helpful in 90% of cases. Maybe providing an interim approach that injects the env variables directly into the container is a compromise. something similar to this might help here

Agree with @martin2176  - the azure-keyvault-to-kubernetes project has some good ideas around injecting secrets thru env variables in a secure manner - intro blog is worth a read.
@ritazh any chance these projects can cross-pollinate?

I can confirm that I have adopted @ritazh 's approach successfully for a Redis configuration that sets a password for Redis. The password is mounted from KeyVault and then read into a variable that is passed into the redis-start command.
This worked with AAD-Pod-Identity enabled (user-assigned managed identity).
Working sample YAML below (just replace necessary values with your own):
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: redis
  namespace: db
spec:
  replicas: 3
  template:
    metadata:
      labels:
        app: redis
        aadpodidbinding: "binding-name"
    spec:
      volumes:
        - name: host-sys
          hostPath:
            path: /sys
        - name: kv-flex
          flexVolume:
            driver: "azure/kv"
            options:
              usepodidentity: "true"
              keyvaultname: "keyvault-name"
              keyvaultobjectnames: "redispassword"
              keyvaultobjecttypes: secret
              keyvaultobjectversions: ""
              resourcegroup: "KeyVaultRG"
              subscriptionid: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
              tenantid: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
      initContainers:
        - name: disable-thp
          image: redis:4.0-alpine
          volumeMounts:
            - name: host-sys
              mountPath: /host-sys
          command: ["sh", "-c", "echo never > /host-sys/kernel/mm/transparent_hugepage/enabled"]
      containers:
      - name: redis
        image: redis:4.0-alpine
        imagePullPolicy: IfNotPresent
        resources:
          requests:
            cpu: 250m
            memory: 500Mi
          limits:
            cpu: 500m
            memory: 1Gi
        ports:
        - containerPort: 6379
        volumeMounts:
        - name: kv-flex
          mountPath: /kvmnt
          readOnly: true
        command: ["/bin/sh"]
        args: ["-c", "REDISPASS=`cat /kvmnt/redispassword`; redis-server --requirepass $REDISPASS --maxmemory 700mb --maxmemory-policy allkeys-lru"]
---
apiVersion: v1
kind: Service
metadata:
  name: redis
  namespace: db
  labels:
    app: redis
spec:
  ports:
  - port: 6379
    name: redis
  selector:
    app: redis

Really, if a pod is compromised, then storing things in environment variables is no safer than mounting the secrets to disk. It would be extremely difficult to create a configuration where the process that is running an application within the container would be able to use a secret without having read access to it. My main issue with storing secrets in files & K8s secrets (rather than env vars) is that files can inadvertently be committed to source control, secrets can make their way into pipelines, secrets can be read by the K8s controller and perhaps other pods. If a pod is compromised, then it should be assumed that everything that the pod can read can be read by an attacker.
The approach of using FlexVolume will not (and cannot) mitigate against the threat of secret exposure if a pod is compromised - the point of compromise will generally be the exposed process and that process needs read access to secrets. The purpose of mitigations like FlexVolume and the storing of secrets in environment variables is not to mitigate against exposure on pod compromise, but rather to mitigate against the risk of a secret being exposed through source control and build processes, where it might make its way into plain text. FlexVolume (including with the above sample configuration) mitigates this risk by ensuring that secret values are never stored in files that go through source control and build processes - rather, they remain in the Vault and are only made accessible to the Pod that needs them after it has authenticated with AzureAD.

I rather use azurerm_key_vault_secret to retrieve secret from Azure vault and create secret in AKS using kubernetes_secret which will be available as environment variable.

We use these libraries for reading the secrets from the file system (spring boot and node.js):
https://github.com/hmcts/properties-volume-spring-boot-starter
https://github.com/hmcts/properties-volume-nodejs

for dot net core i'm using Key-per-file Configuration Provider
https://docs.microsoft.com/it-it/aspnet/core/fundamentals/configuration/?view=aspnetcore-3.1#key-per-file-configuration-provider

Hi,
i'm curious by those two lines in  Deployment:
....
  subscriptionid: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
  tenantid: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"

At the end of the day I must  push yaml into github and not sure i I want to share this information. I don't mean it bad but using it this way adds me another layer of complexity to hide azure secrets.

Hi,
i'm curious by those two lines in Deployment:
....
  subscriptionid: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
  tenantid: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"

At the end of the day I must push yaml into github and not sure i I want to share this information. I don't mean it bad but using it this way adds me another layer of complexity to hide azure secrets.

Subscription ID is no longer needed, we ended up just making tenant id public, as it was a lot more work to hide it than not.

Hi,
Like @andrewboxer, we would like an official solution to inject env variables into our applications from kv without storing them in AKS ( the interest of storing these variables for security concern into kv is limited if they are replicated as k8s secrets)
Is this planned or at least a documentation which will officially support the akv2k8s solution?
Thanks.

Hi,
Like @andrewboxer, we would like an official solution to inject env variables into our applications from kv without storing them in AKS ( the interest of storing these variables for security concern into kv is limited if they are replicated as k8s secrets)
Is this planned or at least a documentation which will officially support the akv2k8s solution?
Thanks.

Hi @jcamu
This feature is in the new csi secret storage https://github.com/Azure/secrets-store-csi-driver-provider-azure

Hi @jcamu
This feature is in the new csi secret storage https://github.com/Azure/secrets-store-csi-driver-provider-azure

Thanks for the response @ronaldmiranda.
The "[OPTIONAL] Set ENV VAR" feature seems to need the sync with a kubernetes secret.
But by doing this, we will be in the case of sensitive information stored and accessible from kubernetes secrets.
While akv2k8s solution don't store the secrets values in k8s secrets only the reference.
Am i wrong?

Thanks for the response @ronaldmiranda.
The "[OPTIONAL] Set ENV VAR" feature seems to need the sync with a kubernetes secret.
But by doing this, we will be in the case of sensitive information stored and accessible from kubernetes secrets.
While akv2k8s solution don't store the secrets values in k8s secrets only the reference.
Am i wrong?

@jcamu sorry for late reply, but yes, you are right.
If you have any concern described here, you may want to use akv2k8s instead.

@jcamu sorry for late reply, but yes, you are right.
If you have any concern described here, you may want to use akv2k8s instead.


Name the nodes

@nicolasochem: the second one turns out to be an indentation error. Not sure how it slipped through, but I do remember testing. I may have fixed the indentation---and therefore messed up the semantics---late in the process. I fixed this in 1450a76 adding a print output saying differentiating between adding a key vs a URL in the logs.
Your first point should be addressed by ec9341b, I just got the name of the tezos-node wrong in charts/tezos/values.yaml which, of course, caused an extra node to be brought up.

:confused: still not ok. The invited node is complaining that it can't find a bootstrap peer.
│                                                                                │
│ ------------------------------------------------------------                                                                                │
│ + CMD=config-generator                                                                                │
│ + shift                                                                                │
│ + exec /config-generator.sh --generate-config-json                                                                                │
│ + ls -l /etc/tezos/data                                                                                │
│ ls: /etc/tezos/data: No such file or directory                                                                                │
│ + echo ------------------------------------------------------------                                                                                │
│ + cat /etc/tezos/data/config.json                                                                                │
│ ------------------------------------------------------------                                                                                │
│ cat: can't open '/etc/tezos/data/config.json': No such file or directory                                                                                │
│ + echo ------------------------------------------------------------                                                                                │
│ + mkdir -p /var/tezos/client                                                                                │
│ + chmod -R 777 /var/tezos                                                                                │
│ + set -e                                                                                │
│ + python3 /config-generator.py --generate-config-json                                                                                │
│ Importing keys                                                                                │
│   Importing keys for account: tezos-baking-node-0                                                                                │
│     Appending public key: edpkuiNn7Qrk19hfy1ci54t7DEWnQWo8SXBPhqDqrMw26eL7EExpVA                                                                                │
│   Appending public key hash: tz1an1ZS515uMyxQ8UEoYW64ud4XkbNoRELt                                                                                │
│   Account key type: public                                                                                │
│   Account bootstrap balance:<PHONE_NUMBER>000                                                                                │
│   Is account a bootstrap baker: True                                                                                │
│   Writing /var/tezos/client/secret_keys                                                                                │
│   Writing /var/tezos/client/public_keys                                                                                │
│   Writing /var/tezos/client/public_key_hashs                                                                                │
│ Starting config.json file generation                                                                                │
│  -- is tezos-node-0 a bootstrap peer?                                                                                │
│ Traceback (most recent call last):                                                                                │
│   File "/config-generator.py", line 528, in <module>                                                                                │
│     main()                                                                                │
│   File "/config-generator.py", line 120, in main                                                                                │
│     raise Exception(                                                                                │
│ Exception: ERROR: No bootstrap peers found for this non-bootstrap node                                                                                │
│ stream closed

Looking at the diff, I see changes in this area, so I guess it broke this scenario. As a reminder, when you have a zerotier invite, your bootstrap peer list comes from a file left by the zerotier init container (which gets it from the metadata on zerotier server), it's not supposed to be generated based on the node list.

I squashed a few of the commits into each other so that the commit history tells a more concise story. No changes resulted:
: arioch; git diff bb5165e 1d741c3
: arioch;


Hi Nyan,

Hi Nyan,
After adding  HTTPS=true react-app-rewired start in package.json facing issue of 'HTTPS' is not recognized as an internal or external command, .
After searching solution for it i got solution on https://stackoverflow.com/questions/60374269/https-is-not-recognized-as-an-internal-or-external-command.
But still getting issues. Can you plese check once again. on same url  https://github.com/anjali14garg/zappertest
Originally posted by @anjali14garg in https://github.com/zappar-xr/zappar-react-three-fiber/issues/42#issuecomment-1067900359

See my reply in the original issue: https://github.com/zappar-xr/zappar-react-three-fiber/issues/42#issuecomment-1067912893


using Byron update mechanisms in Shelley ledeger

This PR adds the update mechanisms from the Byron formal specs to the Shelley spec.
The main changes are:

The CHAIN rule now calls the UPIEC rule from the Byron ledger spec to get the new protocol parameters.
the protocol parameters have been replaced in serveral spots by UPIState (from the Byron ledger spec), which contains the protocol parameters.
The transactions now have a new component, the UpdatePayload, currently called the BUPISig in the Byron Chain spec (but will be changed to match soon).
The LEDGER rule now processes update payloads in the transactions by using BUPI (from the Byron Chain spec) to update the UPIState.

Some relevant details about the changes above:

As a result of the LEDGER rule mutating the UPIState, the LState now contains the UPIState. This then also affects LEDGERS and EPOCH.
The CHAIN rule now has the genesis keys in the environment instead of the new protocol parameters.
The OCERT rule now maintains the mapping of genesis keys to the operational keys.

One thing to note is how these changes interact with the NEWPP rule.  If an update is successfully voted in which would incur a debt on the system that can not be covered by the reserves, then NEWPP still prevents the new protocol parameters inside the new UPIState from being changed.
closes #390

Thank you @dnadales ! To address the fact that UPIEC can only be called during the epoch change, I moved the call to UPIEC that was previously in the CHAIN transition into NEWEPOCH. Because of this, NEWEPOCH now takes a slot in the environment instead of the new proto params.


sca vuln: net/http, x/net/http2: close connections when receiving too many headers

https://nvd.nist.gov/vuln/detail/CVE-2023-45288
Would be resolved by bumping golang.org/x/net from 0.20.0 to 0.23.0

Fixed in b0c36e46e02296641b8320a19130d774c3576247