Handle pasting code from column selection specially

https://github.com/Microsoft/vscode/issues/1515#issuecomment-210166838
From @seva0stapenko

Tried column selection in VSCode 1.0. Well, rectangular selection does work, cutting and pasting back also works, but that's about it.
Cutting and pasting into a different part of the code does not work as expected. Both Notepad++ and VS remember that copied text was a rectangular block and paste it as a rectangular block.
VSCode treats copied block just like a regular text, so pasting it anywhere outside of the current multi-cursor context would create a mess.
It's good that the feature is being worked on, but it's not fully baked yet.

Addition from @hediet
This is (still) the current behavior of VS Code. The copied/pasted text matches the selection:

However, the copied/pasted text should match this selection:

See also #43145 for how other editors handle it.

+1

+1
copy/paste rectangular blocks is a regular occurrence eg, to duplicate some text to create 2 columns (and the 2nd column to appear starting from whatever floating top left the cursor is at (even beyond the nominal line ending)
To go from
something a
something bb
something cccc

to
something a        a
something bb       bb
something cccc     cccc

[when the line count, text length/complexity high it is an essential feature in a code editor of substance as many others have commented in the original column select issue]

+1

Paste the column has been support,cool ,

shift+alt select column
ctrl +c / ctrl +d   , cool
version:1.9.1

@chen56 not following, still isn't working, version 1.10.1

I don't get it-- what's the point of rectangular selection if you can't paste a rectangular selection into other code?  This has been a useful feature of Visual Studio editors since Visual C++ in the early '90s.

I'd like to see this feature work just like VS and Notepad++.  Until it does, column/block copy is pretty much useless.

+1
Pity to see this issue closed. :-( The feature is much needed...

+1
Would love to see this work the same as VS

+1
I regularly use and need this feature. Please implement.

This was not immediately obvious to me, so it may help other people to know this. While not an ideal solution, you can easily paste columns by creating a new column selection and pasting into that.

Select the source column in the normal way (by positioning the cursor in one corner of the rectangle, and then alt+shift+click on the opposite corner, then ctrl+c to copy).
Create a new column selection on the desired destination, again with alt+shift+click. This column can be 0-width if you want to insert your pasted code.
Simply paste the code with ctrl+v.

In the case you would be surprised like me, pbb72's solution only works if you select the same exact number of lines between the copied selection and the target selection!
So for example, if you copy 3 lines from column selection, and then try to paste it on 4 lines, instead of pasting on the 3 first lines, it will create a mess (copy the full selection on each line).
Coming from Intellij IDEs it's quite surprising for me. Would be good to support it on Vscode.

If someone on the vscode team could polish this feature, that would be greatly appreciated.
Visual Studio pro's box selection is so much better.

Mor examples  of this problem can be found here: https://github.com/microsoft/vscode/issues/43145

This even works in TextEdit on Mac (built-in editor)...

It actually used to work for me, but was broken now.

In the case you would be surprised like me, pbb72's solution only works if you select the same exact number of lines between the copied selection and the target selection!
So for example, if you copy 3 lines from column selection, and then try to paste it on 4 lines, instead of pasting on the 3 first lines, it will create a mess (copy the full selection on each line).
Coming from Intellij IDEs it's quite surprising for me. Would be good to support it on Vscode.

Just encountered this again, and note that even though pasting columns has since been implemented, it only seems to work correctly for equal line counts.
Pasting a mismatching number of lines still causes the inconvenience described above.

I think the way this is performed in VSCode is a frustrating UX.  But, it does work.  The only way I could get it to copy a rectangle or columns is:

Click the top left corner of what you want to copy.
Shift+Alt+click the bottom right corner (or click and drag-select)
Ctrl+C
Click the top of where you want to paste.
Shift+Alt+Click the bottom ensuring the number of rows is the same as what you copied (can be one column, regardless of the source).
Ctrl+V.

et voila
In the destination, if the top-right is in the same column as the bottom right, you can see how many rows are selected in the bottom status bar to the right of the spaces per tab and the encoding (e.g. UTF-8)

@peteraritchie Nope. Well actually yes it can work in limited circumstances, provided neither the block you're cutting and the destination location don't extend beyond the end of any lines between the start and end of selection. When that's the case, the number of rows selected in the source won't include the blank lines, which you would want to be treated as blank lines in the block. The only way that it will work is if virtual whitespace is treated explicitly.

Meanwhile, this might solve some of your headaches. The author just added an option to replicate the current line white space.
https://github.com/john-guo/columnpaste/issues/5
https://marketplace.visualstudio.com/items?itemName=johnguo.columnpaste

Could someone explain to me the extent of this issue? Is this (#5940) and #13960 working with tabs and other multi-width characters in the same way, virtual navigation?
Do these issues propose multi-width whitespace to be filled up with "virtual spaces"? I mean, being able to navigate (or click) INTO multi-space whitespace like tabs (or stretched character space) and being able to input characters there, and inserting physical space when necessary.
I know, some people will complain about using spaces for this case but this is not the point. A tab character is a control character. Space is not a control character. I mean control characters for a future, where people wouldn't hard-code visual presentation anymore inside code because tools would be doing it automatically. I would even consider virtual space to be some sort of control character but which is not serialized.
An extension could treat the tab character as an instruction for the renderer to align characters behind the tab (or double tab) character in consecutive lines with virtual spaces. These virtual spaces may be copied, pasted as physical or virtual spaces but not saved to the file. Instead of fixed modulo behaviour the tab would be of dynamic length depending on context. When being split by a typed character, only the left part would be filled with physical spaces. An extension, which would like to implement that, would require multi-width characters to be filled with virtual spaces automatically, also so that people can navigate in virtual coordinates instead of physical unicode characters stored in the text.

@krisutofu  https://github.com/microsoft/vscode/issues/43145


Applicative Forms

This isn't really an issue, I just wanted to share something I thought was neat.
I wanted to be able to build a widget that constructs a bigger structure out of widgets that construct it's parts. So basically a form builder. After a few attempts and remembering a trick with existential states that the foldl library uses, I came up with this:
data Form a where
    Form :: state -> (state -> [Widget HTML (Maybe event)]) -> (state -> event -> state) -> (state -> a) -> Form a
instance Functor Form where
    fmap f (Form s w u p) = Form s w u (f . p)
instance Applicative Form where
    pure a = Form () (\() -> []) (\() () -> ()) (\() -> a)
    Form s1 w1 u1 p1 <*> Form s2 w2 u2 p2 =
        Form (s1, s2) w u p
        where
        w (s1', s2') = (fmap (fmap Left) <$> w1 s1') <> (fmap (fmap Right) <$> w2 s2')
        u (s1', s2') (Left e1) = (u1 s1' e1, s2')
        u (s1', s2') (Right e2) = (s1', u2 s2' e2)
        p (s1', s2') = p1 s1' (p2 s2')

formToWidget :: Form a -> Widget HTML a
formToWidget (Form s w u p) = go s
    where
    go s' = do
        e <- div [] (w s')
        case e of
            Nothing -> return (p s')
            Just e -> go (u s' e)

So basically, a Form is a widget with an internal state that it knows how to update. When you applicatively combine two forms, you get a bigger form that runs the widgets in parallel until one of them signals that it's done (by returning Nothing). It then projects out it's internal state into some structure.
Here's how it can be used:
textForm :: Form Text
textForm =
    Form "" (\st -> Just . targetValue . target <$> input [value st, onInput]) (\_ t -> t) Prelude.id

submit :: Form ()
submit =
    Form () (\() -> Nothing <$ input [type_ "submit", onClick]) (\() () -> ()) Prelude.id

data Combo = Combo
    { a :: Text
    , b :: Text }
    deriving Show

testCombo :: Form Combo
testCombo = (\a b _ -> Combo a b) <$> textForm <*> textForm <*> submit

In a sense, a Form is a widget with parallel composition instead of sequential.

This is super useful, thanks! If you feel motivated enough to package it up as a separate module in the examples folder and submit a PR I'll merge 🙇

Sure. I'm still iterating on the design as I'm working on my project so I'll do that when it's done.
I'm really enjoying the mental shift when working with concur-replica so far.


Classification with x-transformers

Added cls token/pooling option for NLP based full text classification

@RyanKim17920 do you want to try the latest changes and see if that's enough?

@RyanKim17920 hey Ryan, sorry for hijacking your efforts, just that the project is at a size where things need to be a bit more particular
your example should run now as
import torch
from torch import nn

from x_transformers import (
    TransformerWrapper,
    Encoder
)

# CLS token test
transformer = TransformerWrapper(
    num_tokens=6,
    max_seq_len=10,
    logits_dim=2, # num_classes
    use_cls_token=True,
    attn_layers = Encoder(
        dim = 6,
        depth = 1,
        heads = 2,
    )
)

x = torch.randint(0, 5, (2, 10))
y = torch.tensor([0, 1])

print(x.shape)
logits = transformer(x)
print(logits.shape)
loss = nn.CrossEntropyLoss()(logits, y)

print(loss)

# BCE cls token

transformer = TransformerWrapper(
    num_tokens=6,
    max_seq_len=10,
    logits_dim=1, # num_classes
    use_cls_token=True,
    squeeze_out_last_dim = True,
    attn_layers = Encoder(
        dim = 6,
        depth = 1,
        heads = 2,
    )
)

x = torch.randint(0, 5, (2, 10)).float()
y = torch.tensor([0, 1]).float()

print(x.shape)
logits = transformer(x).squeeze()
loss = nn.BCEWithLogitsLoss()(logits, y)

print(loss)

# pooling test
transformer = TransformerWrapper(
    num_tokens=6,
    max_seq_len=10,
    logits_dim=2, # num_classes
    average_pool_embed = True,
    attn_layers = Encoder(
        dim = 6,
        depth = 1,
        heads = 2,
    )
)

x = torch.randint(0, 5, (2, 10))
y = torch.tensor([0, 1])

print(x.shape)
logits = transformer(x)
print(logits.shape)
loss = nn.CrossEntropyLoss()(logits, y)

print(loss)

# pooling BCE test

# pooling test
transformer = TransformerWrapper(
    num_tokens=6,
    max_seq_len=10,
    logits_dim=1, # num_classes
    average_pool_embed = True,
    squeeze_out_last_dim = True,
    attn_layers = Encoder(
        dim = 6,
        depth = 1,
        heads = 2,
    )
)

x = torch.randint(0, 5, (2, 10)).float()
y = torch.tensor([0, 1]).float()

print(x.shape)
logits = transformer(x).squeeze()
print(logits.shape)
loss = nn.BCEWithLogitsLoss()(logits, y)

print(loss)

# normal test

transformer = TransformerWrapper(
    num_tokens=6,
    max_seq_len=10,
    logits_dim=2, # num_classes
    average_pool_embed = True,
    attn_layers = Encoder(
        dim = 6,
        depth = 1,
        heads = 2,
    )
)

x = torch.randint(0, 5, (1, 10))
y = torch.tensor([0])

print(x.shape)
logits = transformer(x)
print(logits.shape)

Thank you for the improvements you've already made to my original additions. I noticed that the test/x_transformers are outdated, so those changes aren't needed anymore. However, I believe the example I provided could still be valuable. It demonstrates the usage of the NLP classification with a well-known dataset, which might be useful for users to understand how to implement it.
Would it be possible to add the example to the repository?


Client design

I think the idea I'm tending towards is that the core client just has a registered set of queries that the UI is interested in. Any query aggregation from the UI would be built on top of this. Each query is an event emitter, so that every query consumer can get notified about changes in that query. Here's a crappy diagram:

Going to make a better diagram later, heading home now.

(maybe you would like to try https://www.draw.io, if you don’t know it already :))

@mquandalle @jbaxleyiii question:
Right now, we have a QueryManager that keeps track of a list of queries, associated callbacks, etc. Should this data live in Redux as well? It might be useful to keep track of actions such as "add query to the list", "error on query", etc.

@stubailo the callbacks would be possible but kinda against the plain state ideals of a redux store. Although you can store rich objects, ideally the store is serializable. Otherwise I'm all for QueryManager keeping things in redux. Keeping track / being able to report on query actions would be great!

@jbaxleyiii I was thinking Redux would just store queries by ID:
{
  1: ...query AST here...
}

And anyone who wanted to get the query out of the store, or have a callback to its data, would reference it by ID.
So you could say "give me a callback for data on query 1" and the query itself can be serialized, refetched whenever necessary, etc.

@stubailo that makes sense! Thanks for the clarification!

Given the index.js is merged, I think all of this is now in the code.


Is it fine to say "Run the page"?!

I'm seeing this 3 times in https://docs.microsoft.com/en-us/aspnet/core/data/ef-mvc/sort-filter-page and it doesn't seem alright to me! Maybe it should be "Run the app" or "Refresh the page"...
I'm wondering how I was able to include an absolute code URL in my last issue! I can't do it again to include an example here :/

@Rick-Anderson Any preferences on the verbiage? I was thinking something like "Browse to the page".

I've found another occurrence in https://docs.microsoft.com/en-us/aspnet/core/data/ef-mvc/complex-data-model:

Run the Students Index page again and notice that times are no longer displayed for the enrollment dates.

Refresh the Students Index page ~again~ and notice that times are no longer displayed for the enrollment dates.

I'm not sure about fixing this issue because there're several variations:
In crud there're:

Run the application, select the Students tab, and click the Details link for a student. (looks fine to me but included to show variations!)

Run the application and select the Students tab, then click an Edit hyperlink. (seems fine!)

Run the page by selecting the Students tab and clicking Create New. (change "page" to "application", and use the previous structure (i.e. run ... and select ..., then ..)?)

Run the page by selecting the Students tab and clicking a Delete hyperlink: (same as above)

In sort-filter-page:

Run the page and click the Last Name and Enrollment Date column headings to verify that sorting works. (Refresh the page?)

Run the page, enter a search string, and click Search to verify that filtering is working. (Refresh the page?)

Run the page. (Change to "Refresh the page"?)

Run the app and click the About link. The count of students for each enrollment date is displayed in a table. (looks fine to me!)

In complex-data-model

Run the Students Index page again and notice that times are no longer displayed for the enrollment dates. The same will be true for any view that uses the Student model. (refresh ... again)

Run the Create page, and enter either name longer than 50 characters. When you click Create, client side validation shows an error message. (refresh)

Should I use a mixture of run and refresh? Are suggested edits in () fine?

@tdykstra Do you have any preferences on the verbiage used here?

In general the suggested edits are OK.  Could simplify in some cases by using "Go to the x page"; "Refresh the page" only works if it's a subsequent time and it's safe to assume they left the browser window open.

Any one planning to submit a PR for this? or working on it? I may be able to fix it tonight or tomorrow!

Unfortunately I didn't have time for this!

@badersur Nobody is working on this. If you have time to submit a PR, it would be greatly appreciated.

Maybe I'll be able to work on it next week!

I'm trying to update these files to use refresh and go to x page but now I realize that we need to re-run the application after changing C# code (as far as I know since we didn't use dotnet watch! Does VS re-run ASP.NET Core apps on the background?! I didn't notice this..)
Or we can assume developers will re-run the app if refresh didn't work!

It seems I'll just use "run the application" everywhere...

Or change text like "run page x" to:
"run the app and navigate to page x"
or shorter
"run the app and go to page x"


Update pre-commit dependencies

Coverage remained the same at 88.124% when pulling 3bb57cef3ef8aac4dcdc742f7271ef6720d9eaf1 on update-precommit into 8aa2a01d12b2805fc2a39bb969223227ec473acd on master.


integration: node drivers prisma playground

Integration PR for https://github.com/prisma/prisma/pull/19710.

This is stale by now. Closing.


Avoid repeated array accesses in defaults

Codecov Report

Merging #24 into master will not change coverage.
The diff coverage is 100%.

@@          Coverage Diff          @@
##           master    #24   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files           1      1
  Lines          65     63    -2
=====================================
- Hits           65     63    -2

Impacted Files
Coverage Δ

index.js
100% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 6b60228...01463ca. Read the comment docs.


Fix the telemetry server URI used on the client side and do some minor refactoring

Do some minor refactoring using JSDoc format (https://jsdoc.app/).
Defined jsonExportScript which produces the same result as what would be expected
from res.jsonp (https://expressjs.com/en/5x/api.html#res.jsonp,https://www.w3schools.com/js/js_json_jsonp.asp).
Fix the telemetry server URI used on the client side in the HistoricalTelemetryPlugin
and RealtimeTelemetryPlugin plugins.
Process any GET request from the client browser to retrieve the JSON configuration "file",
which is then sent as a JSON stringified configuration used to propagate the servers
configuration.

Note on JSONP - from https://www.w3schools.com/js/js_json_jsonp.asp:
Requesting a file from another domain can cause problems, due to cross-domain policy.
Requesting an external script from another domain does not have this problem.
JSONP uses this advantage, and request files using the script tag instead of the XMLHttpRequest object.

By setting in the main configuration file config/default.json the machine real IP address, it should now be possible to visualize the signals even when the telemetry server and browser are running in different machines. Test ongoing...
CC @S-Dafarra @traversaro @RiccardoGrieco

By setting in the main configuration file config/default.json the machine real IP address, it should now be possible to visualize the signals even when the telemetry server and browser are running in different machines. Test ongoing...
CC @S-Dafarra @traversaro @RiccardoGrieco

oh my, it's working on the tablet and PC at the same time, so cool.

A short video showing the visualization on the tablet:
https://user-images.githubusercontent.com/6848872/141141292-1369d44b-9ea7-495c-9219-205181232882.mp4

Thanks!


Envoy liveness probe failing due to Client.Timeout exceeded while awaiting headers

Bug description
[ ] Docs
[ ] Installation
[X] Networking
[ ] Performance and Scalability
[ ] Extensions and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
[ ] Upgrade
Expected behavior
Pod with istio sidecar injected automatically should be healthy and liveness probes should be successful
Steps to reproduce the bug
I'm getting this behavior with a super simple app that at this moment still doesn't have much business logic but exposes a k8s liveness probe
          readinessProbe:
            failureThreshold: 120
            httpGet:
              path: /healthy
              port: 8080
            initialDelaySeconds: 10
            periodSeconds: 10
          livenessProbe:
            failureThreshold: 120
            httpGet:
              path: /healthy
              port: 8080
            initialDelaySeconds: 5
            periodSeconds: 3

and the actual implementation is:
    {
        method: 'GET',
        path: '/healthy',
        handler: () => '200 OK',
    }

Version (include the output of istioctl version --remote and kubectl version --short and helm version --short if you used Helm)
$ istioctl version --remote
client version: 1.9.3
control plane version: 1.9.4
data plane version: 1.9.4 (23 proxies)

$ kubectl version --short
Client Version: v1.17.17-dispatcher
Server Version: v1.17.17-gke.4900

How was Istio installed?
using Istio Operator
Environment where the bug was observed (cloud vendor, OS, etc)
Google Cloud Platform
Here is the pod description:
Name:         my-pod-6878d74548-nvrsr
Namespace:    my-namespace
Priority:     0
Node:         my-node/10.x.x.x
Start Time:   Fri, 07 May 2021 11:10:33 -0600
Labels:       app=my-container
              istio.io/rev=1-9-4
              pod-template-hash=6878d74548
              security.istio.io/tlsMode=istio
              service.istio.io/canonical-name=my-container
              service.istio.io/canonical-revision=latest
              track=development
Annotations:  kubectl.kubernetes.io/default-logs-container: my-container
              prometheus.io/path: /stats/prometheus
              prometheus.io/port: 15020
              prometheus.io/scrape: true
              sidecar.istio.io/status:
                {"initContainers":["istio-init"],"containers":["istio-proxy"],"volumes":["istio-envoy","istio-data","istio-podinfo","istio-token","istiod-...
Status:       Running
IP:           <IP_ADDRESS>
IPs:
  IP:           <IP_ADDRESS>
Controlled By:  ReplicaSet/my-pod-6878d74548
Init Containers:
  istio-init:
    Container ID:  docker://8ade72db9d6729a8b782351db56fa416e293d64f20c10a51371f3bfcb5c7a81d
    Image:         docker.io/istio/proxyv2:1.9.4
    Image ID:      docker-pullable://istio/proxyv2@sha256:5e5d6153164c6a71fb1538cb11b3b8c13edc7f9628a4927c180df7ea5c02bae2
    Port:          <none>
    Host Port:     <none>
    Args:
      istio-iptables
      -p
      15001
      -z
      15006
      -u
      1337
      -m
      REDIRECT
      -i
      *
      -x

      -b
      *
      -d
      15090,15021,15020
    State:          Terminated
      Reason:       Completed
      Exit Code:    0
      Started:      Fri, 07 May 2021 11:10:35 -0600
      Finished:     Fri, 07 May 2021 11:10:35 -0600
    Ready:          True
    Restart Count:  0
    Limits:
      cpu:     2
      memory:  1Gi
    Requests:
      cpu:        100m
      memory:     128Mi
    Environment:  <none>
    Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from default-token-jj928 (ro)
Containers:
  my-container:
    Container ID:   docker://xxxxxxxxxxxxxx
    Image:          eu.gcr.io/my-project/my-container:cf4d313-14
    Image ID:       docker-pullable://eu.gcr.io/my-project/my-container@sha256:yyyyyyyyyyyyyyy
    Port:           8080/TCP
    Host Port:      0/TCP
    State:          Running
      Started:      Fri, 07 May 2021 11:10:36 -0600
    Ready:          True
    Restart Count:  0
    Limits:
      cpu:     500m
      memory:  500Mi
    Requests:
      cpu:      100m
      memory:   100Mi
    Liveness:   http-get http://:15020/app-health/my-container/livez delay=5s timeout=1s period=3s #success=1 #failure=120
    Readiness:  http-get http://:15020/app-health/my-container/readyz delay=10s timeout=1s period=10s #success=1 #failure=120
    Environment:
      DEBUG:                      true
      ENVIRONMENT:                development
      ALLOW_POST:                 true
    Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from default-token-jj928 (ro)
  istio-proxy:
    Container ID:  docker://52470e138bb55a0ab0e5778abdc0a81b75ee420f1ece432b7b1e72f325ac1711
    Image:         docker.io/istio/proxyv2:1.9.4
    Image ID:      docker-pullable://istio/proxyv2@sha256:5e5d6153164c6a71fb1538cb11b3b8c13edc7f9628a4927c180df7ea5c02bae2
    Port:          15090/TCP
    Host Port:     0/TCP
    Args:
      proxy
      sidecar
      --domain
      $(POD_NAMESPACE).svc.cluster.local
      --serviceCluster
      my-container.$(POD_NAMESPACE)
      --proxyLogLevel=warning
      --proxyComponentLogLevel=misc:error
      --log_output_level=default:info
      --concurrency
      2
    State:          Running
      Started:      Fri, 07 May 2021 11:10:36 -0600
    Ready:          True
    Restart Count:  0
    Limits:
      cpu:     2
      memory:  1Gi
    Requests:
      cpu:      100m
      memory:   128Mi
    Readiness:  http-get http://:15021/healthz/ready delay=1s timeout=3s period=2s #success=1 #failure=30
    Environment:
      JWT_POLICY:                    third-party-jwt
      PILOT_CERT_PROVIDER:           istiod
      CA_ADDR:                       istiod-1-9-4.istio-system.svc:15012
      POD_NAME:                      my-pod-6878d74548-nvrsr (v1:metadata.name)
      POD_NAMESPACE:                 my-namespace (v1:metadata.namespace)
      INSTANCE_IP:                    (v1:status.podIP)
      SERVICE_ACCOUNT:                (v1:spec.serviceAccountName)
      HOST_IP:                        (v1:status.hostIP)
      CANONICAL_SERVICE:              (v1:metadata.labels['service.istio.io/canonical-name'])
      CANONICAL_REVISION:             (v1:metadata.labels['service.istio.io/canonical-revision'])
      PROXY_CONFIG:                  {"discoveryAddress":"istiod-1-9-4.istio-system.svc:15012"}

      ISTIO_META_POD_PORTS:          [
                                         {"name":"http","containerPort":8080,"protocol":"TCP"}
                                     ]
      ISTIO_META_APP_CONTAINERS:     my-container
      ISTIO_META_CLUSTER_ID:         Kubernetes
      ISTIO_META_INTERCEPTION_MODE:  REDIRECT
      ISTIO_META_WORKLOAD_NAME:      my-pod
      ISTIO_META_OWNER:              kubernetes://apis/apps/v1/namespaces/my-namespace/deployments/my-pod
      ISTIO_META_MESH_ID:            cluster.local
      TRUST_DOMAIN:                  cluster.local
      ISTIO_KUBE_APP_PROBERS:        {"/app-health/my-container/livez":{"httpGet":{"path":"/healthy","port":8080,"scheme":"HTTP"},"timeoutSeconds":1},"/app-health/my-container/readyz":{"httpGet":{"path":"/healthy","port":8080,"scheme":"HTTP"},"timeoutSeconds":1}}
    Mounts:
      /etc/istio/pod from istio-podinfo (rw)
      /etc/istio/proxy from istio-envoy (rw)
      /var/lib/istio/data from istio-data (rw)
      /var/run/secrets/istio from istiod-ca-cert (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from default-token-jj928 (ro)
      /var/run/secrets/tokens from istio-token (rw)
Conditions:
  Type              Status
  Initialized       True
  Ready             True
  ContainersReady   True
  PodScheduled      True
Volumes:
  istio-envoy:
    Type:       EmptyDir (a temporary directory that shares a pod's lifetime)
    Medium:     Memory
    SizeLimit:  <unset>
  istio-data:
    Type:       EmptyDir (a temporary directory that shares a pod's lifetime)
    Medium:
    SizeLimit:  <unset>
  istio-podinfo:
    Type:  DownwardAPI (a volume populated by information about the pod)
    Items:
      metadata.labels -> labels
      metadata.annotations -> annotations
      limits.cpu -> cpu-limit
      requests.cpu -> cpu-request
  istio-token:
    Type:                    Projected (a volume that contains injected data from multiple sources)
    TokenExpirationSeconds:  43200
  istiod-ca-cert:
    Type:      ConfigMap (a volume populated by a ConfigMap)
    Name:      istio-ca-root-cert
    Optional:  false
  default-token-jj928:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  default-token-jj928
    Optional:    false
QoS Class:       Burstable
Node-Selectors:  <none>
Tolerations:     node.kubernetes.io/not-ready:NoExecute for 300s
                 node.kubernetes.io/unreachable:NoExecute for 300s
Events:
  Type     Reason     Age                      From                                                       Message
  ----     ------     ----                     ----                                                       -------
  Warning  Unhealthy  3m53s (x707 over 5h23m)  kubelet, my-node  Liveness probe failed: Get http://<IP_ADDRESS>:15020/app-health/my-container/livez: net/http: request canceled (Client.Timeout exceeded while awaiting headers)

and here is an obfuscated sample of istio-proxy logs:
2021-05-07T23:02:24.099999Z	error	Request to probe app failed: Get "http://localhost:8080/healthy": context deadline exceeded (Client.Timeout exceeded while awaiting headers), original URL path = /app-health/my-container/livez
app URL path = /healthy
[2021-05-07T23:02:20.275Z] "GET / HTTP/1.1" 200 - via_upstream - "-" 0 1990 4532 4530 "<IP_ADDRESS>" "Go-http-client/1.1" "cefe46bd-36c6-475f-824c-d89589a5eceb" "my-app-endpoint.com" "<IP_ADDRESS>:8080" inbound|8080|| <IP_ADDRESS>:41906 <IP_ADDRESS>:8080 <IP_ADDRESS>:0 outbound_.8080_._.my-container.my-namespace.svc.cluster.local default
2021-05-07T23:02:39.099860Z	error	Request to probe app failed: Get "http://localhost:8080/healthy": context deadline exceeded (Client.Timeout exceeded while awaiting headers), original URL path = /app-health/my-container/livez
app URL path = /healthy
[2021-05-07T23:02:37.386Z] "GET /navigation HTTP/1.1" 0 DC downstream_remote_disconnect - "-" 0 0 1950 - "<IP_ADDRESS>,<IP_ADDRESS>" "Go-http-client/1.1" "b901da33-3871-4a3d-9f83-3181005da69c" "my-app-endpoint.com" "<IP_ADDRESS>:8080" inbound|8080|| <IP_ADDRESS>:42564 <IP_ADDRESS>:8080 <IP_ADDRESS>:0 outbound_.8080_._.my-container.my-namespace.svc.cluster.local default
2021-05-07T23:02:42.099820Z	error	Request to probe app failed: Get "http://localhost:8080/healthy": context deadline exceeded (Client.Timeout exceeded while awaiting headers), original URL path = /app-health/my-container/livez
app URL path = /healthy
2021-05-07T23:03:24.099861Z	error	Request to probe app failed: Get "http://localhost:8080/healthy": context deadline exceeded (Client.Timeout exceeded while awaiting headers), original URL path = /app-health/my-container/livez
app URL path = /healthy
[2021-05-07T23:03:20.285Z] "GET / HTTP/1.1" 200 - via_upstream - "-" 0 1990 4517 4454 "<IP_ADDRESS>" "Go-http-client/1.1" "e641eff2-2089-4d8c-9fed-7b7c5e7946cb" "my-app-endpoint.com" "<IP_ADDRESS>:8080" inbound|8080|| <IP_ADDRESS>:44162 <IP_ADDRESS>:8080 <IP_ADDRESS>:0 outbound_.8080_._.my-container.my-namespace.svc.cluster.local default
2021-05-07T23:03:39.099743Z	error	Request to probe app failed: Get "http://localhost:8080/healthy": context deadline exceeded (Client.Timeout exceeded while awaiting headers), original URL path = /app-health/my-container/livez
app URL path = /healthy

However, something interesting is that I can open a shell session into the Istio-proxy container of the affected pods and can  call GET http://localhost:8080/healthy just fine, multiple times, with no issue:
istio-proxy@my-pod-6878d74548-nvrsr:/$ for i in {1..10}; do curl http://localhost:8080/healthy;echo;sleep 2; done
200 OK
200 OK
200 OK
200 OK
200 OK
200 OK
200 OK
200 OK
200 OK
200 OK

Any idea what could be causing the liveness health check errors?
thanks

Hi, just to close the loop here, the slowness between envoy and the main container to execute probes was caused by a GKE node that went into auto-repair mode and the node remained in bad state afterwards.  Once the node was removed from the node pool, the issue disappeared.
thanks for the assistance

Having a same issue.. But it seems that my node status is fine.

removing and adding nodes doesn't help to me. Any suggestion on troubleshooting this issue would be appreciated, folks.

Same issue that started 2 hours ago.
log:
[2022-02-09T11:26:37.976Z] "GET /fuction caseStatus=&caseId= HTTP/1.1" 0 DC downstream_remote_disconnect - "-" 0 0 30000 - "<IP_ADDRESS>, <IP_ADDRESS>,<IP_ADDRESS>" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.81 Safari/537.36" "09495c47-d200-916f-b10d-1322e1db8f22" "endpoint.com" "<IP_ADDRESS>:3006" inbound|3006|| <IP_ADDRESS>:49356 <IP_ADDRESS>:3006 <IP_ADDRESS>:0 outbound_.80_._.svc.ns.svc.cluster.local default
Version:
client version: 1.9.1
control plane version: 1.9.8
data plane version: 1.9.8
Doesn't look like it is resolving by self. No issues in the node either. Any reason for a DC error ?

That means the client disconnected. Since that looks like after 30s
probably they have some timeout configured.
On Wed, Feb 9, 2022, 3:56 AM Shruti Singh @.***> wrote:

Same issue that started 2 hours ago.
log:
[2022-02-09T11:26:37.976Z] "GET /fuction caseStatus=&caseId= HTTP/1.1" 0
DC downstream_remote_disconnect - "-" 0 0 30000 - "<IP_ADDRESS>,
<IP_ADDRESS>,<IP_ADDRESS>" "Mozilla/5.0 (Windows NT 10.0; Win64; x64)
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.81 Safari/537.36"
"09495c47-d200-916f-b10d-1322e1db8f22" "endpoint.com" "<IP_ADDRESS>:3006"
inbound|3006|| <IP_ADDRESS>:49356 <IP_ADDRESS>:3006 <IP_ADDRESS>:0
outbound_.80_._.svc.ns.svc.cluster.local default
Version:
client version: 1.9.1
control plane version: 1.9.8
data plane version: 1.9.8
Doesn't look like it is resolving by self. No issues in the node either.
Any reason for a DC error ?
—
Reply to this email directly, view it on GitHub
https://github.com/istio/istio/issues/32727#issuecomment-1033682860, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAEYGXN64Y3DT2UQ53ARNEDU2JI7RANCNFSM44LWU6XA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you commented.Message ID:
@.***>

Seems so. We could see SQL queries taking longer than usual and the error resolved once the fixed the sql response. Thanks !


dash chorobrewer explorer

this is a start to the viz module that adds a dash data explorer

this is a general explorer that looks at all the geosnap data. My thought was I could do something similar as a method on the Community class for exploring neihgborhood dynamics for a single study area (so things would be a lot snappier and more analytics plots since you're only working with a single dataset and dont need so much data handling)


Make SelectField.choices accept a callable

Hi,
Would it be so hard to make choices argument accept a callable too? I didn't go deep by looking at the code, but you currently have this:
class SelectField(SelectFieldBase):
    widget = widgets.Select()

    def __init__(self, label=None, validators=None, coerce=text_type, choices=None, **kwargs):
        super(SelectField, self).__init__(label, validators, **kwargs)
        self.coerce = coerce
        self.choices = choices

I wonder if we can just modify last line to something like:
if callable(choices):
    # make it callable with no arguments to keep it at its simplest.
    self.choices = choices()
else:
    self.choices = choices

This looks very simple and would make the field more powerful. For example, there are things that when the module loads, are not quite ready (I'm thinking about flask context for example, but can be anything actually) but when the Form is actually instantiated, they are ready.
I'm not sure if this has been discussed before and not very sure about the implications, but I think can be a good yet simple enhancement. I would be gladly to do it myself and test it if you need the help.

In case you're looking for a solition now I can inform you that wtforms-components already supports this in its subclassed Select(Multiple)Field.

I you don't have the choices on import time, then IMO you be passing the choices to the form constructor. This will simplify unit-testing and the users (other programmers on the team, even yourself) of the form will be aware of the fact that your form requires some external resource.

As given in the documentation, the recommended way of doing this is to not pass a choices when declaring the SelectField parameter but instead create the list of choices when ready and assign them.
For example:
class UserDetails(Form):
    group_id = SelectField(u'Group', coerce=int)

def edit_user(request, id):
    user = User.query.get(id)
    form = UserDetails(request.POST, obj=user)
    form.group_id.choices = [(g.id, g.name) for g in Group.query.order_by('name')]

Fixed by #608


Highlights not showing up at all

Testing #143553
I believe this text should highlight?
if (variable_א || variable_ב || vаriable_ג) {
    admin = true;
}

But it doesn't? It works in stable but not in insiders.

Contextual unicode highlighting would previously allow this and highlight nothing - the rationale was that ג would already indicate that something weird is going on.
I tweaked the algorithm to highlight those characters in any case if the word has at least one ASCII character.


Adding a note trait ID modifier for the dendron.lookupNote command

Please select if your request is either something new or an enhancement

[ ] Enhancement of an existing Feature.
[ ] Request of a new feature.

Please select the area your request applies to. (Multiple selections are Possible. You can leave blank if you're not sure.)

[x] Workspace - VSCode workspace, vaults, Intellisense/autocomplete, Dendron settings
[ ] Lookup - Dendron's Lookup Command
[ ] Views - Dendron Preview, Tree View, Side Panels in the UI
[ ] Schema - Dendron Schemas
[ ] Pod - Data import from / export to Dendron
[ ] Publish - External Site Publish
[ ] Markdown - Markdown features, such as syntax support and features

Is your feature request related to a problem? Please describe
n.a.
Describe the solution you'd like
I think it would help to be able to assign keybindings for creating notes with some arbitrary note trait ID. One way might be by adding a noteTraitId modifier, e.g.:
{
  "key": "alt+l r",
  "command": "dendron.lookupNote",
  "args": {
      "noteTraitId": "some-registered-note-trait-id",
  }
}

Describe alternatives you've considered
n.a.
Additional context
n.a.

acknowledged. pinging @jonathanyeung for visibility

Thanks for the suggestion @mihaiconstantin - there's a lot of potential enhancements around Note Traits we're considering, especially around apply them more easily and dynamically.  It's still an alpha/germ stage feature, so please bear with us as we continue to build it out. 😃


Compiling when using separate definition files

Hello.
Given this local directory structure (that is, the files are in the same directory) on my server:
<schema>
   schema.json
   definitions.json

...with definitions.json containing definitions referenced by schema.json, could you tell me the way to compile this pair both synchronously and asynchronously? (To date, I've only been compiling a single schema file, but now I'd like to break common things out into the separate definitions.json file.)
And, if definitions.json looked like this:
{
	"$schema": "http://json-schema.org/draft-04/schema#",
	"id": "definitions.json",
	"definitions": {
		"stringMinOne": {
			"type": "string",
			"minLength": 1
		}
	}
}

...would a property in my schema.json that references the above look like the following?
"urlId": {"$ref": "definitions.json#/definitions/stringMinOne"}

Thank you.
-Allan

added section to docs: https://github.com/epoberezkin/ajv#ref

Thank you for adding that to the docs.


Bug: The exported state of list cannot be used to import

Lexical version:  0.3.11

The report is the successor of #2874

Steps To Reproduce

Create a headless editor and insert a list node contains more than one child
Use the exported state to create a new editor
The same error as #2874 with the message "Cannot call set() on a frozen Lexical node map" will occur

Link to code example:
https://codesandbox.io/s/peaceful-wiles-uj0elc?file=/src/Editor.js
The current behavior
The generated editor state cannot be used to import because of the reason pointed out by @fantactuka : "List state is a bit corrupted: second "value" should be 2 instead of 1."
The expected behavior
No error(s)

hi @trueadm, how are you?
indeed this issue is fixed, but when one tries to use $generateNodesFromDOM the error returns.

regarding my last comment, loading the HTML using "editor.update" instead of "initialConfig.editorState(func)" fixed the issue.
using this flow: https://stackoverflow.com/a/75080913/314905

@trueadm I am still seeing this issue. If you update the sandbox shared in this issue to use the latest version, you'll see it is still appearing.


Fixes handler chain documentation

There is a discrepancy between the way the handler chaining currently works (according to the specs and my own testing) and the documentation.  The documentation states that handler chaining is based on the return value of the handler, and this is currently not the case.  It is entirely based on whether broadcast mode is enabled and whether throw :pass or throw :halt are specified.  This PR updates the documentation accordingly.

Looks like this documentation was merged in https://github.com/adhearsion/has-guarded-handlers/pull/2


Add cell for saving animations to texture_nca notebook

Steps:

Checkout a new branch to make changes, e.g. (from master branch) git checkout -b save_texture_gif
Add cell to the textures_nca notebook for saving animations (examples on the sr_ca branch):

matplotlib.animation.FuncAnimation(fig, update_fig, frames=num_frames, interval=100).save("texture_ca.gif")

Add the notebook to track the changes you just made: git add notebooks/texture_nca.ipynb
commit changes, e.g. git commit -m "add cell for saving animations to texture nca notebook"
push to the remote git push --set-upstream origin save_texture_gif
@riveSunder can test the notebook and run tests when the steps above are finished.
Run tests, then run python test_commit.py
If the tests are still all passing and the notebook works all the way through, open a PR and we'll do a mini code review.

This issue was addressed in PR #22


PP-4917 - Adding GA events for Apple Pay errors

If auth fails with connector
If auth fails to push to frontend controller

The logic for how this decides whether Frontend or Connector was the problem is quite implicit and I can't say for sure how it does it.

Good point updated messaging


Flesh out the mutable type hierarchy

This PR introduces more abstractions to get consistent operations between mutable collections. For instance, in mutable.Set the mapInPlace method was previously returning Unit whereas in ListBuffer it was returning this.type. This is fixed by this PR: the mapInPlace method is now defined in mutable.Iterable.

Have we discussed what these methods should return? In the current collections such methods return Unit. This is very annoying in practice but the argument was AFAIR that allowing providing fluent APIs would make it easy to accidentally mutate a collection. With the new naming scheme this is less likely so I think we should indeed have them return this.

Agreed.  It wasn't consistent, anyway.  += returned this, for instance.

Returning this instead of unit is definitely convenient, and I agree
all new ...InPlace methods should return this. So we have a list which
other methods would change their return type from Unit to this.type?
On Wed, May 10, 2017 at 6:47 PM, Ichoran<EMAIL_ADDRESS>wrote:

Agreed. It wasn't consistent, anyway. += returned this, for instance.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/scala/collection-strawman/pull/73#issuecomment-300543309,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAwlVluf4H7XsTW16SoDLNSCktphoZQcks5r4eoMgaJpZM4NQdNN
.

--
Martin Odersky
EPFL and Lightbend

Rebased to master.


Checks the casegroupstatus isn't completed/completedbyphone

Fixes defect 17.6. Sending a reminder email to a BI if another BI has already completed the survey.

 Defect 17_6 When a ru has 2 respondents one respondent submits a survey the other respondent still getting an reminder email.


Endorse: Mentoring

compose your endorsement here!

Phill is really competent with these skills

Phill is really competent with these skills

Phil is a great mentor and really interested in your progress.


[BUG] huawei health to strava , Help!

C:\Users\Nuno Silva\Desktop\Strava\Hitrava-3.4.2>Hitrava.py --zip HiZip.zip --json_export
Info - External library xmlschema could not be imported.
It is required when using the --validate_xml argument.
It can be installed using: pip install xmlschema
2020-07-09 15:48:18,840 - ERROR - parse - Error parsing JSON file <./output/Motion path detail data & description/motion path detail data.json>
'recordDay'
Traceback (most recent call last):
File "C:\Users\Nuno Silva\Desktop\Strava\Hitrava-3.4.2\Hitrava.py", line 1131, in parse
activity_date = dts.strptime(str(activity_dict['recordDay']), "%Y%m%d").date()
KeyError: 'recordDay'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\Nuno Silva\Desktop\Strava\Hitrava-3.4.2\Hitrava.py", line 1897, in
main()
File "C:\Users\Nuno Silva\Desktop\Strava\Hitrava-3.4.2\Hitrava.py", line 1884, in main
hi_activity_list = hi_json.parse(args.from_date)
File "C:\Users\Nuno Silva\Desktop\Strava\Hitrava-3.4.2\Hitrava.py", line 1276, in parse
raise Exception('Error parsing JSON file <%s>', self.json_file.name)
Exception: ('Error parsing JSON file <%s>', './output/Motion path detail data & description/motion path detail data.json')
C:\Users\Nuno Silva\Desktop\Strava\Hitrava-3.4.2>pause
Press any key to continue . . .
Anything else
Was your run on the moon?  Let me know anything out of the ordinary that might be relevant.

This is the wrong repository for that bug I believe. Are you looking for Hitrava? :)


[Bug] Clipping when turning fast

when you turn left or right too fast even when crouching, you see your weird clipping body
Steps to reproduce the behavior:

load up the beatrun gamemode
when you spawn in, turn left or right
you will see your body clipping

i expected to not see my body clipping

Game Version: chromium, x64
Game Type: singleplayer

in previous updates i was never able to see my clipping body when turning fast. it is only recently in these past updates that i can now start to see my clipping body when turning fast.

thats just how beatrun works, there will be no fix for that


Create link_webflow_unsolicited.yml

Description
Match on messages from unsolicited senders with at least one link to webflow.io
Associated samples

Sample 1
Sample 2
Sample 3

Associated hunts

Hunt 1

/update-test-rules

low volume while in test rules. Shared EML in the last 14 had FPs, but they were only new sender in shared emls. Prior to that all hits look good.
Official webflow communications are sourced from webflow.com and not webflow.io. and the little and .href_url.path == "/" section actually pulls a lot of weight in removing benign matches.
I had considered added some logic that matched the "default" publish domain which always ends with -<6 hex chars> but urlscan.io reveled that would FN too much.

Do you think this is ASR?

It seems to be doing well enough, I suppose if we get a bunch of FP we can make an ASR rule.


[Trivial] chip-tool did not have version number or git hash in cli command

Type
Other
Explanation
holp the chip-tool can add chip-tool --version or chip-tool version command.
Platform
raspi
Platform Version(s)
No response
Testing
Manually tested with SDK
(Optional) If manually tested please explain why this is only manually tested
No response
Anything else?
No response

The trick is to decide what version to expose here ... current version command line handling prints out hard-coded text I believe, which is only useful among manjor versions (which we probably could change), however that also creates churn (keep updating the version file).
To avoid churn, we had various requests to use git versions/info/logs for this however we intentionally avoided this due to slowing down builds (we try hard to not execute extra programs) and making builds potentially less reproducible (different output on the same code, depending on git checkout status/state).
The closest equivalent is defining an argument and allowing build systems to override it (and builds system may choose to take the extra time to figure out a good tag). sl_matter_version_str is an example of this being done ( it is slow when used, adds extra churn to maintain the version in the builder script).

@resghst Where is the chip-tool coming from whose version you want to know?  Understanding that will make it easier to figure out how best to address this.

Sometimes, I built the chip-tool a few months ago. I only leave the chip-tool bin file, so I can not easily get the chip-tool version.
For instance, the chip-tool builds from:

the hash code: b63c271
the nearest tag: v<IP_ADDRESS>
branch: master

I holp chip-tool version command will show:  master-v<IP_ADDRESS>-b63c271
at least show the hash code.

I think only project-chip git-hash will fine

@resghst Build it into a directory whose name is the SHA?

for example, the following command can control the node 1 endpoint 1.
$ ./chip-tool onoff on 1 1
I won get the chip-tool version with
$ ./chip-tool version
it will return "master-v<IP_ADDRESS>-b63c271" or "b63c271"


Improve response to SE main downtime

This PR does two things which should improve how SD handles SE main being in read-only mode (and some of the ways SE goes down).

Login to chat only using stored cookies is added such that SD doesn't require SE main to be in read/write mode in order to continue to use the cookies which SD already has. If logging in fails, SD still falls back to both older methods. If SD ends up falling back to having to log in via username and password, then it still needs SE main to be in read/write mode.
This should allow SD to communicate in chat after rebooting when SE is in read-only mode.
This is is still a bit brittle, particularly with respect to ditching the stored cookies upon a single failure. Not deleting the cookies upon failure needs some additional testing in various SE failure modes prior to implementing it. Basically, in other testing, I've seen times where dropping the cookies and rebooting has helped. I expect this is resolvable. It just needs more testing/experimentation prior to being implemented in SD.
What's implemented for this feature should be pushed into ChatExchange. I'll see if I can get that done. It's currently implemented within SD's code, because I wanted something that could be available for SE's scheduled maintenance which is in several hours. Changes to ChatExchange require coordination with the SD runners, as it's a requirement which isn't updated while SD is running.

Implement a !!/no_se_websocket_activity ignore command which toggles off SD monitoring for there having been no SE WebSocket activity after 3 or 4 status pings. In other words, when !!/no_se_websocket_activity ignore  is issued SD won't complain in chat or reboot when it's not seeing any activity on the SE WebSocket, as happens when SE is in read-only mode.

The maintenance which SE did yesterday resulted in chat being down for an extended time. I, belatedly, realized that would cause us to hit the cookie deletion issue regardless of the changes which I've made here. As a result, it was necessary to resolve that issue. That's done in this commit.
That change is that instead of deleting the cookies, a new instance of Client() is used whenever falling back to username/password login. That should result in effectively the same clean slate for the username/password login which would be obtained from deleting the cookies and rebooting.


fix: correct type for CreateNotificationBody.collapse_id

As seen in OneSignal's API docs, collapse_id parameter on the https://onesignal.com/api/v1/notifications endpoint is a string, not a number.

Thanks for the fix linzhiq. 👍  This will go into next release.


Add JMESPath for C++ to the list of libraries

jmespath.cpp is a C++ implementation of JMESPath. The library is cross-platform, well tested and fully compliant with the specifications, it runs all the tests from jmespath.test.
It's actually not a new library, I created it a few years ago but I forgot to request inclusion on the site.
It would be great if the library could be listed on the site.

Closing, this has now been merged and deployed.


Typo on WAF overview page

There is consecutive repetition of the word "our" in the following sentence

Our powerful web application firewall is integrated with the rest our our leading cloud-delivered application security portfolio.

I expect the sentence should actually say

Our powerful web application firewall is integrated with the rest of our leading cloud-delivered application security portfolio.

Section that requires update
Top section, 2nd paragraph, of https://www.cloudflare.com/en-gb/waf/
Additional information
I'm doubtful this specific repository is the correct place to report this particular typo, but I couldn't find anywhere better.

Howdy @Andrew-Cottrell, I created a ticket for the team that handles our main www website.
Thanks for the comment!


fix: Resetting the search keyword when the user un-mounts from the home page

Description

Resetting the search keyword when the user un-mounts from the home page
Moving business and enterprise tags to components

PR fixes following issue(s)
Fixes #24972
Type of change

Bug fix (non-breaking change which fixes an issue)
Chore (housekeeping or task changes that don't impact user perception)

Testing
How Has This Been Tested?

[x] Manual
[ ] Jest
[ ] Cypress

Checklist:
Dev activity

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[ ] PR is being merged under a feature flag

QA activity:

[ ] Speedbreak features have been covered
[ ] Test plan covers all impacted features and areas of interest
[ ] Test plan has been peer reviewed by project stakeholders and other QA members
[ ] Manually tested functionality on DP
[ ] We had an implementation alignment call with stakeholders post QA Round 2
[ ] Cypress test cases have been added and approved by SDET/manual QA
[ ] Added Test Plan Approved label after Cypress tests were reviewed
[ ] Added Test Plan Approved label after JUnit tests were reviewed

/ok-to-test

/ok-to-test

/build-deploy-preview skip-tests=true

/ok-to-test


Typo on wiaormultiauthn

@andres-canello : Thanks for your contribution! The author, @MicrosoftGuyJFlo, has been notified to review your proposed change.

verified typo fix


Grouped writes

Implements a context manager for performing many operations on a JSON file with only one write, which can considerably improve efficiency.
This can, in the simplest case, be used as "syntactic sugar:"
import livejson
with livejson.File("my_db.json") as db:
    db["cats"] = "dogs"

which is fun
In more serious cases, it is used to improve performance by minimizing the number of times files need to be opened and closed when you're doing a lot of writing (e.g. adding many items to a list from within a loop)

Coverage remained the same at 100.0% when pulling 4ad025bdd97a91c1c3dbd52144eaa6fefefa01b8 on transactions into e35bcb3a4c2b701710b8a6cfacf3b755d3ee0bf8 on master.


Implicit Flow Problem for Azure AD-secured APIs

From the the following docs page
Connect to Azure AD-secured APIs in SharePoint Framework solutions
It says:

Client-side applications that are incapable of storing a secret, such as SharePoint Framework solutions, use a specific type of OAuth flow named OAuth implicit flow.

It looks like Implicit Flow is required to securely access external APIs from an SPFx solution, but on the page that is linked to describing implicit flow it says:

With the plans for third party cookies to be removed from browsers, the implicit grant flow is no longer a suitable authentication method.

Does this mean that this solution for securely connecting to Azure AD-secured APIs is not possible in SPFx solutions?  What are the alternatives if we need to securely access an external Azure AD-secured API?

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

ID: 47b09a1d-5520-82e2-64f5-7aaae817720a
Version Independent ID: 0e3dcdc4-3a49-b4c7-f525-1c618cf5e21e
Content: Connect to Azure AD-secured APIs in SharePoint Framework solutions
Content Source: docs/spfx/use-aadhttpclient.md
Product: sharepoint
Technology: sharepoint-framework
GitHub Login: @VesaJuvonen
Microsoft Alias: vesaj

SharePoint Framework uses, under the cover, MSAL.JS V1 which indeed still relies on OAuth2 implicit flow. We are doing work to move to MSAL.JS V2 that will use a different flow for auth initiated from non confidential clients (aka the browser).
That will happen transparently for 3rd party developers and, most importantly, it will be backward compatible (what it means is that existing solutions that have been already deployed will automatically switch to the new flow if they are using our native SharePoint Framework classes for accessing AAD tokens.
The current approach is as secure as implicit flow has been (with MSAL V1 library).
@VesaJuvonen, feel free to add anything you think I missed here and I will let you evaluate how to handle this doc issue


Docker - Chrome for Headless Use

The purpose of this PR is to allow people running docker images of HA to use chrome headless for scraping pages.  An example is the USPS component: https://www.home-assistant.io/components/usps/

Hi @JBassett,
It seems you haven't yet signed a CLA. Please do so here.
Once you do that we will be able to review and accept this pull request.
Thanks!

I'm not in favor for this. We already have PhantomJS for this, and this already is quite a heavy dependency.

I agree. Let's not do this.


[postgres] reinitialize query_tags list

What does this PR do?
reinitialized query_tags list for each row.
Motivation
client issue.
given below:
 letter | num
--------+-----
 a      |  97
 b      |  98
 c      |  99

metrics returned: Screenshot (https://cl.ly/1d43d3d59e4c)

num=97, tags=letter:a
num=98, tags=letter:a,letter:b
num=99, tags=letter:a,letter:b,letter:c

instead of: Screenshot (https://cl.ly/8ad1a10eb140)

num=97, tags=letter:a
num=98, tags=letter:b
num=99, tags=letter:c

Additional Notes
The tests seems to work fine even after the change; not sure if that needs fixing or not.
Review checklist (to be filled by reviewers)

[x] PR title must be written as a CHANGELOG entry (see why)
[x] Files changes must correspond to the primary purpose of the PR as described in the title (small unrelated changes should have their own PR)
[x] PR must have changelog/ and integration/ labels attached
[ ] Feature or bugfix must have tests
[ ] Git history must be clean
[ ] If PR adds a configuration option, it must be added to the configuration file.

It's probably a good idea to add a unit test:
def test_custom_query_tags(check, aggregator):
    check.log = MagicMock()
    db = MagicMock()
    programming_error = Exception

    custom_query_a = {
        'metric_prefix': 'mymetric',
        'query': 'SELECT num FROM sometable',
        'columns': [
            {
                'name': 'num_a',
                'type': 'gauge'
            }
        ]
    }
    custom_query_b = {
        'metric_prefix': 'mymetric',
        'query': 'SELECT num FROM sometable',
        'columns': [
            {
                'name': 'num_b',
                'type': 'gauge'
            }
        ]
    }

    query_return = MagicMock()
    db.cursor().__iter__.return_value = iter([[query_return]])

    check._get_custom_queries(db, ['num:a', 'num:b'], [custom_query_a, custom_query_b], programming_error)
    aggregator.assert_metric(name='mymetric.num_a', value=1.0, tags=['num:a'])
    aggregator.assert_metric(name='mymetric.num_b', value=1.0, tags=['num:b'])

Looks like the test_custom_queries should cover have it.
Problem was that the issue only occurs if custom_queries[].tags is present, which the current unit test doesn't cover.

The issue presents itself when two custom queries have different custom tags and then all metrics have both tags. With current version of the test the test passes on master if you put the tags in the right order:
 aggregator.assert_metric('another_custom_one.num', value=value,
                                 tags=['query:another_custom_one', 'foo:bar', 'server:localhost', 'port:5432',
                                       'db:datadog_test', 'customtag:a'])

The reason for this is that the first metrics for the first custom query are emitted before query:another_custom_one is added to tags list. Test should include 'tags': ['query:custom'] in line 45 too to correctly capture the bug.

For those about to look, the other implementations are unaffected:
https://github.com/DataDog/integrations-core/blob/58aaae4e4c82bb22bcfa3dbb6c839a897f561d45/oracle/datadog_checks/oracle/oracle.py#L173-L174
https://github.com/DataDog/integrations-core/blob/58aaae4e4c82bb22bcfa3dbb6c839a897f561d45/ibm_db2/datadog_checks/ibm_db2/ibm_db2.py#L435-L436


after_hook on init command executes twice

I like to use an after_hook on init to further reduce code duplication, usually at least copying a common or backend .tf file into the tmp dir, but this setup ends up executing the hook twice... once after init -from-module retrieves the source, and again after init executes to initalize modules, the backend, and plugins.
I really only need the hook to execute after retrieving the source. It's not too big a deal if all I'm doing is copying a file like this, but I have other less common use cases where I'm doing something more (rendering the .tf file using jinja 😭 ), where the duplication really slows things down.
Not too sure on the best approach to avoid this, but could maybe create new command-types recognized by the hooks. Such as init-from-module and init-configure or somesuch, to identify the different steps.

Ah, you're right, we do run init twice... PR to fix this is welcome! init-from-module and init does seem like a reasonable solution.

Done, see https://github.com/gruntwork-io/terragrunt/pull/540.


Error when reading videos with given Dataset

Hi. Thanks for your great contribution to the community. An attribute error below will be raised when reading videos with the given Dataset - StateChangeDetectionAndKeyframeLocalisation.
AttributeError: 'av.codec.codec.Codec' object has no attribute 'seek

When frames of clips are not prepared, the Dataset will call the function _get_frames() which is implemented in utils/trim.py to read clip frames from videos. However, code at line 165 in utils/trim.py will raise an error.
According to the documentation of pyav,  av.container.streams.StreamContainer.video does not have attribute seek() but av.container.InputContainer do.
https://github.com/EGO4D/hands-and-objects/blob/c207485ebb501b5e1088f1ab457b258e61985d54/state-change-localization-classification/i3d-resnet50/utils/trim.py#L137
https://github.com/EGO4D/hands-and-objects/blob/c207485ebb501b5e1088f1ab457b258e61985d54/state-change-localization-classification/i3d-resnet50/utils/trim.py#L165
(lines  around 165 try to seek to the point we need in the video and audio separately)
And I simply change code at line 165 to
container.seek(...., stream=container.streams.video[0])
But this fails to set the frame to the expected position. I comment lines from 164 to 171 and it only works properly for several videos. Only frames of several clips are extracted while the others are left empty.
To reproduce the error raised by line 165, you can use the code snippet below:
import av
container = av.open("video.mp4")
videostream = container.streams.video[0]
videostream.seek(0)

Do you have any solutions for this? I'm unfamiliar with Pyav so please forgive me if I made any mistakes.

version of packages:
python 3.9.12
pyav  9.2.0

Hi thank you for your reply @abrhamkg
(1) after I downgraded pyav to 8.0.3, I got a new error:
MethodDeprecationWarning: VideoStream.seek is deprecated.
And still, no frames are saved now. I solved it by rewriting with opencv module
(2) Follow: "I comment lines from 164 to 171 and it only works properly for several videos. Only frames of several clips are extracted while the others are left empty."
I found out only clips whose clip_start_frame equals parent_start_frame are properly handled. clip_start_frame and parent_start_frame are meta information provided in fho_oscc-pnr_train.json which can be downloaded via
python -m ego4d.cli.cli --output_directory="~/ego4d_data" --datasets annotations
And it turns out codes start from line 55:
https://github.com/EGO4D/hands-and-objects/blob/c207485ebb501b5e1088f1ab457b258e61985d54/state-change-localization-classification/i3d-resnet50/datasets/StateChangeDetectionAndKeyframeLocalisation.py#L55
It use meta info starts with "parent", so I changed codes to use info start with "clip" and everything works fine now.

jasonrayshd

Hi @jasonrayshd , I'm sorry to interrupt since I faced the same issues. Could you have any chances sharing your code about how exactly you modify in point (1) and (2)?

@FrankFcc hi
(1)  To use the official dataset code, the version of pyav should be no greater than 6.0.0 but after some experiments I found it might cause memory leakage. That is , with more and more clips/videos are processed, the memory increases linearly without and deallocation. Thus I suggest use pyav==8.0.3 and modify code like
video_stream.seek(seek_pts)

to
container.seek(seek_pts, video_stream)

(2) In fact, the official dataset code in this repo is used to read from full scale videos (namely parent video) instead of clips, thus you have to download videos by specifying --datasets full_scale in download command. parent_start_frame in annotation file indicates the starting frame of the clip in the full scale video.
Hope these will answer your questions

@jasonrayshd Thanks for your quick answer. I did actually fix the issue for container issue and I used the full-scale videos instead of clips so that it successfully notify the Number of clips for train: 41085 and the Number of clips for val: 28348. However, it then failed with a bug with "av/error.pyx" showing
"File "av/error.pyx", line 78, in av.error.FFmpegError.__init__
TypeError: __init__() takes at least 3 positional arguments (2 given)"

Could I get your requirement.txt to ensure that every libraries I installed is correct since I am currently using torch 1.8.1 for this project because detectron2 seemed to stop supporting torch 1.7.x.

@FrankFcc hi
This error is possibly caused by corrupted videos, no permission for reading videos or missing videos. It has nothing to do with package compatibility.  You might need to traverse all videos in full_scale first. E,g by using code below:

import json
import av
from tqdm import tqdm

path = "path/to/ego4d/v1"
anno_path = path + "/annotations/fho_oscc-pnr_val.json"
video_path = path + "/full_scale"
clips = json.load(open(anno_path, "r"))["clips"]
for clip in tqdm(clips):
    video = video_path + "/"+ str(clip["video_uid"]) + ".mp4"
    container = av.open(video)

@jasonrayshd Thanks for your idea and it definitely worth a try. I will firstly traverse all videos to see if there are any problems or not with the dataset that I've downloaded.

@jasonrayshd It seemed that I ran all of my datasets which resulted in no corrupted videos so I might look for other issues...

@FrankFcc  Did you check if any videos are missing?


DSA <IP_ADDRESS> Strings : Palindrome Problems (Problem-3)

Description
Description
Check if characters of a given string can be rearranged to form a palindrome
Task

[ ] Audio
[ ] Video
[ ] Documentation

Note

While requesting the issue to be assigned, please mention your NAME & BATCH NUMBER.
Mention the type of contribution you want to make.
Kindly refer to the Issue Guidelines.
Do not use the assign command for this issue. Follow the above procedure.
In case you see that the issue has already been assigned, try to request a different task within the same issue.
Changes should be made inside the DSA/directory & DSA branch.
Name of the file should be the same as the issue.
This issue is only for 'GWOC' contributors of the 'DSA' Domain.

Domain
DSA
Type of Contribution
Audio, Video, Documentation
Code of Conduct

[X] I follow Contributing Guidelines & Code of conduct of this project.

/assign

@aishapervin It has been mentioned to not use assign command in the issues created by the supervisors. Refrain from doing this. I am not unassigning you this time.
Make sure to submit a PR within 7 days

I would like to work on this issue (documentation).
batch-2
Dhruti Gandhi

@goelesha where do i have to add my file inside dsa branch?
it has got only 2 folders so inside which folder?

@aishapervin Inside the DSA folder you can create a folder with the name 2.1 Strings and insert the file inside that.

@goelesha plz check

i want to work on this issue, may I?
Saket Sagar
Batch-2
Documentation


Update documents_delete tests to use the test dataset

As requested by @MarinPostma, creating a separate pull request for updating the Documents Delete test to use the Test Dataset.
Let me know whether this is the expectation for addressing #655.
Also please let me know whether it's okay for me to create individual PRs like this for every test file.
Thanks in advance.

Hey, sorry this wasn't what I meant, I meant separate commits, but you can do them all in the same pr 😁 sorry for the confusion

@MarinPostma, No worries! I thought this might be easier for you folks to merge. :smiley:
I'll close this PR and open a new draft PR that you folks can review as I keep adding commits to it, if you don't mind.


python - selenium - selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable needs to be in PATH

How to work with selenium via mach-nix?
let
  pyVersion = "37";
  mach-nix = import (builtins.fetchGit {
    url = "https://github.com/DavHau/mach-nix/";
    ref = "refs/tags/3.1.1" ;
    #ref = "refs/heads/conda-beta";
  }) {
      python = "python${pyVersion}";
    };

  nixPkgs = import mach-nix.nixpkgs.path {config= { allowUnfree = true;  }; };
  py = nixPkgs."python${pyVersion}Packages" ;

in let
  envPy = mach-nix.mkPython rec {
    requirements =  ''
        ipython
        jupyterlab
        #pandas

        selenium
        pytest-webdriver

        browsermob-proxy

        webdriver_manager

        geckodriver-autoinstaller
      '';

      packagesExtra = []
          ++ [
            nixPkgs.chromedriver
          ]
      ;

      providers = {
      };
  };
in (envPy).env

# from selenium import webdriver;  browser = webdriver.Chrome();

 from selenium import webdriver;  driver = webdriver.Chrome()
Traceback (most recent call last):
  File "/nix/store/7kbw8xsw7hsj9zdgcgwvp8lymxxl5g70-python3-3.8.6-env/lib/python3.8/site-packages/selenium/webdriver/common/service.py", line 72, in start
    self.process = subprocess.Popen(cmd, env=self.env,
  File "/nix/store/5aq2ix4vmk8bxs20ddqi48vc4bnk8zr5-python3-3.8.6/lib/python3.8/subprocess.py", line 854, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/nix/store/5aq2ix4vmk8bxs20ddqi48vc4bnk8zr5-python3-3.8.6/lib/python3.8/subprocess.py", line 1702, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'chromedriver'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/nix/store/7kbw8xsw7hsj9zdgcgwvp8lymxxl5g70-python3-3.8.6-env/lib/python3.8/site-packages/selenium/webdriver/chrome/webdriver.py", line 73, in __init__
    self.service.start()
  File "/nix/store/7kbw8xsw7hsj9zdgcgwvp8lymxxl5g70-python3-3.8.6-env/lib/python3.8/site-packages/selenium/webdriver/common/service.py", line 81, in start
    raise WebDriverException(
selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable needs to be in PATH. Please see https://sites.google.com/a/chromium.org/chromedriver/home

conda-beta:
warning: unknown setting 'experimental-features'
trace: using conda channels: main, r
these derivations will be built:
  /nix/store/akwyy01ayhlaqfnpa5bd8xbv3ri18x7j-python3.8-jupyterlab-2.2.6.drv
  /nix/store/vb1k7c6ldrflf4dcgdg6nhhl4mqv0cvv-python3.8-selenium-3.141.0.drv
  /nix/store/d73cng19cl9fj9mb562alfc1gn9p37lf-python3-3.8.6-env.drv
  /nix/store/cn20gnl9myxnakdxx0sfw3wfzdcajc0b-python3-3.8.6-env.drv
  /nix/store/pfphdswq53g9bw8vn186yp4n0jsdg9bs-bEnvJL.drv
warning: unknown setting 'experimental-features'
building '/nix/store/akwyy01ayhlaqfnpa5bd8xbv3ri18x7j-python3.8-jupyterlab-2.2.6.drv'...
building '/nix/store/vb1k7c6ldrflf4dcgdg6nhhl4mqv0cvv-python3.8-selenium-3.141.0.drv'...
Sourcing python-recompile-bytecode-hook.sh
Sourcing python-remove-tests-dir-hook
Sourcing python-catch-conflicts-hook.sh
Sourcing python-remove-bin-bytecode-hook.sh
Sourcing python-imports-check-hook.sh
Using pythonImportsCheckPhase
Sourcing python-namespaces-hook
unpacking sources
Sourcing python-recompile-bytecode-hook.sh
Sourcing python-remove-tests-dir-hook
Sourcing python-catch-conflicts-hook.sh
Sourcing python-remove-bin-bytecode-hook.sh
Sourcing python-imports-check-hook.sh
Using pythonImportsCheckPhase
Sourcing python-namespaces-hook
patching sources
configuring
no configure script, doing nothing
building
no Makefile, doing nothing
installing
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/l1dgr6h0niagc591b59j2q50fxmpxl7w-python3.8-selenium-3.141.0
shrinking /nix/store/l1dgr6h0niagc591b59j2q50fxmpxl7w-python3.8-selenium-3.141.0/lib/python3.8/site-packages/selenium/webdriver/firefox/amd64/x_ignore_nofocus.so
shrinking /nix/store/l1dgr6h0niagc591b59j2q50fxmpxl7w-python3.8-selenium-3.141.0/lib/python3.8/site-packages/selenium/webdriver/firefox/x86/x_ignore_nofocus.so
strip is /nix/store/p3kn26g5nhmx6spn37ar3mn0xjbzks3g-binutils-2.31.1/bin/strip
stripping (with command strip and flags -S) in /nix/store/l1dgr6h0niagc591b59j2q50fxmpxl7w-python3.8-selenium-3.141.0/lib
patching script interpreter paths in /nix/store/l1dgr6h0niagc591b59j2q50fxmpxl7w-python3.8-selenium-3.141.0
checking for references to /build/ in /nix/store/l1dgr6h0niagc591b59j2q50fxmpxl7w-python3.8-selenium-3.141.0...
unpacking sources
Executing pythonRemoveTestsDir
Finished executing pythonRemoveTestsDir
automatically fixing dependencies for ELF files
searching for dependencies of /nix/store/l1dgr6h0niagc591b59j2q50fxmpxl7w-python3.8-selenium-3.141.0/lib/python3.8/site-packages/selenium/webdriver/firefox/amd64/x_ignore_nofocus.so
searching for dependencies of /nix/store/l1dgr6h0niagc591b59j2q50fxmpxl7w-python3.8-selenium-3.141.0/lib/python3.8/site-packages/selenium/webdriver/firefox/x86/x_ignore_nofocus.so
patching sources
configuring
builder for '/nix/store/vb1k7c6ldrflf4dcgdg6nhhl4mqv0cvv-python3.8-selenium-3.141.0.drv' failed with exit code 1
cannot build derivation '/nix/store/cn20gnl9myxnakdxx0sfw3wfzdcajc0b-python3-3.8.6-env.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/pfphdswq53g9bw8vn186yp4n0jsdg9bs-bEnvJL.drv': 1 dependencies couldn't be built
error: build of '/nix/store/pfphdswq53g9bw8vn186yp4n0jsdg9bs-bEnvJL.drv' failed

You could do a:
packagesExtra = [ pkgs.chromedriver ];

It requires the chromedriver version 85, so you might want to check which chromedriver version is used in your nixpkgs branch.
The current nixos-20.09 branch should have version 85.

chrome 85 is used
added chromedriver in packagesExtra and in the mkShell aswell

without success / error is the same

sorry for the nixFlakes script, now I updated it to the real script used.

got a solution:
let
  pyVersion = "37";
  mach-nix = import (builtins.fetchGit {
    url = "https://github.com/DavHau/mach-nix/";
    ref = "refs/tags/3.1.1" ;
    #ref = "refs/heads/conda-beta";
  }) {
      pkgs= import <nixpkgs>  {config= { allowUnfree = true; }; };
      python = "python${pyVersion}";
    };

  nixPkgs = import mach-nix.nixpkgs.path {}; # import mach-nix.nixpkgs.path {config= { allowUnfree = true;  }; };
  py = nixPkgs."python${pyVersion}Packages" ;

in let
  envPy = mach-nix.mkPython rec {
    requirements =  ''
        ipython
        jupyterlab
        #pandas

        selenium
        pytest-webdriver

        browsermob-proxy

        webdriver_manager

        geckodriver-autoinstaller
      '';

      packagesExtra = []
          ++ [
            nixPkgs.chromedriver
          ]
      ;

      providers = {
      };
  };
in (envPy).env


Select component not rendering ok

Hi, I have this weird case using the SelectField component, when I place it like above, the Select component renders without some style properties
         <Field              name="test"              label="Test"              mode="default"             component={SelectField}              options={options}           >           </Field>
Then when I declare Option in my code like this:
import { Select} from 'antd'; const Option = Select.Option;
The Select component renders with the proper styles.
In my project I am using antd v 3.0.3 .I'm thinking that it may be a case where the Option I am declaring styles correctly the SelectField component (that is why I opened this issue/question https://github.com/zhDmitry/redux-form-antd/issues/15 )

with a fork of redux-form-antd (https://github.com/luispeerez/redux-form-antd/) using the latest version of  antd and redux-form this problem doesn't appear anymore. Without the need of declaring
import { Select} from 'antd';
const Option = Select.Option;

https://github.com/zhDmitry/redux-form-antd/issues/30


Consider DnD class as src

Codecov Report

Merging #66 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #66   +/-   ##
=======================================
  Coverage   80.98%   80.98%
=======================================
  Files          13       13
  Lines         284      284
  Branches       42       42
=======================================
  Hits          230      230
  Misses         45       45
  Partials        9        9

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update a0a62c7...a9e22c9. Read the comment docs.


fix: canonicalize paths

Fixes #1468

I can't reproduce issue on mac but I think it won't hurt if we resolve all paths completely before passing them anywhere

Codecov Report

Merging #1469 (ec82970) into master (5e507aa) will increase coverage by 0.03%.
The diff coverage is 0.00%.

 Learn more


Interactive Storytelling

Allow the assistant to narrate stories that users can influence by choosing different plot directions or character actions, creating a personalized storytelling experience.

Here is a demo how it looks

Here is demo video how it looks and work
https://github.com/user-attachments/assets/e32f6b9e-08fb-4713-ac04-7cabd4098f6a

@suryanshsk i have added the file with name Create Interactive Storytelling

Looks great!
On Fri, 11 Oct, 2024, 5:12 pm 23WH1A0513, @.***> wrote:

Here is demo video how it looks and work
https://github.com/user-attachments/assets/e32f6b9e-08fb-4713-ac04-7cabd4098f6a
—
Reply to this email directly, view it on GitHub
https://github.com/suryanshsk/Python-Voice-Assistant-Suryanshsk/issues/159#issuecomment-2407235523,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AVBBZFKH5KUSTDPHSFZSLHLZ262SRAVCNFSM6AAAAABPYVSCH2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMBXGIZTKNJSGM
.
You are receiving this because you were assigned.Message ID:
@.***
.com>

Thank you


[FEAT]: Endpoint for creating roles

OS-001: Endpoint for Creating Roles
Description:
Implement an endpoint to create roles. This endpoint will allow an admin to create various roles within an organization.
Acceptance Criteria:

Endpoint Creation:

Create an API endpoint to allow admins to create new roles within their organization.
Ensure that the admins and Super Admins must be authenticated and authorized to access this endpoint.

Database Schema Update:

Update the database schema to include new roles.

Success and Error Handling:

Handle success and error responses appropriately.

Testing and Debugging:

Write unit tests for the role creation endpoint.
Perform integration testing to ensure the endpoint works as expected.
Debug any issues that arise during testing.

Purpose:
To provide an endpoint for admins to create various roles within their organization, ensuring only authorized users can perform this action and maintaining system security.
Requirements:

Endpoint Creation:

Implement the endpoint POST /api/v1/roles to handle role creation.
Validate user input on the server side.
Ensure only authenticated and authorized admins can access this endpoint.

Database Schema Update:

Modify the database schema to include the new roles table or update the existing table to include organization references.

Success and Error Handling:

Return appropriate success messages when a role is created successfully.
Return error messages when the role creation fails, including appropriate status codes.

Security Measures:

Use HTTPS for secure data transmission.
Validate user input on the server side.
Encrypt sensitive data as necessary.

Expected Outcome:

Endpoint to allow admin create various roles

Tasks:

[ ] Create an endpoint (POST /api/v1/roles) to handle role creation.
[ ] Update the database schema to include new roles.
[ ] Validate user input on the server side.
[ ] Implement server-side logic to handle successful and failed role creation attempts.
[ ] Ensure all sensitive data is encrypted and secure.
[ ] Implement logging for errors and transaction attempts.
[ ] Write unit tests for the role creation endpoint.
[ ] Write integration tests for the role creation process.

Testing:

[ ] Write unit tests for backend validation and transaction handling.
[ ] Write integration tests for the end-to-end role creation process.
[ ] Perform security testing to ensure data protection and compliance.
[ ] Test various scenarios for role creation (e.g., successful, failed, retry).

Request Body:
{
  "role_name": "String",
  "organization_id": "String",
  "permission_ids": [
    "String", "String"
  ]
}

Response Body (Success)
{
  "message": "Role created successfully.",
  "role_id": "String"
}

Response Body (Error)
{
  "message": "Role creation failed.",
  "status_code": 400
}

DB diagram

roles is not just for superadmin, they are tied to the org

noted. i will add the feature now.

fix: feature implemented.

Okat

@SundayMba I am on your team

@SundayMba on your team too

@SundayMba I'm on your team

You need something like this

fix: updated to include the features you highlighted. @buka4rill

@SundayMba  This looks good. Except in your permissions key. Is that the permission_Id? Because existing permissions is need for creating roles.

yes, it is the permission_ids. i have effected it now. thanks so much @NdubuisiJr

@SundayMba either remove the role_id here or put it inside data
{
"message": "Role created successfully.",
"role_id": "String"
}

add status code to the above as well

okay done, i prefer removing it, i have also added the status code. @pesova


feat: error msg to say missing compiler

What I did
added error message in case compiler extensions are missing

fixes: #964
fixes: APE-273
How I did it
If the attribute throws an error then it checks the missing extensions and shows them as the error message
How to verify it
building tests soon
Checklist

[ ] All changes are completed
[ ] New test cases have been added
[ ] Documentation has been updated

needs test for error message


Destroy() not working as expected on Windows 10 setup

Node version:  18.16.0
Sails version (sails): 1.5.4
ORM hook version (sails-hook-orm): 4.0.2
Sockets hook version (sails-hook-sockets): 2.0.3
Grunt hook version (sails-hook-grunt): 5.0.0
Skipper adapter & version (e.g. skipper-s3@5.55.5):  Sails Disk

Repo to isolate the issue:
https://github.com/rfalzone/Model-destroy-windows-bug
The issue is simply not being able to use Destroy to remove objects from the database on my Windows 10 machine.

Hi @rfalzone, Thanks for reporting this issue! I looked at your repo on a Windows 10 machine, but I could not reproduce the issue you're running into.
Is there an error that you're seeing when you try to delete records? If so, can you post it in this issue?


enhancement: clone from a different pack

While updating my modpack I clone my server, update mods, like everyone else, and am using a "test modpack" listing on technic. When I am done updating and getting everything to work, I'd like to be able to clone (or publish) my test mudpack to the production mudpack.

Why not use the private build feature to achieve this? My workflow goes like this for new releases:

Clone the latest build of my modpack
Set the cloned build as private
Make adjustments to private build, test, adjust, test, etc until the build is ready
Set the new build as latest
Give early adopters a chance to play with it and find hidden problems (start over at step 1 if this happens)
Make the now well tested build recommended and update any servers if necessary

I almost always just skip past step 5 since the number of deployments of my modpacks are small, but its probably a good idea on more widely used packs.

@GenPage, might I suggest we close this enhancement? The above workflow should cover lymem's particular use case and #12 is being worked on for doing real base modpacks.


ETA for cf-cli v6.25 on homebrew

$ brew upgrade cf-cli
Error: cloudfoundry/tap/cf-cli 6.24.0 already installed

I got all excited for tab completions. Perhaps the CI pipeline is still pushing out the homebrew upgrade. I'll try again later.

Closing. Homebrew wasn't doing its own Updating Homebrew... first.


expandParent is not compatible extent: 'parent'

Describe the Bug
Pretty much the title, when a node has both option expandParent: true and extent: "parent" only the later will be used.
Which might be a fair choice, but it's not documented and no warning in the console.
Proposed solutions:

Update the types so the options are mutually exclusive (not possible to set them at the same time)
This is nice in term of IDE but might confuse the user looking for the option
Update the doc saying both options are incompatible
Warn when both options are set
Let expandParent always act when specified. One could argue that if the parent expand then extent: parent is always respected so no surprises.

Or all at the same time :D
Your Example Website or App
https://stackblitz.com/edit/react-ts-c5y34b?file=Flow.tsx
Steps to Reproduce the Bug or Issue
.
Expected behavior
.
Screenshots or Videos
No response
Platform

OS: [e.g. macOS, Windows, Linux]
Browser: [e.g. Chrome, Safari, Firefox]
Version: [e.g. 91.1]

Additional context
No response

That's a good point. We will add it to the docs.

I also agree that expandParent should just work because it doesn't violate the extent parent option.

Amazing thanks for the quick PR <3

you can now use both options together since extent: parent doesn't violate expandParent: true.


withArtifacts loop (fan-out)

Summary
Add a withArtifacts field to tasks to handle loop over files in an artifact.
Motivation
You have an archive, and you want to run a workflow over all files inside.
Proposal
How do you think this should be implemented? No

Message from the maintainers:
If you wish to see this enhancement implemented please add a 👍 reaction to this issue! We often sort issues this way to know what to prioritize.

It's not possible to do this natively in Argo Workflows. However, you can do this by having one step that unpacks the artifact and has an output parameters that is a list of the items. This is then used as an input to withItems.

This proposal could resolve my request https://github.com/argoproj/argo/issues/3061

Hi,
I try to implement the solution proposed by alexec but I can't find the correct syntax to achieve it.
Can somebidy give me a little help please ?

Closed with data template

Hi @simster7 - will this be released with the 3.1 milestone and is there maybe a pre-release one could test this with?
Currently with v2.12.9 "data" is still a unknown field.
Also if you have a moment to explain: How does this new template relate to the other existing/ongoing solutions such as the proposed concept of withArtifacts, and key-only artifacts and the map-reduce example?
Is the data template meant to cover these use cases once and for all?