WIP: Implement the Gateway API shim as a separate controller

⚠ IMPORTANT ⚠
#4149 must be merged before this PR.

Still TBD:

[ ] Documenbtatation (PR link tbd @maelvls)
[ ] One end-to-end test that checks that a Certificate is created (tbd @maelvls)
[ ] Add more unit-tests in sync_test.go (tbd @maelvls)

In https://github.com/jetstack/cert-manager/pull/4121, Jake implemented the support for the Gateway object for the "ingress shim" mechanism proposed as described in https://github.com/jetstack/cert-manager/issues/4119. Jake decided to rename "ingress shim" to "certificate shim" the object that we create that that serves as a "shim" for bootstrapping the Secrets inside the TLS block of an Ingress.
This PR refactors the new "certificate shim" to be two separate controllers instead of a single one, as proposed by @munnerz:

Could we adjust this to be two distinct controllers, but where there is duplicate logic, factor that into standalone library functions instead? This will be easier to maintain long term, including when/if we ever create alternate ingress-shim's too (rather than having to constantly add more complex switching logic into this one controller)

Discussion: from "everything in the controller struct" to SyncFnFor
Instead of using a single struct, I use simple functions that clearly define their dependency. I want to avoid the "struct bloat" that makes it really hard to comprehend what is depending on what.
Instead of relying on a bloated controller struct, the common Sync injects its dependencies. The only caveat is that the number of arguments for Sync is quite big:
func SyncFnFor(
	rec record.EventRecorder,
    log logr.Logger,
    cmClient clientset.Interface,
    cmLister cmlisters.CertificateLister,
	defaults controller.IngressShimOptions,          // 🔥 So many arguments! 🤯
) func(context.Context, metav1.Object) error {
    return func(ctx context.Context, ingressLike metav1.Object) error {
        // The reconciliation logic.
    }
}

Pros:

Each function indicates clearly what they depend on which improves readability,
Way easier to test each function independently,
No more controller struct bloat where we don't know which field is used where.

Cons:

Very long function declaration (which I dislike, but I rather have that than a bloated controller struct that makes it really hard to know what is depending on what),
Inconsistency with the rest of the codebase,
Due to the first-order function, the Sync is indented twice.

Other important notes

I removed the ClusterIssuer and Issuer informers that were in the controller since (1) they were not used, and (2) no event handler was set up. I think these were copy-pasted from another controller and we forgot to remove them. As you can see in the old controller.go, no event handler was set:
// register handler functions
ingressInformer.Informer().AddEventHandler(&controllerpkg.QueuingEventHandler{Queue: c.queue})
certificatesInformer.Informer().AddEventHandler(&controllerpkg.BlockingEventHandler{WorkFunc: c.certificateDeleted})

I changed the way the logs are injected, which may change the way logs "look like" (e.g., I have to check whether the name of the controller still shows).
Before, c.log was configured with the controller name, but the actual Sync function was not using c.log:
// In controller.go:
c.log = logf.FromContext(ctx.RootContext, ControllerName)

// In sync.go:
log := logf.WithResource(logf.FromContext(ctx), ing)
ctx = logf.NewContext(ctx, log)

After, we don't use logf.FromContext anymore and just pass the logger as an argument to SyncFnFor.

/kind feature
Added a new optional controller: gateway-shim. cert-manager now supports automatic
creation of ACME certificates for the sig-network Gateway API Gateway, when annotated
similarly to existing support for Ingresses.

@munnerz Is that what you had in mind? Or should each controller also have their own Sync?

/retest

/retest

/assign @irbekrm

(want to see if the tests will pass on Kubernetes v1.16 etc)
/test pull-cert-manager-e2e-v1-16
/test pull-cert-manager-e2e-v1-17
/test pull-cert-manager-e2e-v1-18
/test pull-cert-manager-e2e-v1-19

This flakiness comes from our own testing code; instead of retrying, we immediately fail:
Message: "Operation cannot be fulfilled on certificates.cert-manager.io \"testcert\": the object has been modified; please apply your changes to the latest version and try again",

I'll add a retry mechanism to the cert update:
err = wait.PollImmediate(100*time.Millisecond, 5*time.Second, func() (bool, error) {
	return f.CRClient.Update(context.TODO(), cert) == nil, nil
})

(Also running the upgrade test because the e2e tests no longer verify that cert-manager works without the gateway API CRDs installed and the optional gateway-shim controller)
/test pull-cert-manager-upgrade-v1-21

the e2e tests no longer verify that cert-manager works without the gateway API CRDs installed and the optional gateway-shim controller

Good point, should I add a quick smoke test for when the gateway-shim is not enabled and/or the Gateway API CRDs not installed?

Good point, should I add a quick smoke test for when the gateway-shim is not enabled and/or the Gateway API CRDs not installed?

Either that or I think we could run the upgrade test on each PR

This flakiness comes from our own testing code; instead of retrying optimistic locking errors, we immediately fail:
Message: "Operation cannot be fulfilled on certificates.cert-manager.io \"testcert\": the object has been modified; please apply your changes to the latest version and try again",

I'll add a retry mechanism to the cert update:
err = wait.PollImmediate(100*time.Millisecond, 5*time.Second, func() (bool, error) {
	return f.CRClient.Update(context.TODO(), cert) == nil, nil
})

Suggestion: use the built in retry on conflict function: https://pkg.go.dev/k8s.io/client-go/util/retry#RetryOnConflict

This looks good to me - glad we'll have support for the Gateway API now!
I'm adding an lgm with a hold - I see that the PR is still 'WIP', but I guess the last item is not strictly related to this code as such.
Also triggering all the old k8s e2e tests (the latest e2e failure is cluster networking/dns again it seems)
/test pull-cert-manager-e2e-v1-21
/test pull-cert-manager-e2e-v1-20
/test pull-cert-manager-e2e-v1-19
/test pull-cert-manager-e2e-v1-18
/test pull-cert-manager-e2e-v1-17
/test pull-cert-manager-e2e-v1-16
/test pull-cert-manager-upgrade-v1-21
/approve
/hold
/lgtm

/unhold
🔥

🥳 🥳   seems like a good time for an alpha release?


[i2c] Increase maximum FifoDepth from 127 to 4095

This is a prerequisite for increasing the depth of some of the FIFOs
beyond 127.
This implies that the four FIFO levels can no longer be exposed to SW in
the single 32-bit FIFO_STATUS register.  Instead, each of the two
host-mode FIFO levels is now a 12-bit field in the HOST_FIFO_STATUS
register, and each of the two target-mode FIFO levels is now a 12-bit
field in the TARGET_FIFO_STATUS register.

This is technically ready for review, but I'm leaving it as a draft PR to prevent it from getting merged accidentally as some decisions related to this are still open.

Most of the changes in this PR have been incorporated into #21621, which got merged in the meantime. I'm creating a new PR as a follow-up to #21621 and close this one.


feat(dev): added assets to manifest

Description
Partly resolves https://github.com/vitejs/vite/issues/6595 and maybe https://github.com/vitejs/vite/issues/6477

Additional context

All assets are now included in manifest as separate entry, this doesn't yet resolving the option to use static assets as entrypoint

What is the purpose of this pull request?

[x] Bug fix
[x] New Feature
[ ] Documentation update
[ ] Other

Before submitting the PR, please make sure you do the following

[x] Read the Contributing Guidelines.
[x] Read the Pull Request Guidelines and follow the Commit Convention.
[x] Check that there isn't already a PR that solves the problem the same way to avoid creating a duplicate.
[x] Provide a description in this PR that addresses what the PR is solving, or reference the issue that it solves (e.g. fixes #123).
[x] Ideally, include relevant tests that fail without this PR but pass with it.

I would need some help solving the second part of issue #6595 if entry file is png, jpg, svg, etc. then the chunks are generated as empty .js.  I didn't find where could I change this.
This doesn't happend with .css, other static assets should also copy to dist if included as input entrypoint. It's important for backend integration, beucase there can be static assets paths in templates (.twig, .blade, .latte, etc.) and there is no way to reslove them on backend if they are not processed correctly and part of the manifest.
Generated an empty chunk: "fragment.svg"
Generated an empty chunk: "icon.png"

It'd be nice if you could add a test for this feature: https://github.com/lubomirblazekcz/vite/blob/manifest-assets/packages/playground/backend-integration/tests/backend-integration.spec.ts#L27
If the second part is a blocker, maybe you can modify the PR to support only CSS for now, and then PR again with a fix for other assets? Just to get things moving in that direction.
In multiple back-end adapters, we had to add a plugin that transforms the manifest to support finding CSS files, so this would be really nice to have.

Hi @innocenzi I've added the tests here https://github.com/vitejs/vite/pull/6649/files#diff-f21fb4f1a20cc108f9e9d6c1f086b7d74bf973bf2646e73d2087a8ec28a1e5ad
The double css is there because of the vite config, could be resolved with something like this (line 19). Not sure if it's the best way or necessary though.
.map((filename) => [path.relative(root, filename).replace('.css', ''), filename])

Also the second part is not blocker, it's still beneficial to have all assets in manifest. But it would be great if static assets could be added as entrypoint, but as I said - not sure how to fix that.

@innocenzi @patak-dev any chance getting this into v3? I think this would also solve https://github.com/vitejs/vite/issues/2375 and https://github.com/vitejs/vite/issues/4198

Would love this PR to be merged, but I think it's not completely done yet?

I would need some help solving the second part of issue https://github.com/vitejs/vite/issues/6595 if entry file is png, jpg, svg, etc. then the chunks are generated as empty .js. I didn't find where could I change this.

That is the current behaviour in vite now and it's not something this PR resolves. I will split the issue, so it's more clear.
This PR resolves that CSS files and other (non entry assets) are generated into manifest as separate entries.

@innocenzi I've changed the description of my issue and this PR, so it's clear what it resolves 👍

Thanks for this PR!
I'm concerned about chunk.name just being the file name and not the full path to the source asset.
Given the following entry points:
build: {
  rollupOptions: {
    input: [
      'resources/js/app.js',
      'resources/css/app.css',
    ],
  },
}

The manifest would end up as:
{
  "resources/js/app.js": {
    "file": "assets/app.21787142.js",
    "src": "resources/js/app.js",
    "isEntry": true
  },
  "app.css": {
    "file": "assets/app.2c05110b.css",
    "src": "app.css"
  }
}

Without the full path, it's not really possible to correctly map from the source file to the compiled asset (unless you can trust there is only one file with that name). It's also inconsistent with the JS chunks and allows for naming collisions.
I need to spend a bit more time digging through Rollup, but I'm worried this can't be resolved without an upstream change.

@jessarcher in my tests chunk.name returns whole path relative to entrypoint. At least it returns the path same way as for JS. Also filename collisions shoudn't occur, because the path is relative to entrypoint.
For reference, this is from my tests in playground/backend-integration
rollupOptions: {
   input: [
     'frontend/entrypoints/main.ts',
     'frontend/entrypoints/global.css'
   ]
 }

{
  "../images/logo.png": {
    "file": "assets/logo.b9f46fb3.png",
    "src": "../images/logo.png"
  },
  "main.ts": {
    "file": "assets/main.ad17e0e9.js",
    "src": "main.ts",
    "isEntry": true
  },
  "global.css": {
    "file": "assets/global.36c3a1e4.css",
    "src": "global.css"
  }
}

@lubomirblazekcz I think that's because in the test, root has been specified as frontend/entrypoints.
If the root was not a subdirectory, then main.ts would be frontend/entrypoints/main.ts, but  global.css would remain global.css.
This is because the JavaScript entrypoints use getChunkName(), which looks at chunk.facadeModuleId rather than chunk.name. Unfortunately, chunk.facadeModuleId doesn't exist on assets.
The only way I could get the path was to use the renderChunk hook instead, where facadeModuleId is present. E.g.
renderChunk(_, chunk) {
    if (! chunk.isEntry || chunk.facadeModuleId === null || ! cssLangRE.test(chunk.facadeModuleId)) {
        return null
    }

    const relativeChunkPath = path.relative(resolvedConfig.root, chunk.facadeModuleId)

    cssManifest[relativeChunkPath] = {
        /* eslint-disable-next-line @typescript-eslint/ban-ts-comment */
        /* @ts-ignore */
        file: Array.from(chunk.viteMetadata.importedCss)[0],
        src: relativeChunkPath,
        isEntry: true,
    }

    return null
},

The typing is a bit nasty there because Vite injects that metadata with that key which isn't part of the Rollup type.

I've tried making the following change in css.ts:
- let isPureCssChunk = true
+ let isPureCssChunk = !chunk.isEntry

This prevents the CSS chunk from being removed from the bundle so it can be added to the manifest, however, it doesn't have the desired result (via playground/backend-integration).
Before:
{
  'index.html': {
    file: 'assets/index.html.6a442648.js',
    src: 'index.html',
    isEntry: true,
    imports: [ 'main.ts' ],
    css: [ 'assets/global.css.d99fc02a.css' ],
    assets: [ 'assets/logo.b9f46fb3.png' ]
  },
  // ...
}

After:
{
  'global.css': {
    file: 'assets/global.css.9f516e50.js',
    src: 'global.css',
    isEntry: true,
    css: [ 'assets/global.css.d99fc02a.css' ],
    assets: [ 'assets/logo.b9f46fb3.png' ]
  },
  'index.html': {
    file: 'assets/index.html.6a442648.js',
    src: 'index.html',
    isEntry: true,
    imports: [ 'main.ts', 'global.css' ],
    assets: [ 'assets/logo.b9f46fb3.png' ]
  },
  // ...
}

The CSS entry point gets correctly added to the manifest (and will have a path where appropriate) however the file is a JS file (?!). Additionally, index.html loses its css key, with the CSS being moved to the imports key instead. The latter may not be an issue in practice because it seems weird to import a CSS file that's also an entry point.
When the CSS chunk is removed from the bundle, there doesn't seem to be any way to get its path correctly. I did notice that removed CSS chunks are stored in removedPureCssFilesCache so I could import that in manifest.ts to append to the manifest, but that seems like a hack.

@jessarcher I see now, thanks for clearing it out. Seems this problem is only for css files. I will try to look into this. If you found suitable solution yourself I can add you to my forked project so you could add it in this PR.

@lubomirblazekcz Oh, I didn't notice it was only a problem with CSS!
After looking at asset.ts, something like this in css.ts seems to solve it!
  const fileHandle = this.emitFile({
-   name: cssAssetName,
+   name: chunk.facadeModuleId
+     ? normalizePath(path.relative(config.root, chunk.facadeModuleId))
+     : cssAssetName,
    type: 'asset',
    source: chunkCSS
})

I have no idea if it would be accepted, but feel free to add it or give me access :slightly_smiling_face:

It broke playground/assets, for some reason index.html is now treated as asset and not entry, so it doesn't include info about assets.
@jessarcher I've invited you to the repo, feel free to add any changes. I will have more time at weekend to look at this more.

So the problem with including a path in the emitted asset name is that when it generates the fileName, it also includes that path.
- /assets/About.c7f7ccc9.css
+ /assets/src/pages/About.c7f7ccc9.css

So to get this back to the original name, I had to steal some more code from asset.ts to specify the correct fileName upfront.

@jessarcher great work! Everything seems to work good as expected now 👍

@patak-dev schema for manifests sounds like a great idea, it's something that for sure can be handy in the future

This was a major blocker for Slinkity and Astro as we explore a special assets directory for SSR assets. I currently generate a virtual module to "spoof" imports just to find the input file for a given CSS output file. This sounds like a godsend to fix that! 🙏

We talked about the PR in the last team meeting and we're good to move forward with it. We also discussed about adding a version and we think it isn't worth completely changing the current schema to include it. We'll merge it before cutting v3 beta next Monday. Let me know if there is something more needed here. @ElMassimo pinging you as this may also be interesting for Vite Ruby.

This is fantastic news, thanks @patak-dev!

Currently this change causes the entries to be generated incorrectly in Vite Ruby for any Sass/Less/Stylus stylesheet, as it's erasing the original extension from the manifest:
  "blue.css": {
    "file": "assets/blue.75487b74.css",
    "src": "blue.css"
  }

In contrasst, Vite does preserve .ts extensions:
  "application.ts": {
    "file": "assets/application.48a9de7f.js",
    "src": "application.ts"
  }

For any backend integration to map files correctly, it's desirable to preserve the extension:
  "blue.scss": {
    "file": "assets/blue.12fc1eef.css",
    "src": "blue.scss"
  }

Are there any follow-up pull requests to this?

Not yet @ElMassimo, PR welcome, or please create an issue if not so we can track it for v3
Thanks for testing!

Opened https://github.com/vitejs/vite/issues/8764 so that we don't forget, thanks! :smiley:


Added bindmount for conf/state dir to docker command.

In some circumstances, like adding a self signed CA pem, the first
instance of Rancher agent image needs to have access to the config
in the state directory to startup.

addresses my comments about the docker command in #1290


Add node merge tool

Motivation
Adds a new command / tool for merging two nodes into one. Additionally the CI has been updated to include the new tool in a release and build docker images using the right version.
Description
The CLI tool takes 2 parameters:

--from which specifies the data-dir of the source node which's identities shall be merged to the target node
--to which specifies the data-dir of the target node that receives the identities and state of the source node, can be an empty directory (so that a user can setup a new node with all their existing identities merged)

The tool only works with nodes that are set up for remote smeshing (i.e. have no local.key or supervised post service configuration). It will copy all identities from the source node to the target node while preserving their (file) names and will fail on conflicts (e.g. trying to merge the state of the same identity twice).
Test Plan
Tests for the new tool have been added.
TODO

[x] Explain motivation or link existing issue(s)
[x] Test changes and document test plan
[ ] Update documentation as needed
[ ] Update changelog as needed

bors merge

bors merge


General covariates + optimized model for Rstan 2.21

Hi!
I'm currently working with extending the model and also included the improvements that are discussed in this Stan discourse thread:
https://discourse.mc-stan.org/t/convergence-latest-version-of-stan-issues-with-our-covid-19-model/14100/66
In this PR I generalize the current model to handle any covariate instead of only 6 prespecified covariates. The optimizations proposed by @wds15 is included, but only those improvements that can be run with the current Rstan implementation. The speed improvements are quite substantial the model is roughly 3-4x faster.
Note! I have not changed the prior for alpha to handle different lengths of alpha. Although, this would not matter in your implementation with the specified covariates.
I have now supplied four files:
base_general.R: Adding some data munging to the general covariate format. This can, of course, be polished, although I did want to include only necessary changes to keep the review burden to a minimum.
stan-models/base_general.stan: The changes in the stan code - essentially enable any number of alphas fora any type of design matrix.
stan-models/base_general_speed.stan: Performance changes in the model, this gives roughly a speedup in the order 3-4x.
debug/test_stan_models_identical_lp.R: This file contains code to check that the log_prob is identical for the three models for a setup of parameters (the mean from one of my runs). Hence you can run this code to check that the models are give the identical lp.
If you are interested in merging this - I will replace base.stan with base_general_speed.stan and base.R with base_general.R. This will most likely break the test suite (since the results are slightly different due to the compiler). Hence I included the debug/test_stan_models_identical_lp.R for checking the model code.
Thanks for all the hard work!

I have now added @wds15 additional improved model that has the possibility to use within-chain parallelism together with rcmndstan to make use of within-chain parallelism.
Although the speed difference between base_general_speed.stan and base_general_speed2.stan is at my machine marginal (just one core) is negligible, so I guess it is a matter of taste. Although both these models are roughly 3-4x faster than the current model.
All models have been checked and return the same lp__ (see the debug R code file).

Hi @MansMeg, thanks a lot for this :) In our new version we will have this a default too


fix: update firebase branch name

Signed-off-by: Sean Norwood<EMAIL_ADDRESS>

:tada: This PR is included in version 8.1.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


@fft2d//:fft2d bazel

fisrt build
ERROR: /private/var/tmp/_bazel_dsr/f1e96f4f92f1092791bdd5610d5595fa/external/com_google_absl/absl/strings/BUILD.bazel:84:1: C++ compilation of rule '@com_google_absl//absl/strings:internal' failed (Exit 1)
after build
ERROR: /private/var/tmp/_bazel_dsr/f1e96f4f92f1092791bdd5610d5595fa/external/fft2d/BUILD.bazel:26:1: C++ compilation of rule '@fft2d//:fft2d' failed (Exit 1)
macos 10.13.6
ndk 16.0.4442984

Thank you for your post. We noticed you have not filled out the following field in the issue template. Could you update them if they are relevant in your case, or leave them as N/A? Thanks.
Have I written custom code
OS Platform and Distribution
TensorFlow installed from
TensorFlow version
Bazel version
CUDA/cuDNN version
GPU model and memory
Exact command to reproduce
Mobile device

@dingshaoran It appears that something is off in the tool chain. Please fill out the issue template so we can better help you.

Closing this for now, please open a new issue if any error comes up.


change the source of my component to be a local directory

As a developer I want to be able to change the source of a component from whatever to local directory so I can work locally
$ ocd create php [myfrontend] --git=<url>
$ ocd update [myfrontend] --local

Subtask of #162

realted to @209


How to obtain normal map

According to your previous advice, I have tried Smpler-X and depth anything to obtain 3-D human body and corresponding depth image. I also have a question about how to obtain normal map. Could you please tell me the model you use?
Thank you!

Maybe you could try the normal map model used in the ControlNet?
https://github.com/lllyasviel/ControlNet?tab=readme-ov-file
https://huggingface.co/lllyasviel/ControlNet

Maybe you could try the normal map model used in the ControlNet? https://github.com/lllyasviel/ControlNet?tab=readme-ov-file https://huggingface.co/lllyasviel/ControlNet

Thanks for your suggestion! I have tried the model of controlnet, but I find that the results are not the same as the examples in the paper. The background of the results obtained by normalbae model is not clean, maybe bring some noise.

Hi @adf1178 , in the paper we use SMPL only. The normal map could be found as material in the Blender file smpl_rendering.blend. The Rendering code is also released so you can run on blender for all the conditions' maps.

Refer to #61 . If any questions, please reopen issues.


OSError: Java command failed when using stanford parser example

Hi,
I am trying to run the stanford parser example. E.g.
from nltk.parse.stanford import *
dep_parser=StanfordDependencyParser(model_path="edu/stanford/nlp/models/lexparser/englishPCFG.ser.gz")
[parse.tree() for parse in dep_parser.raw_parse("The quick brown fox jumps over the lazy dog.")]

executing the last command results with an error:
OSError: Java command failed : [u'/usr/bin/java', u'-mx1000m', '-cp', ....

when I reproduce the same command on the command line, I get the error Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory
Therefore, after adding slf4j-api.jar to the classpath on the commandline, parsing is successful.
How can slf4j-api.jar be added to nltk classpath, so parsing will be successful?
Thank you!
Happy holidays

@yuvval Just to be sure are you using Stanford Parser version 2015-12-09? If so, this error occurs because of the new StanfordNLP using more dependencies than before. This is similar to #1237
The quick fix solution is to either:

use the previous version 2015-04-20 from http://nlp.stanford.edu/software/stanford-parser-full-2015-04-20.zip and the NLTK API would work, see http://stackoverflow.com/questions/13883277/stanford-parser-and-nltk/34112695#34112695 or
hack the stanford parser classpath:

from nltk.internals import find_jars_within_path
from nltk.tag import StanfordDependencyParser
dep_parser=StanfordDependencyParser(model_path="edu/stanford/nlp/models/lexparser/englishPCFG.ser.gz")
stanford_dir = st._stanford_jar.rpartition('/')[0]
# or in windows comment the line above and uncomment the one below:
#stanford_dir = st._stanford_jar.rpartition("\\")[0]
stanford_jars = find_jars_within_path(stanford_dir)
st.stanford_jar = ':'.join(stanford_jars)
[parse.tree() for parse in dep_parser.raw_parse("The quick brown fox jumps over the lazy dog.")]

Thank you! It works with the 2015-04-20 version.

Did the classpath hack also work?

I didn't try - I just deleted the latest version and downloaded the 2015-04-20 version.

Hi! I tried to follow your hack but for me there is no ```StanfordDependencyParser````:
print(nltk.__version__)
from nltk.tag import StanfordDependencyParser

3.1
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-7-67bb74c3494a> in <module>()
----> 1 from nltk.tag import StanfordDependencyParser

ImportError: cannot import name 'StanfordDependencyParser'

Any idea how to solve this? I would really like to use the latest stanford version.

@methodds Pardon my typo, it's from nltk.parse.stanford import StanfordDependencyParser

Thank you for the link. Unfortunately, I can't get the environment variables to work on my linux mint os.
My bashrc looks like this:
export JAVA_HOME="/usr/lib/jvm/java-8-oracle/"
export PATH=$JAVA_HOME/bin:$PATH

export CLASSPATH="/home/cs/stanford_nlp/stanford-postagger-full-2015-04-20/stanford-postagger.jar:$CLASSPATH"

export CLASSPATH="/home/cs/stanford_nlp/stanford-ner-2015-04-20/stanford-ner.jar:$CLASSPATH"

export STANFORD_MODELS="/home/cs/stanford_nlp/stanford-ner-2015-04-20/classifiers:$STANFORD_MODELS"

export STANFORD_MODELS="/home/cs/stanford_nlp/stanford-postagger-full-2015-04-20/models:$STANFORD_MODELS"

Echoing the variables looks right:
echo $CLASSPATH
/home/cs/stanford_nlp/stanford-ner-2015-04-20/stanford-ner.jar:/home/cs/stanford_nlp/stanford-postagger-full-2015-04-20/stanford-postagger.jar

echo $STANFORD_MODELS
/home/cs/stanford_nlp/stanford-postagger-full-2015-04-20/models:/home/cs/stanford_nlp/stanford-ner-2015-04-20/classifiers

However (even after rebooting) NLTK still does not find  the tagger:
  NLTK was unable to find stanford-postagger.jar! Set the CLASSPATH
  environment variable.

Do source .bashrc and it will work meanwhile take a look at http://apple.stackexchange.com/questions/12993/why-doesnt-bashrc-run-automatically to learn how bashrc works.

Thank you for your tip, but I did source .bashrc beforehand and it did not work. I tried it again and unfortunately it's still not working.

What is your Linux distribution and version? Can you do a lsb_release -a? Or are you working with a Mac?

Thank you for investigating. ```lsb_release -a`` returns
No LSB modules are available.
Distributor ID:	LinuxMint
Description:	Linux Mint 17.3 Rosa
Release:	17.3
Codename:	rosa

Where did you do the export commands? Which directory?

Where are you running your python scripts? Which directory?

Go to the place where you want to run your python script, do this: import sys; print sys.environ

I guess you wanted me to use import os; print(os.environ), which did not reveal the environment variables that I exported in .bashrc. After that I copy pasted the content into .profile (in my home folder) and now it works perfectly. I have no idea why though =D.

Glad that .profile works, i think it's a OS distro issue. I would not recommend to store the environment variables as static, personally, I rerun them everytime I start my python scripts, so that I can sure that there's no conflict. Have fun with the NLTK API and Stanford tools!

Thank you :)

what is 'st' in the command 'stanford_dir = st._stanford_jar.rpartition('/')[0]'

I have the same question as hansen7

for few who have been looking what is st,
st = StanfordNERTagger(os.environ.get('STANFORD_MODELS'))
Ref: https://gist.github.com/manashmndl/810db10809cbc1209b34c7d25efe95d5#file-stanfordnertagger-py


Spinnaker-as-code SIG request zoom and meeting recordings

Spinnaker SIG would like to use a CDF zoom account for their sig meetings (to allow anyone to setup and run the meeting) as well as a simplified way to upload recordings to spinnaker youtube channel (rather than manual save & upload being done today).

There is an existing spinnaker zoom account - credentials to be shared with sig leads via lastpass.


imp: Display game result on GUI.

Thank you very much for contibution!
Looks very cool, I will merge it when come home tonight.


fix for pointdensity

Fix for https://github.com/brainglobe/brainrender/issues/107#issuecomment-979991376 following discussion at https://github.com/marcomusy/vedo/issues/547
@adamltyson , @vigji , brainrender has a actors.points.PointDensity class that creates 3D density plots from a set of coordinates:

This was broken and now I've fixed it, but it's kind of an ugly fix.
Brainrender normally mirrors meshes on the AP plane to keep the axes orientations consistent with other brainglobe software (a real pain btw). To make the rendering work, the meshes normals need to be recomputed after the transformation. For PointDensity I can't do this since the vedo.Volume actor it produces cannot recompute normals, so I can't apply the transform or it will look horrible.
The only solution I've found is to mirror the coordinates of the points before these are used to create the PointsDensity actor, but that's not very elegant. I'm also not sure if this would work correctly for atlases with different orientations.
What do you guys think? Any idea for a better fix?

I don't think that's a bad solution (I can't think of anything better off the top of my head).
I agree the brain render mirroring is a pain. FWIW, I'm happy to implement the mirroring on the brainreg/cellfinder side as we used to do, but I don't know what is better/least confusing for users of the BG ecosystem as a whole. I generally think as we are dealing with real images 90% of the time, we should stick with image-based coordinate standard (but I don't have to maintain BR).

The endless struggle between Descartes and the rest of Western writing systems 😄
Do you have access to the normals values? I would expect a numerical fix to them to be within reasonable reach, although it's a guess largely based on ignorance about the context!

@adamltyson  thanks for offering, but at this point I think we can keep it as it is. It would take work to adjust all existing code to reflect that and it would be confusing for users I think.
@vigji I do have access to the normals for mesh objects, but not for Volume (I don't think its even possible to define a 'normal' for a volume?). I'm not sure why the coordinates transformation makes the rendering look bad, but I'm sure that Marco (vedo's developer) would know (we're discussing the issue here: https://github.com/marcomusy/vedo/issues/547#issuecomment-982588795)

Oh ok, that's why I got confused when you were saying that the vedo.Volume can't recompute normals - I thought it is was not a volume but a mesh rendered from a volume, and therefore had normals! No clue of what could be causing an issue if that is not the case...sorry, can;t think of anything smarter! I guess that inverting the coordinates is not too horrible...


Mini Game Feature Added

I have added a mini-game feature.
-> Snake Game feature has been added

@subhadip-saha-05 Added this feature Kindly Merge.


Platform: Testing the review process

Create PR -> build triggered :white_check_mark: Hosted url: docs-dev.polygon.technology/1558
Updated PR notes -> build not triggered :white_check_mark:
Environment created with PR number: https://docs-dev.polygon.technology/1558/ -> :white_check_mark:
Make small change and push -> build triggered :white_check_mark:
Environment updated after step 4 :white_check_mark:
Merging to dev branch. Error doing that :x:

Testing updating the notes but not triggering a build.


Using Storage.uploadBytes to upload file result uploadedByUserId is always null

I am sorry I didn't understand, the uploadBytes should return Future<FileMetadata> ?

Sorry, I didn't mean on the front end but on the backend, the column upload_by_user_id in the files table is always null

Then, this is not related to Dart SDK, however, I will try to reproduce and report it back to the team.

No, that field was deprecated long ago so this is intended. There was some discussion an alternative solutions here.


My Albums disappear and new ones are no longer created/visible : Showing 0 user created albums

🐛 Bug Report

[X] 📁 I've Included a ZIP file containing my librephotos log files gunicorn_django.log
[X] ❌ I have looked for similar issues (including closed ones)
[X] 🎬 (If applicable) I've provided pictures or links to videos that clearly demonstrate the issue Example of behavior

📝 Description of issue:
After uploading photos then adding them into an album, any albums previously created disappear. Attempts to recreate previous albums or create new ones still results in Showing 0 user created albums
All pictures are still present
Albums shared with a second account are still visible for the second account
Sometimes I'm able to setup 4 or 5 new albums, but every time at some point it will no longer show any albums
I'm not sure what logs are necessary to help
🔁 How can we reproduce it:
Following Docker install steps
cd librephotos-docker
cp librephotos.env .env
Edit .env the following variables
scanDirectory=~/scanDirectory
data=./librephotos/data
logs=~/logs
dbName=librephotos
dbUser=librephotos
dbPass=<pass>

From docker-compose.yml
  backend:
    image: reallibrephotos/librephotos:${tag}
    container_name: backend
    restart: unless-stopped
    volumes:
      - ${scanDirectory}:/data
      - ${data}/protected_media:/protected_media
      - ${logs}:/logs
      - ${data}/cache:/root/.cache

docker-compose up

Begin uploading photos from localhost:3000
Wait until worker is green and available (upper right)
Select uploaded photos and click the + to add to an album
Go to Albums > My albums > refresh page to see new data

Please provide additional information:

💻 Operating system:
Debian 11 Bullseye (Standard), from Proxmox templates

⚙ Architecture (x86 or ARM):
x86_64

🔢 Librephotos version:
reallibrephotos/librephotos-frontend   latest
reallibrephotos/librephotos            latest
reallibrephotos/librephotos-proxy

📸 Librephotos installation method (Docker, Kubernetes, .deb, etc.):
Docker : latest

📁 How is you picture library mounted (Local file system (Type), NFS, SMB, etc.):
Cephfs with a symlink  from cephfs to workingdir \librephotos-docker

scanDirectory -> /mnt/pictures/librephotos/scanDirectory/

☁ If you are virtualizing librephotos, Virtualization platform (Proxmox, Xen, HyperV, etc.):
Proxmox VE 7.2

Tried a fresh setup again, this time with a VM on Proxmox instead of an LXC. Albums disappeared again.

Not sure how you did it, but you are not logged in when creating the album.
Which browser are you using and do you use any tools that could block cookies?

Found a bug, where cover photos without a timestamp would lead to 0 user created albums. Maybe that was the error, not sure.

Actually I do! On Firefox, I have it set that way for my internal domain.
So just to confirm, even though it looks me in, it appears on that I'm not?

Something else I'm noticing is that I can still get to the login page even though docker is not running

If I bring it up in a private page it doesn't load at all as expected.

I was able to a log of these errors as well
Could not set photo 26 to public. It does not exist.
ownphotos.log

Closed, because I can't reproduce it.


Update reconciling-experiment-results.md

🚀 Deployed on https://672a4ec49405b3d8e4f4da8b--cozy-fox-0defec.netlify.app


[CI] [Buildkite] Create Deploy and Release Pipelines

Adds the deploy snapshot (daily) and the release (on demand) pipelines for building and pushing the Maven artifacts to the Sonatype Nexus repository.

@markjhoy are you still working on this?

@markjhoy are you still working on this?

I'll have to check with Infra - I believe they have actually done the work, and if so, I'll delete this

FYI - this work is blocked still pending credentials for Maven: https://elasticco.atlassian.net/browse/REL-1069

Hey @markjhoy, what needs to be done here? Is it a lot of work?


[path] Also match parent dirs in include/exclude

NOTE: This is a major change in pattern matching for include and
exclude fields, and can result in additional inclusion/exclusion for
some patterns.
Previously, for inclusion/exclusion matters, Cargo only works with paths
of files in a package/repository, and glob pattern matching has been
applying only to these file paths.
The old behavior results in some unexpected behavior. For example,
having:
exclude = ["data"]

in a manifest next to a data directory, it will not exclude the
directory. To make it work, a pattern must be provided that matches the
files under this directory, like:
exclude = ["data/*"]

To make Cargo's inclusion/exclusion behavior more intutional, and bring
it on par with similar systems, like gitignore, we need to also match
these patterns with the directories. The directories are seen
internally as parents of the files. Therefore, this diff expands the
pattern matching to files and their parent directories.
Now, it's easier to exclude all data files:
exclude = ["data"]

or include only the src directory:
include = ["src"]

Fixes https://github.com/rust-lang/cargo/issues/3578

Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @matklad (or someone else) soon.
If any changes to this PR are deemed necessary, please add them as extra commits. This ensures that the reviewer can see what has changed since they last reviewed the code. Due to the way GitHub handles out-of-date commits, this should also make it reasonably obvious what issues have or haven't been addressed. Large or tricky changes may require several passes of review and changes.
Please see the contribution instructions for more information.

CC @alexcrichton, @mbrubeck, @llogiq

Making exclude work exactly as gitignore seems good to me! This is a potentially backwards incompatible change, but it only affects publishing, so I think it's OK to do this. However, I think that ideally we should do matching using both old and new algorithm, and print a warning if there's any difference.
However, I am worried a bit that we write a bit of a custom matching algorithm here, so there's a high chance that it will work differently from .gitignore for some corner cases. Could you investigate what ripgrep does here? My understanding is that interprets .gitignore exactly right, so we might want just to steal its implementation (I think it uses globset crate instead of glob).

I tested out globset and I've got bad news: it agrees with glob on the behavior! And, both of them disagree with gitignore.
Spec for gitignore: https://git-scm.com/docs/gitignore#_pattern_format
Here's my test:
https://github.com/behnam/rust-globs-test/blob/master/src/lib.rs
The lines marked with XXX are the disagreements with gitignore matching.
Basically, there are a few major differences between glob/globset and gitignore matching:

Leading slash does not match with the location of the spec file in glob/globset. In gitignore, /foo matches foo dir/file that's next to the spec. (Do we want to change this? IIUC, there's no reason to support absolute paths outside of the repo in Cargo packaging.)

Directories of a file are not matched, but only the whole file path is matched. That's why foo doesn't match any file under foo/. (This is what this diff changes.)

Trailing slash does not match anything in glob/globset. In gitignore, it enforces match to a dir, but not a file. (This is the case that I added test for in this diff, but have not fixed it. The fix shouldn't be hard.)

Do you think we should put the logic for these cases into one of the upstream repos, maybe behind their Options? @BurntSushi, @alexcrichton?
Can we start with this diff, that puts the logic in one function here in Cargo, and later switch to the upstream functionality when available? If so, I can add to this implementations for both cases 2 and 3, to complete it.

I have added a real Cargo.toml test and output of the packing to the test repo:

https://github.com/behnam/rust-globs-test/tree/master
https://github.com/behnam/rust-globs-test/blob/master/Cargo.toml

Awesome investigation @behnam!
Looks like ripgrep does quite a bit of massaging of .gitignore globs, before passing them to globset: https://github.com/BurntSushi/ripgrep/blob/9b3921098a6804879a4425716bfb72a8a003a313/ignore/src/gitignore.rs#L355-L440. In particular, issue with "foo matches only directoris" seems to be handled here. And looks like this functionality is public, so we probably could use it: https://docs.rs/ignore/0.2.0/ignore/gitignore/index.html :)
Taking a step back, current doc say

The syntax of each element in this array is what rust-lang/glob accepts

So the current behavior matches documentation. What we actually want to do here is to change the behavior to "The syntax is the same as in .gitignore". So this change is not exactly a bug-fix.

So that's what you meant, @matklad, by ripgrep interpreting .gitignore. I didn't know about that part. Thanks for the pointers.
And good point about the behavior being documented. Although, it still doesn't explain why glob should not match directories in the first place. I didn't see any explanation about the features in glob/globset docs, and looks like a major application is also referring to the existing behavior blankly.
So, we have these options now, I suppose:

Do nothing and close the PR. We can add a note to the docs about the pattern only matching file paths, and say the for directory matching a /* suffix is needed.

Continue this patch the way it is (maybe also hard-code the trailing slash case), and update docs to say that the glob matching (as specified by the rust-lang/glob crate) is applied to both directories and files. We can do so in the glob side, or in here, either way backwards incompatible for Cargo, and in the former case, all users of glob.

Replace the logic in this patch with the ripgrep implementation. This would make a big backwards incompatible change, although side-effects should be minimal, but still can be surprising for many users.

And, finally, replace include/exclude options with a new option, like publish_files (for positive form) or ignore_files/ignore (for negative form), which works as closely to gitignore as possible (gitignore being a negative form). This new option will error if the old options exist, and we start deprecating the old options slowly in a near future. Also:

Is fully backwards compatible.

Allows both inclusion and exclusion in a deterministic way. At the moment, users can only include, or exclude, but not both. (I suppose the reason for mutual exclusive lists was to prevent confusion on the order the rules apply.)

The syntax is already known to users, reducing falling into traps (like the original reported issue), and making it easier to reason about (being one list, not two separate lists).

Being a new option, we can also add-in inheritance for it from a package.workspace Cargo.toml, to make it easier to maintain for large projects.

IMHO, the last option is better than the rest, because not only solves the current problem, also uses a more mainstream solution for the specific problem (since gitignore format is more specific to inclusion/exclusion than UNIX glob). And if we go with that, then we can move the gitignore logic of ripgrep into its own crate, to make it more available, like glob/globset.
What do you think?

I think we should ask @alexcrichton opinion here :)
First of all, a small clarification:

And if we go with that, then we can move the gitignore logic of ripgrep into its own crate, to make it more available, like glob/globset.

It already lives in a separate crate: https://crates.io/crates/ignore
I think we do want to switch from "The syntax of each element in this array is what rust-lang/glob accepts" which is not very user friendly to "the syntax is the same as in .gitignore".
Between 3 and 4, I like 3 somewhat better: I don't think that backwards compatibility is super important here, because publish is a rare and usually manual operation (having a warning if the set of included files change won't hurt though), and 3 has an advantage that we don't carry legacy options forward.

Agreed, @matklad. So let's wait for @alexcrichton now.
Also, if we go with option 3, I would like to propose two additions:

For now, patterns cannot be in negation form (start with !). This would prevent any confusions about the separate lists.
Also, after the dust is settled down from this move, this allows us to make exclude to work even more similar to gitignore in the future , also supporting rules for inclusion with ! patterns without disabling the default SCM-based inclusion logic.

And, orthogonal to that, allowing both include and exclude to be set in the following form:

If include is empty, everything that's not SCM-ignored will be included, otherwise, include sets all the paths for inclusion.

Then, exclude will apply on top of that to filter out paths based on exclusion patterns.

Thanks for all the investigation here! I personally really like the idea of moving to literally "gitignore syntax" as it's intuitive and well spec'd already. I think we should move to the ignore crate (that's the "gitignore syntax interpreter", right?).
I agree though with @matklad that we probably want to do this gradually. I think we should start by warning if globs exclude more than gitignore directives, and then eventually we can switch to gitignore directives warning if globs are different, and then finally later we can remove the glob crate.

Awesome!
I filed a new issue here to track the steps and progress: https://github.com/rust-lang/cargo/issues/4268 I wrote it based on all we discussed here, but please check it if you can and make edits if needed.
So I'll close this and submit a new PR for the new issue.


azure

[Enter feedback here]

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

ID: 9f6e0ce6-b90d-ae6a-d9bc-89b693fbe4e3
Version Independent ID: 46b8668e-b83f-5681-0d37-88fb08fbdcd5
Content: Datacenter regions - Power Platform
Content Source: power-platform/admin/new-datacenter-regions.md
Service: power-platform
GitHub Login: @jimholtz
Microsoft Alias: jimholtz

@shuvroabir
Please elaborate on the change in documentation needed. Thanks.

@shuvroabir
Please elaborate on the change in documentation needed. Thanks.


Adds "exclude" feature, allowing log lines to be filtered by regular expression

In cases where logs have a number of irrelevant lines (such as Kubernetes "liveness" checks), being able to filter out these lines can make logs far more readable.
This PR adds an --exclude flag, which takes a regex as its value; any line that matches the regex will not be printed. Multiples can be specified as --exclude rex1 --exclude rex2.
Let me know if there's any changes you'd like; we can work off my fork for our purposes, but thought this could be worth including in upstream.
Thanks!

Thank you for the PR! This is a great idea


Undefined class constant 'TYPE_DOUBLE' (\vendor\yiisoft\yii2-gii\generators\model\Generator.php)

I read this question: https://github.com/yiisoft/yii2/issues/7490
But I do not know exactly what needs to be upgraded in composer.json.
Here are the contents of the file "composer.json":
{
    "name": "yiisoft/yii2-app-basic",
    "description": "Yii 2 Basic Application Template",
    "keywords": ["yii2", "framework", "basic", "application template"],
    "homepage": "http://www.yiiframework.com/",
    "type": "project",
    "license": "BSD-3-Clause",
    "support": {
        "issues": "https://github.com/yiisoft/yii2/issues?state=open",
        "forum": "http://www.yiiframework.com/forum/",
        "wiki": "http://www.yiiframework.com/wiki/",
        "irc": "irc://irc.freenode.net/yii",
        "source": "https://github.com/yiisoft/yii2"
    },
    "minimum-stability": "stable",
    "require": {
        "php": ">=5.4.0",
        "yiisoft/yii2": "2.0.2",
        "yiisoft/yii2-bootstrap": "*",
        "yiisoft/yii2-swiftmailer": "*",

		"dektrium/yii2-user": "*",
		"2amigos/yii2-google-maps-library" : "*",
		"2amigos/yii2-google-places-library" : "*",
		"mihaildev/yii2-ckeditor": "*",
		"kartik-v/yii2-widgets": "*",
		"wbraganca/yii2-dynamicform": "*",
		"nirvana-msu/yii2-showloading": "1.0.*@dev",
		"yiisoft/yii2-jui": "*",

		"rmrevin/yii2-postman": "dev-master"
    },
    "require-dev": {
        "yiisoft/yii2-codeception": "*",
        "yiisoft/yii2-debug": "*",
        "yiisoft/yii2-gii": "*",
        "yiisoft/yii2-faker": "*"
    },
    "config": {
        "process-timeout": 1800
    },
    "scripts": {
        "post-create-project-cmd": [
            "yii\\composer\\Installer::postCreateProject"
        ]
    },
    "extra": {
        "yii\\composer\\Installer::postCreateProject": {
            "setPermission": [
                {
                    "runtime": "0777",
                    "web/assets": "0777",
                    "yii": "0755"
                }
            ],
            "generateCookieValidationKey": [
                "config/web.php"
            ]
        },
        "asset-installer-paths": {
            "npm-asset-library": "vendor/npm",
            "bower-asset-library": "vendor/bower"
        }
    }
}

Tell me, please, what should be changed in this file, something to Gii earned?
Thank U!

I performed "composer show -i":
C:\OpenServer\domains\nadomy\www>composer show -i
2amigos/yii2-google-maps-library    0.1.2              Google Maps API library for Yii2.
2amigos/yii2-google-places-library  0.1.0              Google Places API Library for Yii2.
bower-asset/bootstrap               v3.3.2             The most popular front-end framework for developing responsive, mobile first projects on the web.
bower-asset/jquery                  2.1.3
bower-asset/jquery-ui               1.11.4
bower-asset/jquery.inputmask        3.1.61             jquery.inputmask is a jquery plugin which create an input mask.
bower-asset/punycode                v1.3.2
bower-asset/typeahead.js            v0.10.5
bower-asset/yii2-pjax               v2.0.4
cebe/markdown                       1.0.2              A super fast, highly extensible markdown parser for PHP
dektrium/yii2-user                  v0.9.3             Flexible user registration and authentication module for Yii2
ezyang/htmlpurifier                 v4.6.0             Standards compliant HTML filter written in PHP
fzaninotto/faker                    v1.4.0             Faker is a PHP library that generates fake data for you.
guzzlehttp/guzzle                   4.2.3              Guzzle is a PHP HTTP client library and framework for building RESTful web service clients
guzzlehttp/streams                  2.1.0              Provides a simple abstraction over streams of data (Guzzle 4+)
kartik-v/bootstrap-fileinput        v4.1.7             An enhanced HTML 5 file input for Bootstrap 3.x with features for file preview for many file types, multiple selection,...
kartik-v/bootstrap-star-rating      v3.5.1             A simple yet powerful JQuery star rating plugin for Bootstrap.
kartik-v/dependent-dropdown         v1.4.0             A multi level dependent dropdown JQuery plugin that allows nested dependencies.
kartik-v/yii2-krajee-base           v1.7.4             Base library and foundation components for all Yii2 Krajee extensions.
kartik-v/yii2-widget-activeform     v1.4.1             Enhanced Yii2 active-form and active-field with full bootstrap styling support (sub repo split from yii2-widgets).
kartik-v/yii2-widget-affix          v1.0.0             A scrollspy and affixed enhanced navigation to highlight page sections (sub repo split from yii2-widgets)
kartik-v/yii2-widget-alert          v1.1.0             A widget to generate alert based notifications using bootstrap-alert plugin (sub repo split from yii2-widgets)
kartik-v/yii2-widget-colorinput     v1.0.0             An enhanced Yii 2 widget encapsulating the HTML 5 color input (sub repo split from yii2-widgets)
kartik-v/yii2-widget-datepicker     v1.3.2             Enhanced Yii2 wrapper for the bootstrap datepicker plugin (sub repo split from yii2-widgets).
kartik-v/yii2-widget-datetimepicker v1.4.0             Enhanced Yii2 wrapper for the bootstrap datetimepicker plugin (sub repo split from yii2-widgets)
kartik-v/yii2-widget-depdrop        v1.0.0             Widget that enables setting up dependent dropdowns with nested dependencies (sub repo split from yii2-widgets)
kartik-v/yii2-widget-fileinput      v1.0.0             An enhanced FileInput widget for Bootstrap 3.x with file preview, multiple selection, and more features (sub repo split...
kartik-v/yii2-widget-growl          v1.1.0             A widget to generate growl based notifications using bootstrap-growl plugin (sub repo split from yii2-widgets)
kartik-v/yii2-widget-rangeinput     v1.0.0             An enhanced Yii 2 widget encapsulating the HTML 5 range input (sub repo split from yii2-widgets)
kartik-v/yii2-widget-rating         v1.0.0             A Yii2 widget for the simple yet powerful bootstrap-star-rating plugin with fractional rating support (sub repo split f...
kartik-v/yii2-widget-select2        v1.0.0             Enhanced Yii2 wrapper for the Select2 jQuery plugin (sub repo split from yii2-widgets).
kartik-v/yii2-widget-sidenav        v1.0.0             An enhanced side navigation menu styled for bootstrap (sub repo split from yii2-widgets)
kartik-v/yii2-widget-spinner        v1.0.0             A widget to render animated CSS3 loading spinners with VML fallback for IE (sub repo split from yii2-widgets)
kartik-v/yii2-widget-switchinput    v1.3.0             A Yii2 wrapper widget for the Bootstrap Switch plugin to use checkboxes & radios as toggle switchinputes (sub repo spli...
kartik-v/yii2-widget-timepicker     v1.0.0             Enhanced Yii2 wrapper for the bootstrap timepicker plugin (sub repo split from yii2-widgets)
kartik-v/yii2-widget-touchspin      v1.2.0             A Yii2 wrapper widget for the Bootstrap Switch plugin to use checkboxes & radios as toggle touchspines (sub repo split ...
kartik-v/yii2-widget-typeahead      v1.0.0             Enhanced Yii2 wrapper for the Twitter Typeahead plugin (sub repo split from yii2-widgets).
kartik-v/yii2-widgets               v3.4.0             Collection of useful widgets for Yii Framework 2.0 extending functionalities for Bootstrap
mihaildev/yii2-ckeditor             1.0.1              Yii2 CKEditor
nirvana-msu/yii2-showloading        dev-master 23a3b97 Yii2 extension for showLoading jQuery plugin
phpmailer/phpmailer                 v5.2.6             PHPMailer is a full-featured email creation and transfer class for PHP
phpspec/php-diff                    v1.0.2             A comprehensive library for generating differences between two hashable objects (strings or arrays).
rmrevin/yii2-postman                dev-master 6092bd1 Mail module for Yii2.
swiftmailer/swiftmailer             v5.4.0             Swiftmailer, free feature-rich PHP mailer
symfony/css-selector                v2.6.4             Symfony CssSelector Component
symfony/dom-crawler                 v2.6.4             Symfony DomCrawler Component
wbraganca/yii2-dynamicform          v2.0.2             It is widget to yii2 framework to clone form elements in a nested manner, maintaining accessibility.
yiisoft/yii2                        2.0.2              Yii PHP Framework Version 2
yiisoft/yii2-authclient             2.0.3              External authentication via OAuth and OpenID for the Yii framework
yiisoft/yii2-bootstrap              2.0.3              The Twitter Bootstrap extension for the Yii framework
yiisoft/yii2-codeception            2.0.3              The Codeception integration for the Yii framework
yiisoft/yii2-composer               2.0.3              The composer plugin for Yii extension installer
yiisoft/yii2-debug                  2.0.3              The debugger extension for the Yii framework
yiisoft/yii2-faker                  2.0.3              Fixture generator. The Faker integration for the Yii framework.
yiisoft/yii2-gii                    2.0.3              The Gii extension for the Yii framework
yiisoft/yii2-jui                    2.0.3              The Jquery UI extension for the Yii framework
yiisoft/yii2-swiftmailer            2.0.3              The SwiftMailer integration for the Yii framework

"yiisoft/yii2-gii": "2.0.3",

@qiangxue @samdark maybe we should consider to make extensions require an up to date framework version by themselfs?

I'm all for it.

should be fixed by: https://github.com/yiisoft/yii2-gii/commit/8a65ad38e09c4b198b2d4e118516d144ed9ae2b3


cx-Freeze is saying there's a Python error in on startup

So whenever I start up "DAT Texture Wizard.exe" I get this error

I believe I have properly installed Python 2.7.18, along with cx-Freeze 5.1.1, psutil, and Pillow all for Python 2.7. I believe that this might mean that there are extra characters after a certain line?
I am running this on a Windows 10 64-bit computer.
edit: I'm using v6.1.2

Hm. Sorry, I'm not familiar with this error.
How are you attempting to run it? This is after you compile the program? Does it run uncompiled?
When uncompiled, you should be able to run it by double-clicking on the "DAT Texture Wizard Debug.bat" file.
Also, it might be worth asking, what's the path of the root directory (that the main "DAT Texture Wizard.py" script is in)?
I'm currently using Python v2.7.16, but I'm pretty sure I've run it with newer versions as well. I'll try to confirm this in a few days.

I just tried the source code on another system, and it's working with Python 2.7.18 as well (on Windows 10, x64, build 18363). Building a new exe and running that also worked.
The error happens when attempting to add the library directory for drag-and-drop functionality to Tcl's "auto_path" global variable. I'm not sure this will help, but since it seems like it might be a strange syntax issue, you might try writing line 21 in newTkDnD.py a different way; perhaps instead of:
"master.tk.eval('global auto_path; lappend auto_path {%s}' % tkdndlib)"
maybe:
"master.tk.eval( 'global auto_path; lappend auto_path {{}}'.format(tkdndlib) )"
But it might be [more likely] that somehow an invalid path is being provided. You could see what's being provided by using a debugger or adding a print statement for the tkdndlib variable right before the above line (e.g. print 'attempting to add path', tkdndlib). You could also see what is in the auto_path list by adding master.tk.eval('global auto_path; puts $auto_path'). Alternatively, if you don't care about drag-and-drop functionality, you could comment out the lines related to it in the main script.

Ok, so I looked back at the directory as you said in the first comment, and I noticed that the directory might have either been too long or it had characters such as ~ or {}. After putting it in a higher-up directory that doesn't have these symbols it worked. Interesting. So the directory path was the problem.


Please update compatibiity wiki - Akai S1000 and EMU ESI2000 tested and working with PiSCSI on PiZero2W

Info

Which version of Pi are you using: PiZero2W
Which github revision of software: piscsi/v24.04.01 image used
Which board version: PiSCSI / RaSCSI Adapter Board V2.3 B
Which computer is the PiSCSI connected to: Akai S1000 Sampler and EMU ESI2000 Sampler
Which OS you are using (output of 'lsb_release -a'): piscsi/v24.04.01 image used

Describe the issue
PiSCSI works perfectly with Akai S1000 and EMU ESI2000 for both hard disk and CD-ROM drives - please update the Wiki for sampler compatibility thank you

I have updated https://github.com/PiSCSI/piscsi/wiki/PiSCSI-for-Hardware-Samplers with this information, thank you!


arm?

Hello,
could it be possible to get an appimage for arm64 in order to be able to install element on pinephone, pinetab and so on...
Regards,

I wish to, I build the appimages on GitHub Actions; which does not provide arm machines (other than self hosted containers). I will try to find some virtualization / QEMU

Ok, I am all good, ready for ARM builds, having some success with building some electron apps on ARM. That would make this going soon.  I apologize for the delay, I was out of credits for my VPS, which was delaying some testing, I was looking for some sponsors recently. :innocent:

Can't wait for it.

@srevinsaju did you manage to make element work on arm?
Here, someone seems to explain how to do it : https://github.com/vector-im/element-web/issues/6153

Sorry for keeping it too delayed, its over half a year, and I really apologize. I have begun work on it here: https://github.com/srevinsaju/element-appimage/pull/4

Hello,
Did you manage to make it work?


Create 000000-01-02-noelesteban.md

Add my file
I have created a branch, i have created e file and i have made a commit, and i have opened a pull request, i think there is something wrong with this instruction.

I was a little bit confuse cause i didn't know what i was really doing but i did it.


[ruff] Implement unnecessary-regular-expression (RUF055)

Summary

This is a limited implementation of the rule idea from #12283 to replace some uses of the re module with str method calls. A few of the examples given there:
re.sub("abc", "", s)  # => s.replace("abc", "")
re.match("abc", s)  # => s.startswith("abc")
re.search("abc", s)  # => "abc" in s
re.fullmatch("abc", s) # => "abc" == s
re.split("abc", s)  # => s.split("abc")

For this initial implementation, I've restricted the rule to string literals in the pattern argument to each of the re functions and further restricted these string literals to exclude any re metacharacters. Each of the re functions takes additional kwargs that change their behavior, so the rule doesn't apply when these are present either. re.sub can also take a function as the replacement argument (unlike str.replace, which expects another str), so the rule is also restricted to cases where that argument is also a string literal. Finally, match, search, and fullmatch return Match objects unlike the proposed fixes, so the rule only applies when these are used in a boolean test for their truth values. For example,
if re.match("abc", s):
    pass

would trigger the rule, but the plain re.match("abc", s) call above would not because the returned Match could be used. I think this is probably a fairly common use case, so the rule can still be useful even with these restrictions.
The limitations around Match seem necessary, but some of the other restrictions can probably be loosened. For example, the sub replacement doesn't have to be a string literal, but it does need to be a string or at the very least not a function. Similarly, the patterns themselves could be plain str variables, but we need to inspect them for regex metacharacters. I didn't find a way to do that for non-literal strings, but if I missed it, that would be an easy improvement.
I think these checks can also be directly extended to the regex package. I saw unraw-re-pattern (RUF039), for example, handles both re and regex, but I only handled re for now.
Test Plan

cargo test with new RUF055.py snapshot test.
Possible related rule
Right before submitting this, I tried running RUF055.py with python, and it crashed with a ValueError: cannot use LOCALE flag with a str pattern. That would be an easy thing to check with very similar code to what I have here.

@dosisod This seems like it would be a good 'refurb' rule.

Thank you both for the great reviews! I think I've incorporated all of the suggestions, with the exception of handling simple escapes like \n. I want to search around a bit for how escapes are handled elsewhere in the code, but if nothing else, it shouldn't be that hard to allow a few common escapes like \n at least. I'm also happy to leave that as a follow-up though.
Similarly, I'm quite interested in the is_str idea, but I agree that that should be separate. I'll plan to look into that next.


Add Gaussian Fitter

I've added a Gaussian function, and also did a quick spell check on the documentation (it was mostly that application was written as aplication and that was bothering me).
Things to add

[ ] Change which is the peak depending on who has a higher y-axis
[ ] Add restrictions

I think besides the restrictions who will be their own thing, this should properly work


System.IO.IOException: The filename, directory name, or volume label syntax is incorrect. on OSX

Type : Bug
NLog version: 5.0.0-beta04
Platform: .NET Core (osx.10.11-x64)
Current NLog config (xml or C#, if relevant)
using System;
using System.IO;
using NLog;
using NLog.Config;
using NLog.Targets;

namespace NLogConsoleApp
{
    internal class Program
    {
        public static void Main(string[] args)
        {
            var logger = GetLogger();

            var files = Directory.GetFiles("/Users/richard/Documents");

            foreach (string file in files)
            {
                Console.WriteLine(file);
                logger.Info(file);
            }
        }

        private static Logger GetLogger()
        {
            var config = new LoggingConfiguration();
            var fileTarget = new FileTarget();
            config.AddTarget("file", fileTarget);

            fileTarget.FileName = Path.Combine("/Users/richard/Documents", "logs.log");
            fileTarget.Layout = "${message}";
            var rule = new LoggingRule("*", LogLevel.Trace, fileTarget);
            config.LoggingRules.Add(rule);
            LogManager.Configuration = config;
            LogManager.ThrowExceptions = true;

            return LogManager.GetCurrentClassLogger();
        }
    }
}

Hi!
On OSX I am unable to use a FileTarget as a System.IO.IOException: The filename, directory name, or volume label syntax is incorrect. exception is thrown.
Unhandled Exception: System.IO.IOException: The filename, directory name, or volume label syntax is incorrect.

   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.Threading.Mutex.MutexTryCodeHelper.MutexTryCode(Object userData)
   at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData)
   at System.Threading.Mutex.CreateMutexWithGuaranteedCleanup(Boolean initiallyOwned, String name, Boolean& createdNew, SECURITY_ATTRIBUTES secAttrs)
   at NLog.Internal.FileAppenders.RetryingMultiProcessFileAppender.CreateArchiveMutex()
   at NLog.Internal.FileAppenders.RetryingMultiProcessFileAppender.Factory.NLog.Internal.FileAppenders.IFileAppenderFactory.Open(String fileName, ICreateFileParameters parameters)
   at NLog.Internal.FileAppenders.FileAppenderCache.AllocateAppender(String fileName)
   at NLog.Targets.FileTarget.WriteToFile(String fileName, LogEventInfo logEvent, Byte[] bytes, Boolean justData)
   at NLog.Targets.FileTarget.ProcessLogEvent(LogEventInfo logEvent, String fileName, Byte[] bytesToWrite)
   at NLog.Targets.Target.Write(AsyncLogEventInfo logEvent)
   at NLog.Targets.Target.WriteAsyncThreadSafe(AsyncLogEventInfo logEvent)
   at NLog.Targets.Target.WriteAsyncLogEvent(AsyncLogEventInfo logEvent)
   at NLog.LoggerImpl.WriteToTargetWithFilterChain(TargetWithFilterChain targetListHead, LogEventInfo logEvent, AsyncContinuation onException)
   at NLog.LoggerImpl.Write(Type loggerType, TargetWithFilterChain targets, LogEventInfo logEvent, LogFactory factory)
   at NLogConsoleApp.Program.Main(String[] args)

The above code sample recreates the issue. On Windows, this works as expected once I have updated the path to point to my Documents folder. I am also printing the contests of the directory to the console to make sure it wasn't related to .net having problems reading the unix folder path.
Please let me know if you require anything else.
-- Rich

Could you post full the internal log? (trace level). Thanks !

Probably the same bug again, that has sneaked in again after the merge: #1737 (See the new BaseMutexFileAppender.cs):

       canonicalName = canonicalName.Replace('\\', '/');

       canonicalName = canonicalName.Replace('\\', '_');

       canonicalName = canonicalName.Replace('/', '_');

I have tried to get the internal log, its not very informative.
dotnet run
Project NLogConsoleApp (.NETCoreApp,Version=v1.0) was previously compiled. Skipping compilation.
2016-12-30 19:18:16.3156 Debug Targets for Program by level:
2016-12-30 19:18:16.3200 Debug Trace =>
2016-12-30 19:18:16.3200 Debug Debug =>
2016-12-30 19:18:16.3200 Debug Info =>
2016-12-30 19:18:16.3200 Debug Warn =>
2016-12-30 19:18:16.3200 Debug Error =>
2016-12-30 19:18:16.3200 Debug Fatal =>
/Users/richard/Documents/.DS_Store
2016-12-30 19:18:16.3427 Error Error has been raised. Exception: System.IO.IOException: The filename, directory name, or volume label syntax is incorrect.

   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.Threading.Mutex.MutexTryCodeHelper.MutexTryCode(Object userData)
   at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData)
   at System.Threading.Mutex.CreateMutexWithGuaranteedCleanup(Boolean initiallyOwned, String name, Boolean& createdNew, SECURITY_ATTRIBUTES secAttrs)
   at NLog.Internal.FileAppenders.RetryingMultiProcessFileAppender.CreateArchiveMutex()
   at NLog.Internal.FileAppenders.RetryingMultiProcessFileAppender.Factory.NLog.Internal.FileAppenders.IFileAppenderFactory.Open(String fileName, ICreateFileParameters parameters)
   at NLog.Internal.FileAppenders.FileAppenderCache.AllocateAppender(String fileName)
   at NLog.Targets.FileTarget.WriteToFile(String fileName, LogEventInfo logEvent, Byte[] bytes, Boolean justData)
   at NLog.Targets.FileTarget.ProcessLogEvent(LogEventInfo logEvent, String fileName, Byte[] bytesToWrite)
   at NLog.Targets.Target.Write(AsyncLogEventInfo logEvent)

Unhandled Exception: System.IO.IOException: The filename, directory name, or volume label syntax is incorrect.

   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.Threading.Mutex.MutexTryCodeHelper.MutexTryCode(Object userData)
   at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData)
   at System.Threading.Mutex.CreateMutexWithGuaranteedCleanup(Boolean initiallyOwned, String name, Boolean& createdNew, SECURITY_ATTRIBUTES secAttrs)
   at NLog.Internal.FileAppenders.RetryingMultiProcessFileAppender.CreateArchiveMutex()
   at NLog.Internal.FileAppenders.RetryingMultiProcessFileAppender.Factory.NLog.Internal.FileAppenders.IFileAppenderFactory.Open(String fileName, ICreateFileParameters parameters)
   at NLog.Internal.FileAppenders.FileAppenderCache.AllocateAppender(String fileName)
   at NLog.Targets.FileTarget.WriteToFile(String fileName, LogEventInfo logEvent, Byte[] bytes, Boolean justData)
   at NLog.Targets.FileTarget.ProcessLogEvent(LogEventInfo logEvent, String fileName, Byte[] bytesToWrite)
   at NLog.Targets.Target.Write(AsyncLogEventInfo logEvent)
   at NLog.Targets.Target.WriteAsyncThreadSafe(AsyncLogEventInfo logEvent)
   at NLog.Targets.Target.WriteAsyncLogEvent(AsyncLogEventInfo logEvent)
   at NLog.LoggerImpl.WriteToTargetWithFilterChain(TargetWithFilterChain targetListHead, LogEventInfo logEvent, AsyncContinuation onException)
   at NLog.LoggerImpl.Write(Type loggerType, TargetWithFilterChain targets, LogEventInfo logEvent, LogFactory factory)
   at NLogConsoleApp.Program.Main(String[] args)

This is the whole console output.
-- Rich

Probably the same bug, that has sneaked in again after the 4.4 merge: #1737 (See the new BaseMutexFileAppender.cs that doesn't remove all slashes):

Oops. Sounds like the problem. Didn't checked yet. Will have more time next year ;)

I was hoping to fix and PR this today. It looks like I would want to branch and PR on the CoreCLR branch, is that correct?

that's correct!  (well coreCLR with lower c, as git is case sensitive)
See https://github.com/NLog/NLog/pull/1160
Thanks in advance!

Should be fixed in https://www.nuget.org/packages/NLog/5.0.0-beta05-test
Could you please test it? Thanks!

We have the same issue with AWS linux instances. Our application cannot write logs to the file.
Waiting for the fixed version.

I checked https://www.nuget.org/packages/NLog/5.0.0-beta05-test
Don't know what else has to be checked, but at least the logs are in the file now. Thanks!
Will use this package until there is something more official in place.

The non test is the replacement ;) (same code)

Tested this earlier it works, I just didn't get around to commenting before the issue was closed. Thanks

Thanks for the feedback. Also thanks to @snakefoot for the code for the fix ! :)))


Support for starting without epmd

We had previously noticed that the epmd process was left running on user systems after the CLI exited, and we have a workaround in the elixir application's release to start without epmd (OTP 23+):

Create a rel/env.bat.eex, rel/env.sh.eex which set RELEASE_DISTRIBUTION=none
Create a rel/vm.args.eex to set -start_epmd false

Perhaps this is something we can support in Burrito via configuration to the wrapper.

I wonder if we should default to starting epmd or default to NOT starting epmd

Step 2 may not be necessary. -start_epmd only has an effect if the release has a name. :)


OutputCommitCoordinator should be resilient to task failures

Added a test and tracking for any failed tasks.
@ash211 @onursatici @robert3005

Wanna upstream this beauty?

https://github.com/apache/spark/pull/16959


As a end user: Export view on instances (with csv export + spec field to show as column)

In instance view add a button that redirect to a page where the user can select a filter (he can save his filters).
The filter is a form where the user can select the columns he want to see as spec field. E.G: dns_name.
The page would show instances + dynamically created column with instance spec
The user can export the table as csv

Another possible approach:
Add a button from instance list page: "Export" which is a dropdown with current view + list all template + create template button.
create template available from extra menu
Model: instance_export_template linked to profile

name
user_spec
admin_spec
all instance attribute by default in the table