TSIG on Transfer.Out()?

I am writing a DNS server that will mostly just handle zone transfers (AXFR and IXFR).
I am having trouble on the TSIG part. Is it possible to send the TSIG record using the Transfer.Out() interface?
Thanks in advance

Did you work this out?

I'm closing this as I assume it's gone stale. Please reopen if I'm mistaken.

Hi, sorry for the delay.
Actually, I couldn't make it work the TSIG part with the Transfer.Out interface, so I simply started sending the response packets the usual way, with WriteMsg(msg)

That won't work with multiple envelope axfr messages. I think you got lucky.
On Tue, 10 Jul 2018, 18:20 cesarkuroiwa<EMAIL_ADDRESS>wrote:

Hi, sorry for the delay.
Actually, I couldn't make it work the TSIG part with the Transfer.Out
interface, so I simply started sending the response packets the usual way,
with WriteMsg(msg)
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/miekg/dns/issues/644#issuecomment-403900954, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAVkW_lwdRs5ytcQO9AesEy7EGFmeEQhks5uFOJdgaJpZM4Ssj7u
.


Build errors

angular-cli: 1.0.0-beta.26
node: 7.4.0
os: darwin x64
@angular/common: 2.4.7
@angular/compiler: 2.4.7
@angular/core: 2.4.7
@angular/forms: 2.4.7
@angular/http: 2.4.7
@angular/platform-browser: 2.4.7
@angular/platform-browser-dynamic: 2.4.7
@angular/router: 3.4.7
@angular/compiler-cli: 2.4.7
angular2-markdown 1.3.10
I get the following errors when trying to build:
ERROR in Error encountered resolving symbol values statically. Calling function 'MarkdownModule', function calls are not supported. Consider replacing the function or lambda with a reference to an exported function, resolving symbol AppModule in ......

I am also seeing this error after upgrading to @angular/cli@latest.  Any help is appreciated!
@angular/cli: 1.0.0-beta.32.3
node: 7.3.0
os: win32 x64
@angular/cli: 1.0.0-beta.32.3
@angular/common: 2.4.8
@angular/compiler: 2.4.8
@angular/compiler-cli: 2.4.8
@angular/core: 2.4.8
@angular/forms: 2.4.8
@angular/http: 2.4.8
@angular/platform-browser: 2.4.8
@angular/platform-browser-dynamic: 2.4.8
@angular/router: 3.4.8
angular2-markdown 1.3.10

upgrade package to 1.3.15
use without forRoot
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { MarkdownModule } from 'angular2-markdown';
import { AppComponent } from '../src/app.component';
@NgModule({
imports: [
BrowserModule,
MarkdownModule,
],
declarations: [AppComponent],
bootstrap: [AppComponent],
})

Thanks, I will give that try.  Appreciate the help!
On Wed, Feb 22, 2017 at 2:36 AM Dimpu Aravind Buddha <
<EMAIL_ADDRESS>wrote:

upgrade package to 1.3.15
use without forRoot
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { MarkdownModule } from 'angular2-markdown';
import { AppComponent } from '../src/app.component';
@NgModule https://github.com/NgModule({
imports: [
BrowserModule,
MarkdownModule,
],
declarations: [AppComponent],
bootstrap: [AppComponent],
})
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/dimpu/angular2-markdown/issues/30#issuecomment-281632006,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AGOqnHuJWeRPvboJEnVS1qlK2JT5trPFks5rfA_IgaJpZM4MGcb4
.

--
Sean
<EMAIL_ADDRESS>

I tried the suggested fix, upgrading to angular2-markdown v1.3.15 (after uninstalling previous version and cleaning the npm cache I installed the specific commit directly from github), and removing the 'forRoot()' call from the module import.
It seems that the original error is gone but now I have a new error.  Please let me know if I've done something incorrectly.
ERROR in MarkdownModule is not an NgModule
Package versions:
<EMAIL_ADDRESS>C:\Users\Sean\Projects\Platform
+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>(git+https://github.com/dimpu/angular2-markdown.git#d38045d46592abd43364a19043f5c90c3751d3d5)
+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>`--<EMAIL_ADDRESS>

can you try this steps.
if you using

ng new project1
npm i angular2-markdown --save

import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';

import { MarkdownModule } from 'angular2-markdown';
import { AppComponent } from '../src/app.component';

@NgModule({
  imports: [
    BrowserModule,
    MarkdownModule.forRoot(),
  ],
  declarations: [AppComponent],
  bootstrap: [AppComponent],
})

I rewrote the complete build system. Please check new readme  doc. @ https://github.com/dimpu/angular2-markdown

Creating a new project and installing angular2-markdown latest (1.3.21)
worked for me.  Thank you so much for the help!
On Thu, Feb 23, 2017 at 10:55 PM Dimpu Aravind Buddha <
<EMAIL_ADDRESS>wrote:

I rewrote the complete build system. Please check new readme doc. @
https://github.com/dimpu/angular2-markdown
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/dimpu/angular2-markdown/issues/30#issuecomment-282218859,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AGOqnD30WVyV7uVgFql3i464ytNPl2Ehks5rfn7MgaJpZM4MGcb4
.

--
Sean
<EMAIL_ADDRESS>


Improve instructions

Improved instructions for:

Temporarily move pagefile.sys to C drive
Move pagefile.sys back to the temporary storage drive

@AzureMentor : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Looks good; thanks for the word fix @AzureMentor.


[Bug]: "Unexpected" error when adding multi page extension

Please confirm that you have:

[X] Searched existing issues to see if your issue is a duplicate. (If you’ve found a duplicate issue, feel free to add additional information in a comment on it.)
[X] Reproduced the issue in the latest CLI version.

In which of these areas are you experiencing a problem?
Extension
Expected behavior
I expected that when following https://shopify.dev/docs/apps/build/checkout/best-practices/create-multi-page-extensions#post-purchase that I'd be able to create an extension which is present in two injection points.
Actual behavior
I received an error saying:
✘ [ERROR] Unexpected "thankYouRender"

extensions/post-purchase-ui/src/PostPurchase.tsx:20:7:
20 export thankYouRender;
╵ ~~~~~~~~~~~~~~

Verbose output
$ yarn --verbose run deploy
yarn run v1.22.22
verbose 0.151983541 Checking for configuration file "/Users/ed.hartwellgoose/OtherProjects/shopify/mention-me/.npmrc".
verbose 0.152149 Found configuration file "/Users/ed.hartwellgoose/OtherProjects/shopify/mention-me/.npmrc".
verbose 0.15228175 Checking for configuration file "/Users/ed.hartwellgoose/.npmrc".
verbose 0.152344375 Checking for configuration file<EMAIL_ADDRESS>verbose 0.152497041 Checking for configuration file "/Users/ed.hartwellgoose/OtherProjects/shopify/mention-me/.npmrc".
verbose 0.152615791 Found configuration file "/Users/ed.hartwellgoose/OtherProjects/shopify/mention-me/.npmrc".
verbose 0.152726833 Checking for configuration file "/Users/ed.hartwellgoose/OtherProjects/shopify/.npmrc".
verbose 0.152862208 Checking for configuration file "/Users/ed.hartwellgoose/OtherProjects/.npmrc".
verbose 0.152913041 Checking for configuration file "/Users/ed.hartwellgoose/.npmrc".
verbose 0.153033791 Checking for configuration file "/Users/.npmrc".
verbose 0.153803583 Checking for configuration file "/Users/ed.hartwellgoose/OtherProjects/shopify/mention-me/.yarnrc".
verbose 0.153863625 Checking for configuration file "/Users/ed.hartwellgoose/.yarnrc".
verbose 0.154018958 Found configuration file "/Users/ed.hartwellgoose/.yarnrc".
verbose 0.154127958 Checking for configuration file<EMAIL_ADDRESS>verbose 0.154201333 Checking for configuration file "/Users/ed.hartwellgoose/OtherProjects/shopify/mention-me/.yarnrc".
verbose 0.1542435 Checking for configuration file "/Users/ed.hartwellgoose/OtherProjects/shopify/.yarnrc".
verbose 0.154278083 Checking for configuration file "/Users/ed.hartwellgoose/OtherProjects/.yarnrc".
verbose 0.154325916 Checking for configuration file "/Users/ed.hartwellgoose/.yarnrc".
verbose 0.154381041 Found configuration file "/Users/ed.hartwellgoose/.yarnrc".
verbose 0.1544815 Checking for configuration file "/Users/.yarnrc".
verbose 0.155814083 current time: 2024-06-05T17:57:32.112Z
$ shopify app deploy
╭─ info ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│                                                                                │
│  Using .env:                                                                                │
│                                                                                │
│    • Org:             Mention Me Ltd                                                                                │
│    • App:             mention-me                                                                                │
│    • Include config:  Yes                                                                                │
│                                                                                │
│   You can pass `--reset` to your command to reset your app configuration.                                                                 │
│                                                                                │
╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯

?  Release a new version of mention-me?
✔  Yes, release this new version

Releasing a new app version as part of mention-me

checkout-journey │ Bundling UI extension checkout-journey...
post-purchase-ui │ Bundling UI extension post-purchase-ui...

✘ [ERROR] Unexpected "thankYouRender"

    extensions/post-purchase-ui/src/PostPurchase.tsx:20:7:
      20 │ export thankYouRender;
         ╵        ~~~~~~~~~~~~~~

╭─ error ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│                                                                                │
│  Build failed with 1 error:                                                                                │
│  extensions/post-purchase-ui/src/PostPurchase.tsx:20:7: ERROR: Unexpected "thankYouRender"                                                │
│                                                                                │
│  To investigate the issue, examine this stack trace:                                                                                │
│    at (extensions/post-purchase-ui/src/PostPurchase.tsx:20)                                                                               │
│    at failureErrorWithLog (esbuild/lib/main.js:1650)                                                                                │
│    at (esbuild/lib/main.js:1058)                                                                                │
│    at runOnEndCallbacks (esbuild/lib/main.js:1485)                                                                                │
│    at buildResponseToResult (esbuild/lib/main.js:1056)                                                                                │
│    at (esbuild/lib/main.js:1068)                                                                                │
│    at new Promise                                                                                │
│    at on-end (esbuild/lib/main.js:1067)                                                                                │
│    at handleRequest (esbuild/lib/main.js:731)                                                                                │
│    at handleIncomingPacket (esbuild/lib/main.js:756)                                                                                │
│    at readFromStdout (esbuild/lib/main.js:679)                                                                                │
│                                                                                │
╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯

    Error: Build failed with 1 error:
    extensions/post-purchase-ui/src/PostPurchase.tsx:20:7: ERROR: Unexpected "thankYouRender"
verbose 8.461980041 Error: Command failed with exit code 1.
    at ProcessTermError.ExtendableBuiltin (/Users/ed.hartwellgoose/.cache/node/corepack/yarn/1.22.22/lib/cli.js:721:66)
    at ProcessTermError.MessageError (/Users/ed.hartwellgoose/.cache/node/corepack/yarn/1.22.22/lib/cli.js:750:123)
    at new ProcessTermError (/Users/ed.hartwellgoose/.cache/node/corepack/yarn/1.22.22/lib/cli.js:790:113)
    at /Users/ed.hartwellgoose/.cache/node/corepack/yarn/1.22.22/lib/cli.js:34408:30
    at Generator.throw (<anonymous>)
    at step (/Users/ed.hartwellgoose/.cache/node/corepack/yarn/1.22.22/lib/cli.js:310:30)
    at /Users/ed.hartwellgoose/.cache/node/corepack/yarn/1.22.22/lib/cli.js:323:13
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

Reproduction steps

Create an extension.
Make two injection points as per the article above.
Try and run yarn run deploy

Example code:
From PostPurchase.tsx:
const thankYouRender = reactExtension(
	"purchase.thank-you.block.render",
	() => <Extension />
);
export thankYouRender;

const orderStatusRender = reactExtension(
	"customer-account.order-status.block.render",
	() => <Extension />
);
export orderStatusRender;

And from shopify.extension.toml:
[[extensions.targeting]]
module = "./src/PostPurchase.tsx"
target = "purchase.thank-you.block.render"
export = "thankYouRender"

[[extensions.targeting]]
module = "./src/PostPurchase.tsx"
target = "customer-account.order-status.block.render"
export = "orderStatusRender"

These are the only things I've changed from the working app.
The working app has this instead:
PostPurchase.tsx - note the default and the removal of orderStatusRender:
const thankYouRender = reactExtension(
	"purchase.thank-you.block.render",
	() => <Extension />
);
export default thankYouRender;

And in shopify.extension.toml - note the absence of the order status block
[[extensions.targeting]]
module = "./src/PostPurchase.tsx"
target = "purchase.thank-you.block.render"
export = "thankYouRender"

Operating System
Mac OS Sonoma 14.5
Shopify CLI version (check your project's package.json if you're not sure)
@shopify/cli/3.61.0 darwin-arm64 node-v18.19.0
Shell
iTerm2
Node version (run node -v if you're not sure)
v18.19.0
What language and version are you using in your application?
Typescript

This looks like an issue with the export statements in the sample code in our docs. The export should be alongside the variable definition or as a separate export. I confirmed that changing to one of these two resolves the issue.
// export at the definition
export const thankYouRender = reactExtensions("...
export const orderDetailsRender = reactExtensions("...

// or export as a separate object
const thankYouRender = reactExtensions("...
const orderDetailsRender = reactExtensions("...

export {thankYouRender, orderDetailsRender}

I think we should update these docs with the correct syntax so that it is correct, but we planned to move away from this way of exporting multiple targets in favor of a single target per extension file

Since this is not a CLI issue and is already being tracked in https://github.com/Shopify/ui-extensions/issues/2004 i'll be closing this issue.
Feel free to open a new one if you find any issue with the CLI!

Hi @isaacroldan - I was being a bit cheeky in asking the question about https://github.com/Shopify/ui-extensions/issues/2004 here. I had a response here, and saw there was no response over there so hoped to attract the attention of someone.
I'd argue this issue (the original one, about the unexpected error) is still an issue, and the documentation in the link above is incorrect.
Could we keep it open until the issue is resolved?

Hi @edhgoose! You are right, sorry about that, i was able to reproduce the original issue.
I'll pass this to the appropriate team so that they can update the docs.
The correct way to make the export is:
export {thankYouRender};

Docs have been updated @edhgoose
https://shopify.dev/docs/apps/build/checkout/create-multi-page-extensions

Thanks @isaacroldan !


FormBuilderSlider division by 20 gives 55.00000000000001 instead of 55

As the title says, the FormBuilderSlider widget gives a really long float back when using divisions: 20 whereas I would expect it to be just 55.
FormBuilderSlider(
    name: text,
    initialValue: 0.0,
    divisions: 20,
    onChanged: (value) {
      _formKey.currentState?.save;
      print(_formKey.currentState?.fields[text]?.value);
    },
    min: 0,
    max: 100,
  ),

Screenshot:

This is a error on Slider widget. Can see more in this issue https://github.com/flutter/flutter/issues/39510.
When Flutter solve this error and release this fix, we update to this Flutter version
A workaround, can be use a round value when read


Capture Information aboute Sockets/Symlinks on the system

This probably requires a rewrite of DirectoryWalker to return an Enumerable of Paths rather than FileInfo objects.
In particular handling sockets and symlinks on linux/Mac OS is tricky because some of them will hang the program after you instantiate a FileInfo on them.  For now we completely skip them, because the return value from DirectoryWalker is an Enumerable but you can't make a FileInfo for these files/records.
Proposal: Rewrite DirectoryWalker to return Enumerable of paths. Move the logic to turn a path into a fileinfo (when required) in FileSystemCollector (or FileSystemInfo to FileSystemObject) or with FileSystemPathToFileSystemObject.
Here's the other flags a Unix File can have:
switch (i.FileType)
{
    case FileTypes.SymbolicLink:
    case FileTypes.Fifo:
    case FileTypes.Socket:
    case FileTypes.BlockDevice:
    case FileTypes.CharacterDevice:
    case FileTypes.Directory:
        break;
    case FileTypes.RegularFile:
        fileInfo = new FileInfo(file);
        break;
}

#336 #331 Are both related to this, part of the fix to those issues is the current skip logic above.

This

a rewrite of DirectoryWalker to return an Enumerable of Paths rather than FileInfo objects.

May also result in a minor performance increase as the processing (and exception catching) that currently occurs in DirectoryWalker (single threaded) would instead occur outside (multithreaded)


Uhh... Bugged cursor... I guess?

Please read the prerequisites to run scrcpy.
Also read the FAQ and check if your issue already exists.
Environment

OS: Windows 11 x64 Home
Scrcpy version: Latest (2.6.1)
Installation method: ZIP
Device model: RedMi 13 Note Pro+ 5G (23090RA98G)
Android version: HyperOS (<IP_ADDRESS>.UNOEUXM) / Android 14 UP1A.231005.007 / Patch 2024-04-01

Describe the bug
A clear and concise description of what the bug is.
I dunno, what I'm looking at, except an error, when I move my cursor in the window.
On errors, please provide the output of the console (and adb logcat if relevant).
See Log.txt (File removed)
Please do not post screenshots of your terminal, just post the content as text instead.

https://github.com/Genymobile/scrcpy#prerequisites

For some reason, I never saw THAT option.
Good to know.
Marking as solved.
Log-file has been removed.


ovs: change update strategy to RollingUpdate

[x] Make sure you have followed Kube-OVN Code Style.

What type of this PR

Enhancement

How this PR works
When ovs-ovn exits, the shell script checks whether there is a newer daemonset revision(compared to itself). If a newer
revision is found, the ovsdb-server/ovs-vswitchd/ovn-controller created by this pod will not be stopped. Instead, these processes will be stopped later by the pod with a newer revision.
NOTICE
This patch requires the feature gate DaemonSetUpdateSurge.

Feature
Default
Stage
Since
Until

DaemonSetUpdateSurge
false
Alpha
1.21
1.21

DaemonSetUpdateSurge
true
Beta
1.22
1.24

DaemonSetUpdateSurge
true
GA
1.25
-

$ kubectl -n kube-system get po -l app=ovs -o wide -w
NAME            READY   STATUS              RESTARTS   AGE   IP           NODE
ovs-ovn-crk7c   1/1     Running             0          40s   <IP_ADDRESS>   kube-ovn-control-plane
ovs-ovn-f4q62   1/1     Running             0          40s   <IP_ADDRESS>   kube-ovn-worker
ovs-ovn-gtn6s   0/1     Pending             0          0s    <none>       <none>
ovs-ovn-gtn6s   0/1     Pending             0          0s    <none>       kube-ovn-worker
ovs-ovn-nk9hc   0/1     Pending             0          0s    <none>       <none>
ovs-ovn-nk9hc   0/1     Pending             0          0s    <none>       kube-ovn-control-plane
ovs-ovn-gtn6s   0/1     ContainerCreating   0          0s    <IP_ADDRESS>   kube-ovn-worker
ovs-ovn-nk9hc   0/1     ContainerCreating   0          0s    <IP_ADDRESS>   kube-ovn-control-plane
ovs-ovn-nk9hc   0/1     Running             0          1s    <IP_ADDRESS>   kube-ovn-control-plane
ovs-ovn-gtn6s   0/1     Running             0          2s    <IP_ADDRESS>   kube-ovn-worker
ovs-ovn-gtn6s   1/1     Running             0          11s   <IP_ADDRESS>   kube-ovn-worker
ovs-ovn-f4q62   1/1     Terminating         0          54s   <IP_ADDRESS>   kube-ovn-worker
ovs-ovn-nk9hc   1/1     Running             0          11s   <IP_ADDRESS>   kube-ovn-control-plane
ovs-ovn-crk7c   1/1     Terminating         0          54s   <IP_ADDRESS>   kube-ovn-control-plane
ovs-ovn-f4q62   0/1     Terminating         0          61s   <IP_ADDRESS>   kube-ovn-worker
ovs-ovn-f4q62   0/1     Terminating         0          61s   <IP_ADDRESS>   kube-ovn-worker
ovs-ovn-f4q62   0/1     Terminating         0          61s   <IP_ADDRESS>   kube-ovn-worker
ovs-ovn-crk7c   0/1     Terminating         0          61s   <IP_ADDRESS>   kube-ovn-control-plane
ovs-ovn-crk7c   0/1     Terminating         0          61s   <IP_ADDRESS>   kube-ovn-control-plane
ovs-ovn-crk7c   0/1     Terminating         0          61s   <IP_ADDRESS>   kube-ovn-control-plane

Need to consider how we can upgrade from previous versions


Terminal - caret is not blinking (gets frozen)

VSCode Version: 1.21.0-ins
OS Version: win7x64

When you change a terminal from one to another - the caret (vertical line) gets frozen, not blinking.
Clicks inside of terminal or typing the text - would not help with it.
What will help - to click, for example, on the tab "Terminal"... or focus on another app of your OS and come back.

It confuses, cause it looks like the terminal got lagged.

I cannot seem to reproduce. I'm guessing this was caused when by the terminal splitting refactors. Let me know if it still happens in latest.

@Tyriar
yes, now it's gone.


[call_tf] implementation of batching rule for vmap

Hi,
I'm trying to use call_tf in combination with jacrev and hence vmap. The primitive_batcher of type call_tf_p is not implemented. I tried to modify the source code of jax/experimental/jax2tf/call_tf.py by adding the generic broadcaster batching.defbroadcasting(call_tf_p) but this doesn't work (wrong result for vmap, error for jacrev).
I'm not sure how to finish this as I'm not familiar with the internals of jax:
def _tf_batcher(args, dims, callable_flat_tf, function_flat_tf, args_flat_sig_tf, **params):
    flat_shape = np.array(args_flat_sig_tf[0].shape)
    ## do smthg, probably call bind as many times with slice according to batched dim
    call_tf_p.bind(args, callable_flat_tf=callable_flat_tf)

batching.primitive_batchers[call_tf_p] = _tf_batcher

As a test case, I'd would like this tensorflow roundtrip code to work as expected.
import jax
import jax.numpy as jnp
import numpy as np
import tensorflow as tf
from jax import jacrev, jit, vmap
from jax.experimental import jax2tf

def test_call_tf_batcher():

    @jit
    def f(x):
        return jnp.sum(x * x)

    f_rt = jax2tf.call_tf(jax2tf.convert(f, with_gradient=True))

    x = np.random.random((7))
    y = np.random.random((5, 7))

    # test f==f_rt

    print(f"{f(x)}, {f_rt(x)}")
    print(f"{jax.grad(f)(x)}, {jax.grad(f_rt)(x)}")

    # test vmap
    f_rt_v = vmap(f_rt)
    f_v = vmap(f)
    print(f"{f_v(y)} == {f_rt_v(y)}")

    # test jacobian
    j = jacrev(f)
    j_rt = jacrev(f_rt)
    print(f"{j(x)} == {j_rt(x)}")

if __name__ == "__main__":
    test_call_tf_batcher()

Any help would be greatly appreciated

In general, it is not possible to add a proper batching rule for call_tf because the called function can in principle be an arbitrary TF function for which one cannot define a generic batching rule (except perhaps by running the function in a loop). Even in the case when the called function originates from JAX, by the time it gets to call_tf the function has been staged out to HLO so it is not possible to use the JAX batching rules anymore.
For a round-trip to TF, you have to apply the vmap before converting to TF.
What is the use case for which you want to do a round trip through TensorFlow?

I don't really need a round trip, just code to convert a tensorflow function to to jax function f: R^(nx3)->R^m   (i.e a m dimensional function of n 3d molecular coordinates). I need the jacobian matrix. I've mnaged to implement the batching procedure as a loop:
def loop_batcher(prim, args, dims,  **params):

    # determine new axis size
    for ni, di in enumerate(dims):
        if di is not None:
            axis_size = args[ni].shape[di]
            break

    # generate combination of indices for different arguments
    args_indices = []
    for xi, ia in zip(args, dims):

        xs = xi.shape
        indices = [Ellipsis if i !=
                   ia else None for i, _ in enumerate(xs)]

        l = []
        for i in range(axis_size):
            if ia is not None:
                indices[ia] = i

            l.append(tuple(indices))
        args_indices.append(l)

    # apply function
    out = []
    for inds in list(zip(*args_indices),):
        outp = prim.bind(*[a[b] for a, b in zip(
            args, inds)], **params)
        if not isinstance(outp, Iterable):
            outp = tuple((outp,))
        out.append(outp)

    ret = []

    # collect output in arrays
    for out_args in list(zip(*out)):
        val = jax.numpy.hstack(out_args)
        val = jax.numpy.reshape(val,  (axis_size,  *out_args[0].shape))

        ret.append(val)

    return (ret,  (0,)*len(ret))

batching.primitive_batchers[call_tf_p] = functools.partial(
    loop_batcher, call_tf_p)

Below the testing code
import jax.numpy as jnp
import numpy as np
from jax import grad, jacrev, jit, vmap
from jax.experimental import jax2tf

def test_call_tf_batcher():

    @jit
    def f(x):
        return jnp.array([jnp.sum(x * x),  jnp.product(x)])

    f_t = jax2tf.call_tf(jax2tf.convert(f, with_gradient=True))

    x = np.random.random((7))
    y = np.random.random((5, 7))

    print(f"||f(x) - f_t(x)||_2 = { jnp.linalg.norm( f(x)-f_t(x) )  }")

    # test vmap
    f_v = jit(vmap(f))
    f_v_t = jit(vmap(f_t))

    print(f"||f(y) - f_t(y)||_2 = { jnp.linalg.norm( f_v(y)-f_v_t(y) )  }")

    j = jit(jacrev(f))
    j_t = jit(jacrev(f_t))

    print(
        f"||jac(f)(x) - jac(f_t)(x)||_2 = { jnp.linalg.norm( j(x)-j_t(x) )  }")

if __name__ == "__main__":
    test_call_tf_batcher()

The code seems to work fine for vmap and joacbian, and it can be jit compiled. In my case the performance penalty is low because the output dimension m is low (2-3). As said before, I don't know the internals of jax so there might still be some errors in my codeax so there might still be some errors in my code. This is quite general (except for ) so it might also be used in other places where batching is not implemented :)

Your solution should work in principle (I have not checked it in all detail), but I do not feel that it is a solution that we want to upstream to JAX because it breaks the expectation that jax.vmap is generally more efficient than running the underlying function repeatedly for all mapped elements.
One thing we could do is to add a reference to this issue and your solution in the documentation of call_tf and let the users decide whether this workaround works for them or not. WDYT?

Seems good to me. Another option would be to add a configurable flag SLOW_TF_VMAP = False. If the flag is not set to True, raise an error within batching function with a link to the right webpage.
p.s. there was a small error in the code, I changed my last post. The code seems to work now for the more complicated problem I tried to solve in the first place :)

In case anyone is interested, I was also looking at this since I wanted to load, run and save JAX models I previously saved to tf SavedModels and repeat that an arbitrary number of times - that is, composing savedmodels. My use case only needs a single batch dimension as the first dimension but may be possible to adapt the code:
@dataclass(eq=True, kw_only=True, order=True, frozen=True)
class _ShapeAndDtype:
    shape: tuple
    dtype: type

# Passthrough batcher for tf saved models. Assumes the first dimension is batched and no other.
def _tf_passthrough_batcher(
    fn: Callable,
    inp: JaxArrayOrMap,
    batched_args: tuple,
    batched_dims: tuple,
    call_tf_graph: bool,
    callable_flat_tf: Callable[[list[TfVal]], Sequence[TfVal]],
    **_kwargs: dict,
) -> tuple:
    assert len(batched_dims) == 1
    assert len(batched_args) == 1
    treedef = jax.tree_structure(inp)
    # Map non-integers to 1 to handle polymorphic inputs, e.g. on save.
    input_shape = tuple([int(v) if isinstance(v, int) else 1 for v in batched_args[0].shape])
    # Force call callable_flat_tf to fill `res_treedef` inside it.
    out = callable_flat_tf(np.zeros(input_shape))  # type: ignore[arg-type]
    assert len(out) == 1
    output_shape: list[int] = list(out[0].shape)
    # Grab value which may be non-integer (polymorphic) from the batch dimension.
    batched_output_shape = (batched_args[0].shape[0], *output_shape[1:])
    # Assumes a single output.
    output_shape_dtype = _ShapeAndDtype(shape=batched_output_shape, dtype=np.float32)
    args = treedef.unflatten(batched_args)
    ret = jax2tf.call_tf(fn, call_tf_graph=call_tf_graph, output_shape_dtype=output_shape_dtype)(
        args
    )
    return ([ret], (0,))

It basically just passes through the batch operation since it assumes that the tf SavedModel you're using has a polymorphic input on the batch dimension (which is true for my use case). You need to invoke it like this:
batching.primitive_batchers[call_tf_p] = functools.partial(_tf_passthrough_batcher, fn, inp)
# call_tf_graph supports polymorphic inputs for saving to a SavedModel.
# But, it does not work for training / running at all, just for saving.
jax2tf.call_tf(fn, call_tf_graph=is_saving)(inp)

There is some additional complication around saving vs running/training a model that contains the loaded SavedModel. For training/running, you want to use eager execution (the default), otherwise it won't work (don't remember the exact reason). For saving, I want to preserve the polymorphic input dimension (batch dimension) - trying to save with eager execution gives an error:
ValueError: Error compiling TensorFlow function (see below for the caught exception).
call_tf can used in a staged context (under jax.jit, lax.scan, etc.) only with compilable functions with static output shapes.
See https://github.com/google/jax/blob/main/jax/experimental/jax2tf/README.md#limitations-of-call_tf for a discussion.

So, you need to use the experimental call_tf_graph flag only for saving the model. This doesn't work with eager execution, since it needs the tensorflow graph object, so we need to disable eager execution when saving and enable call_tf_graph for call_tf:
tf.compat.v1.disable_eager_execution()

Now it is not using eager execution, it needs to access a bunch of tf variables from the saved model we loaded as part of our larger model, but they are not initialized, so when we export using orbax we have to provide the extra trackable tf resources.
jax_module = JaxModule(
    ...,
    {
        "predict": ...
    },
    # Our jax code is polymorphic on the batch size, so let the export do that too.
    input_polymorphic_shape={"predict": "(b, ...)"},
)

serving_configs = [
    ServingConfig(
        ...
        extra_trackable_resources=extra_trackable_resources,
    )
]

The extra trackable resources need to be the variables from the saved tf model we loaded, for example:
self.model.signatures["serving_default"].variables

Then to actually export, we need to set up a tensorflow session with the extra trackable resources, and also the tf variables the jax module needs (e.g. from the larger model we embedded the existing saved model in) initialized:
with tf.compat.v1.Session(
    graph=extra_trackable_resources[0].graph
).as_default() as sess:
    # Run initializers
    if extra_trackable_resources:
        sess.run([v.initializer for v in extra_trackable_resources])
    sess.run([v.initializer for v in jax_module.variables])

    export_mgr = ExportManager(jax_module, serving_configs=serving_configs)
    export_mgr.save(path)

Unfortunately this isn't quite enough because call_tf doesn't support non-eager execution (see also https://github.com/google/jax/issues/18315 ), so we need to patch _call_tf_lowering to get the variables out of the graph if we're not executing eagerly:
  if tf.executing_eagerly():
    np_captured_inputs = [np.asarray(inp) for inp in captured_inputs]
  else:
    if captured_inputs:
      with tf.compat.v1.Session(graph=captured_inputs[0].graph) as sess:
          # Get all global variables within this graph
          # Run initializers
          sess.run([v.initializer for v in captured_inputs])
          # Get values
          np_captured_inputs = sess.run(captured_inputs)
    else:
      np_captured_inputs = []

  captured_ops = tuple(
      mlir.ir_constant(inp)
      for inp in np_captured_inputs
  )

And also there's a small bug in jax_module.py _to_tf_variable where it does not pass in the correct device name, need to add .name to default_cpu_device.
with tf.device(default_cpu_device.name):
    return tf.Variable(
        x, trainable=trainable, shape=x.shape, dtype=x.dtype, name=name
    )

With this it's possible to round trip a jax model with a batch dimension to tf savedmodel, then load it back up again and train it as part of a larger model and save it again, preserving the batch dimension, so the batching can be closed under saving.
Unrelated, but _call_tf_lowering has an implicit dependency on tf >= 2.16 since it passes the platform argument to experimental_get_compiler_ir. I don't think this dependency is documented anywhere.


Too big top padding with 'native-ui' theme

Too big top padding with 'native-ui' and 'Spacegray Light Neue UI'

I can take a look at this, or happy to accept a PR with a fix!

Fixed in v1.5.0.


dotenv file arg should take precedence over default dotenv files

As pointed out in #5532, -e file is loaded after the default .env and .flaskenv files, which means it won't override env vars that are set by the defaults. It will be a little tricky to track during CLI startup, but I think it should be possible to fix this so that precedence is: os.environ > -e path > .env > .flaskenv.

Hey, can I work on this issue?


Installing on current AWS Sagemaker JupyterLab

Hi there,
I'm wondering if anyone has had success installing this and scheduling a notebook using AWS Sagemaker Jupyter Lab?
Following the Quick Start, I've created the using command run notebook create stack from my local machine, using my was credentials. It creates and the stack says 'successful'.
Next, I run the run-notebook create-container, which runs the AWS codebuild job, which runs successfully.
Then, I load into my AWS Sagemaker jupyter lab notebook instance and I try to run the command install-run-notebook.sh.

first of all, this command fails, as it seems like a base version of the jupyter notebook doesn't have the Supervisor (CRON) installed by default, no worries just installed that.

Then I run the command and it successfully finished.
However when I refresh the browser, restart the client or shut down start the notebook instance I can't get the extension to pop up.
Any ideas?

Here's an update with my log output from the 'install-run-notebook.sh':
sh-4.2$ bash install-run-notebook.sh
Collecting https://github.com/aws-samples/sagemaker-run-notebook/releases/download/v0.20.0/sagemaker_run_notebook-0.20.0.tar.gz
  Downloading https://github.com/aws-samples/sagemaker-run-notebook/releases/download/v0.20.0/sagemaker_run_notebook-0.20.0.tar.gz (64 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 64.7/64.7 KB 1.3 MB/s eta 0:00:00
  Preparing metadata (setup.py) ... done
Requirement already satisfied: boto3>=1.10.44 in /home/ec2-user/anaconda3/envs/JupyterSystemEnv/lib/python3.7/site-packages (from sagemaker-run-notebook==0.20.0) (1.21.42)
Requirement already satisfied: botocore<1.25.0,>=1.24.42 in /home/ec2-user/anaconda3/envs/JupyterSystemEnv/lib/python3.7/site-packages (from boto3>=1.10.44->sagemaker-run-notebook==0.20.0) (1.24.42)
Requirement already satisfied: s3transfer<0.6.0,>=0.5.0 in /home/ec2-user/anaconda3/envs/JupyterSystemEnv/lib/python3.7/site-packages (from boto3>=1.10.44->sagemaker-run-notebook==0.20.0) (0.5.2)
Requirement already satisfied: jmespath<2.0.0,>=0.7.1 in /home/ec2-user/anaconda3/envs/JupyterSystemEnv/lib/python3.7/site-packages (from boto3>=1.10.44->sagemaker-run-notebook==0.20.0) (1.0.0)
Requirement already satisfied: urllib3<1.27,>=1.25.4 in /home/ec2-user/anaconda3/envs/JupyterSystemEnv/lib/python3.7/site-packages (from botocore<1.25.0,>=1.24.42->boto3>=1.10.44->sagemaker-run-notebook==0.20.0) (1.26.8)
Requirement already satisfied: python-dateutil<3.0.0,>=2.1 in /home/ec2-user/anaconda3/envs/JupyterSystemEnv/lib/python3.7/site-packages (from botocore<1.25.0,>=1.24.42->boto3>=1.10.44->sagemaker-run-notebook==0.20.0) (2.8.2)
Requirement already satisfied: six>=1.5 in /home/ec2-user/anaconda3/envs/JupyterSystemEnv/lib/python3.7/site-packages (from python-dateutil<3.0.0,>=2.1->botocore<1.25.0,>=1.24.42->boto3>=1.10.44->sagemaker-run-notebook==0.20.0) (1.16.0)
yarn config v1.15.2
success Set "cache-folder" to "/tmp/yarncache".
Done in 0.03s.
[LabBuildApp] Searching ['/home/ec2-user/SageMaker', '/home/ec2-user/.jupyter', '/home/ec2-user/.local/etc/jupyter', '/home/ec2-user/anaconda3/envs/JupyterSystemEnv/etc/jupyter', '/usr/local/etc/jupyter', '/etc/jupyter'] for config files
[LabBuildApp] Looking for jupyter_config in /etc/jupyter
[LabBuildApp] Looking for jupyter_config in /usr/local/etc/jupyter
[LabBuildApp] Looking for jupyter_config in /home/ec2-user/anaconda3/envs/JupyterSystemEnv/etc/jupyter
[LabBuildApp] Loaded config file: /home/ec2-user/anaconda3/envs/JupyterSystemEnv/etc/jupyter/jupyter_config.json
[LabBuildApp] Looking for jupyter_config in /home/ec2-user/.local/etc/jupyter
[LabBuildApp] Looking for jupyter_config in /home/ec2-user/.jupyter
[LabBuildApp] Looking for jupyter_config in /home/ec2-user/SageMaker
[LabBuildApp] WARNING | Config option `kernel_spec_manager_class` not recognized by `LabBuildApp`.
[LabBuildApp] Looking for JupyterLab_config in /etc/jupyter
[LabBuildApp] Looking for JupyterLab_config in /usr/local/etc/jupyter
[LabBuildApp] Looking for JupyterLab_config in /home/ec2-user/anaconda3/envs/JupyterSystemEnv/etc/jupyter
[LabBuildApp] Looking for JupyterLab_config in /home/ec2-user/.local/etc/jupyter
[LabBuildApp] Looking for JupyterLab_config in /home/ec2-user/.jupyter
[LabBuildApp] Looking for JupyterLab_config in /home/ec2-user/SageMaker
[LabBuildApp] JupyterLab 1.2.21
[LabBuildApp] Building in /home/ec2-user/anaconda3/envs/JupyterSystemEnv/share/jupyter/lab
[LabBuildApp] Yarn configuration loaded.
[LabBuildApp] Node v14.18.3

[LabBuildApp] Building jupyterlab assets (build:prod)
[LabBuildApp] WARNING |
<EMAIL_ADDRESS>is not compatible with the current JupyterLab
Conflicting Dependencies:
JupyterLab              Extension        Package
>=1.2.11 <1.3.0         >=2.0.0 <3.0.0   @jupyterlab/application
>=1.2.11 <1.3.0         >=2.0.0 <3.0.0   @jupyterlab/apputils
>=1.2.12 <1.3.0         >=2.0.0 <3.0.0   @jupyterlab/notebook
>=16.8.4 <16.9.0        >=16.9.0 <16.10.0react

[LabBuildApp] > node /home/ec2-user/anaconda3/envs/JupyterSystemEnv/lib/python3.7/site-packages/jupyterlab/staging/yarn.js install --non-interactive
\[LabBuildApp] yarn install v1.15.2
[1/5] Validating package.json...
[2/5] Resolving packages...
success Already up-to-date.
Done in 0.74s.

[LabBuildApp] > node /home/ec2-user/anaconda3/envs/JupyterSystemEnv/lib/python3.7/site-packages/jupyterlab/staging/yarn.js yarn-deduplicate -s fewer --fail
|[LabBuildApp] yarn run v1.15.2
$ /home/ec2-user/anaconda3/envs/JupyterSystemEnv/share/jupyter/lab/staging/node_modules/.bin/yarn-deduplicate -s fewer --fail
Done in 0.48s.

[LabBuildApp] > node /home/ec2-user/anaconda3/envs/JupyterSystemEnv/lib/python3.7/site-packages/jupyterlab/staging/yarn.js run build:prod
|[LabBuildApp] yarn run v1.15.2
$ ensure-max-old-space webpack --config webpack.prod.config.js
Hash: 7b221e4bd819e82e79e9afbdb2b950813f5fe9516df6485fbe4237f9154e
Version: webpack 4.46.0
Child
    Hash: 7b221e4bd819e82e79e9
    Time: 51318ms
    Built at: 05/18/2022 4:04:36 PM
                                                              Asset      Size  Chunks                                Chunk Names
               2.f4b81e2bc1963983ecc5.js.map?v=f4b81e2bc1963983ecc5  1.05 MiB       2  [emitted] [dev]
                   2.f4b81e2bc1963983ecc5.js?v=f4b81e2bc1963983ecc5   869 KiB       2  [emitted] [immutable]  [big]
               3.80d8e6cc8397ffebf731.js.map?v=80d8e6cc8397ffebf731   500 KiB       3  [emitted] [dev]
                   3.80d8e6cc8397ffebf731.js?v=80d8e6cc8397ffebf731   425 KiB       3  [emitted] [immutable]  [big]
               4.b9d6e5fd43159ea216bf.js.map?v=b9d6e5fd43159ea216bf   914 KiB       4  [emitted] [dev]
                   4.b9d6e5fd43159ea216bf.js?v=b9d6e5fd43159ea216bf   750 KiB       4  [emitted] [immutable]  [big]
               5.996e6d254152c9a96d99.js.map?v=996e6d254152c9a96d99   889 KiB       5  [emitted] [dev]
                   5.996e6d254152c9a96d99.js?v=996e6d254152c9a96d99   720 KiB       5  [emitted] [immutable]  [big]
               6.64052a7445962e5fc5af.js.map?v=64052a7445962e5fc5af   249 KiB       6  [emitted] [dev]
                   6.64052a7445962e5fc5af.js?v=64052a7445962e5fc5af   209 KiB       6  [emitted] [immutable]
                               674f50d287a8c48dc19ba404d20fe713.eot   162 KiB          [emitted]
               7.07aebb4cee80d7092240.js.map?v=07aebb4cee80d7092240  5.69 KiB       7  [emitted] [dev]
                   7.07aebb4cee80d7092240.js?v=07aebb4cee80d7092240  4.27 KiB       7  [emitted] [immutable]
                               912ec66d7572ff821749319396470bde.svg   434 KiB          [emitted]              [big]
                             af7ae505a9eed503f8b8e6982036873e.woff2  75.4 KiB          [emitted]
                               b06871f281fee6b241d60582ae9369b9.ttf   162 KiB          [emitted]
                              fee66e712a8a08eef5805a46892932ad.woff  95.7 KiB          [emitted]
                                                         index.html  1.79 KiB          [emitted]
            main.20ee82e362ceba29f352.js.map?v=20ee82e362ceba29f352  83.6 KiB       0  [emitted] [dev]               main
                main.20ee82e362ceba29f352.js?v=20ee82e362ceba29f352  64.1 KiB       0  [emitted] [immutable]         main
    vendors~main.9492379580ec0d04812a.js.map?v=9492379580ec0d04812a  13.4 MiB       1  [emitted] [dev]               vendors~main
        vendors~main.9492379580ec0d04812a.js?v=9492379580ec0d04812a  11.5 MiB       1  [emitted] [immutable]  [big]  vendors~main
    Entrypoint main [big] = vendors~main.9492379580ec0d04812a.js?v=9492379580ec0d04812a vendors~main.9492379580ec0d04812a.js.map?v=9492379580ec0d04812a main.20ee82e362ceba29f352.js?v=20ee82e362ceba29f352 main.20ee82e362ceba29f352.js.map?v=20ee82e362ceba29f352
    [0] multi whatwg-fetch ./build/index.out.js 40 bytes {0} [built]
    [/KN4]<EMAIL_ADDRESS>+ 6 modules 127 KiB {1} [optional] [built]
        |    7 modules
    [31N0]<EMAIL_ADDRESS>+ 5 modules 66.1 KiB {1} [optional] [built]
        |    6 modules
    [5pV8]<EMAIL_ADDRESS>+ 1 modules 4.04 KiB {1} [optional] [built]
        |    2 modules
    [8943]<EMAIL_ADDRESS>+ 10 modules 37 KiB {1} [optional] [built]
        |    11 modules
    [9fgM] ./build/imports.css 1.06 KiB {0} [built]
    [ANye] ./build/index.out.js 45.1 KiB {0} [built]
    [NHPb]<EMAIL_ADDRESS>+ 6 modules 66.9 KiB {1} [optional] [built]
        |    7 modules
    [QP8U]<EMAIL_ADDRESS>+ 1 modules 33.1 KiB {1} [optional] [built]
        |    2 modules
    [QbIU]<EMAIL_ADDRESS>+ 1 modules 9.6 KiB {1} [optional] [built]
        |    2 modules
    [RMrj]<EMAIL_ADDRESS>+ 1 modules 8.5 KiB {1} [optional] [built]
        |    2 modules
    [U33M]<EMAIL_ADDRESS>+ 6 modules 45.1 KiB {1} [optional] [built]
        |    7 modules
    [VYmV]<EMAIL_ADDRESS>+ 7 modules 61.6 KiB {1} [optional] [built]
        |    8 modules
    [ZPDT]<EMAIL_ADDRESS>+ 6 modules 43.4 KiB {1} [optional] [built]
        |    7 modules
    [dp0r]<EMAIL_ADDRESS>+ 113 modules 544 KiB {1} [optional] [built]
        |    114 modules
        + 1937 hidden modules

    WARNING in @material-ui/core
      Multiple versions of @material-ui/core found:
        3.9.4 ./~/sagemaker_session_manager/~/@material-ui/core from<EMAIL_ADDRESS>        4.12.4 ./~/@material-ui/core from<EMAIL_ADDRESS>

    WARNING in @material-ui/utils
      Multiple versions of @material-ui/utils found:
        3.0.0-alpha.3 ./~/sagemaker_session_manager/~/@material-ui/utils from<EMAIL_ADDRESS>        4.11.3 ./~/@material-ui/utils from<EMAIL_ADDRESS>

    WARNING in bn.js
      Multiple versions of bn.js found:
        4.12.0 ./~/bn.js from ./~/create-ecdh/browser.js
        5.2.0 ./~/browserify-rsa/~/bn.js from ./~/browserify-rsa/index.js

    WARNING in dom-helpers
      Multiple versions of dom-helpers found:
        3.4.0 ./~/dom-helpers from ./~/dom-helpers/util/hyphenateStyle.js
        5.2.1 ./~/@material-ui/core/~/dom-helpers from<EMAIL_ADDRESS>

    WARNING in entities
      Multiple versions of entities found:
        1.1.2 ./~/htmlparser2/~/entities from ./~/htmlparser2/lib/Tokenizer.js
        2.2.0 ./~/entities from ./~/entities/lib/decode.js

    WARNING in react-transition-group
      Multiple versions of react-transition-group found:
        2.9.0 ./~/react-transition-group from<EMAIL_ADDRESS>        4.4.2 ./~/@material-ui/core/~/react-transition-group from<EMAIL_ADDRESS>

    WARNING in readable-stream
      Multiple versions of readable-stream found:
        2.3.7 ./~/readable-stream from ./~/stream-browserify/index.js
        3.6.0 ./~/hash-base/~/readable-stream from ./~/hash-base/~/readable-stream/readable-browser.js

    WARNING in safe-buffer
      Multiple versions of safe-buffer found:
        5.1.2 ./~/safe-buffer from ./~/randombytes/browser.js
        5.2.1 ./~/hash-base/~/safe-buffer from ./~/hash-base/index.js

    WARNING in warning
      Multiple versions of warning found:
        3.0.0 ./~/sagemaker_session_manager/~/jss/~/warning from ./~/sagemaker_session_manager/~/jss/lib/SheetsManager.js
        4.0.3 ./~/warning from ./~/react-popper/lib/esm/Reference.js

    Check how you can resolve duplicate packages:
    https://github.com/darrenscerri/duplicate-package-checker-webpack-plugin#resolving-duplicate-packages-in-your-bundle

    WARNING in asset size limit: The following asset(s) exceed the recommended size limit (244 KiB).
    This can impact web performance.
    Assets:
      912ec66d7572ff821749319396470bde.svg (434 KiB)
      vendors~main.9492379580ec0d04812a.js?v=9492379580ec0d04812a (11.5 MiB)
      2.f4b81e2bc1963983ecc5.js?v=f4b81e2bc1963983ecc5 (869 KiB)
      3.80d8e6cc8397ffebf731.js?v=80d8e6cc8397ffebf731 (425 KiB)
      4.b9d6e5fd43159ea216bf.js?v=b9d6e5fd43159ea216bf (750 KiB)
      5.996e6d254152c9a96d99.js?v=996e6d254152c9a96d99 (720 KiB)

    WARNING in entrypoint size limit: The following entrypoint(s) combined asset size exceeds the recommended limit (244 KiB). This can impact web performance.
    Entrypoints:
      main (11.5 MiB)
          vendors~main.9492379580ec0d04812a.js?v=9492379580ec0d04812a
          main.20ee82e362ceba29f352.js?v=20ee82e362ceba29f352

    Child html-webpack-plugin for "index.html":
         1 asset
        Entrypoint undefined = index.html
        [KTNU] ./node_modules/html-loader!./templates/partial.html 703 bytes {0} [built]
        [YuTi] (webpack)/buildin/module.js 497 bytes {0} [built]
        [aS2v] ./node_modules/html-webpack-plugin/lib/loader.js!./templates/template.html 1.27 KiB {0} [built]
        [yLpj] (webpack)/buildin/global.js 472 bytes {0} [built]
            + 1 hidden module
Child
    Hash: afbdb2b950813f5fe951
    Time: 2362ms
    Built at: 05/18/2022 4:03:47 PM
        Asset       Size  Chunks             Chunk Names
    index.css   85.9 KiB       0  [emitted]  index
     index.js  932 bytes       0  [emitted]  index
    Entrypoint index = index.css index.js
       4 modules
    Child mini-css-extract-plugin<EMAIL_ADDRESS>        Entrypoint mini-css-extract-plugin = *
           56 modules
Child
    Hash: 6df6485fbe4237f9154e
    Time: 2357ms
    Built at: 05/18/2022 4:03:47 PM
        Asset       Size  Chunks             Chunk Names
    index.css   83.3 KiB       0  [emitted]  index
     index.js  932 bytes       0  [emitted]  index
    Entrypoint index = index.css index.js
       4 modules
    Child mini-css-extract-plugin<EMAIL_ADDRESS>        Entrypoint mini-css-extract-plugin = *
           57 modules
Done in 53.25s.

nohup: ignoring input and appending output to ‘nohup.out’

UPDATE:
If anyone else is looking to automate their jupyter notebook scripts in was JUPYTER LAB. Then follow the instructions for JUPYTER LAB and not AWS Sagemaker Studio!
(for me) The base install on AWS uses jupyter lab v1, so go to the V0.19.0 and work from there. Restart your instance once you have the lifecycle policy attached (you also need to shut down and edit the instance once done so to update the life cycle config).

v0.22.0 is now released with JupyterLab 3.x support.


Product info

Adding product_info function to return information concerning a specified product ID.

Isn't this feature already implemented by the search_products function, or do you want to implement it to search with the specified product ID. But you would have to get the ID first with the search_products function?

@lolokraus In my use case I actually get the ID from the portfolio and am using the product_info function that way. I feel using the ID rather than the name is a more robust method, although having both methods also works.


Send a summary mail after a je marche report

:1 with @tgalopin comment about adding an assertion in the functional test.


[BUG]: Doc bug; CSI Specification causes confusion for some users.

Bug Description
Issue:
The "CSI Specification" under CSI Driver Capabilities under Features in the documentation support matrix causes confusion for some users. Details on the CSI Spec are pointed out at the top of the page, but I have seen many users confuse this with the version of the Driver.
https://dell.github.io/csm-docs/docs/csidriver/#csi-driver-capabilities
Part of this confusion is that this page does not show the driver version that Features and Capabilities are for.
Fix:
Note that the CSI Spec is not the driver version and put a link to the Kubernetes CSI spec in the csi-driver-capabilities as well.
Put what version of the drivers the documentations covers on the csi-driver-capabilities page.
Logs
n/a
Screenshots
Available if required
Additional Environment Information
n/a
Steps to Reproduce
n/a
Expected Behavior
n/a
CSM Driver(s)
All CSI Drivers
Installation Type
All Installation Types
Container Storage Modules Enabled
n/a
Container Orchestrator
n/a
Operating System
n/a

Thanks for taking the time to report this issue @gashof!

My 2 cents, let's just scrap the CSI Specification row from : https://dell.github.io/csm-docs/docs/csidriver/#csi-driver-capabilities
The first line of that page gives already the version of the spec we support.

@gashof : Thanks for reporting the issue. As @coulof suggested we are removing the row. This row was introduced when PowerSclae upgraded the spec earlier to support 128 characters, now that all drivers are in same page it is no more needed. This change will be part of our upcoming release

Hi,
Anything on this point:
Put what version of the drivers the documentations covers on the csi-driver-capabilities page.

@gallacher  and @coulof : Please let me know your thoughts on @gashof request. Shall we add the version of driver in CSI driver index page , we already have it in CSM home page but not in driver page index

The requested changes have been made and will be available as part of the CSM v1.2.0 release.


[2.x] Fixes dump header on different symfony versions

This pull request addresses the issue in https://github.com/spatie/laravel-ignition/issues/175. The solution involves setting the dump header property to an empty string without utilizing a property. In Symfony 7, this property is typed, whereas in Symfony 6, it is not.
Ideally, this should be tagged as hot-fix.

Thanks!


mummer 4.0beta2 - inconsistent result due to "NNNNNs" in other sequences

I found a weird behavior of nucmer where the presence of a "NNNN" stretch in a sequence impact the matches reported for two unrelated sequences. My example case is using nucmer to compare short virus genomes. I'm looking at the comparison of<PHONE_NUMBER>_____JN815239 with<PHONE_NUMBER>_____HQ633062, and I'm varying the additional sequences included in the ref file.
Initially, when using Seq_1.fna and Seq_2.fna from the enclosed zip, nucmer only report 2 matches:
> nucmer --maxmatch --nooptimize Seq_1.fna Seq_2.fna -p Seq_1_vs_2
> cat Seq_1_vs_2.delta
NUCMER
>2588253691_____JN815239<PHONE_NUMBER>_____HQ633062 7043 47375
489 589 46686 46786 0 100 0
0
2618 2718 45829 45929 0 100 0
0

But if we add one single line in the reference file sequence, to a sequence that is neither<PHONE_NUMBER>_____JN815239 or<PHONE_NUMBER>_____HQ633062, but which includes NNNs, I get a different result:
> nucmer --maxmatch --nooptimize Seq_1_bis.fna Seq_2.fna -p Seq_1_bis_vs_2
> cat Seq_1_bis_vs_2.delta
NUCMER
>2588253691_____JN815239<PHONE_NUMBER>_____HQ633062 7043 47375
489 589 46686 46786 0 100 0
0
490 589 45929 45830 0 100 0
0
573 672 45929 45830 0 100 0
0
2618 2718 45829 45929 0 100 0
0
2619 2718 45929 45830 0 100 0
0
3010 3110 45929 45829 0 100 0
0

I'm really not sure what's happening there, although I suspect this has something to do with the fact that all these sequences have some N stretches ?
Example_nucmer_N_error.zip

Can we easily use mummer instead of nucmer? because mummer has a -n option to avoid Ns.


Activated all collision types

Just a simple method call also events were already activated so the collision types was basically the same.
Had to do it in 3 commits because I'm not getting any intellisense and no compile errors so I wen't for trial and error.
Should be able to fix #140.

Thanks :-)
I'll look into that.

Had to do it in 3 commits because I'm not getting any intellisense and no compile errors so I wen't for trial and error.

Don't worry. I always squash-commit the pull requests anyway. You can create as many commits you want ;-)

Hi,
I added tests, but it looks like they fail...
@edgarssilva do you know what I am missing?

I'm looking at it and I would like to try some stuff, but I'm not able to run the tests locally.
Can you tell me how I can do that? I've tried to run cargo test both at the root and rapier/tests folder.
(Sorry I'm quite new to rust)

You can execute: cargo test -p heon_rapier --test events --features 2d
let me also try to decipher that command line:
-p heron_rapier
This project is a multi-crates workspace. There are in total 5 crates: heron, heron_rapier, heron_core, heron_debug and heron_macros. Executing cargo test would run the test of the root crate only (heron). Eventually you can run cargo test --workspace to run tests of all crates. But in this case, you don't need to, so that'd be a waste of time. Instead you can run only the tests for the heron_rapier crate.
--test events
Compiling and running all tests and documentation examples of the heron_rapier crate can takes time. In this case you are only interested about testing the events, so --test events will run only those tests.
--features 2d
Most tests of the heron_rapier crate needs either the 2d or 3d feature. (You can discover that by looking in the top of the rapier/tests/events.rs: https://github.com/jcornaz/heron/blob/3f9779640c08399880e6c5e3c5509664aada79d9/rapier/tests/events.rs#L1)

Thanks alot, I've should at least known about the -p since I saw about it in the rust book 😅
After trying different just came in mind that some bodies are not affected by velocity put position, and that's way the collision doesn't happen.

After trying different just came in mind that some bodies are not affected by velocity put position, and that's way the collision doesn't happen.

Ah yes, of course. That test shouldn't rely on velocity, it should mutate the position directly. Thanks for looking into it. Do you mind editing it?

Ok this is not the prettiest but should do the trick.
Also the KinematicVelocityBased is gonna fail but that is due to a bug where the body actually doesn't get affected by the velocity. I've tested this when I first used heron and now by creating a real scenario based on the test.


Enable custom config options to filesystems

I've noticed Flysystem enables us to add custom config items to our filesystem instances... However, when Laravel instanciates them from the config/filesystem.php it stripes down any unknown properties, as in FilesystemManager:242.
I was wondering if there's any special reason for that?
I'm using local filesystem for development but S3 for production, and would like to set different base URLs for each driver inside their configuration properties, and I think it would be great if this was possible inside the disk configuration itself.

Excerpts from initial discussion on https://github.com/GrahamCampbell/Laravel-Flysystem/issues/69:

Suggestions:

simply remove the only() call. This would allow for credentials and whatnot be accessible easily, what could be a security breach?
use a blacklist approach instead of whitelist, cleaning up credentials and allowing other properties to pass through. This is similar to the current implementation, and would only change the Arr method used and properties verified.
pass as second argument to the Flysystem constructor a nested "config" array, if there's a "config" key inside the driver parameters. This would turn this ability to add custom config more explicit.

I'm happy to PR this if we agree with a solution :)

My idea is as follows:
In config/filesystem.php I have the default as (getenv('APP_ENV') == 'prod')? 's3' : 'local'. Given that, in my local machine I would need the file URLs relative to the server URL (path = '/'), and in production, relative to my bucket URL (path = 'https://aws.com/xyz/bucket/'). I would then, use something like Storage::drive()->getConfig()->get('path') + $user->avatar_path to spit out the user profile picture.
I was able to test this idea by simply commenting out the said line 242 in FilesystemManager.php.

Sorry, we don't process requests/proposals here. Please see https://github.com/laravel/internals/issues.


Error: Callable "\WP_CLI\I18n\Command_Namespace" does not exist

Hi! After installing the package with wp package install git@github.com:wp-cli/i18n-command.git  and received a Success: Package installed. message, running wp i18n produced Error: Callable "\\WP_CLI\\I18n\\Command_Namespace" does not exist, and cannot be registered as ``wp i18n``.
Commenting the 14th line of i18n-command.php ( WP_CLI::add_command( 'i18n', '\WP_CLI\I18n\Command_Namespace' );) seemed to solve the problem for me, but I really don't know if it's the best way to make it.
Thanks a lot!

Yeah we need to rename a file there :-)
I‘ll try to fix it today.
See #19.


brief review comments (0.1)

CTI_020 The time counter MUST appear to be always on and MUST appear to not lose its count across power states, including when the hart is powered off.

Given that all transitions between started and non-started hart states are mediated by the SBI, this seems to be a firmware requirement, unlike all of the other requirements in this spec which are clear hardware requirements.
Is this requirement intended to constrain behavior in states where all harts are powered off, such as during SBI system suspend?

IOM_020 ... This requirement does not apply to platform devices such as the APLIC or the IOMMU itself.

Under QEMU and Linux terminology, a "platform device" can be almost anything as long as it's not under a PCIe or similar bus.  Are we using the wide definition here or is this intended to be a narrow cutout for things that the IOMMU requires itself to work?

IOM_250, ADR_020 ... MUST enforce the physical memory attribute checks and physical memory protection checks on memory accesses ...

The draft doesn't reference the IOPMP draft.  Is "physical memory protection" for IOMMUs intended to be implementation-defined?

SPM_010 It is recommended that a cache with a capacity larger than 32 KiB be considered a significant cache.

An unfortunate size cutoff since it's right in the middle of the typical range for core-integrated L1 caches, which SoC integrators may not be able to modify.

CTI_020 The time counter MUST appear to be always on and MUST appear to not lose its count across power states, including when the hart is powered off.

Given that all transitions between started and non-started hart states are mediated by the SBI, this seems to be a firmware requirement, unlike all of the other requirements in this spec which are clear hardware requirements.

Does this requirement imply that the Supervisor Timer Interrupt must be able to wake up the hart from those power states? (Failing to trigger the interrupt could be interpreted as the time counter being off.) If so, that would be a hardware requirement.

In general the specification does not mandate an implementation method for the requirements. The specifications provides requirements on behavior observable by OS/hypervisors. Many SoC implementations may achieve the requirements outlined in this specification through a combination of hardware firmware. The firmware may execute in the machine mode of the application processor harts or in other controllers in the SoC such as a power management controller or a system management controller.
The CTI_020 is only requiring the time counter to not lose state. The specification provides implementation flexibility in achieving the requirement as observed by portable OS/hypervisors. The method employed should preserve the requirements outlined in CTI_010 and the Priv. architecture on having time synchronized across harts and being monotonic in nature. Whether a low power idle state will cause the timer context to be lost is unspecified but is discoverable by the OS using the ACPI _LPI object.
The terminology of platform devices is used to reference to the IOMMU and APLIC. It is not intended to include other devices in the form Qemu may be referencing them from the description. I will try to look for a better terminology for this. Please add your suggestions.
The physical memory protection mechanisms using PMP or IOPMP or World Guard or other mechanisms are to protect machine resources i.e. resources made otherwise inaccessible to the operating system. This specification is not requiring a specific mechanism to be used by the SoC as that is not observable by or interacted with by portable operating systems and hypervisors.
The SPM_010 is providing a recommendation on the sizes that should be considered as significant caches to provide system integrator the tools necessary for workload placement and tuning.

I suggest removing the term "platform devices" and just leave the list of initiators to which this requirement does not apply.


grey color for temporary files ("file~" buffer files from vim or emacs for example)

Expected behavior
It would be nice for temporary files like the buffer copies for emacs or vim to be greyed out (or have a lighter color that the "normal" version).
I don't have the list of all namespaces used but here is a list off the top of my head :

~FILENAME
.#FILENAME#
FILENAME.swap

Maybe https://www.gitignore.io/api/vim,emacs can be used as inspiration ?

example :

Hi @arthurlogilab ,
This seems to be a good idea indeed. Do you want to propose an implementation? Sadly, at the moment I don't have much time for new feature...

@arthurlogilab You should now be able to specify colors by setting LS_COLORS.
Feel free to reopen the issue if this does not solve your problem.
https://github.com/Peltoche/lsd/pull/84


Feature Request: "Embrava Blynclight" Integration

Really loving this DIY Call Light you have created.
However for my application, I require a much bigger light "blinker"
Will it be difficult to integrate Beacon with Embrava's Blynclight?
https://www.amazon.com/Embrava-Blynclight-Standard/dp/B07FRX1DK4
I dug around and found this: https://github.com/X-Guard/blync-plus-core
Not sure if it helps.
Thanks for your consideration

yes, I have already been working on this. I do not have a timeline for when I will finish it since I am doing it in my spare time.


0.11.0

@WordPress-Coding-Standards/collaborators
All,
As 0.10.0 is out of the door, let's get started with 0.11.0.
There are a number of open PRs tagged with 0.11.0 which are ready for merge.
I think it would be good to merge these soon so they can be thoroughly tested by people using develop before they become part of a release.
So for whomever has some time: please review the open PRs tagged with 0.11.0 and give feedback, merge or give merge approval.
If you want to merge something but it needs rebasing - ping me and I'll do it asap.
See: https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards/pull/637#issuecomment-242906170

Due to a change in the GH interface, a rebase (or update = back-merge resulting in the history being littered with unnecessary extra merges) is now needed for every PR after every merge - even if the PR would merge cleanly -.
So ... please ping me when someone is ready to merge this and I'll rebase asap (instead of continuously doing so after every merge which gets old very fast).

Hopefully GH will reverse/improve this change soon as this is not very workable. (I've already contacted them about it, please do so too if you think this should change)

@jrfnl did you see this? https://github.com/blog/2243-rebase-and-merge-pull-requests
However, this isn't relevant anymore due to our conversation on September 13th now that we unchecked the “require branches to be update to date before merging” option under branch protection. So I think we can close this issue.

@westonruter I hadn't seen it until you mentioned it. Good development IMHO.

@jrfnl I think it would be good to change the issue title so it is clear what it is about. There will be most likely an issue "0.11.0" which will be related to the release.


Java demo

 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.Katie Dsouza seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

Closing as work has been put as part of https://github.com/carta/exscalabur/pull/51


ChaCha12

@rweather the repository is cool and useful, thanks.
However, I don't understand one thing. Some performant algorithms have 2 cha-poly units judging from the tables.
But this did not include ChaCha8 or ChaCha12 (or salsa). It seems like they are even faster than the "lightweight cryptography" and had much more analysis?
Why was there a need for new algorithms?

I used ChaChaPoly as a baseline for comparison to get figures like "encrypting 128 bytes with algorithm X is 2.5 times faster than ChaChaPoly" while factoring out issues like clock speed and compiler optimisation options.
Because ChaCha8, ChaCha12, and Salsa weren't finalists to the NIST competition, I did not include them.  I included AES and SHA256 because NIST asked for comparisons on those, but everything else is a finalist submission.
While ChaChaX is pretty fast, it isn't necessarily lightweight in memory consumption.  The core state is 64 bytes, but another 64 bytes of space is needed for the keystream output.  And that doesn't include the "Poly" bit.  By comparison, ASCON's core permutation state is 40 bytes.


Added Side Navbar

🛠 Fixes Issue #253
👨💻 Changes proposed
Fixed the top navbar and added side navbar to all courses except Cpp (Still adding the side navbars actually, will be completed in an hour almost)
✔ Check List (Check all the applicable boxes)

[x] My code follows the code style of this project.
[x] This PR does not contain plagiarized content.
[x] The title of my pull request is a short description of the requested changes.

📄 Note to reviewers
The side Navbar may not be responsive. I tried a lot but to no results. So, I would request the reviewers that once this PR is merged, please create a new issue for making the side navbar responsive and assign it to someone(I will not be able to take that up).Sorry for the inconvenience caused though.

@BabyElias ur work is great

maintain the color scheme
introduction is not linked to home page. in every course introduction is link is broken

@BabyElias instead of adding navbar in all course at once just make it perfect for one course and then in next RP add it in others

Done with all the files.

@BabyElias instead of adding navbar in all course at once just make it perfect for one course and then in next RP add it in others

I missed seeing this then. I am so sorry for it.
1)About the color schemes, I believe there is some issue with the inheritance Sir because since I used the complete navbar code by copy pasting it without inheritance, the color schemes for all are same in my system.

2)About the broken Links, that's because I have simply added the .HTML file in a href without the file path as I didn't know how you had linked the URLs using
"{% url 'ml1' %}?data=logregx"  such a format. In case you tell me that, I will link the homepages to the right page.

This is the reason behind the tables page

hey @BabyElias  i understand ur problem
first do one thing remove changes from all other courses except one who has less no of files
so that we can review it and merge it with lvl 3

Ok @arpit456jain . I will create a New PR and then begin with the course having least number of files.

Ok @arpit456jain . I will create a New PR and then begin with the course having least number of files.

Choose any one course and proceed. And I noticed that use are using inline css. Can you please change that to external css.


Ban/Kick commands

How would I write a ban/kick command? I have no way of getting a user ID from an option.

Please use the support server for these questions. Issues are not meant to be used to ask on how to write code.

Allright!


does Java fixes support kotlin?

does Java fixes support kotlin?
kotlin file not work

Duplicates #355


⚠ Bofrost.de has degraded performance

In c52be3c, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 916 ms

Resolved: Bofrost.de performance has improved in a4dc2a3 after 43 minutes.


No basic/digest auth support

Hello,
Just so you're aware, I had to modify the source to add in basic auth authorization.
I think the CLI would be better if you just gave it the full url source instead of the HOST:PORT PATH separation.
That way one would write:
python relay.py -p 9000 "http://user:password@<IP_ADDRESS>:10020/axis-cgi/mjpg/video.cgi?camera=1&time=1423069038&resolution=1600x1200&compression=40"
Maybe you could use request (http://docs.python-requests.org/en/latest) instead of raw sockets?
I'll probably make a PR to add at least basic auth support.

Hi there,
Thanks for the feedback. The CLI improvement you mentioned makes much more sense. Some time next week, I'll revisit the CLI and make the change.
The requests library looks good - also appears to support stream responses, so it should work here for streaming from the MJPEG source. I'll spend some time next week experimenting with it.
The next step is to see what you've already done in terms of authorization - if you could please make a PR for it when you're ready, I'll take a look and we'll go from there.
Thanks for your time and effort.

Well, at the moment I just hacked the source so it adds a Authorization: Basic qgAniQgeIOgNIOqeg field ot the GET request... but this needs proper refactoring.
If you're going to use the request lib, we can simplify it a lot:
import requests
from contextlib import closing
with closing(requests.get("http://user:password@<IP_ADDRESS>:10020/axis-cgi/mjpg/video.cgi", stream = True)) as r:
  print(r.headers['Content-Type'])
  for chunk in r.iter_content(2048):
    print("read chunk")

Output:
multipart/x-mixed-replace; boundary=myboundary
read chunk
read chunk
read chunk
read chunk
read chunk
read chunk
read chunk
read chunk

Understood - makes sense to use requests then.
Thanks for the example - I've got a couple of spare hours tonight, I'll go ahead and implement this. I'll update the CLI at the same time, too.
Cheers.

:+1:


Add distribution values helper

Now that histogram support has been implemented, add an add_distribution_value helper, like the ones for Ruby, Elixir and Node.js (docs)
The helper would be added here, next to increase_counter: https://github.com/appsignal/appsignal-python/blob/main/src/appsignal/metrics.py

Done in #198.


Change version name for 0.5.0 release.

          1 Warning

:warning:
This PR does not contain any JIRA issue keys in the PR title or commit messages (e.g. KEY-123)

JaCoCO Code Coverage 18.72% :white_check_mark:

Class
Covered
Meta
Status

APK file size

size

30.4MB

Number of method references

Dex file
count

classes.dex
46966

  Generated by :no_entry_sign: Danger


Rename some animation classes.

Intentions => Behaviors
SlideIn => SlideTransition
FadeIn => FadeTransition
removed unused AnimatedContainer intentions

LGTM


Overriding templates

I've been trying to a bit to get Zinnia working on an existing Django website. Everything is finally up and running but I'm having trouble overriding the templates. For example, Zinnia uses base.html and that includes the {% block sidebar %} but when I go to override it, the changes I make are never rendered on the page.
I've installed the apptemplates loader and added 'apptemplates.Loader', to my TEMPLATE_LOADERS.  I've also tried using the django-app-namespace-template-loader the same way, with no results.
Additionally I have tried extending them using django overextends.
I've also ensured that I have the template directory I'm working with (templates/) added to my TEMPLATE_DIRS, and the directory structure looks like this:
templates/

       classfied/                             <- Another custom app
             some_other_templates.html

       zinnia/
             base.html

My base.html looks like this:
{% extends "zinnia:zinnia/base.html" %}
{% load zinnia_tags i18n %}

{% block sidebar %}

  <p> OVERRIDED SIDEBAR </p>

{% endblock sidebar %}

But alas, the sidebar is not changed. It's probably something small that I've missed, but I'm having a hard time debugging it. Any help is greatly appreciated. Let me know if you need any more information!
This isn't really an issue but hopefully it gets flagged as a question.
Thank you!

@shawn-simon-developer  @Fantomas42  @bittner
I think the true answer is in django 1.8, we should set DIRS=[] of TEMPLATES in settings.py instead of TEMPLATE_DIRS, here is my solution
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [
os.path.join(BASE_DIR,'blog','templates'),
os.path.join(BASE_DIR,'blog', 'templates', 'zinnia'),
],
#'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
'zinnia.context_processors.version',  # Optional
],
'loaders': [
'app_namespace.Loader',
'django.template.loaders.filesystem.Loader',
'django.template.loaders.app_directories.Loader',
],
},
},
]
wish this could help.
Best regards.


Macro diagnostics are not generated by textDocument/publishDiagnostics

Add a macro that returns a diagnostic via context.diagnose(myError). These diagnostic errors are not returned by textDocument/publishDiagnostics.

Tracked in Apple’s issue tracker as rdar://110516428

@adam-fowler I am seeing the diagnostics reported in VSCode by

Creating a new Macro package
Adding struct MyError: Error {} and throw MyError() to the expansion function
Building the package using swift build
Opening main.swift in VSCode

I think the crucial bit here is that we need a successful build to have the macro plugin that can generate the error.
MyMacro.zip

I will review this again.

Ok looks like it works. I'll close this one just now


Package splited on one package per translation

Follow the Issue: #83 this PR is a first beta result.
Feel free to adapt/change/reject any line of code.

It looks like you have done some good work here. I doubt that the bash scripts will run on Windows. We should do something about it. The best thing would be to use JavaScript files as they should run everywhere. Any specific reason to skip releases and jump from 1.0.6 to 1.0.9?

Sorry. Only test on OSX but on msysgit bash from Git for Windows I hope it works fine.
from 1.0.6 to 1.0.9?. Is a typo, sorry.
Maybe this PR must be set at 2.x.x branch.
I forget say that meteor publish at  publish-all.sh script is commented.

Done with plain JavaScript and main feature of version 1.1.0.


mockDOMSource: DOM.select(...).select is not a function

Greeting from the numero uno cycle.js fan! :)
I have a question and it may very well be me who is doing something wrong. I am using mockDOMSource to test my components and I run into trouble when I tag on multiple selects like this:
sources.DOM
.select('.tool-bar-build')
.select('.new-game')
.events('click');
I get: Uncaught TypeError: sources.DOM.select(...).select is not a function
However, the code works fine with the real DOM, so my question is if mockDOMSource does not yet support multiple selects like this?
Is there an easy workaround?
Thanks!

Thanks for finding this. I think it's actually a legit bug rather than a feature suggestion. mockDOMSource should make a DOMSource that has the same API as the real one.

@staltz will this be simple as making mockDOMSource curried? having a quick peep

Yes @Cmdv a PR would be great! Remember to add a test for it. At this point (we are rewriting), tests are very important.

just working on PR, got test but trying to work out currying with dot notation .select(...).select(...) I'll send PR once I work that out.

Fixed in Cycle DOM v9.2.1 thanks to @Cmdv

Hi,
Thanks for the effort. It now works as long as I make sure I pass in all the events the component is listening to, but that should be necessary right? That would get very brittle with nested components very quickly.
Let me illustrate:
function component ({ DOM }) {

    const click$   = DOM
                        .select('.foo')
                        // if I comment out this 2nd select it works
                        // if not I get same error
                        .select('.bar')
                        .events('click');
    return {
        click$
    }
}

const click$ = component({ DOM : mockDOMSource({}) }).click$;

click$
    .do(x => console.log(x))
    .subscribe();

@Cmdv can you check this? I think we need to add tests for those cases where people give {} in mockDOMSource({})

yeah cool I'll pick it up tonight @staltz

Released @cycle/dom v9.2.2 with a fix, thanks to @Cmdv


run "make caravel-sta" error - When I get project from git clone -b mpw-8c https://github.com/efabless/caravel_user_project

When I get project from from TAG=mpw-8c as below and found error in "make caravel-sta"
$ git clone -b mpw-8c https://github.com/efabless/caravel_user_project

error log when run "make caravel-sta"
exec> read_spef -path chip_core/soc.core.RAM128 /home/tonyho/workspace/debug/d3_caravel_user_project/caravel_user_project/mgmt_core_wrapper/signoff/RAM128/openlane-signoff/spef/RAM128.nom.spef
Error: timing_top.tcl line 60, path instance 'chip_core/soc.core.RAM128' not found.
make[1]: *** [/home/tonyho/workspace/debug/d3_caravel_user_project/caravel_user_project/deps/timing-scripts/timing.mk:244: caravel-timing-typ-nom] Error 1

solution - update Makefile to use git checkout $(MPW_TAG)
I can workaround this issue by update Makefile
	#( cd $(TIMING_ROOT) && git pull )
	( cd $(TIMING_ROOT) && git fetch && git checkout $(MPW_TAG); )

Makefile update commit link
My question is, does efabless support using mpw-8c for verify my design? or other stable tag or branch for user to verify user_project?I want to base on a stable tag or branch in https://github.com/efabless/caravel_user_project to run the tape-out flow then switch to final tape-out target in chipIgnite Shuttle (we still not decide the target).
detail issue description in this link

The main branch of caravel_user_project is the stable branch, and using make setup it will pull the stable branches of all the dependencies.


Example under heading 2 - missing content

Here is what I get
$ az storage container create --name $CONTAINER_NAME  `
>>           --account-name $STORAGE_ACCOUNT

There are no credentials provided in your command and environment, we will query for account key for your storage account.
It is recommended to provide --connection-string, --account-key or --sas-token in your command as credentials.

You also can add `--auth-mode login` in your command to use Azure Active Directory (Azure AD) for authorization if your login account is assigned required RBAC roles.
For more information about RBAC roles in storage, visit https://docs.microsoft.com/azure/storage/common/storage-auth-aad-rbac-cli.

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

ID: 789076a3-5d6d-e5d9-a3f7-cc1d6351ca8a
Version Independent ID: e873b421-20fe-3415-0f4b-aacd7378c271
Content: Store Terraform state in Azure Storage
Content Source: articles/terraform/store-state-in-azure-storage.md
Service: terraform
GitHub Login: @TomArcherMsft
Microsoft Alias: tarcher

Unfortunately, we have not been able to review this issue in a timely manner. We sincerely apologize for the delayed response. We are closing this issue. If you feel that the problem persists, please respond to this issue with any additional information.
Please continue to provide feedback about the documentation. We appreciate your contributions to our community.
#please-close


Add curator to collection on POST, cleanup existing collections without a curator field

Fixes #263.
Mongo pipeline for finding collections with one user that has admin permissions is a bit complex, on Mongo 3.2 we could use $filter like so:
pipeline = [
        {'$match': {'curator': {'$exists': False}, 'permissions.access': 'admin'}},
        {'$project': {
             'cid': '$_id',
             'perms': {
                '$filter': {
                   'input': '$permissions',
                   'as': 'perms',
                   'cond': {'permissions.access': 'admin'}
                }
             }
        }},
        {'$match': {'perms': {'$size': 1}}}
    ]

Handler change LGTM. Update script, too. We need to make sure all collections have a curator. Even at the risk of getting it wrong when there is more than one admin, I suppose.

If we want to take any admin we find, the update becomes much simpler:
config.db.collections.update_many({'curator': {'$exists': False}, 'permissions.access': 'admin'}, {'$set': {'curator': 'permissions.$._id'}})
or something like that.

Apparently mongo doesn't let you refer to existing document values in the $set operator, doing it in python instead.

Well, I guess, the list is ordered and the first one should be the right one.


Use and patch the new sympy 1.7 printable base class

Using the base class doesn't make much difference, but patching it instead of Basic is needed to keep pretty-printing working.
This should hopefully fix CI.

To make CI pass on this, we need to manually register latex printers for Mv, Lt, and Dop (as IPython ignores _repr_latex_ if the base class is manually registered)


Fixes issue 1841 - changed get-module to get-installedmodule

Fixes #1841

Docs Build status updates of commit 067e889:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs-conceptual/azps-5.9.0/uninstall-az-ps.md
:white_check_mark:Succeeded
View (azps-5.9.0)

docs-conceptual/azps-6.1.0/uninstall-az-ps.md
:white_check_mark:Succeeded
View (azps-6.1.0)

docs-conceptual/azps-6.2.1/uninstall-az-ps.md
:white_check_mark:Succeeded
View (azps-6.2.1)

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


[Suggestion] Invisible items

add invisible items, like an option to make specific selected items(modded or vanilla) invisible in the hand of a specific player model.

i accidentally pressed enter before making a description, so anyways the suggestion is, add invisible items, like an option to make specific selected items(modded or vanilla) invisible in the hand of a specific player model.

You can already make item display invisible by hiding visibility on any of the HeldItem objects trough animations. Item specific logic is also a planned feature for a future update, as long as i understand.


Add new /resources/ routes for viewing and manipulating user share limits

LGTM
The whitespace thing is weird, do you not see it on your diff? If it is actually there, please just remove it before merging.


Read data-versions file to get the correct data file

As discussed we will now store information about data files with respect to each version in data_versions__x_x_x.json files. Example:
datastore/data_versions__1_0_0.json:
{
    "BOSTED": "BOSTED/BOSTED__1_0.parquet",
    "UTDANNING": "UTDANNING/UTDANNING__1_0",
    "ANNEN_VARIABEL": "ANNEN_VARIABEL/ANNEN_VARIABEL__1_0.parquet"
}

Data-service needs to find correct file and the specified dataset in that file.

What about this?
datastore/data_versions__1_0_0.json:
{
    "BOSTED": "BOSTED__1_0.parquet",
    "UTDANNING": "UTDANNING__1_0",
    "ANNEN_VARIABEL": "ANNEN_VARIABEL__1_0.parquet"
}

Suggestion : Remove directory as it will always bed the same as variable name

I wonder if maybe it would be better if the data_versions-file is abstracted away from the processor module completely? You just ask for a file path from the file adapter with a dataset_name + version and it will handle everything with the file etc. and return the complete path/appropriate exceptions

Revisiting this idea now. Seems a bit better, yes.

Looks great 👍🏻 Only thing missing is the discussion on line 20 in. data_service/adapters/storage/local.py where version_underscored = version.replace('.', '_')[:3]  ex.: 1_2 should be rewritten to: version_underscored = version.replace('.', '_')[:5] ex.: 1_2_3

You're absolutely right. I totally missed this one (+the data-versions file name as well).

There is one more case that we need: 0.0.0 version. See my last commit https://github.com/statisticsnorway/microdata-data-service/pull/50/commits/8e4801404597af42a3081282259aaad33fc0b637


False positive C901 thrown for outer function in closure

Please see this snippet:
from functools import wraps

def wrapper(f):
    @wraps(f)
    def wrapped_f(*args, **kwargs):
        if 1 == 1:
            pass
        if 1 == 1:
            pass
        if 1 == 1:
            pass
        return f(*args, **kwargs)

    return wrapped_f

And the below pyproject.toml
[tool.ruff.mccabe]
max-complexity = 3

[tool.flake8]
max-complexity = 3

With ruff==0.0.265 will print:
> ruff --select=C901 a.py
a.py:4:5: C901 `wrapper` is too complex (5 > 3)
a.py:6:9: C901 `wrapped_f` is too complex (4 > 3)
Found 2 errors.
> flake8 a.py
a.py:4:1: C901 'wrapper' is too complex (5)

The 2nd error about wrapped_f if correct, as its cyclomatic complexity is above 3.  However, I think the 1st error about the wrapper (outer) function is a false positive, as it only has a cyclomatic complexity of 1.
In other words, I think ruff has a false positive C901 for closures, only the inner should throw.
For what it's worth, flake8==6.0.0 does not have this false positive, but I think they mark the extra complexity in the wrong place (at wrapper, not wrapped_f).

I think I agree with you, though I'd love to get other opinions since it would be a deviation from Flake8 (or rather, McCabe).


kernel: Build Tegra PCI support.

This enables Nvidia Tegra dev kits (e.g., Jetson TX1) to boot from PCIe devices, such as NVMe boards.
/cc @dezgeg

Thanks. I will also poke the upstream Tegra maintainers to have this on by default...