Support Compression

Description:
Support Payload Compression
[optional Relevant Links:]

Any extra documentation required to understand the issue.

Envoy - https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/compression/compression.html#compression
Upstream Issue - https://github.com/kubernetes-sigs/gateway-api/issues/1799
Relates to https://envoyproxy.slack.com/archives/C03E6NHLESV/p1705084783438099

BackendTrafficPolicy seems like a good home for compression , and Envoy does have support for per route compression filters

For refs  here is a working patch for HTTPS, (warning the path to patch is different for HTTP "/default_filter_chain/filters/0/typed_config/http_filters/0")
apiVersion: gateway.envoyproxy.io/v1alpha1
kind: EnvoyPatchPolicy
metadata:
  name: compressor-patch-policy
  namespace: envoy-gateway-system
spec:
  targetRef:
    group: gateway.networking.k8s.io
    kind: Gateway
    name: eg
    namespace: envoy-gateway-system
  type: JSONPatch
  jsonPatches:
    - type: "type.googleapis.com/envoy.config.listener.v3.Listener"
      name: envoy-gateway-system/eg/https
      operation:
        op: add
        path: "/filter_chains/0/filters/0/typed_config/http_filters/0"
        value:
          name: "envoy.filters.http.compressor"
          typed_config:
            "@type": "type.googleapis.com/envoy.extensions.filters.http.compressor.v3.Compressor"
            compressor_library:
              name: text_optimized
              typed_config:
                "@type": "type.googleapis.com/envoy.extensions.compression.gzip.compressor.v3.Gzip"
                compression_level: BEST_SPEED
                compression_strategy: DEFAULT_STRATEGY
                memory_level: 8
                window_bits: 15
                chunk_size: 4096
            response_direction_config:
              remove_accept_encoding_header: true
              common_config:
                enabled:
                  default_value: true
                  runtime_key: response_direction_config_enabled
                content_type:
                  - "application/javascript"
                  - "application/json"
                  - "application/x-web-app-manifest+json"
                  - "application/xhtml+xml"
                  - "application/xml"
                  - "font/opentype"
                  - "image/svg+xml"
                  - "image/x-icon"
                  - "text/css"
                  - "text/html"
                  - "text/plain"
                  - "text/xml"
                min_content_length: 60
            request_direction_config:
              common_config:
                enabled:
                  default_value: false
                  runtime_key: request_direction_config_enabled

you should see a response with an content-encoding: gzip header for an HTTP/1.1 request with a Accept-Encoding: deflate, gzip header.

@arkodg @akhenakh are you going to work on it? I'm willing to help on it, thanks!

go for it @soulxu !

@arkodg got it, thanks!

Interesting discussion here on compression performance and buffer sizing. Should we make per_connection_buffer_limit_bytes configurable as part of this issue?
I can also think of future use cases that include buffering filters (ext-auth with body, WAF, ext-proc, lua, buffer) that should be part of the Envoy Gateway scope and require buffer size tuning.

Would it be hard to add brotli compression with a fallback to gzip if the HTTP client only supports gzip?

@soulxu still working on this one ?

Hi, we are also interested in compression support in CRDs.
Envoy supporting Brotli natively was one of the reasons we chose it as our API Gateway over Kong (which has since added Brotli support)

@soulxu still working on this one ?, the API is in, but the implementation is still left

I will give a try this two weeks.

thanks for the update @soulxu !

+1

Any updates on this @soulxu ?

hey @soulxu are you still planning on working on this one ?
would be great if you can, completely okay if not, will unassign so someone from the community can take this forward

@arkodg sorry, I failed on get a chance working on it, please free feel to assign anyone interesting it.

np thanks for the update @soulxu, unassgning

Compression functionality can improve page load speed by reducing the size of transmitted files, speeding up webpage opening times. It also reduces bandwidth usage, which is especially beneficial in high-traffic scenarios, significantly lowering server bandwidth costs. I sincerely hope this feature can be prioritized.


Adds regex capabilities to componentWithName

We have a need for a prop type that will validate a component name using regex. For instance, a particular type of component might accept any children of the form *Row or *Card. It made sense to me to add this ability to componentWithName directly, but am open to creating a new prop type as well. What do you think?
to: @ljharb @airbnb/webinfra

@ljharb can you please take another look?

@ljharb addressed your comments! :)

Released in v2.5.0.


Add rows background Color

This PR is for putting backgroundColor for the Calendar Rows.
Screenshot of what is intended with this PR:

@acro5piano I'm not sure if it should be done in the component _HourGuideColumn, can you confirm that I'm in the right direction? 🙏

@acro5piano How can I test these changes in my app? I'm trying this without success:
yarn add https://github.com/acro5piano/react-native-big-calendar.git\#titanve:add-grid-colors

@acro5piano How can I test these changes in my app? I'm trying this without success: yarn add https://github.com/acro5piano/react-native-big-calendar.git\#titanve:add-grid-colors

Are you able to run yarn storybook? Then you can create a test case with isolated environment. Thanks!

@acro5piano where should I run yarn storybook?
In my local app directory? or, in the forked repo from react-native-big-calendar?

In the forked repo it does not work:

Please run yarn install before anything

In the forked repo it does not work:

Please run yarn install before anything

@acro5piano I'm not seeing anything:

@acro5piano can you review again, please?

Released on v2.5.0
Thanks for your contribution!


importing .its into our standardized annotation format for import

There are two versions of .its. Here is one of them, from https://homebank.talkbank.org/access/Public/VanDam-Daylong.html: e20100728_143446_003489.its.zip
I owe an example of the newer one. @lucasgautheron can you let me know when you're done with the above, so I find one?

Regarding LENA speakers, since we would like to fit them into our categories (MAL, FEM, CHI, OCH), what do you think of the following translation table ?
lena_speaker_translation_table = {
    'CHN': 'CHI',
    'CXN': 'OCH',
    'FAN': 'FEM',
    'MAN': 'MAL',
    'OLN': 'OLN',
    'TVN': 'TVN',
    'NON': 'NON',
    'SIL': 'SIL',
    'FUZ': 'FUZ',
    'TVF': 'TVF',
    'CXF': 'OCH',
    'NOF': 'NON',
    'OLF': 'OLN',
    'CHF': 'CHI',
    'MAF': 'MAL',
    'FAF': 'FEM'
}

Regarding LENA speakers, since we would like to fit them into our categories (MAL, FEM, CHI, OCH), what do you think of the following translation table ?
lena_speaker_translation_table = {
    'CHN': 'CHI',
    'CXN': 'OCH',
    'FAN': 'FEM',
    'MAN': 'MAL',
    'OLN': 'OLN',
    'TVN': 'TVN',
    'NON': 'NON',
    'SIL': 'SIL',
    'FUZ': 'FUZ',
    'TVF': 'TVF',
    'CXF': 'OCH',
    'NOF': 'NON',
    'OLF': 'OLN',
    'CHF': 'CHI',
    'MAF': 'MAL',
    'FAF': 'FEM'
}

We should also discuss what information we'd like to retrieve and which columns to add, e.g. maybe a column lena_conversation_no

We should also discuss what information we'd like to retrieve and which columns to add, e.g. maybe a column lena_conversation_no

lena_speaker_translation_table = {
    'CHN': 'CHI',
    'CXN': 'OCH',
    'FAN': 'FEM',
    'MAN': 'MAL',
    'OLN': 'OLN',
    'TVN': 'TVN',
    'NON': 'NON',
    'SIL': 'SIL',
    'FUZ': 'FUZ',
    'TVF': 'TVF',
    'CXF': 'CXF',
    'NOF': 'NON',
    'OLF': 'OLN',
    'CHF': 'CHF',
    'MAF': 'MAF',
    'FAF': 'FEF'
}

or you can map the F-final to silence, because they predominantly are that
RE info to pull out, I'd vote for adding columns for all of the things that it's counting, chi vocs, ct's, even db's -- it'll be a wide table but this way no info gets lost. thoughts?

lena_speaker_translation_table = {
    'CHN': 'CHI',
    'CXN': 'OCH',
    'FAN': 'FEM',
    'MAN': 'MAL',
    'OLN': 'OLN',
    'TVN': 'TVN',
    'NON': 'NON',
    'SIL': 'SIL',
    'FUZ': 'FUZ',
    'TVF': 'TVF',
    'CXF': 'CXF',
    'NOF': 'NON',
    'OLF': 'OLN',
    'CHF': 'CHF',
    'MAF': 'MAF',
    'FAF': 'FEF'
}

or you can map the F-final to silence, because they predominantly are that
RE info to pull out, I'd vote for adding columns for all of the things that it's counting, chi vocs, ct's, even db's -- it'll be a wide table but this way no info gets lost. thoughts?

Alright !
So let's take this piece of its as an example:
<Segment
  spkr="FAN"
  average_dB="-36.34"
  peak_dB="-28.41"
  conversationInfo="|EC|23|4|0|AMF|NT|FI|"
  femaleAdultWordCnt="2.61"
  femaleAdultNonSpeechLen="P0.00S"
  femaleAdultUttCnt="0"
  femaleAdultUttLen="P0.00S"
  startTime="PT545.14S"
  endTime="PT545.74S"
/>

These are the columns I am thinking of adding:

lena_conversation_number
lena_conversation_type (either conversation or pause)
words
non_speech_length
average_db
peak_db
utterances_count
utterances_length

I am wondering when is the lena_ prefix useful/needed for these new columns. I would say when something has very little chance of having an equivalent in any other system
How shall we understand this ? conversationInfo="|EC|23|4|0|AMF|NT|FI|"
Just thinking out loud...

Alright !
So let's take this piece of its as an example:
<Segment
  spkr="FAN"
  average_dB="-36.34"
  peak_dB="-28.41"
  conversationInfo="|EC|23|4|0|AMF|NT|FI|"
  femaleAdultWordCnt="2.61"
  femaleAdultNonSpeechLen="P0.00S"
  femaleAdultUttCnt="0"
  femaleAdultUttLen="P0.00S"
  startTime="PT545.14S"
  endTime="PT545.74S"
/>

These are the columns I am thinking of adding:

lena_conversation_number
lena_conversation_type (either conversation or pause)
words
non_speech_length
average_db
peak_db
utterances_count
utterances_length

I am wondering when is the lena_ prefix useful/needed for these new columns. I would say when something has very little chance of having an equivalent in any other system
How shall we understand this ? conversationInfo="|EC|23|4|0|AMF|NT|FI|"
Just thinking out loud...

https://cdn.shopify.com/s/files/1/0596/9601/files/LENA_Pro_User_Guide.pdf
https://www.lena.org/technology/#tech-reports
https://www.lena.org/wp-content/uploads/2016/07/LTR-04-2_ITS_File.pdf
https://www.lena.org/wp-content/uploads/pdf/technical-reports/LTR-11-1_Vocal Productivity.pdf

https://cdn.shopify.com/s/files/1/0596/9601/files/LENA_Pro_User_Guide.pdf
https://www.lena.org/technology/#tech-reports
https://www.lena.org/wp-content/uploads/2016/07/LTR-04-2_ITS_File.pdf
https://www.lena.org/wp-content/uploads/pdf/technical-reports/LTR-11-1_Vocal Productivity.pdf

conversationInfo="|EC|23|4|0|AMF|NT|FI|"

these also should be pulled apart, because they have meanings. You may have learned them by now - if not, let me know! For instance, the numbers are running counts of things like child ling vocs -- and the only way to have them is like this, because there's no precise way to estimate them from other info. (I can explain this).
RE the LENA prefix, I don't think it's needed because the "type" of the annotation will establish that this is LENA, and for some it is conceivable to obtain equivalent info. For instance, average and peak db, via a different method. So I'd vote no prefix.
RE "lena_conversation_type" -- there are conversation types in LENA (which may be in the level above segments), so we should call this "blocks".
See also this code, which may explain some of the info and give you ideas about how to pull out things:
https://github.com/HomeBankCode/rlena

conversationInfo="|EC|23|4|0|AMF|NT|FI|"

these also should be pulled apart, because they have meanings. You may have learned them by now - if not, let me know! For instance, the numbers are running counts of things like child ling vocs -- and the only way to have them is like this, because there's no precise way to estimate them from other info. (I can explain this).
RE the LENA prefix, I don't think it's needed because the "type" of the annotation will establish that this is LENA, and for some it is conceivable to obtain equivalent info. For instance, average and peak db, via a different method. So I'd vote no prefix.
RE "lena_conversation_type" -- there are conversation types in LENA (which may be in the level above segments), so we should call this "blocks".
See also this code, which may explain some of the info and give you ideas about how to pull out things:
https://github.com/HomeBankCode/rlena

new version .its
LENAExport_ITSFiles_202012350_091222.zip

new version .its
LENAExport_ITSFiles_202012350_091222.zip

The current code (2558028fc5952c54a190a952d1a052080438eac9) supports both formats, except it ignores some of the information contained in the latter, more specifically the details of children utterances.

The current code (2558028fc5952c54a190a952d1a052080438eac9) supports both formats, except it ignores some of the information contained in the latter, more specifically the details of children utterances.

lena_speaker_translation_table = {
'CHN': 'CHI',
'CXN': 'OCH',
'FAN': 'FEM',
'MAN': 'MAL'
}


Maps not loading / has no connection

Hey, I have a Pocophone F1 with caf-reloaded rom. The rom itself doesn't have signature spoofing but I was able to enable it via the NanoDroid patch. The self-check has everything ticked but the Google Maps app unable to make any connection. It doesn't display any tiles (light gray background) or show anything nearby but it is marking my location and the compass also works. Sometimes the app says "loading maps" then "check your connection".
I tried reinstalling the app, disabling all the Magisk modules enabling "Google device registration" and "Google Cloud Messaging" but none of these made any difference.
The weird thing is the first time I installed the app it was working fine but after a reboot these started to happen. I don't know what is going on or what should I do, any suggestions?

Found the problem! It was because I was signed in. So if anyone ever sees this, just go to settings and click on the "Sign out" button.


How could I get request body byte[] in global exception handler?

When I define a global exception capture class, such like
//kotlin
@Component
@Order(Int.MIN_VALUE)
class GlobalExceptionHandler : WebExceptionHandler {
___override fun handle(exchange: ServerWebExchange, ex: Throwable): Mono<Void> {
______val body = exchange.request.body
______//how could I get byte[] from body?
______ //this body object is an instance of FluxMap
___}
}
Could anybody help me?

Oh,remember this request does not match any route rule

Oh,remember this request does not match any route rule

first

used  AdaptCachedBodyGlobalFilter in GlobalFilter in first request,you can copy AdaptCachedBodyGlobalFilter modify this
you can user ServerRequest subscribe requestBody
Don't forget cache requestBody in AdaptCachedBodyGlobalFilter , should release dataBuffer,

first

used  AdaptCachedBodyGlobalFilter in GlobalFilter in first request,you can copy AdaptCachedBodyGlobalFilter modify this
you can user ServerRequest subscribe requestBody
Don't forget cache requestBody in AdaptCachedBodyGlobalFilter , should release dataBuffer,

first

used  AdaptCachedBodyGlobalFilter in GlobalFilter in first request,you can copy AdaptCachedBodyGlobalFilter modify this
you can user ServerRequest subscribe requestBody
Don't forget cache requestBody in AdaptCachedBodyGlobalFilter , should release dataBuffer,

Thanks for your answer,but this request does not match any route rule,means no Filter can catch this request.
I came up with two solutions:
1、Use AOP
2、Use request header instead of request body.
now, I used 2,because it's easy to implement.
If I use 1,I should read the SCG source code.

first

used  AdaptCachedBodyGlobalFilter in GlobalFilter in first request,you can copy AdaptCachedBodyGlobalFilter modify this
you can user ServerRequest subscribe requestBody
Don't forget cache requestBody in AdaptCachedBodyGlobalFilter , should release dataBuffer,

Thanks for your answer,but this request does not match any route rule,means no Filter can catch this request.
I came up with two solutions:
1、Use AOP
2、Use request header instead of request body.
now, I used 2,because it's easy to implement.
If I use 1,I should read the SCG source code.

Oh,remember this request does not match any route rule
You forgot a  premise. @spencergibb
I added a breakpoint to that line, post a request and nothing happend.
I don't know much about how SSG works, but I'm pretty happy with my current gateway,base on the request header,route the pay callback,route the socket sevice.
It's a better solution if you can get the body.
In the end,thanks for your answer.

Closing due to age of the question. If you would like us to look at this issue, please comment and we will look at re-opening the issue.


chore: run rector for fix rector errors

Description
See https://github.com/codeigniter4/shield/actions/runs/8571440801/job/23491670281?pr=1084
Checklist:

[x] Securely signed commits
[ ] Component(s) with PHPDoc blocks, only if necessary or adds value
[ ] Unit testing, with >80% coverage
[ ] User guide updated
[ ] Conforms to style guide

@kenjis similar to https://github.com/codeigniter4/CodeIgniter4/pull/8701 could you verify it?

I didn't notice this PR was merged into the PR that dependabot created.
We do not accept merge commits in PRs, so the GitHub Action check failed by the merge commit.
So I told dependabot to rebase, but cannot rebase because of the commit.
So I told dependabot to recreate. Then the changes in this PR has gone.


Migrate jaxopt's example on adversarial training to optax

Migrate this example (https://jaxopt.github.io/dev/notebooks/deep_learning/adversarial_training.html) to use optax instead of jaxopt, and add it to the examples/ directory

Hi @fabianp, I'm interested in this example

Excellent, its all yours!


Support for Pydantic I/O Types

:rocket: What

Add support for pydantic I/O types of processors.
Extend integration test to use pydantic types for some processors (and mixed pydantic, simple).
Cleanup code generation.

Trailing TODO: https://linear.app/baseten/issue/BT-10419/replace-datamodel-generation-with-original-model-defs

:computer: How

Use pydantic's schema export + pydantic data model generator to add auto-generated model definitions to the stub source files.

:microscope: Testing

if you return SplitTextOutput from your processor, what do you get back when you invoke your model?

We have the following principles:

Model inputs are always a dict, corresponding to the arglist of the processor's run function.
While interfacing with stubs (that appear like "normal" python functions) the values are either simple primitive values or pydantic objects.
When the stub internally makes the call to a remotely deployed model via HTTP, the values get serialized to JSON - but users should not need to directly interface with any JSON representation, we want to abstract away the whole wire-format as an implementation detail, it could as well be serialized protobuffers or something else...
Return values are either single variables, or a tuple of multiple variables. They are not dicts, because (unlike for function argument signatures) there is no programmatic way to name return values, they are only positionally identified.


Adding keepName option

This boolean field, when setted to true, does not modify the original filename. This is useful when you need to deal with partials using hyphens and underscores.

The behavior as implemented is doing the same thing as hbs. As I look into it, I'm not sure of the reason for that, or whether handlebars itself has any restrictions on template names. However, it's important to note that the filename can have hyphens and underscores, but it's just when referencing it from a template that they're all converted to underscores.
Anyway, I appreciate the contribution! I do wonder whether it is better to just reuse the existing name function and adjust the logic to do the substitution there (by default) instead of adding a new boolean for this special case.
Thoughts?

I found the change where the replace was originally introduced into the hbs module, and commented on the post to ask the author if they could recall the reasoning for it. The PR is about 4 years old, though, so who knows :)
I think it would be better to consolidate this into a default name function; my only concern then is that it would be a breaking change for anyone currently using the name function. However, if we bump the major version, and document it clearly, I think that is OK.
It'd be great if you wanted to take a stab at this!

Yep, it will be a breaking change - because of this I did this first fix in "more defensive way", but yeah, we can do this.


Translation: Fix logic bug finding match for regional locales

The  match test was inverted. The rest of the changes
are documentation and cleanup.
Fixes #26346 and fixes #31192 (they're the same bug).

Cherry-picked for 3.1.2.


Feature request: debug support

It would be nice to have at least basic debug support for the language. I know it's an advanced topic but I think there is so much to learn from it.

Not exactly debug support but using the grammar from this repository I've adapted it to show a parser tree and also can be used to develop/debug/extend the grammar here https://mingodad.github.io/parsertl-playground/playground/ (select Lox parser in Examples and then click Parse).

@astrolemonade building an implementation of the Debug Adapter Protocol on loxcraft should be quite rewarding. I'm a bit caught up with work at the moment, but if you'd like to take this up, I could help you with it.


3.5-beta2 - headers bar's appearance is weird.

Hi,
I recently deployed 3.5-beta2 and the header of the columns has a strange behaviour (css?).

It doesn't fit the table, which make the selection pretty hard.
(Linux/Firefox)

Hi @hpiedcoq, thanks for the report! It is curious - this should not happen. Have you tried a hard refresh (CTRL-F5)?
If that does not work, may I ask which version of OpenRefine you were using earlier? Also, I am wondering if the VIB-Bits extension you have is actually compatible with this new version. I find it strange that the Wikidata extension does not show up properly, at least. It could be helpful to try running OpenRefine without VIB-Bits (or other extensions you have installed).
To reproduce the bug, it would be helpful to know:

the screen resolution where this happens
ideally, a sample project with some instructions about how to get to this state

Hi Antonin!
Previous version was 3.4.1, working fine.
F5 does the trick and fixes the problem.
Sorry for bothering! And thank you for the quick answer.


Add vin school

file.zip

@caosoon Your file.zip file does not correspond to what you ask to add to SWOT with your request.
Please email us at<EMAIL_ADDRESS>if you are unsure how to add your school email domain to this repository.
In your email please provide us with:

the school official website URL, if different from the domain you are submitting
an URL of a page on the official website where an IT-related long-term (>1 year) course is offered by the school
an URL of a page or another proof (.pdf or a screenshot are OK) showing that the school recognizes the domain which you are submitting as an official email domain for the students.

I have to close this request without merging as duplicate.

file.zip


⚠ Bofrost.es has degraded performance

In 2961cb0, Bofrost.es (https://www.bofrost.es) experienced degraded performance:

HTTP code: 200
Response time: 1784 ms

Resolved: Bofrost.es performance has improved in 9127f03 after 7 minutes.


White Page

Description
<After I get authenticated with my IBM email and password the app shows just a white screen "Federated Identity Endpoint" showing on the top.

Steps to reproduce issue
Details

Are you nativefying a public website? No
Feature request? Have you looked at nativefier --help to see if an existing option could fit your needs?
Full nativefier command used to build your app: <command here>
Version of Nativefier (run nativefier --version): v0.0.0
Version of node.js (run node --version): v0.0.0
OS: <OS here>
Error message / stack trace (if any):

<Error message / Stack trace here>

Hi @rchintapenta. This is Nativefier, the software IBM Verse is based on. We Nativefier have no control on fixing IBM Verse. Please contact the support for IBM Verse with your problem, and please also tell them we'd welcome a patch enabling customizing the Help → Report an issue link (so that a. users like you can be directed to proper support, and b. we Nativefier aren't solicited with things we have no control on).
Thanks 🙂.


Is the plugin phonegap build ready?

I tried to use this plugin in phonegap build 3.3, since it wasn't in read me I took a look into the plugin xml and made the following plugin tag, according to PGB specs:
<gap:plugin name="org.transistorsoft.cordova.plugin.background.fetch" version="2.0.0" />

However when I tried to update code it threw the following error:
Unable to create app: plugin unsupported: org.transistorsoft.cordova.plugin.background.fetch @ 2.0.0

am I doing something wrong, is there any plans to upgrading to PGB?

It appears that the plugin is registered on PGB https://build.phonegap.com/plugins/955
and links to an older branch of the repo https://github.com/christocracy/cordova-plugin-background-fetch/tree/b499860.
I have narrowed the problem to both window.BackgroundFetch and window.plugins.backgroundFetch (from the current and branch docs respectively) return undefined.

I don't submit updates to pgb anymore.
On Wednesday, September 30, 2015, mnadler<EMAIL_ADDRESS>wrote:

It appears that the plugin is registered on PGB
https://build.phonegap.com/plugins/955
and links to an older branch of the repo
https://github.com/christocracy/cordova-plugin-background-fetch/tree/b499860
.
I have narrowed the problem to both window.BackgroundFetch and
window.plugins.backgroundFetch (from the current and branch docs
respectively) return undefined.
—
Reply to this email directly or view it on GitHub
https://github.com/christocracy/cordova-plugin-background-fetch/issues/5#issuecomment-144543192
.

--
Snet form Gmail Mobile

Does the existing legacy plugin on PGB work?  If so can you please point to a reference for it?

You can install your own private plugins on PGB now.  Fork the plugin and
rename the id with your company id.  Google "PhoneGap private plugins"
On Wednesday, September 30, 2015, mnadler<EMAIL_ADDRESS>wrote:

Does the existing legacy plugin on PGB work? If so can you please point to
a reference for it?
—
Reply to this email directly or view it on GitHub
https://github.com/christocracy/cordova-plugin-background-fetch/issues/5#issuecomment-144548189
.

--
Snet form Gmail Mobile


⚠ PrivateHD has degraded performance

In d695dd1, PrivateHD ($PHD) experienced degraded performance:

HTTP code: 200
Response time: 2013 ms

Resolved: PrivateHD performance has improved in 7e534dd.


CARDS-1612: Automatically generate side bar entries, dashnoard extensions, and user groups for onboarded clinics

Jira link

This PR adds a new item to the administration page: Clinics, which allows you to automatically create a new ClinicMapping. This clinic mapping will automatically be added to the query for any existing Proms importer configs, and will generate a new Sidebar entry to look at the clinic you specify in the SurveyID.

Did start_cards.sh changed?

@sashaandjic
export SLING_COMMONS_CRYPTO_PASSWORD=password
cp distribution/mailcap ~/.mailcap

@IntegralProgrammer could we include the above commands in start_cards.sh for the cards4proms project?

Small UI thing: Why Surevy i d: is called Meny Entry

Can we use the same label here? Also "i d:" should be displayed as "ID"

Remove clinic functionality is missing. Out of scope? New task?

Small UI thing: Why Surevy i d: is called Meny Entry Can we use the same label here? Also "i d:" should be displayed as "ID"

The columns are mis-mapped, will comment inline.

Also, why STATISTIC title? Should be CLINICS.

Looks like a copy/paste artifact, should be updated here.

Where can I define the value that displays "PETER MUNK CARDIAC CENTRE"? Right now my new clinic all repeat the clinic display name.

The description is missing from the specs, will update the specs.

Remove/modify clinic functionality is missing. Out of scope? New task?

Out of scope for now.

cp distribution/mailcap ~/.mailcap

https://phenotips.atlassian.net/browse/CARDS-1640

This is how it is supposed to be shown in UI? Just to confirm.

This is how it is supposed to be shown in UI? Just to confirm.
Yup

@sashaandjic

Got stuck once I clicked on the CREATE button, however the clinic did get created

Fixed this in the latest patch -- the error was that your SurveyID did not exist (Currently we only have Mood or Cardio by default). This error is now displayed better.

Fixed this in the latest patch -- the error was that your SurveyID did not exist (Currently we only have Mood or Cardio by default). This error is now displayed better.

I see.

Sidebar Entry and Description column are empty.

In the previous version I was able to add more clinics. At one point the sidebar was overcrowded. We should add a scrollbar once we run out of room.

Why there is no Mood clinic on the sidebar.

If you just added it, the sidebar didn't reload. Refreshing the page should display the new clinic in the sidebar. I consider this a minor issue and not necessary to fix in this iteration.

Why there is no Mood clinic on the sidebar.

If you just added it, the sidebar didn't reload. Refreshing the page should display the new clinic in the sidebar. I consider this a minor issue and not necessary to fix in this iteration.

The Mood clinic was predefined. I can no longer add new clinics.

Here you can observe the crowded sidebar.

Apostrophe missing in clinic name Don't worry - be happy.

@sashaandjic

The Mood clinic was predefined, but it is not showing up like Cardio's PMCC-ACHD does.

I wasn't sure if this was intentional, but the Mood clinic doesn't have a sidebar entry or dashboard.

Apostrophe missing in clinic name Don't worry - be happy.

The clinic names are sanitized prior to being saved. Since the names can have a (1) or a (2) attached to the end, I've only stored the sanitized display name -- should I be storing both the sanitized and unsanitized versions @marta- ?

@sashaandjic

* replace existing icon with <img alt="image" width="17" src="https://user-images.githubusercontent.com/23243244/162881990-82224a06-a177-4910-adde-e9c6d368eb27.png">

@marta-

* also: don't sanitize the clinic name, since it's not used as an identifier and has display purposes only; instead escape it in queries

Both of these are fixed :heavy_check_mark:

I don't like this, too many extensions that all do the same thing. We should have just one (or maybe two, since the Appointments widget is a bit different from the questionnaire-specific ones) extension, which just loads the mapping and generates a widget for each questionnaire reference in it. But it doesn't have to be refactored now.

@sdumitriu @OrdiNeu Refactoring attempted in #1006 .


add reset subcommand.

/kind feature
What type of PR is this?

Uncomment only one  /kind <> line, hit enter to put that in a new line, and remove leading whitespace from that line:
/kind bug
/kind documentation
/kind enhancement
/kind good-first-issue
/kind feature
/kind question
/kind design
/sig ai
/sig iot
/sig network
/sig storage
/sig storage

What this PR does / why we need it:
add subcommand reset to yurtctl, reference proposal https://github.com/openyurtio/openyurt/blob/master/docs/proposals/20210607-adding-subcommands-server-join-reset-for-yurtctl.md
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:

Does this PR introduce a user-facing change?

other Note

@zyjhtangtang please fix golangci-lint error and failed unit testcases.

/lgtm except for golangci-lint error

/lgtm
/approve


Created Dockerfile

@sushenigma Please sign the Contributor License Agreement!
Click here to manually synchronize the status of this Pull Request.
See the FAQ for frequently asked questions.


Added support for Conda (experimental, focused on Python)

Addresses https://github.com/pivotal/LicenseFinder/issues/291
Notes:

Conda is a shell-based environment like rvm or asdf, so takes some special handling of the command line
Assumes bash is available in the path
Made no effort to support Windows, do not have test environment where I could
Tests and initial operations have been focused on Python-based projects deployed in Linux environments
Has not been tested outside of dlf containers
Apologies for removing line-ending spaces in .md files; my editor is fastidious in that way
Can not claim to be a conda expert, but this works for our projects

@cobbr2 Please sign the Contributor License Agreement!
Click here to manually synchronize the status of this Pull Request.
See the FAQ for frequently asked questions.

Still waiting on our legal team to approve the CTO signing the CLA.  Probably will be a week before that happens.

Our CTO, Wade Chambers, has signed the CLA, and gotten an indication that the block on this PR should now clear. I presume there's some batch thing that'll make that happen, and will check in later to see if there's anything else I should be doing.

@cobbr2 Looks like the person who opened the PR needs to sign the CLA, so could you sign the CLA form?
Thanks. 😄

@cobbr2 Thank you for signing the Contributor License Agreement!

Hey @cobbr2 ! Thanks for signing the CLA. It looks like the key for Miniconda3 is now incorrect when building since its been a while. I wonder if there is a way to fetch the right sha so this does not fail. Maybe something similar to the way that Composer is installed in the Dockerfile?

Looks like reference sha has changed again. One more commit.

I'll see what the composer one does.  Thanks for the pointer.

Just went ahead and pinned to the latest current version and its sha; amusingly, I hadn't pulled master, so hadn't seen the updates to the way Composer was installed.  I didn't see a similar set of resources in the miniconda's repos (not to say they aren't there, just not obvious), so pinning seemed like a good alternative.

@cobbr2 Sure we can keep pinning for now as long as it does not change often. However it is still failing with your current changes. Can you take a look?

Thanks for the merge!


Response.json should accept CharSequence

Describe the solution you'd like
Response.json should accept CharSequence
Additional context
it will be more optimized in terms of memory when used with ZIO-json

I submitted PR for this
https://github.com/dream11/zio-http/pull/914

closing this in favour of https://github.com/dream11/zio-http/pull/1142


How to know whether dependent packages has been built with specified features?

Currently, @xoviat are implementing features in VTK port (#2071 vcpkg install vtk[qt] --featurepackage).
I want to implement a feature to specify whether to build with enable Qt option to PCL port (vcpkg install pcl[qt] --featurepackage).
However, It is necessary to know whether VTK port has been built with Qt option.
How to know whether dependent packages has been built with specified features?
Source: pcl
Version: 1.8.1
Description: Point Cloud Library (PCL) is open source library for 2D/3D image and point cloud processing.
Build-Depends: boost, eigen3, flann, qhull, vtk, openni2, winpcap

Feature: qt
Description: Qt support for PCL
Build-Depends: qt5

Can I specify depends in CONTROL?
Build-Depends: vtk[qt5]

Or, Is it necessary to conditional branch in portfile.cmake?
set(WITH_QT OFF)
if("qt" IN_LIST FEATURES)
  if(NOT EXIST "${VCPKG_ROOT_DIR}\installed\${TARGET_TRIPLET}\lib\<QVTK Library File>")
    message(FATAL_ERROR "VTK port is not built with Qt option enabled.")
  endif()
  set(WITH_QT ON)
endif()

What's funny is that homebrew started out with the functionality to depend on packages with features, but then they disabled that so that they could switch to binaries.

Can you submit your port as a PR? I can test it on appveyor (https://github.com/xoviat/test-vcpkg).

The objective is to simply depend on vtk[qt] in the feature -- if that doesn't work, please let us know, because it's a bug!
@xoviat yeah, that is pretty funny! Though, I think it is an expression of different goals (application deployment vs developer libraries).

that is pretty funny!

It's not funny at all. There are a variety of CI projects that depend on c libraries to build. On OSX and linux, its a simple apt-get install or brew install, but on Windows, before vcpkg, you had to put in a few hours to get the library built on the CI system. Now, you can just do vcpkg install and set up the cache locations, and everything just works.
Further, even if you had managed to build the libraries on the CI system, the scripts were likely not applicable to local development. With vcpkg, it's possible to run the same commands on appveyor and your local system to install the C libraries.

@xoviat @ras0219-msft Thank you for your advice.
I sent a pull request #2083. Please review it.

Merged!


EditorPrefsUtility's filename does not match the class name

Overview
EditorPrefsUtility should match it's file name
Mixed Reality Toolkit Release Version
2c59d07b574cbde904b7ad6bd2e249438597440d

Looks like GitHub didn't automatically close these issues when merged into master. I'll close these manually and look into why.


Add the possibility of filters when creating a view.

The parser that Jason has created should be used and integrated in the node.
The "create_view" task should have an extra "filters" parameter.

Moved to jira.


Health check or ping

Hello Robert, thanks for this very useful plugin, I have added this to my project deployed on kubernetes but I was not able to find the way to check if the connection is successfully for a healthcheck, if the connection is broken I would stop sending traffic to the pod or restart it.
Is there a way to check if the connection is stablished from KafkaService?
Thank you.

Hey @khirr this is probably something that nestjs could help with, by default the service will fail to start if it can't connect to kafka and as such you could use the nestjs healthcheck: https://docs.nestjs.com/recipes/terminus


fix: close the last window

Good morning! After this recent commit I see an error
09:02:13 msg_show   q Error executing lua callback: ...cal/share/nvim/lazy/outline.nvim/lua/outline/sidebar.lua:389: Cursor position outside buffer
stack traceback:
	[C]: in function 'nvim_win_set_cursor'
	...cal/share/nvim/lazy/outline.nvim/lua/outline/sidebar.lua:389: in function '__goto_location'
	...cal/share/nvim/lazy/outline.nvim/lua/outline/sidebar.lua:201: in function <...cal/share/nvim/lazy/outline.nvim/lua/outline/sidebar.lua:198>
   Error  09:02:13 msg_show.lua_error   q Error detected while processing CursorMoved Autocommands for "<buffer=6>":
   Error  09:02:13 msg_show.lua_error   q Error detected while processing CursorMoved Autocommands for "<buffer=6>":
09:02:13 msg_show   q Error executing lua callback: ...cal/share/nvim/lazy/outline.nvim/lua/outline/sidebar.lua:389: Invalid window id: 1000
stack traceback:
	[C]: in function 'nvim_win_set_cursor'
	...cal/share/nvim/lazy/outline.nvim/lua/outline/sidebar.lua:389: in function '__goto_location'
	...cal/share/nvim/lazy/outline.nvim/lua/outline/sidebar.lua:201: in function <...cal/share/nvim/lazy/outline.nvim/lua/outline/sidebar.lua:198>

when closing :q a window (generally the main buffer window) while outline is open.

Ah, looks like auto_jump is attempting to go to the code buffer location when the code buffer is already closed. I'll look into it.

Thank you for looking into it so quickly!
What is the expected behaviour of this feature, however? I still see the outline window open when the last window is closed (or the buffer deleted).

Nope, it doesn't do anything when the code window closes. This PR allows the outline as the last window to be closed (as if with :q) when you press q to close the outline - it previously produced an error.
The use case is when you want to quit neovim with :[w]q, but forgot to use :[w]qa since the outline window is also open (see #86).


[macOS] Washed-out, dark gray squares

I'm on an M1 Macbook Air and installed Tensorflow via https://developer.apple.com/metal/tensorflow-plugin/.
When running the demo code, all I get are three generated, washed-out, dark gray squares.
For any prompt.

Anyone else seeing this?

macOS 13.0 Beta
Python 3.10.6
pip 22.2.2
tensorflow-macos 2.10.0
keras-cv 0.3.3

Did you try the latest macOS along with the latest tf version, Are you still facing the issue?
@akaalias

Hi,
Thanks for reporting the issue.
Now, you can install Tensorflow on Mac M1 directly using pip.
Could you please try installing the latest version and let us know if you are still facing an issue.
pip install tensorflow==2.13.0


two questions

http://wuersch.pillo-srv.ch/#/algorithm/5ff5b809fad531d7dc0f29c4
this link cannot access
I use the sample pic on docker, but the result is not very good. can you tell me the reason.

Hi !
For your first question, I do not manage the online demo -  thanks for pointing out the problem, I will get in touch with the responsible person to see if we can bring it back online.
For your second question: Is this a custom picture / scan ? If so the accuracy is dependent on the DPI / color settings used to create the image. Could you provide me the original input image you used ?

Hi，

The first question is not the online demo link, it's about the algorithms 's link.
I run it on docker, the source image
3

Looking at the image I think that the non-white background is maybe causing problems, all the scans I used for training had uniform white backgrounds.  I suggest you try to pre-process your image first to make it more like the example image on the repo page. This algorithm performs binarization before passing the image to the model, I think maybe that part is not working well enough for your image since the contrast between the writing and background is not as pronounced.
The link you posted in your first question is the link to the online demo, for which I will try to contact the person responsible.


[Fieldgroups Request] table 7354 Bin

We would like to add a fieldgroups property in table bin so we can extend this with our addon fields:
fieldgroups
{
fieldgroup(DropDown; "Code", "Zone Code", "Bin Type Code", Empty, Default)
{
//A108F0000.Event18.03
}
}

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.


Implement Linear Search in Python

Algorithm/Data Structure: Linear Search
Programming Language: Python
Difficulty: ⭐⭐
Issue Details
Description:
Implement the Linear Search algorithm in Python. Linear Search is a simple searching algorithm that sequentially checks each element of a list until a match is found or the whole list has been searched. Your implementation should correctly search for a specified target element in a list and return its index if found or -1 if not found.
Additional Information:
If you are new to Linear Search or need guidance on implementing it in Python, feel free to ask questions or seek help in the comments. This is a great opportunity for contributors to gain experience in searching algorithms in Python.
Note:
Before starting to work on this issue, please comment below to express your interest and let us know if you have any questions or need clarification on the task.

hey , i want to contribute in it could please assign it to me

@Rohit-sharma04 assigned. Do let me know if you need any help!

linear search in python is already implemented  in the python folder , can i work on selection sort in javascript

My bad! Ok, no problem. #205 is assigned to you.


Searchable not working as intended if some option contains special character

Version
Vue: ^3.2.22
Description
I'm using multiselect, with the searchable feature turned on.
If property options contains items with special characters, user is not able to find them while (s)he is searching.
Example of options property:
[{ valueProp: 'vaker', label: 'Váker', disabled: false }]
Problem is as usually with special characters. Is there a possibility to use my own search query which can be propagated to the component, or somehow to search not by a label but valueProp?

Just use:
:strict="false"
🙄


Use XCTAssertNoThrow in tests added by 338cfb541b98636264a21989ef2dea…

…6032151dc4
Motivation:
We should use XCTAssertNoThrow whenever possible.
Modifications:
Make use of XCTAssertNoThrow in tests.
Result:
More consistent and correct tests.

ping @normanmaurer

ping @normanmaurer

ping @normanmaurer again

closing this, please re-open if you want


Show the output from the Polly operator in the UI

The CompleteWorkflow runs polly, but the Media Insight UI doesn't show the result.
Question: does polly automatically change input language to match the output language specified in translate?  Should we expose a voice selection for this operato in the configuration?

I'm closing this.  Instead of showing the Polly track, we whould remove the Polly operator from the Content Analysis and Search application.  It isn't content analysis or searchable.


fix: typescript buildInfo

fix: https://github.com/johnsoncodehk/volar/issues/2138
getProgramBuildInfo is set to program in createBuilderProgram
https://github.com/microsoft/TypeScript/blob/v4.9.4/src/compiler/builder.ts#L1147
but with proxy don't have setter function it won't work

LGTM, thanks!

Commented out in https://github.com/volarjs/volar.js/commit/00a1ef01f68fb5a83ccb1597775b8767ded98713 because it causes https://github.com/vuejs/language-tools/issues/2403


chore(deps): Upgrade gopsutil from v3 to v4

This repo depends on gopsutil to retrieve system related metrics. However, the v3 version is no longer maintained, while the v4 version has new fixes, improves and better platform coverages.

Hi @rdower, could you please review this PR?

@zmyzheng
Thank you for the PR. Change needs to be tested, after that it will be reviewed.

@zmyzheng Thank you for the PR. Change needs to be tested, after that it will be reviewed.

Any document on how to test it? Is there any auto testing (CI/CD) available in the build pipeline? I have manually tested the CPU functions using both v3 and v4 package and can confirm both have the same result.


[bugfix] computing yaml

Status
DEVELOPMENT
Description
This is the same pull request with #1228
Cannot open app for lidar_imm_ukf_pda_track and lidar_kf_contour_track in computing tab
Todos

[ ] Documentation

Will be fixed in 1.8.0 release


Switch AmazonDynamoDBClient to AmazonDynamoDB

Using the interface facilitates embedded tests that use the Embedded DynamoDB test facility.

There are 3 changes in this pull request.
First for the titled change, I'm more than happy to code against the interface. I'll accept this change no problem.
Second, careful not to include changes to the version in pull requests. I apologize for being slow to commit release versions.
Third, I'd like to know more about the version change.
It appears that original credstash api function starts at 0 (based on what paddedInt(version) does when passed the default empty string), but command line starts at 1 (based on what paddedInt(int(latestVersion) + 1) does with default getHighestVersion being 0 for latestVersion. This doesn't seem likely to be intentionally different.
Does having the default be 0 rather than 1 meaningfully affect your use case?

I've seperately updated the code to build against the provided interfaces


Consolidate extract functions into Extractor class

Multithreaded extract code common to most managers has been generalized into the main Extractor class.
A child Extractor FTPExtractor generalizes a lot of the extract step for FTP ETLs.
This was previously being worked on in gridded-managers and there are implementations for CPC, ERA5, and CHIRPS in that repository.
This is not meant to implement the alternative to mix-ins that was discussed at the 2024 planning meeting. It is work from 2023 that hopefully will be the last utility before we refactor to implement a more unified design.

Replaced by https://github.com/Arbol-Project/gridded-etl-tools/pull/127


Fix #681: getting env var example

This Closes #681
Not ideal but fixes the bug. The example itself is a bit strange.

Hi, @runseb , we link to the README.md on purpose here because that is a sample on GitHub that we are walking people through. The page tells people how to navigate the files in the sample folder, etc.

@johndmulhausen hum, that's not clear. the link  to containers/ in http://kubernetes.io/docs/user-guide/environment-guide/ is just wrong. that's what #681 is about. There is no link to the code that explains how to build the containers mentioned in the environment-guide. Happy to fix it differently if you tell me what you would like.


Source control add via dialog then rename leads to old file still in index

Create a new file via the Project panel, a nice new dialog offers to add it to source control. Answer Yes.
Rename the file in the Project panel.
Expected results: Using git terminology, the file with the original name should be unstaged, and staged with the new name.
Actual results: The file with it's original name is still staged.

@chipshort

Testing the PR:

Created a new file "src/Foo.hx" using the Project panel, git status:

        new file:   src/Foo.hx

Renamed the file using project panel right-click > rename, answered NO to "update references" dialog, git status:

        new file:   src/Bar.hx

Looks good so far.
3. Removed the file using project panel right-click > delete, answered OK to "file will be moved to Recycle Bin", git status:
        new file:   src/Quux.hx

Changes not staged for commit:
        deleted:    src/Quux.hx

Not so good, file should be unstaged after deletion.
Problem 2: Repeating the same test with Foo.hx->Bar.hx, I quickly answered YES to "update references" dialog. In this case "Foo.hx" was not unstaged and "Bar.hx" was not added. It doesn't happen every time so I think there is some general unreliability regarding the dialog callbacks being called or something like that.
Problem 3:

Create a new file "Quux.hx", don't do anything with the "Would you like to add this file to version control?" action bar.
Delete the file with the project panel right-click > Delete
Expected result: "recycle bin" dialog, OK, file deleted, no changes to git status.
Actual result: "Would you like to remove files from version control?", OK, error dialog: "fatal: pathspec 'Quux.hx' did not match any files" (since the file was not git added), file is not actually deleted
Additional note: When the file is just created, it's icon in the project panel is wrong - it is green, same as "up to date" files under version control, while actually it's not. And I guess this is why the "version control" dialog pops up when deleting. If you wait just a few seconds, the icon changes to gray and trying to delete the file results in expected behavior.


DenoJS SDK

Overview
Dagger has a NodeJS SDK. What if it also had a DenoJS SDK?
Deno is a solid alternative to NodeJS, by the creator of NodeJS, and has great traction. It could help gain additional exposure with the kind of forward-thinking developers that tend to enjoy Dagger.

That's a great idea !!
However NodeJS is still a huge ecosystem that will live for many years.
Deno has many advantage and has great traction indeed but the community is still pretty small compare to NodeJS.
I'm just wondering how much effort do we want to put on create a "new" SDK. I'm not familiar with Deno usage, so maybe a migration from Node to Deno could be not that painfull (but I'm also always sceptical about painless migration...).

Isn't Deno just another JavaScript/Typescript runtime? It should be compatible with the current SDK, at least in code. Probably no need to create a new SDK.
The "NodeJS" name is unfortunate. It supports both Typescript and JavaScript so we avoided both names and chose NodeJS. Now there's other runtimes like Deno so again it feels restrictive.
The common denominator here is JavaScript. We should probably rename the NodeJS SDK to just the JS SDK. Even though we favor Typescript, it's a superset of JavaScript and it's all a part of the JS ecosystem anyway.
Even if we need to split, I'd rather have a JS SDK and a TS SDK (language based instead of runtime based), where the JS SDK could be auto generated entirely from the TS one.

Dagger has a NodeJS SDK. What if it also had a DenoJS SDK?

I love Deno and I think it fit well to Dagger to have a Deno SDK. Especially since its usage is closer to Go (we can create binary from Deno code etc). The community is still small, but building tools in Deno can only help too!
However it's true that Typescript code shall works on Deno, the only difference may be dependencies installed.
I think we can use Node package in Deno, but I think using Deno modules would be better.
There will not much difference between those SDK though, the DX and code will be almost the same except for external library call.
I think it does not require much work, compared to creating a RustSDK for instance but it will still need time.
As a Deno user, I'm down to work on it :D

After quick research, our TS GQL client is also available in Deno<EMAIL_ADDRESS>So basically the only part to change in Deno is our static files.
The generation shall be exactly the same except the import (defined in a static header)

Happy to hear enthusiasm for Deno support!
I did some experimentation today and was able to run a Dagger pipeline from Deno successfully, with some caveats. Here is a working example:
// main.ts
import Client, { connect } from "https://esm.sh/<EMAIL_ADDRESS>
import process from 'node:process';

connect(async (client: Client) => {
  const node = client .container()
    .from("node:16-slim")
    .withExec(["node", "-v"]);

  const version = await node.stdout();

  console.log("Hello from Dagger and Node " + version);
}, { LogOutput: process.stdout });

dagger run deno run -A main.ts
Here is what does not work:
import Client, { connect } from "npm<EMAIL_ADDRESS>This fails with an error that may or may not be blameable on Deno's NPM compat layer -- this has an issue tracking at https://github.com/denoland/deno/issues/16708
The workaround of using https://esm.sh is described in npm via CDNs | Manual | Deno.
deno run -A main.ts
When invoked outside of dagger run, the SDK attempts to download and install the CLI, which fails with a different error:
error: Uncaught InitEngineSessionBinaryError: failed to download dagger cli binary: TypeError: d.pipe is not a function
    at G.<anonymous> (https://esm.sh/v124/@dagger.io/dagger@0.6.0/deno/dagger.mjs:8:23837)
    at Generator.throw (<anonymous>)
    at T (https://esm.sh/v124/@dagger.io/dagger@0.6.0/deno/dagger.mjs:8:22256)
    at eventLoopTick (ext:core/01_core.js:181:11)
Caused by: TypeError: d.pipe is not a function
    at https://esm.sh/v124/@dagger.io/dagger@0.6.0/deno/dagger.mjs:9:679
    at new Promise (<anonymous>)
    at G.<anonymous> (https://esm.sh/v124/@dagger.io/dagger@0.6.0/deno/dagger.mjs:9:618)
    at Generator.next (<anonymous>)
    at l (https://esm.sh/v124/@dagger.io/dagger@0.6.0/deno/dagger.mjs:8:22205)
    at eventLoopTick (ext:core/01_core.js:181:11)

I don't know what the most elegant solution is here, but since there isn't much in the SDK's API that is Node-specific as far as I'm aware, I would suspect that this only needs to be one package (instead of two separate packages for Node.js and Deno). Conforming to Deno's Node.js compatibility layer might be all that's required, but it would be interesting to know if the Deno project suggests any best practices for publishing cross-compatible packages. (I found this tool for going in the opposite direction -- transforming a Deno module into one compatible with Node.js: https://github.com/denoland/dnt.)

We could also consider Deno support "experimental" by not worrying about automatic provisioning for now as it seems like the main source of incompatibility. Meaning that you'd need to run the pipeline with dagger run. Soon with dagger do. Can everything else work, outside provisioning?

@helderco It works with dagger run with @NReilingh solution:
$ dagger run deno run --allow-env --allow-net main.ts
█ [14.7s] deno run --allow-env --allow-net main.ts
┃ v16.20.0
┣─╮
│ ▼ from node:16
│ █ [3.65s] resolve image config for docker.io/library/node:16
│ █ [0.01s] pull docker.io/library/node:16
│ ┣ [0.01s] resolve docker.io/library/node:16@sha256:07ac708c46cc7136db9d54749c541ba1dc516dc316e126a94136083b842c2db9
│ ┣ [0.31s] ███████████████████ sha256:18e333b196442e37a54a8739afbdea755487968048a217eeb5799034d1acb6e5
│ ┣ [1.24s] ███████████████████ sha256:ffa2b6be34f250e60fc6f8ad29553caaae8e17f22e4365515c6cb9a1a68ebedf
│ ┣ [0.35s] ███████████████████ sha256:39306f6d5fdc94a315748f96c707d29011dd4dc18e0b370e38bfeb16ca1244d5
│ ┣ [0.73s] ███████████████████ sha256:a424cb15f169a0bb55bf5bfea03fc5d709a62dbd38330759e39389d316ca7476
│ ┣ [4.86s] ███████████████████ sha256:1879ae1722a31ce8aedfe4a10df652902581eab286fbbdd253684bf6ceb94cce
│ ┣ [2.78s] ███████████████████ sha256:f104dc4fba2c93f994673ea6c81b78ad44ef6b4d6984576abf9be7cf0dde960b
│ ┣ [1.21s] ███████████████████ sha256:e7349847b3241e237d7a69174fea45593592e320324afdbae5c685b0a96e8181
│ ┣ [1.66s] ███████████████████ sha256:e8371d57f7426517aead21bff5af0cf321625cac166c86214c439fb67db84243
│ ┣ [1.39s] extracting sha256:e8371d57f7426517aead21bff5af0cf321625cac166c86214c439fb67db84243
│ ┣ [0.38s] extracting sha256:e7349847b3241e237d7a69174fea45593592e320324afdbae5c685b0a96e8181
│ ┣ [1.23s] extracting sha256:f104dc4fba2c93f994673ea6c81b78ad44ef6b4d6984576abf9be7cf0dde960b
│ ┣ [3.16s] extracting sha256:1879ae1722a31ce8aedfe4a10df652902581eab286fbbdd253684bf6ceb94cce
│ ┣ [0.01s] extracting sha256:39306f6d5fdc94a315748f96c707d29011dd4dc18e0b370e38bfeb16ca1244d5
│ ┣ [0.72s] extracting sha256:ffa2b6be34f250e60fc6f8ad29553caaae8e17f22e4365515c6cb9a1a68ebedf
│ ┣ [0.05s] extracting sha256:a424cb15f169a0bb55bf5bfea03fc5d709a62dbd38330759e39389d316ca7476
│ ┣ [0.01s] extracting sha256:18e333b196442e37a54a8739afbdea755487968048a217eeb5799034d1acb6e5
│ ┣─╮ pull docker.io/library/node:16
│ ┻ │
█◀──╯ [0.96s] exec docker-entrypoint.sh node -v
┃     v16.20.0

NOTE: Try with this code:
import Client, { connect } from 'https://esm.sh/<EMAIL_ADDRESS>

connect(async (client: Client) => {
  const output = await client.container().from("node:16").withExec(["node", "-v"]).stdout();
  console.log(output);
});

I've done some experimentation to improve the use of Deno with Dagger here fluentci , so that you can run a deno module directly from https://deno.land/x/ , for example you can run dagger run fluentci "your_deno_module" which will be translated into dagger run deno run --import-map=https://deno.land/x/your_deno_module/import_map.json https://deno.land/x/your_deno_module/src/dagger/runner.ts or just fluentci "your_deno_module".

New discoveries here -- I've noticed that the 0.9.7 TypeScript SDK breaks with the previously-working Deno approach. The error thrown is:
error: Uncaught (in promise) TypeError: The URL must be of scheme file
    at fileURLToPath (node:url:1160:11)
    at https://esm.sh/v135/@dagger.io/dagger@0.9.7/denonext/dagger.mjs:14:44486

And from what I can tell from the compiled and minified bundle, the call site looks something like this:
import { fileURLToPath } from "node:url";
fileURLToPath(import.meta.url);

It's unclear at the moment where the root cause is, since according to MDN, import.meta.url should be starting with a file:// scheme. Perhaps Deno breaks this. I haven't been able to narrow down which commit has the breaking change yet.
Anyhow, here's the most recent working version I've been able to come up with:
// main.ts
import Client, { connect } from "https://esm.sh/<EMAIL_ADDRESS>
import process from 'node:process';

connect(async (client: Client) => {
  const node = client .container()
    .from("node:16-slim")
    .withExec(["node", "-v"]);

  const version = await node.stdout();

  console.log("Hello from Dagger and Node " + version);
}, { LogOutput: process.stdout });

dagger run deno run -A main.ts

Hey @NReilingh 👋,
I just try your main.ts script with the latest engine version: v0.11.1 and Deno v1.42.4
$ dagger version
dagger v0.11.1 (registry.dagger.io/engine) darwin/arm64

package.json
"dependencies": {
<EMAIL_ADDRESS>"^0.11.1",
    ...
 }

$ dagger run deno run -A deploy.ts
Hello from Dagger and Node v16.20.2

Everything seems to work on my side 👍

@slumbering I think this is consistent with my last post -- to clarify, the code block above references SDK 0.9.6 in the import line, which works (on the current engine and Deno versions), but if you bump this to SDK version 0.9.7 (or later versions, including 0.11.1), you get the error I described.
Your package.json version above will not affect the version being imported by Deno, which in my main.ts example is using a fully-specified import URL.

https://esm.sh/<EMAIL_ADDRESS>

Sorry about the confusion, you're right...
I can repro now.

We now have a Typescript SDK that is not specific to one particular runtime. Not sure if we are still considering this @TomChv, or if it's out of date?

I've tried the latest dagger release 0.12.3 with deno, but unfortunately, I get the error message Cannot assign to read-only property 'name' of function. Is the deno runtime still being considered supported by dagger ?
This is the command I use to run the pipeline:
dagger run deno run -A mod.ts

Here's the pipeline code:
import { connect } from "https://esm.sh/<EMAIL_ADDRESS>
await connect(async (client) => {
  await client
    .container()
    .from("alpine:latest")
    .withExec(["echo", "Hello, World!"], { skipEntrypoint: true })
    .sync();
});

This is the error I am getting in my terminal.

I've tried the latest dagger release 0.12.3 with deno, but unfortunately, I get the error message Cannot assign to read-only property 'name' of function. Is the deno runtime still being considered supported by dagger ?

Deno has always been a community work, dagger officialy supports Node & Bun as TS runtime (info on the setup in our doc)
We did several update on the engine so it's possible that the Deno module hasn't follows with the updates.
We might officialy support it later, but it's not a priority for now.

Slightly different on deno 1.46.1  / dagger v0.12.6
using import { Client, connect } from<EMAIL_ADDRESS>instead of esm.sh:
$ deno run -A deploy.ts
error: Uncaught SyntaxError: The requested module 'graphql-tag' does not provide an export named 'gql'
    at <anonymous> (file:///Users/igl/Library/Caches/deno/npm/registry.npmjs.org/@dagger.io/dagger/0.12.6/dist/index.js:3:10)

graphql-tag is a freak "hybrid" package. if i slightly modify their package.json in my deno cache and change the "main" field to the ESM export, i can start dagger with deno:
$ deno run -A ./deploy.ts
i am running on Deno.version: { deno: "1.46.1", v8: "<IP_ADDRESS>-rusty", typescript: "5.5.2" }
Hello from Dagger and Node v16.20.2

Reported the issue with graphql-tag to deno https://github.com/denoland/deno/issues/25311

Reported the issue with graphql-tag to deno denoland/deno#25311

To fix this dagger team needs to release typescript packages as ESM modules?
If yes then should i create a separate issue for this?
Awaiting your response. Thanks

Hey, I think we already release the TS package as an ESM modules. But to create dagger module with Deno, we'll need it integrated inside our runtime and also allow the TS SDK to be locally installed.
I'll see if we can use https://github.com/garronej/denoify to convert the Node TS SDK to Deno, it might work

Now that we have a SDK called "typescript" it would probably be confusing to have one called "deno". That would essentially be 2 competing Typescript SDKs. Wouldn't it be better to add deno support to the same sdk?
Thoughts @TomChv @helderco @beingminimal ?

Now that we have a SDK called "typescript" it would probably be confusing to have one called "deno". That would essentially be 2 competing Typescript SDKs. Wouldn't it be better to add deno support to the same sdk?

As we disccused on Discord: https://discord.com/channels/707636530424053791/1157515934597136404/1285595642936295474, I couldn't make denoify to correctly convert our SDK to Deno code. And since https://github.com/denoland/deno/issues/18474 is still open, it's not possible to import local node module to deno code.
So we're pretty much stuck, we cannot use the current TS SDK inside Deno so the solution is to create a different a native deno SDK.
But we cannot mixup-sources, either we have a specific deno SDK directory or, we change the current typescriptdir to have node-bun & deno with 2 different codebases, and we can combine them in the TS runtime.
We can in fact keep only 1 runtime, but the SDK/generator will be different.
Also because this requires to make a new codebase, it also means maintaing that codebase, that's why I suggested to make a community Deno SDK, so it's not an official one but make our users happy and indeed give us time to find a way to merge them.

@TomChv what about an option 4 where it's 100% the same SDK, but the SDK is configurable to use Node or Deno? This would require a system for passing configuration to SDKs, but that is something that is desirable anyway IMO, and being discussed already. WDYT @helderco ?

Can we go reverse? Can we release js/ts sdk as package on jsr.io and it will be supported in all runtimes like deno, node & bun?

No, as I already explained, the TS SDK is bundled inside the dagger engine so we cannot do such thing.

@TomChv what about an option 4 where it's 100% the same SDK, but the SDK is configurable to use Node or Deno? This would require a system for passing configuration to SDKs, but that is something that is desirable anyway IMO, and being discussed already. WDYT @helderco ?

I don't understand how this would solve the original issue that is Deno needs a compatible codebase to run.

@TomChv what about an option 4 where it's 100% the same SDK, but the SDK is configurable to use Node or Deno? This would require a system for passing configuration to SDKs, but that is something that is desirable anyway IMO, and being discussed already. WDYT @helderco ?

The TypeScript SDK is already configurable (same as Python), but the configuration is used for setting up the runtime container. I believe the problem here is in the SDK's client library itself, but I'd like to understand more clearly what's the incompatibility. Can you clarify, and perhaps give a few examples @TomChv?

Can we go reverse? Can we release js/ts sdk as package on jsr.io and it will be supported in all runtimes like deno, node & bun?

No, as I already explained, the TS SDK is bundled inside the dagger engine so we cannot do such thing.

Don't rule this out, I can probably think of a few ways to make it happen. Just need to understand how they're incompatible and what would be necessary to make them compatible. We'll think about bundling later.

Are there examples of a shared codebase that runs on both node and deno?

Are there examples of a shared codebase that runs on both node and deno?

You can check which package is compatible with which runtime on www.jsr.io and also please check this docs it may help.
https://jsr.io/docs/with/node

The TypeScript SDK is already configurable (same as Python), but the configuration is used for setting up the runtime container (you can already choose to use Bun, for example). I believe the problem here is in the SDK's client library itself, but I'd like to understand more clearly what's the incompatibility. Can you clarify, and perhaps give a few examples @TomChv?

The incompabitility issue is due to the specific Deno import syntax.
Deno has no Node module system but instead load everything like Go would.
import express from<EMAIL_ADDRESS>// For package published to NPM
import { assert, assertEquals } from "jsr:@std/assert"; // For package published to JSR

While TypeScript has node_modules and the format you already know.
Appart from that, the codebase should be compatible since we can use npm package in deno... except for native runtime call like process who needs to be adapted.
So 2 major things:

Import syntax that is not compatible between Bun/Node & Deno
Native library that needs to be adapted.

Many packages from www.jsr.io will have a codebase like running on deno and node both.
You can check which package is compatible with which runtime on www.jsr.io and also Please check this docs it may help.
jsr.io/docs/with/node

Yes but they're published to a remote registry, is there a way to import a local JSR package? I didn't find a way from their doc.

@TomChv Just to add more in context now node supports typescript natively.
https://nodejs.org/en/learn/typescript/run-natively

@TomChv Just to add more in context now node supports typescript natively.
nodejs.org/en/learn/typescript/run-natively

Yeah, I'm not sure if this help us though with our current issue

@TomChv Just to add more in context now node supports typescript natively.
nodejs.org/en/learn/typescript/run-natively

Yeah, I'm not sure if this help us though with our current issue

Inside Typescript SDK code, we are importing .js extension files in .ts files. Instead of transpiling it to js and using it, we can use nodejs.org/en/learn/typescript/run-natively. And Deno supports ts file natively so this can be useful in both ways.

Inside Typescript SDK code, we are importing .js extension files in .ts files. Instead of transpiling it to js and using it, we can use nodejs.org/en/learn/typescript/run-natively. And Deno supports ts file natively so this can be useful in both ways.

Interesting, however, we're always using the LTS node version, and this is supported in 22.6.0, so I'm not sure about the dependency bump for that.

Inside Typescript SDK code, we are importing .js extension files in .ts files. Instead of transpiling it to js and using it, we can use nodejs.org/en/learn/typescript/run-natively. And Deno supports ts file natively so this can be useful in both ways.

Interesting, however, we're always using the LTS node version, and this is supported in 22.6.0, so I'm not sure about the dependency bump for that.

Yup! experimentation required.

Yup! experimentation required.

We gonna wait for october, this is when node 22 will be bump to lts :D

We gonna wait for october, this is when node 22 will be bump to lts :D

That's just release, doesn't mean it can't be experimented and worked on in the meantime. Pending other priorities, of course, unless @beingminimal can help.

The incompabitility issue is due to the specific Deno import syntax.
Deno has no Node module system but instead load everything like Go would.

I realize that, but I think I also saw compatibility support where you can configure the Deno imports in a separate file, basically mapping the node imports to ones Deno can understand.

Yup, I did a small PoC where you can run deno and tsx with just a few config from deno.json and package.json:
https://github.com/TomChv/deno-node-compat-test, also it seems tsx supports .ts extension so we might be able to introduce it soon enough

Ok did some checks and we hit an issue when trying to run tests (see: https://github.com/TomChv/dagger/pull/347)
I removed the loader option to only use it when running with node, it works but I hit another issue due to missing node internal function: https://github.com/denoland/deno/pull/25262
I see that there's a fix but it's not released yet, I'll try with deno canary version if I can make it work

I found a way to get the test running, only 2 are breaking:
Establishing connection to Engine... 1   : connect
      2) Should download and unpack the CLI binary automatically

  74 passing (1m)
  2 pending
  2 failing

This one is super weird, I checked the type and it's the only test where the type doesn't match even if the setup is exactly the same. I'll play with that to see what happens.
1) TypeScript SDK api
       Pass a client with an explicit ID as a parameter:
     TypeError: The "nodePath" option must be a string or a file URL: /Users/tomchauveau/.deno/bin/deno.
      at safeNormalizeFileUrl

Second is a timeout with the engine provisionning. This one isn't important since we don't need that anymore.
 2) TypeScript sdk Connect
       Automatic Provisioned CLI Binary
         Should download and unpack the CLI binary automatically:
     Error: Timeout of 30000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves. (/Users/tomchauveau/Documents/github.com/dagger/dagger/sdk/typescript/test/connect.spec.ts)
      at cb (ext:deno_node/internal/timers.mjs:64:31)
      at callback (ext:deno_web/02_timers.js:68:7)
      at eventLoopTick (ext:core/01_core.js:210:13)

What's missing to support deno:

Decoupling provisionning because it's not supported well in Deno.
Make the code compliant with every runtime + JS (remove .js extension file).

I did a very simple test and it seems we can make it work if we remove extensions:
// src/fn.ts
export function fn() {
  console.log("foo")
}

// src/main.ts
import { fn } from "./fn"

function hello() {
  fn()
}

hello()

✗ npx tsc

# Javascript
✗ node dist/main.js
foo

# Typescript
✗ tsx src/main.ts
foo

# Deno (needs this flag to make it work)
✗ deno run --unstable-sloppy-imports src/main.ts
foo

# Bun
✗ bun run src/main.ts
foo

If I do not put --unstable-sloppy-imports, I get the following error:
✗ deno run src/main.ts
error: Module not found "file:///Users/tomchauveau/Documents/github.com/quartz-technology/playground/typescript_compat_check/src/fn". Maybe add a '.ts' extension or run with --unstable-sloppy-imports
    at file:///Users/tomchauveau/Documents/github.com/quartz-technology/playground/typescript_compat_check/src/main.ts:1:20

JavaScript modules (ESM) generally require file extensions in import statements. Node (in cjs mode) just can't.
Instead of telling deno to be not-esm-compliant with the --sloppy-imports flag, you can tell node to be esm-compliant.

Both runtimes do not require the extensions when you import from the node_modules/ folders.
Deno allows cjs code only when code is inside node_modules/ but not in your own codebase.
--experimental-default-typetype disable the cjs-default
--experimental-transform-types to run .ts files

node is adopting many deno features in general right now (test runner, access-control-flags...)

JavaScript modules (ESM) generally require file extensions in import statements. Node (in cjs mode) just can't.
Instead of telling deno to be not-esm-compliant with the --sloppy-imports flag, you can tell node to be esm-compliant.

However right now, our TS code is using ESM and all our example in the doc etc are also in EMS, wouldn't it break the code and the library to switch to commonJS? There's also some libraries we used that dropped commonJS (https://github.com/dagger/dagger/pull/8237#issue-2487978342) , so it's not a possible solution I think, except if you know if we can make it work somehow?

Decoupling provisionning because it's not supported well in Deno.

What do you mean by this?


TP2000-195 Users can get a 500 error if they fail to select a geographical area

TP2000-195 Users can get a 500 error if they fail to select a geographical area
Why
Currently users can go through the create measure journey without selecting a geographical area in the measure details form. This causes a 500 on the summary page when trying to render the geographical area's description.
What

Add a validation error on the measure details form when a user hasn't selected a geographical area
Updates tests to include a default erga omnes value

Checklist

Requires migrations? No
Requires dependency updates? No

Codecov Report

Merging #539 (32a3b52) into master (14a0fae) will decrease coverage by 0.00%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master     #539      +/-   ##
==========================================
- Coverage   92.64%   92.64%   -0.01%
==========================================
  Files         306      306
  Lines       18908    18910       +2
  Branches     1514     1515       +1
==========================================
+ Hits        17518    17519       +1
  Misses       1110     1110
- Partials      280      281       +1

Impacted Files
Coverage Δ

geo_areas/forms.py
84.37% <100.00%> (+0.50%)
:arrow_up:

measures/tests/test_forms.py
100.00% <100.00%> (ø)

measures/forms.py
90.29% <0.00%> (-0.38%)
: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 14a0fae...32a3b52. Read the comment docs.


Fix trait errors with overriden automerge

Follow-up on https://github.com/automerge/autosurgeon/issues/31 (which I  tried to re-open).
I am still having the  problem when using my own local checked-out version of Automerge at 0.5.1, and Autosurgeon at 0.8.
Is there a reason why this would only happen when working with your own checked-out Automerge as a path dependency?
For example:
error[E0277]: the trait bound `Transaction<'_>: autosurgeon::ReadDoc` is not satisfied
   --> examples/distributed_bakery.rs:476:27
    |
476 |                 reconcile(&mut tx, &bakery).unwrap();
    |                 --------- ^^^^^^^ the trait `autosurgeon::ReadDoc` is not implemented for `Transaction<'_>`
    |                 |
    |                 required by a bound introduced by this call
    |
    = help: the following other types implement trait `autosurgeon::ReadDoc`:
              automerge::autocommit::AutoCommit
              automerge::automerge::Automerge
              automerge::transaction::manual_transaction::Transaction<'a>
    = note: required for `Transaction<'_>` to implement `Doc`
note: required by a bound in `autosurgeon::reconcile`

problem goes away when using [patch.crates-io] to override the dependency...

Yeah I think it was related to automerge-test depending on a fixed version and manually editing Cargo.toml -- I had the same trouble this week. (saving notes here for next time I run into it, no further action needed)


Do not commit dist/zone*.js with each update

As of today, we need to gulp build the sources whenever a file in /lib is updated.
This causes a few problem:

size,
easy to get out of sync.

What we should do:

use the /lib files for the tests,
only update the /dist when the package is published

only update the /dist when the package is published

:+1:

only update the /dist when the package is published

I have tried to follow this policy for the last PRs. One exception is when files gets added to the folder, it then makes sense to update it, do you think it makes sense ?


Tweet not found error

Hi, I'm trying to download the dataset but the twitter part is not downloading.. I'm getting the error Tweet not found :: t_id<PHONE_NUMBER>10775808 :: Contact author for full data-set. Not sure what exactly I'm doing wrong.

You can ignore this. It is just a warning that is displayed by the preprocessing script supplied by the authors of the original dataset. The downloading/preprocessing will still happen

Oh ok. Thanks.


[doc,site] Site/earlgrey diagram

[Only consider the final 2 commits, this PR will be rebased once #17323 is merged, which makes up all but the last 2 commits here.]
REVIEW BUT DO NOT MERGE
We want to coordinate the merge of new website changes, so that suitable precautions can be taken for a safe deployment.
Merge notes.

The final commit consists of adding the earlgrey-diagram to the page site/landing/content/documentation which was added to the landing site in #17462. When that PR is merged and this one is rebased, that commit will reduce to a single-line-change.

This PR consists of a new interactive earlgrey-diagram created by @jprendes out-of-tree.
The latest staging.opentitan.org site contains the earlgrey-diagram as of this PR.

rebased

Adding license headers, fixed some lints

The CSS variant of the diagram (jwnrt#5) is at feature parity with this diagram (apart from the shadow ibex not being shown). As discussed offline, I think this would be preferable to this CSS iteration of the diagram and it seems everyone I have spoken to agrees, which is nice.
Personally think it would be nice to merge the CSS diagram and not have this diagram as an interim, so that we can avoid the large number of changes this diagram requires, as well as the huge dependencies it introduces, needlessly in the history.
However, if this diagram is going to be merged, the comment on top of metrics.js would be nice to have before the merge and the "TODO"s replaced with something nullable.
As an end note, the diagram looks amazing! Thanks to all that have worked on it.

@jprendes What do you think about this proposal?

I'm happy with these changes. The diagram has been tested on the staging site. We know that it does not work particularly well on mobile, but I'm happy for that to be a future improvement. Would you mind updating the description of the PR to refer to the updated dependency: #17462

Ty for the review, fixed the description.

Updated TODOs with null instead, added a comment to the top of the metrics.js file.

Rebased, condensed the final commit to a one-line change as mentioned in the merge-notes.

The CSS variant of the diagram (jwnrt#5) is at feature parity with this diagram (apart from the shadow ibex not being shown). As discussed offline, I think this would be preferable to this CSS iteration of the diagram and it seems everyone I have spoken to agrees, which is nice.
Personally think it would be nice to merge the CSS diagram and not have this diagram as an interim, so that we can avoid the large number of changes this diagram requires, as well as the huge dependencies it introduces, needlessly in the history.
However, if this diagram is going to be merged, the comment on top of metrics.js would be nice to have before the merge and the "TODO"s replaced with something nullable.
As an end note, the diagram looks amazing! Thanks to all that have worked on it.

@jprendes What do you think about this proposal?

I would personally merge this PR to get a diagram up, and we can work towards replacing it with the newer iteration in a follow up PR. I don't think having the node and puppeteer dependencies on the repo history is a problem.


Disallow comparison against NaN

Suggestion

🔍 Search Terms

disallow NaN
comparing with NaN
disallow comparing NaN
✅ Viability Checklist

My suggestion meets these guidelines:

[?] This wouldn't be a breaking change in existing TypeScript/JavaScript code
✅ This wouldn't change the runtime behavior of existing JavaScript code
✅ This could be implemented without emitting different JS based on the types of the expressions
✅ This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, new syntax sugar for JS, etc.)
✅ This feature would agree with the rest of TypeScript's Design Goals.

⭐ Suggestion
Similar to https://github.com/microsoft/TypeScript/pull/45978 . So the error should be something like The condition will always return 'false' since NaN !== NaN. Use Number.isNaN.
📃 Motivating Example
function setReputation (n: number)
{
  // ! here is the bug:
  if (n === NaN) throw new Error('setReputation:: Impossible reputation')
  // update the record in a remote DB
}
const foundGolems = 0
const killedGolems = 0
setReputation(killedGolems / foundGolems * 100)
// 0/0 is NaN

or what has actually happened to me:
export function clamp ( // @license CC0
	n:   number,
	min: number|bigint,
	max: number|bigint,
): typeof n
export function clamp (
	n:   bigint,
	min: number|bigint,
	max: number|bigint,
): typeof n
export function clamp (
	n:   number|bigint,
	min: number|bigint,
	max: number|bigint,
): typeof n
{
	// +null === 0
	// +'' === 0
	// +undefined === NaN
	const nFixed = typeof n === 'bigint' ? n : (
		// @ts-ignore
		'' === n || n === null || typeof n === 'symbol'
		? NaN : +n
	)
	const minFixed = typeof min === 'bigint' ? min : (
		// @ts-ignore
		'' === min || min === null || typeof min === 'symbol'
		? NaN : +min
	)
	const maxFixed = typeof max === 'bigint' ? max : (
		// @ts-ignore
		'' === max || max === null || typeof max === 'symbol'
		? NaN : +max
	)
	if (nFixed === NaN)
	{
		const ret = nFixed
		//const ret = min == max ? (typeof min === 'bigint' ? +min.toString() : min) : nFixed
		console.warn(
			'clamp(n=%O, min=%O, max=%O):: n === NaN; returning %O',
			n, min, max, ret,
		)
		return ret
	}
	let ret: typeof n
	if (
		minFixed === NaN
		&&
		maxFixed === NaN
	)
	{
		ret = nFixed
		console.warn(
			'clamp(n=%O, min=%O, max=%O):: min === NaN && max === NaN; returning `n` (%O)',
			n, min, max, ret,
		)
	}
	else if (maxFixed < minFixed)
	{
		// throw new RangeError
		//ret = maxFixed // similar to torch.clamp
		ret = minFixed // because arguments are specified in the left-to-right *order*.
		//ret = nFixed < maxFixed ? maxFixed : (nFixed > minFixed ? minFixed : nFixed)
		/*console.warn(
			'clamp(n=%O, min=%O, max=%O):: max<min; returning `min` (%O)',
			n, min, max, ret
		)*/
	}
	else
	{
		ret = nFixed < minFixed ? minFixed : (nFixed > maxFixed ? maxFixed : nFixed)
	}
	if (typeof n === 'bigint')
	{
		return typeof ret === 'bigint' ? ret : BigInt(Math.floor(ret))
	}
	if (typeof ret === 'bigint')
	{
		return +ret.toString()
	}
	return ret
}

💻 Use Cases
Since NaN is very rare, a programmer could forget to use Number.isNaN(variable), and accidentally use ===.
Or a programmer could have never even learned this, and just applies knowledge from other langs where NaN === NaN.

other langs where NaN === NaN

Are there any such languages?  NaN != NaN (as well as NaN itself) is, as far as I know, a quirk of the IEEE floating point specification and not specific to any particular programming language.

Related: #28682 and #15135

other langs where NaN === NaN

Are there any such languages? NaN != NaN (as well as NaN itself) is, as far as I know, a quirk of the IEEE floating point specification and not specific to any particular programming language.
a quirk of the IEEE floating point specification
I didn't know that, all my life I thought it was one of quirks of JavaScript, so I supposed there are such languages since there are so many of them now. Now I doubt there are such languages.

A syntactic check that == and === RHS isn't NaN seems like a good plan

Zeroing in on checking RHS, is there precedent for ignoring checks on LHS of equality checks? It's a bit uglier to write NaN === someVariable, but it's still possible to write.

Everything costs some amount of performance and I think the set of people weird enough to write constants-on-the-left are the people who know better than to put NaN there.

Just a side note:
SymbianOS (OS code, not application code) had a style guide to put constants-on-the-left to guard against missing = chars like if(0 = myvar) instead of intended if(0 == myvar).
if(0 = myvar) is detected by the compiler, but if(myvar = 0) is valid code.

TypeScript now errors on ===, ==, !==, or != when either operand is NaN. Our error messages will suggest using some variation of Number.isNaN(...), and our language service will provide a quick fix in such cases.
Thanks @a-tarasyuk!


Fix duplicate calls to pool.wait_closed() upon create_pool() exception

What do these changes do?
Just a minor fix to remove a duplicate function call I have found while I'm reading the code.
Are there changes in behavior for the user?
There should be nothing.
This code path is only taken when there are exceptions while creating a new Redis pool, which would rarely happen in normal use cases.
If this is an intended duplication, I think the authors should add a comment describing why.
Related issue number
This is just a simple one-liner PR. :wink:
Checklist

[x] I think the code is well written
[ ] Unit tests for the changes exist
[ ] Documentation reflects the changes
[ ] If you provide code modification, please add yourself to CONTRIBUTORS.txt

The format is <Name> <Surname>.
Please keep alphabetical order, the file is sorted by names.

[ ] Add a new news fragment into the CHANGES/ folder

name it <issue_id>.<type> (e.g. 588.bugfix)
if you don't have an issue_id change it to the pr id after creating the PR
ensure type is one of the following:

.feature: Signifying a new feature.
.bugfix: Signifying a bug fix.
.doc: Signifying a documentation improvement.
.removal: Signifying a deprecation or removal of public API.
.misc: A ticket has been closed, but it is not of interest to users.

Make sure to use full sentences with correct case and punctuation, for example:
Fix issue with non-ascii contents in doctest text files.

Please add a news fragment.


exit codes in script should determine program flow

E.g., if someone chooses to exit in the script and continue, 0 should be received and the rest continued. Otherwise we should receive a nonzero exit code and also exit in the python.

This was handled!


Spurious empty line in JSX

x = (

    New Messages

);

turns into
x = (

    New Messages

);

with an empty line before "New Messages".
https://jlongster.github.io/prettier/#{"content"%3A"x %3D (\n
\n    \n    New Messages\n  <%2Fdiv>\n)%3B\n"%2C"options"%3A{"printWidth"%3A80%2C"tabWidth"%3A2%2C"singleQuote"%3Afalse%2C"trailingComma"%3Afalse%2C"bracketSpacing"%3Atrue%2C"doc"%3Afalse}}
cc @rattrayalex

Cool I'll fix tomorrow


Updating Jenkins deployment fails appears rollingUpdate needs to be

Fix upgrade of jenkins failing, explicitly set rollingUpdate to nil (blank).
Similar issue https://github.com/rancher/rancher/issues/13584
Signed-off-by: Tom Jennings<EMAIL_ADDRESS>
What this PR does / why we need it:
Upgrading jenkins fails
$ helm upgrade --install cd ../../helm/charts/stable/jenkins --debug
[debug] Created tunnel using local port: '42521'

[debug] SERVER: "<IP_ADDRESS>:42521"

E0205 16:48:21.538039   10743 portforward.go:303] error copying from remote stream to local connection: readfrom tcp4 <IP_ADDRESS>:42521-><IP_ADDRESS>:37654: write tcp4 <IP_ADDRESS>:42521-><IP_ADDRESS>:37654: write: broken pipe
Error: UPGRADE FAILED: Deployment.apps "cd-jenkins" is invalid: spec.strategy.rollingUpdate: Forbidden: may not be specified when strategy `type` is 'Recreate'

Which issue this PR fixes
Special notes for your reviewer:
Similar issue https://github.com/rancher/rancher/issues/13584
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md
Adding an empty field to Kubernetes spec so don't think it requires documenting since it's not exposed.

/ok-to-test

/assign @maorfr

/approve
/lgtm


translationInView to view.superview

When a view is rotated this translationInView does not function as intended. The translation does not follow the location of gesture. Instead changing to view.superview allows rotated views and non-rotated to translate as expected.

I don't think this is right. Do you have an example of the code where this would be better? Also duplicate of #645

http://stackoverflow.com/questions/12525922/pan-gesture-after-rotation-behaves-incorrect
This is where I found the answer.

That's because they are adding the gesture recognizer to the wrong view, and I suspect you did the same. If you are transforming a view the gesture recognizers should be on the view's parent. At least that's the behaviour I would expect.


fix UT overflow error

Signed-off-by: Xin He<EMAIL_ADDRESS>Type of Change
The input tensor of middle layer goes to 1E30 with random input, which will cause an overflow sometimes. (No idea why it overflows)
Anyway, we can reset the input to 1 to avoid this error.
Description
[ILITV-2558(https://jira.devtools.intel.com/browse/ILITV-2558)
Expected Behavior & Potential Risk
UT pass

Ext test passed: https://inteltf-jenk.sh.intel.com/view/lpot-validation/job/lpot-ut-stress-test/665/

test pass https://inteltf-jenk.sh.intel.com/view/lpot-validation/job/lpot-ut-stress-test/666/artifact/unit_test_50.log


Feature request: Classes for current slide/dot

Right now Im using the aria labels to style those but maybe adding a quick class like slide-active or similar might help (?)

Will add this in next release.

Thank you very much for the hard work! I found out about this library yesterday looking for vanilla slick alternatives.

.tns-nav-active, .tns-slide-active were added in v2.2.0

With a fixedWidth and a wide container where a lot of slides are visible, each and every one of them gets the .tns-slide-active class while my items is set to 1. I've centered the active slide and I wanted to give it special styling but instead all slides visible in viewport receive this special styling.
Slider configuration:
    this.slider = tns({
      container: '.js-homepage-our-home__slider',
      items: 1,
      center: true,
      fixedWidth: 500,
      gutter: 50,
      prevButton: document.querySelector('.js-homepage-our-home__prev'),
      nextButton: document.querySelector('.js-homepage-our-home__next'),
      mouseDrag: true,
      rewind: true,
    });

What I'm getting (all slides active):

What I want:

Hey @lextoc ,
items option has no effect in fixedWidth slider. items in fixedWidth slider is based on viewport.
You could use displayIndex/index (refer to here) to target the center one.

That did the trick, thanks!

Here's an example of using displayIndex to add an active class to the slide in the center for anyone lurking months later (like I was):
window.onload = function() {
  var info = slider.getInfo(),
  indexCurrent = info.displayIndex;
  info.slideItems[indexCurrent - 1].classList.add('active');
}

document.querySelector('.next-button').onclick = function () {
  var info = slider.getInfo(),
  indexCurrent = info.displayIndex;
  info.slideItems[indexCurrent].classList.add('active');
  info.slideItems[indexCurrent - 1].classList.remove('active');
}

document.querySelector('.previous-button').onclick = function () {
  var info = slider.getInfo(),
  indexCurrent = info.displayIndex;
  info.slideItems[indexCurrent - 2].classList.add('active');
  info.slideItems[indexCurrent - 1].classList.remove('active');
}

What about when we drag the slider ?

why this item is closed? the feature is not implemented yet

I agree it would be useful to have a class for the true current slide, separate from a blanket class for all slides visible in the viewport. Here's how I solved it.
Add the following onInit option and custom event to your slider.
let slider = tns({
	//your other options here
	onInit: function(info) {
		info.slideItems[info.index].classList.add('tns-slide-current');
	}
});

slider.events.on('indexChanged', (info, event) => {
	if (info.index != info.indexCached) {
		info.slideItems[info.indexCached].classList.remove('tns-slide-current');
		info.slideItems[info.index].classList.add('tns-slide-current');
	}
});

This solution should work robustly no matter how you navigate your slides (arrows, bullets, dragging, etc).

I agree it would be useful to have a class for the true current slide, separate from a blanket class for all slides visible in the viewport. Here's how I solved it.
Add the following onInit option and custom event to your slider.
let slider = tns({
	//your other options here
	onInit: (info) => {
		info.slideItems[info.index].classList.add('tns-slide-current');
	}
});

slider.events.on('indexChanged', (info, event) => {
	if (info.index != info.indexCached) {
		info.slideItems[info.indexCached].classList.remove('tns-slide-current');
		info.slideItems[info.index].classList.add('tns-slide-current');
	}
});

This solution should work robustly no matter how you navigate your slides (arrows, bullets, dragging, etc).


Feature request - file upload component

I would be interested in a component that supports drag-and-drop file upload. Typically you can either select a file for upload by browsing or drop an existing file onto a "drop" area. I believe the component is universal enough to warrant consideration. It's usability depends quite a bit on the styling and hence why this is a good candidate for inclusion.

<input type="file"> natively supports the Drag and Drop.
We can design a Drag and Drop area, but this would require some .classes and probably some javascript to manage all the states (no file, drag and drop hover, errors, etc.)
I prefer to keep the native <input type="file"> without addition for now.
But I'm always open to suggestions and codes example (without Javascript, ideally).

Fair enough. I understand the desire to keep JavaScript out. A visually attractive drag-and-drop area would go a long way already. Is selector input[type=file] enough to style it without classes?


feat: add scc configuration

Signed-off-by: Dominik Rosiek<EMAIL_ADDRESS>

sure, just fix the helm test which failed for unknown reason

it passed now

#381 #380


Export to make_gcc_arm doesn't work for mbed-os-5.3.0-rc3

The export and compilation works fine, but the LED stays off and there's nothing on serial.

The same issue with all other uvisor examples.

Hi @bulislaw, there was a misunderstanding. Exporters are out of the scope of OOB testing for this release. See the related known issue: http://jira.arm.com/browse/IOTMORF-510. The spreadsheet has been updated as well with 'Don't test'. Thanks for reporting though!

https://github.com/ARMmbed/mbed-os-example-uvisor/pull/26