refactor: update translations

Issue

Closes #1312
Addresses #1312
[ ] This change is a dependency for another issue
[ ] This change has a dependency from another issue

Description
WIP
How Can This Be Tested/Reviewed?

Open listings management
Find the Additional Fees section and make sure the Deposit Helper Text field doesn't have a default value (should be empty)
Find the Listing Units section and make sure it has a description text mentioned in the issue.
Find the Special Notes field and compare a helper text with the content mentioned in the issue.

Describe the tests that you ran to verify your changes. Please also list any relevant details for your test configuration.
Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have reviewed the changes in a desktop view
[x] I have reviewed the changes in a mobile view
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged and published in downstream modules
[x] I have assigned reviewers
[ ] I have run yarn generate:client and/or created a migration if I made backend changes that require them
[ ] I have exported any new pieces added to ui-components
[x] My commit message(s) is/are polished, and any breaking changes are indicated in the message and are well-described
[x] Commits made across packages purposefully have the same commit message/version change, else are separated into different commits

Reviewer Notes:
Steps to review a PR:

Read and understand the issue
Review the code itself from a style point of view
Pull the changes down locally and test that the acceptance criteria is met
Also review the acceptance criteria on the Netlify deploy preview (noting that these do not yet include any backend changes made in the PR)
Either explicitly ask a clarifying question, request changes, or approve the PR if there are small remaining changes but the PR is otherwise good to go

On Merge:
If you have one commit and message, squash. If you need each message to be applied, rebase and merge.

This LGTM and matches the AC but I think the original issue includes a typo, as the unit type helper text is missing a closing parenthesis. I'll check in with Kathy!

Confirmed that we want a closing parenthesis after the etc.!

Good catch @emilyjablonski ! I've fixed that typo :)


fix: null enum

Summary:
Briefly describe the changes made in this PR.
inner null enum failed to resolved.
Issue Reference(s):
Fixes #... (Replace "..." with the issue number)
Build & Testing:

[ X] I ran cargo test successfully.
[ X] I have run ./lint.sh --mode=fix to fix all linting issues raised by ./lint.sh --mode=check.

Checklist:

[ X] I have added relevant unit & integration tests.
[ ] I have updated the documentation accordingly.
[X ] I have performed a self-review of my code.
[ ] PR follows the naming convention of <type>(<optional scope>): <title>

tried to fix with https://github.com/async-graphql/async-graphql/pull/1551 but actually this PR should resolve the issue.

Thanks @ouertani! Overall PR looks great, just a tiny little feedback about the test.


Do not make creating a secret for PostgreSQL a prerequisite

Description
Changes:
Check the backstage deployment and statefulset configuration, if the main container has an envFrom entry
pointing to the secret reference with special name '{POSTGRESQL_SECRET}', a secret is auto generated, and the envFrom entry is updated to backstage-psql-secret-. Otherwise, we assume that the user has an existing secret provided and it will not be auto generated.
Which issue(s) does this PR fix or relate to

Fixes #63

PR acceptance criteria

[X ] Tests
[ ] Documentation

How to test changes / Special notes to the reviewer
a) Deploy the operator and the dummy backstage CR (examples/bs1.yaml).
b) Check that the psql db and backstage are running.
c) Check that a secret backstage-psql-secret- has been created.
d) Delete the backstage CR and check and confirm that the secret gets deleted.

The generated secret does not have own-runtime set, ie, when the backstage CR is deleted, the secret will NOT be removed. This prevents the secret from being re-created should the CR is deleted and then redeployed.

About this, I'm wondering if we should not delete the generated secret as well. Otherwise, we might end up with a lot of secrets, especially if I delete my CR, then rename it before applying it. The data in the secret is random, so I guess it should not be a problem to recreate it, no?

Fair enough. Accepted.

A couple notes:
I think, for the sake of consistency we need to take DB secret as a first class citizen object i.e:

it has to have own (db-secret.yaml) default configuration and accordingly to be able to be overlayed with raw configuration
(optionally if we decide so) it has to have dedicated Backstage CRD config (just secret name)

I do not think there are a lot of reasons to generate it, static initialization should be fine IMO (note it is a property of "local", namespace scoped Database, production is a different story)

Agreed to use the same approach for the psql secret as other objects. Meanwhile, I think it is worthwhile to generate a random password instead of a default one.

@jianrongzhang89 well, I am not against generating per se, it just looks like it may cost too much.
Other methods of Backstage installation can live w/o it so let's start simple .

@jianrongzhang89 well, I am not against generating per se, it just looks like it may cost too much. Other methods of Backstage installation can live w/o it so let's start simple .

IMO, it would make sense for the DB to have a random password value for each Backstage instance (for the reasons depicted in https://github.com/janus-idp/operator/issues/63#issuecomment-1854383364).
Also,
Not sure I understand why it may cost too much. Could you please elaborate?
Also, I think other installation methods generate a random password by default if not set explicitly. That's what the Bitnami PostgreSQL Chart (which the Backstage Helm Chart depends on) seems to do in my understanding: https://github.com/bitnami/charts/blob/main/bitnami/postgresql/templates/secrets.yaml#L11

@jianrongzhang89 well, I am not against generating per se, it just looks like it may cost too much. Other methods of Backstage installation can live w/o it so let's start simple .

IMO, it would make sense for the DB to have a random password value for each Backstage instance (for the reasons depicted in #63 (comment)). Not sure I understand why it may cost too much. Could you please elaborate? Also, I think other installation methods generate a random password by default if not set explicitly. That's what the Bitnami PostgreSQL Chart (which the Backstage Helm Chart depends on) seems to do in my understanding: https://github.com/bitnami/charts/blob/main/bitnami/postgresql/templates/secrets.yaml#L11

Also, if we do not generate the db password, users will be unable to use local psql db for production. Although they may use external db installations, I can image some smaller sized customers may simply want to use the local psql db instead.

@jianrongzhang89 well, I am not against generating per se, it just looks like it may cost too much. Other methods of Backstage installation can live w/o it so let's start simple .

IMO, it would make sense for the DB to have a random password value for each Backstage instance (for the reasons depicted in #63 (comment)). Not sure I understand why it may cost too much. Could you please elaborate? Also, I think other installation methods generate a random password by default if not set explicitly. That's what the Bitnami PostgreSQL Chart (which the Backstage Helm Chart depends on) seems to do in my understanding: https://github.com/bitnami/charts/blob/main/bitnami/postgresql/templates/secrets.yaml#L11

Also, if we do not generate the db password, users will be unable to use local psql db for production. Although they may use external db installations, I can image some smaller sized customers may simply want to use the local psql db instead.

About using it for small group, I do not think it is directly related to the credential generation topic
It is still possible to install database with random credentials, the same as other configuration, just provide db-secret.yaml (for example) Secret, or specify this Secret in the Backstage.spec with generated credentials (as proposed), right?
@rm3l

Not sure I understand why it may cost too much. Could you please elaborate?

What we propose for the case when one want to change the generated credentials? Like, ok, I go to sql server and change it (as you mentioned) but how I change the Secret if after first generation we consider it as not changeable and => ignore its changing? Or I missed something?

What we propose for the case when one want to change the generated credentials? Like, ok, I go to sql server and change it (as you mentioned) but how I change the Secret if after first generation we consider it as not changeable and => ignore its changing? Or I missed something?

@gazarenkov This is a good point. After the secret is generated, the user shall be able to  change the passwords in the server, and then update the secret accordingly. Current implementation does not prevent the user from doing this.

The generated secret does not have own-runtime set, ie, when the backstage CR is deleted, the secret will NOT be removed. This prevents the secret from being re-created should the CR is deleted and then redeployed.

About this, I'm wondering if we should not delete the generated secret as well. Otherwise, we might end up with a lot of secrets, especially if I delete my CR, then rename it before applying it. The data in the secret is random, so I guess it should not be a problem to recreate it, no?

We are talking about the case when Operator generates the secret right?
In this case the generated secret is a part of operator.
So, when own-runtime = true (normally) it has to be fully synchronized with CR, i.e. it should be deleted along with CR.
Unlike the case when the secret is external - i.e. you point it as a part of CR.spec (including raw config), in this case operator does not own it and it will not be touched

What we propose for the case when one want to change the generated credentials? Like, ok, I go to sql server and change it (as you mentioned) but how I change the Secret if after first generation we consider it as not changeable and => ignore its changing? Or I missed something?

@gazarenkov This is a good point. After the secret is generated, the user shall be able to change the passwords in the server, and then update the secret accordingly. Current implementation does not prevent the user from doing this as the secret gets generated only if it does not exist yet.

In a case when secret is generated with default configuration and synchronized with operator, I do not think existence of secret is a good criteria to decide (indeed when you create CR with defaults, secret does not exist always).
I would say (and that's how it is implemented in https://github.com/gazarenkov/janus-idp-operator/tree/next) empty password data field is better criteria.

The generated secret does not have own-runtime set, ie, when the backstage CR is deleted, the secret will NOT be removed. This prevents the secret from being re-created should the CR is deleted and then redeployed.

About this, I'm wondering if we should not delete the generated secret as well. Otherwise, we might end up with a lot of secrets, especially if I delete my CR, then rename it before applying it. The data in the secret is random, so I guess it should not be a problem to recreate it, no?

We are talking about the case when Operator generates the secret right? In this case the generated secret is a part of operator. So, when own-runtime = true (normally) it has to be fully synchronized with CR, i.e. it should be deleted along with CR. Unlike the case when the secret is external - i.e. you point it as a part of CR.spec (including raw config), in this case operator does not own it and it will not be touched

Yes, this was about the case when the secret was generated. I think deletion is now handled accordingly in this PR. External secrets are not deleted when the CR is deleted.

What we propose for the case when one want to change the generated credentials? Like, ok, I go to sql server and change it (as you mentioned) but how I change the Secret if after first generation we consider it as not changeable and => ignore its changing? Or I missed something?

@gazarenkov This is a good point. After the secret is generated, the user shall be able to change the passwords in the server, and then update the secret accordingly. Current implementation does not prevent the user from doing this as the secret gets generated only if it does not exist yet.

In a case when secret is generated with default configuration and synchronized with operator, I do not think existence of secret is a good criteria to decide (indeed when you create CR with defaults, secret does not exist always). I would say (and that's how it is implemented in https://github.com/gazarenkov/janus-idp-operator/tree/next) empty password data field is better criteria.

In such case, the user should be responsible to make sure the secret is correct. Also note that the secret may not already exist when the CR is created and the user may create it after the CR is already created.


Standard UI

The MVC sample shows how to implement my own UI for login. That's great but in many cases I want to keep it as simple as possible because I need the UI only for testing the API with browsers. Therefore a standard UI would be great.
In the announcements a standard UI is mentioned. Is this already available?

A simple standard UI based on Bootstrap is already included in the IdentityServer package. You can see the source code here: https://github.com/IdentityServer/IdentityServer4/tree/dev/src/Host/UI

Thanks, wasn't aware of that.


Handle more special characters in file paths which cause createUri to throw exceptions

Fixes #1817

This change is

LGTM. I'll bring this in today or tomorrow.

Looks like this still fails (with an error rather than a crash) if the file contains an export.


Verification Error On Resnet18

This project helps a lot. However, I found a problem converting resnet18.
During the transformation, I got a warning message:
WARNING: the output shape miss match at max_pool1: input torch.Size([1, 64, 112, 112]) output---Pytorch:torch.Size([1, 64, 56, 56])---Caffe:torch.Size([1, 64, 57, 57])
This is caused by the different implementation that ceil mode in caffe and the floor mode in pytorch.
You can add the clip layer in caffe prototxt manually if shape mismatch error is caused in caffe.

And the above warning leads to an error in verification:
F1225 20:18:19.848548<PHONE_NUMBER> net.cpp:757] Cannot copy param 0 weights from layer 'fc1'; shape mismatch.  Source param shape is 1000 512 (512000); target param shape is 1000 2048 (2048000). To learn this layer's parameters from scratch rather than copying from a saved net, rename the layer.
*** Check failure stack trace: ***

I need to manually design a crop layer to correct the size match, but I do not know how to do it. Caffe's crop layer requires two input layers.
There is a useless crop layer below:
layer {
  name: "max_pool1"
  type: "Pooling"
  bottom: "relu_blob1"
  top: "max_pool_blob1"
  pooling_param {
    pool: MAX
    kernel_size: 3
    stride: 2
    pad: 1
  }
}

layer {
  name: "crop_layer"
  type: "Crop"
  bottom: "max_pool_blob1"
  bottom: "max_pool_blob1"
  top: "cropped_blob1"
  crop_param {
    axis: 2
    offset: 0
    offset: 0
  }
}

layer {
  name: "conv2"
  type: "Convolution"
  bottom: "cropped_blob1"
  top: "conv_blob2"
  convolution_param {
    num_output: 64
    bias_term: false
    pad: 1
    kernel_size: 3
    stride: 1
    weight_filler {
      type: "xavier"
    }
    dilation: 1
  }
}

Any help is appreciated!

@TomHeaven Actually,I had tested on my compter,resnet18 and 50 is all  ok.And then I will test it later.


Production build fails with an error

Short description of the problem:
When ionic_generate_source_map and ionic_source_map_type are removed from package.json (as described here the production build fails with the below error
[16:52:52]  uglifyjs failed: ENOENT: no such file or directory, open
            '/Users/alexryltsov/Git/boss811.mobile/www/build/main.js.map'

What behavior are you expecting?
Production build should be executed successfully and create the build without source maps
Steps to reproduce:

remove ionic_generate_source_map and ionic_source_map_type from package.json
issue ionic build android --release --prod
Note that the build fails with

Alexs-MacBook-Pro-3:boss811.mobile alexryltsov$ ionic build android --release --prod

><EMAIL_ADDRESS>ionic:build /Users/alexryltsov/Git/boss811.mobile
> ionic-app-scripts build "--release" "--prod"

[16:51:20]  ionic-app-scripts 1.1.4
[16:51:20]  build prod started ...
[16:51:20]  clean started ...
[16:51:20]  clean finished in 4 ms
[16:51:20]  copy started ...
[16:51:20]  ngc started ...
[16:51:37]  ngc finished in 17.48 s
[16:51:37]  preprocess started ...
[16:51:37]  optimization started ...
[16:51:39]  copy finished in 19.45 s
[16:51:49]  optimization finished in 12.09 s
[16:51:49]  preprocess finished in 12.09 s
[16:51:49]  webpack started ...
keywords if/then/else require v5 option
[16:52:00]  webpack finished in 10.93 s
[16:52:00]  sass started ...
[16:52:00]  transpile bundle started ...
[16:52:30]  transpile bundle finished in 29.35 s
[16:52:30]  uglifyjs started ...
[16:52:31]  sass finished in 30.80 s
[16:52:31]  cleancss started ...
[16:52:35]  cleancss finished in 3.96 s
[16:52:52]  uglifyjs failed: ENOENT: no such file or directory, open
            '/Users/alexryltsov/Git/boss811.mobile/www/build/main.js.map'
[16:52:52]  ionic-app-script task: "build"
[16:52:52]  Error: ENOENT: no such file or directory, open '/Users/alexryltsov/Git/boss811.mobile/www/build/main.js.map'
Error: ENOENT: no such file or directory, open '/Users/alexryltsov/Git/boss811.mobile/www/build/main.js.map'
    at Error (native)
    at Object.fs.openSync (fs.js:640:18)
    at Object.fs.readFileSync (fs.js:508:33)
    at Object.exports.minify (/Users/alexryltsov/Git/boss811.mobile/node_modules/uglify-js/tools/node.js:120:31)
    at runUglifyInternal (/Users/alexryltsov/Git/boss811.mobile/node_modules/@ionic/app-scripts/dist/uglifyjs.js:47:19)
    at /Users/alexryltsov/Git/boss811.mobile/node_modules/@ionic/app-scripts/dist/uglifyjs.js:31:32
    at uglifyjsWorker (/Users/alexryltsov/Git/boss811.mobile/node_modules/@ionic/app-scripts/dist/uglifyjs.js:22:12)
    at process.<anonymous> (/Users/alexryltsov/Git/boss811.mobile/node_modules/@ionic/app-scripts/dist/worker-process.js:8:9)
    at emitTwo (events.js:106:13)
    at process.emit (events.js:191:7)

insert any relevant code between the above and below backticks

Which @ionic/app-scripts version are you using?
Your system information:
Cordova CLI: 7.0.0
Ionic Framework Version: 2.2.0
Ionic CLI Version: 2.2.3
Ionic App Lib Version: 2.2.1
Ionic App Scripts Version: 1.1.4
ios-deploy version: 1.9.0
ios-sim version: 5.0.13
OS: macOS Sierra
Node Version: v6.9.2
Xcode version: Xcode 8.3.2 Build version 8E2002
Other information: (e.g. stacktraces, related issues, suggestions how to fix, stackoverflow links, forum links, etc)

i have have this issue on mac with ionic-app-scripts 3


Middleware tracking

I would like to obtain parity with the go-grpc-middleware repo. By obtaining parity we can be more confident that tonic can accomplish anything gprc-go can.
We should create a new project tonic-middleware to provide a repository of both "official" middlware, and links to other middleware.
https://github.com/grpc-ecosystem/go-grpc-middleware
Interceptors
Auth

grpc_auth - a customizable (via AuthFunc) piece of auth middleware

Closest we have: https://github.com/hyperium/tonic/tree/master/tonic-examples/src/authentication
We need to be able to chain Interceptor functions for this to reach parity. Call a user defined function with less information than the whole request.

Logging

grpc_ctxtags - a library that adds a Tag map to context, with data populated from request body
We need to be able to chain Interceptor functions for this to reach parity.

grpc_zap - integration of zap logging library into gRPC handlers.

grpc_logrus- integration of logrus logging library into gRPC handlers.
Should have a https://github.com/tokio-rs/tracing middleware which can output the following information: https://github.com/grpc-ecosystem/go-grpc-middleware/blob/master/logging/logrus/doc.go

Monitoring

grpc_prometheus - Prometheus client-side and server-side monitoring middleware
otgrpc - OpenTracing client-side and server-side interceptors
grpc_opentracing - OpenTracing client-side and server-side interceptors with support for streaming and handler-returned tags

Client

grpc_retry - a generic gRPC response code retry mechanism, client-side middleware

Server

grpc_validator - codegen inbound message validation from .proto options
grpc_recovery - turn panics into gRPC errors
ratelimit - grpc rate limiting by your own limiter

@rlabrecque would we want to create our own specific grpc middleware library? Ideally, I'd like these middleware to be very closely tied to the tower middleware. That said, Id love to explore these. Some may be more difficult than others.

With https://github.com/hyperium/tonic/pull/651 Tower middleware are now much easier to use Tonic. Tower is definitely the right abstraction for middleware like this. I think a good place to start is to write some cool middleware and release them as stand alone libraries on crates.io. Over time if some of them gain traction we can consider moving them into tonic or perhaps tower-http.
I'm going to close this but feel free to reopen if you have further questions.


No such file or directory: 'prompts/rec_alignment.txt'

Hi there! I'm trying to train collm_sasrec version, but i can't find the prompt named rec_alignment.txt. Is it 'collm_movie.txt' or 'collm_amazon.txt'?

Hi there! I'm trying to train collm_sasrec version, but i can't find the prompt named rec_alignment.txt. Is it 'collm_movie.txt' or 'collm_amazon.txt'?

Yes. To enhance the clarity of the files, I have changed their names. However, I didn't modify all the training configurations but just provided an example in the "Readme.md". Please refer to the "Training" section in "Readme.md" to set the prompt files.


[Adding Tool]: Algorithms for competitive programming

What tool are you adding and to what category?
We need to add Algorithm for Competitive Programming - a website where one will get all the necessary algorithm and concepts related to competitive programming.
Add Tool Link
Tool link: https://cp-algorithms.com/
Code of Conduct

[X] I agree to follow this project's Code of Conduct
[X] The tool is free for use

@JasonDsouza212 @VenomFate-619 Please assign this issue to me, I am adding the best site for competitive programming.


9.2.0 Update

I have tried many times to update, but get hung up on the health and safety dump(step 11. Go to SysNAND File Options, then select the Dump Health & Safety option to dump Health & Safety to  hs.app)  .  Here is the error log.
Searching title "Health&Safety"...
Method 1: Search in title.db...
System version 4.x
Found title<PHONE_NUMBER>021300
TMD0 found at 15BD8000, size 2868b
APP0 not found or fragmented!
Health&Safety Dump: failed!

Do the steps here:
https://github.com/Plailect/Guide/wiki/Troubleshooting#validation-stage-1-success-and-validation-stage-2-failed

Thank you.  After dumping, mounting, and defragging, how do I replace my CTRNAND partition with the defragged version?

Inject the CTRNAND partition file that has been defragmentated..
On Tue, Apr 5, 2016, 8:59 PM ephzee<EMAIL_ADDRESS>wrote:

Thank you. After dumping, mounting, and defragging, how do I replace my
CTRNAND partition with the defragged version?
—
You are receiving this because you modified the open/close state.
Reply to this email directly or view it on GitHub
https://github.com/Plailect/Guide/issues/50#issuecomment-206057927

Thanks.  Sorry I saw that option after I finished dumping.


Bump to 0.1.96

Breaking this out of #26 because the version bump shouldn't be tied to the library untangling. Also, need for the package came up in https://github.com/conda-forge/tango-feedstock/pull/2

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@conda-forge/sentencepiece @xhochy
I broke this part out of #26 (no need to hold up version bump) and added myself to maintainers. PTAL :)


PublisherKit onError not always called even when stream is not created

The following bug can be reproduced on the basic video chat.
Sometimes (really rarely) my user do not get their stream published and no error is reported. I found a way to reproduce this bug systematically.
For this I use google meet. I create a meeting and activate screen sharing. Then I start the basic video chat and the stream is never published.
What is really disturbing is that you see your publisher miniature but the stream is not being sent to the other user in the chat

@mbouxin I was able to reproduce it, we're going to investigate further. Thanks again for opening the issue!

👍 Thanks !

Awesome :D!

Closing this as - please do reopen is still experiencing issues.


[release-1.5] Avoid token http 1.5

Cherry pick of https://github.com/kubernetes/heapster/pull/2048
/cc @kawych

/ok-to-test
/lgtm


Java 8u212 will be able to use vendor name flag

just a heads-up: --with-vendor-name coming with next CPU update for 8u. https://bugs.openjdk.java.net/browse/JDK-8221171

@karianna That would be 8u212 (April CPU), not 8u222. I cannot fix the name myself.

Looking at the build scripts, we are using --with-vendor-name for JDK8/HS whenever we have ADOPT_PATCHES set to True. Seeing as this remains at True for 99% of the time, can this be closed @karianna ?

Looking at the build scripts, we are using --with-vendor-name for JDK8/HS whenever we have ADOPT_PATCHES set to True. Seeing as this remains at True for 99% of the time, can this be closed @karianna ?

Pulling in @johnoliver for a final check, but I think we can close this yes.

@johnoliver can this be closed now that https://github.com/AdoptOpenJDK/openjdk-build/pull/2073 has one in, jdk8u now always has a vendor name (Default "AdoptOpenJDK").


Sparse texture (& buffer?) support?

Hi,
would like to make an updated call for sparse texture support in MoltenVK..
seems all I can find about sparse tex support is from a issue three years ago (https://github.com/KhronosGroup/MoltenVK/issues/631)..
a SPIRV-Cross issue was opened: https://github.com/KhronosGroup/SPIRV-Cross/issues/1014
but no real progress since then..
sparse texture now is available also on MacOS also seems from Metal 2.3 (at least for M1 Macs).. also on A15 and M2 additional sparse stencil and depth format support.. don't know on Macos on AMD GPUs..
at least this is info from this Metal sparse sample:
https://developer.apple.com/documentation/metal/metal_sample_code_library/streaming_large_images_with_metal_sparse_textures
I have seen also new:
#define HAVE_SPARSE_SAMPLE_COMPARE_GRADIENTCUBE_OVERLOAD 1
vs last time 3 years ago in metal shader compiler headers..
finally seems no sparse buffer support (you can create sparse MLTHeaps from which create MTLTexture's but not MTLBuffer's ?) see: https://developer.apple.com/documentation/metal/textures/creating_sparse_heaps_and_sparse_textures)..
hope somebody fills a bug with Apple for sparse buffer support..
similarly don't know if sparse 3D textures are supported..
@billhollings @cdavis5e @spnda  do you know about current Metal sparse support? (sparse buffers, sparse 3D textures, supported on AMD GPUs on Macos?)
thanks..

Part of the problem is that Metal doesn't let you place sparse tiles at specific locations inside of sparse heaps, whereas Vulkan and D3D12 do.

thanks for the insight..
so does basically avoid an "easy" implementation of sparse texture support on MoltenVK, right now?
in that case has this limitation been pointed to Apple devs (filed a ticket on Apple bug tracker)?

any update on this?

@oscarbg It doesn't. A bunch of games don't work because of the limited sparse support.

Sorry this is out of topic, but are there actual games using hardware sparse textures ? I was under the impression that they were virtually unused due to the limited texture size and binding performance. (For context, I'm doing a PhD on matters related to sparse textures, feel free to answer me at<EMAIL_ADDRESS>instead of this thread)


How to use with vue 3?

help!

I'd be interested also. I installed the next branch, then tried to install the plugin via
`import  Toasted from 'vue-toasted';
createApp(App)
.use(Toasted)
`
But I get this error (I'm using Vue3 and Typescript):
Uncaught TypeError: t.prototype is undefined
    install vue-toasted.min.js:1
    use runtime-core.esm-bundler.js:3132
    ts main.ts:27

Does anyone have an idea?

If you need Vue 3 support, you might want to check out Vue Toastification v2, which offers similar features and native Vue 3 support.

@shakee93 it's been a while can we get some sort of eta or a roadmap? Would really like to use this in my upcoming project, I've put off toasts for now but I'll have to implement them eventually.

@shakee93 it's been a while can we get some sort of eta or a roadmap? Would really like to use this in my upcoming project, I've put off toasts for now but I'll have to implement them eventually.

Toasted works by extending the Vue.prototype.  This breaks in Vue3, but you can work around it as follows:
const prevPrototype = Vue.prototype

Vue.prototype = {}

Vue.use(Toasted, {/*...*/})

Object.assign(Vue.config.globalProperties, Vue.prototype)

Vue.prototype = prevPrototype

any news about v3 version?

+1

Hello, I am modifying the index.js file in line number 12 and now it works
`

Vue.toasted = Vue.config.globalProperties.$toasted = Toast;
`
they must repackage the package

Toasted works by extending the Vue.prototype. This breaks in Vue3, but you can work around it as follows:
const prevPrototype = Vue.prototype

Vue.prototype = {}

Vue.use(Toasted, {/*...*/})

Object.assign(Vue.config.globalProperties, Vue.prototype)

Vue.prototype = prevPrototype

This works 🎉

One can use this one
https://github.com/hoppscotch/vue-toasted
it has same API

This works for me:
// my injectToasted.js file
import Toasted from 'vue-toasted'
const TOASTED_OPTIONS = { className: 'toast', duration: 1000 }

export default function injectToasted (component, globalProperties) {
  const mockVue = {
    use (plugin, args) {
      plugin.install(this, args)
    },
    component
  }
  mockVue.prototype = {}
  mockVue.use(Toasted, TOASTED_OPTIONS)
  Object.assign(globalProperties, mockVue.prototype)
}

// my main.js file

...
const app = createApp(App)
injectToasted(app.component, app.config.globalProperties)
...

Toasted works by extending the Vue.prototype. This breaks in Vue3, but you can work around it as follows:
const prevPrototype = Vue.prototype

Vue.prototype = {}

Vue.use(Toasted, {/*...*/})

Object.assign(Vue.config.globalProperties, Vue.prototype)

Vue.prototype = prevPrototype

For nuxt 3:
import VueToasted from "vue-toasted";

export default defineNuxtPlugin((nuxtApp) => {

  const prevPrototype = nuxtApp.vueApp.prototype;
  nuxtApp.vueApp.prototype = {};

  nuxtApp.vueApp.use(VueToasted, {
    /* options */
  });

  Object.assign(
    nuxtApp.vueApp.config.globalProperties,
    nuxtApp.vueApp.prototype
  );
  nuxtApp.vueApp.prototype = prevPrototype;
});

In our project, we migrated from vue-toasted to vue3-toastify, and it has been an excellent decision. I highly recommend it, and I have no regrets.
If you need to support the old syntax to avoid refactoring all your components, you can create a plugin like this:
// A facade using vue3-toastify
import { appToast } from<EMAIL_ADDRESS>

export const ToastPlugin = {
  install(app: App) {
    /**
     * @deprecated Use `this.$appToast` within a component or our appToast lib directly.
     * If you are inside a component, prefer using `this.$appToast` for accessing the toast functionality.
     * For external usage or utility files, import `appToast` directly from the toast library.
     */
    app.config.globalProperties.$toasted = {
      global: {
        showSuccess({ message }: { message: string }) {
          appToast.error(message);
        },
        showError({ message }: { message: string }) {
          appToast.error(message);
        },
       ... any other method you use in your components
      },
      clear() {
        appToast.clearAll();
      },
    };

    app.config.globalProperties.$appToast = appToast;
    app.provide('appToast', appToast);
  },
};


Support binding to return values

Addresses https://github.com/Azure/azure-webjobs-sdk-script/issues/675
Still adding more tests. I'll also go in and simplify some of the other samples. I'm also going to look into rationalizing our existing special case return handling for http response with this.

Awesome! I know you're still adding tests -- make sure to add at least one e2e that handles the 'mixed' mode where you have a return and an 'out' param.

@brettsam I added some mixed mode tests for Node and C#

Merged, thanks guys.


time precision if only in shared segment is ignored

If using epoch time "precision":"ms" must be accompanied in all of the points and cannot be only specified in the shared segment even if it is the same for all.
If write this:
'{"points": [{"timestamp":<PHONE_NUMBER>000, "values": {"value": 1}, "name": "my.test", "precision": "ms"}, {"timestamp":<PHONE_NUMBER>000, "values": {"value": 2}, "name": "my.test", "precision": "ms"}], "precision": "ms", "database": "processed"}'

I get this in the logs (all good 2015 year)
[write] 1 2015-02-03 16:00:00 -0800 PST
[write] 1 2015-02-02 16:00:00 -0800 PST

But if I write this (notice I have precision only on the shared block)
'{"points": [{"timestamp":<PHONE_NUMBER>000, "values": {"value": 1}, "name": "my.test"}, {"timestamp":<PHONE_NUMBER>000, "values": {"value": 2}, "name": "my.test"}], "precision": "ms", "database": "processed"}'

Then most likely it crashes but if not I get this (notice the year):
[write] 1 2052-08-31 00:38:44.365 -0800 PST
[write] 1 2049-12-05 00:38:44.365 -0800 PST

in RC29 if I only specify precision in the shared segment ('ms') and use millisecond epoch timestamps in the points, the points do not get recorded, although the response is 200 OK.
{
"database": "metric",
"time_precision": "ms",
"points": [
{
"name": "login.counter",
"timestamp":<PHONE_NUMBER>000,
"fields": {
"value": 3
}
}
]
}

The JSON API is deprecated, and this issue is unlikely to be addressed.


tarball: check systems based on the list of supported systems

I'd like to merge this in a few days, as further work depends on it :)


[HTTPCLIENT-2042] AuthScope uses uppercase for scheme name whereas th…

…e rest of the code uses the lowercase version
The auth scheme name is now consistently processed either in lowercse or
with String#equalsIgnoreCase().
@garydgregory @ok2c Please share your opinion. Another approach would also be to leave as-is because AuthScheme#getName() is retained as-is and lowercased where ever appropriate. That would be even better for consistency. Shall I rework the issue and PR then?

Another approach would also be to leave as-is because AuthScheme#getName() is retained as-is and lowercased where ever appropriate. That would be even better for consistency.

@michael-o I am not sure I understand the need to make any changes of what so ever, so leaving things as is would be my preference.

Another approach would also be to leave as-is because AuthScheme#getName() is retained as-is and lowercased where ever appropriate. That would be even better for consistency.

@michael-o I am not sure I understand the need to make any changes of what so ever, so leaving things as is would be my preference.

Let me rephrase the confusing inconsistency I see: AuthScheme#getName() returns the scheme name as-is while AuthScope#getScheme() returns it in uppercase for no apparent reason.
It that better to understand?

@michael-o I still have no idea what you see as inconsistency here. Auth scheme names are case-insensitive much so as domain names. Please go ahead and change whatever feel like changing as long as it gets done fast.

Should we not keep the auth scheme strings to the two styles we already have? IOW:

The upper case names as the enum names in org.apache.hc.client5.http.auth.AuthSchemes: BASIC, DIGEST, and so on.
The mixed case names as the 'ident' field of org.apache.hc.client5.http.auth.AuthSchemes: "Basic", "Digest", and so on.

Question... I see we have these 2 ctors:

org.apache.hc.client5.http.auth.AuthScope.AuthScope(HttpHost, String, String)
org.apache.hc.client5.http.auth.AuthScope.AuthScope(String, String, int, String, String)
These both take a schemeName.
Why not avoid confusion and type this as an AuthScheme? Or both?
This goes back to the email thread about how extenstible AuthScheme(s) are suppose to be.
This needs clarification before we continue IMO.

@garydgregory All of your analysis leads me to the conclusion that the enum and strings do not make sense together. Always consider that enums are designed to be exhaustive. Our support is not exhaustive... I will work on a proposal.

Always consider that enums are designed to be exhaustive

@michael-o Out of curiosity, who decreed that?

Always consider that enums are designed to be exhaustive

@michael-o Out of curiosity, who decreed that?

@ok2c, in my opinion this is a convention. Since a client cannot extend or create custom enum instances, the list remains unmodifiable, thus always complete. Therefore, you can use == for comparsion because one enum value exists in the class loader.
I cannot say
public enum EnterpriseAuthSchemes extends AuthSchemes {

  COOL("Cool")

}

@michael-o But enums can be extended in future releases without breaking binary compatibility. They can never be assumed to be complete and final.
This whole enum renaming stuff is nothing more than assumptions and personal fancy.

We are getting a bit side tracked here but an enum is finite by definition. Arguing they can be extended by a future release is not a valid point IMO. I can't write code today (a switch for example) for an enum value that will only exist in the future. This is obviously completely different than using a String where you can write anything you want.

@michael-o But enums can be extended in future releases without breaking binary compatibility. They can never be assumed to be complete and final.

Given with the current enum semantics. They are final implicitly. I cannot see in the future whether this will change. I remember my programming lecture when Sun introduced enums back then and the professor said they did not make it extendable for a good reason.
Making assumptions about likely possible features will make any design decision really hard.

This whole enum renaming stuff is nothing more than assumptions and personal fancy.

Partially right, but can't consistency be objective in this case?

We are getting a bit side tracked here but an enum is finite by definition. Arguing they can be extended by a future release is not a valid point IMO. I can't write code today (a switch for example) for an enum value that will only exist in the future. This is obviously completely different than using a String where you can write anything you want.

+1, totally agree. Future extensions will break code. This is actually something Sun never wanted. Therefore generics have been implemented in a reified way.

@michael-o But enums can be extended in future releases without breaking binary compatibility. They can never be assumed to be complete and final.

Given with the current enum semantics. They are final implicitly. I cannot see in the future whether this will change. I remember my programming lecture when Sun introduced enums back then and the professor said they did not make it extendable for a good reason.
Making assumptions about likely possible features will make any design decision really hard.

This whole enum renaming stuff is nothing more than assumptions and personal fancy.

Partially right, but can't consistency be objective in this case?

A big +1 for consistency.
Having mentored many junior developers, I can attest that inconsistency is not good for maintenance and even guiding new code; you end up having to explain why the code is inconsistent, is it by design (why?) or by lack of code review or care (lame).

We are getting a bit side tracked here but an enum is finite by definition. Arguing they can be extended by a future release is not a valid point IMO. I can't write code today (a switch for example) for an enum value that will only exist in the future. This is obviously completely different than using a String where you can write anything you want.

+1, totally agree. Future extensions will break code. This is actually something Sun never wanted. Therefore generics have been implemented in a reified way.

Partially right, but can't consistency be objective in this case?

@michael-o I am not sure what consistency you are referring to, given that singular case convention for enums as well as their finality is just your personal opinion.
Having said that, as long as you rename whatever stuff into some other stuff you fancy fast, I will not stand in your way. I just want this renaming party to be over. It has been going on for months already.

Partially right, but can't consistency be objective in this case?

@michael-o I am not sure what consistency you are referring to, given that singular case convention for enums as well as their finality is just your personal opinion.
Having said that, as long as you rename whatever stuff into some other stuff you fancy fast, I will not stand in your way. I just want this renaming party to be over. It has been going on for months already.

Acknowledged.

This will be superseded with an upcoming PR.


Implement watermark idleness

Problem description
Subtasks that are without assigned segments/shards/partitions for an indefinite period should enter an idle state.  Otherwise downstream operators may stall waiting for watermark progression.    See FLINK-5017.
From SourceFunction.SourceContext:
/**
 * Marks the source to be temporarily idle. This tells the system that this source will
 * temporarily stop emitting records and watermarks for an indefinite amount of time. This
 * is only relevant when running on {@link TimeCharacteristic#IngestionTime} and
 * {@link TimeCharacteristic#EventTime}, allowing downstream tasks to advance their
 * watermarks without the need to wait for watermarks from this source while it is idle.
 *
 * <p>Source functions should make a best effort to call this method as soon as they
 * acknowledge themselves to be idle. The system will consider the source to resume activity
 * again once {@link SourceContext#collect(T)}, {@link SourceContext#collectWithTimestamp(T, long)},
 * or {@link SourceContext#emitWatermark(Watermark)} is called to emit elements or watermarks from the source.
 */
 @PublicEvolving
 void markAsTemporarilyIdle();

Problem location
FlinkPravegaReader
Suggestions for an improvement
Call markAsTemporarilyIdle whenever the Pravega reader has no segments assigned.

I'm not sure I follow. What's the difference between a source that has a segment assigned and no data for an unbounded amount of time versus a source that has no segment assigned?
Currently, the Pravega code makes no distinction between the two cases.

@fpj @tkaitchuck it is a nuanced distinction to be sure.   But I think there's a good rationale.  In the following, I will use the term 'idle' and 'active' to distinguish between a source that has no segments assigned and one that is actively waiting (maybe indefinitely) for new elements.
The issue boils down to how watermarks are generated and propagated.  Streams have an associated watermark assigner, and that assigner has considerable freedom as to when to advance the event-time clock (by emitting a watermark).   Usually the assigner uses incoming elements to produce a watermark, perhaps with a bounded out-of-orderness.  As far as I know, the system does not automatically advance the event-time clock due to inactivity; unless you use an specialized assigner, the event-time clock will remain at a fixed point in time until a new element arrives.
How watermarks propagate thru the distributed system is, a given operator instance takes the minimum watermark across all active source instances that it is wired to.  If an active source instance never emits a watermark, time will simply not advance downstream of that source.   That is by design (however, see FLINK-5018).   Meanwhile, when a source instance marks itself as idle, it indicates to downstream operator instances to not consider that source in the min-watermark calculation, thus allowing the clock to advance.  In other words, an idle source releases its hold on the event-time clock.
One more thing: if that idle instance were to later become active (assumedly by being assigned a segment), any record whose timestamp is older than the current watermark is considered late.  Late records are by default dropped (but may be handled by advanced programs).  The lack of ordering in segment handling within the connector aggravates this situation.
Some classes I found useful to survey in preparing this:

StreamStatus
StatusWatermarkValve
AssignerWithPeriodicWatermarks
BoundedOutOfOrdernessTimestampExtractor
StreamSourceContexts
FLINK-5017
FLINK-5018

We should only emit an idleness marker if both the reader has no segments AND there are no unassigned segments. Because if there are unassigned segments we don't want those excluded from the min-time calculation.
But this actually highlights the problem is more complicated.
Even if there are assigned segments, the mere fact that some are unassigned could lead it to falsely conclude that all of the data is accounted for when it is not. So instead we would want to add some sort of other marker that means the reverse of idle when there are unassigned segments. That way if there are say 10 readers and each has one segment the presence of an 11th segment that nobody is reading from should be taken into account.
This of course is further complicated by the fact that not all of the readers will be emitting the same status concurrently. So if for example one segment were passed from one reader to another, becoming briefly unassigned, this interval might be short enough that it would not be perceptible in the minimum calculation. But if it was not the time could suddenly jump forward and then back. Alternately if we have the readers flagging this property, they might disagree as to when the segment was actually unavailable resulting in a much large window during which the minimum could not be safely calculated.
We could get a consistent snapshot as to where all the readers are would be to using the existing ReaderGroup checkpoint mechanism. If ever say 5 seconds some process invoked another checkpoint with an ID that was a monotonic sequence, each of the readers would eventually emit that CPID, this is guaranteed to represent a coherent snapshot of the stream. This would be great for tracking time if all the segments were assigned. But as they might not be we don't have a way to know the timestamp for those are not. If we did have a notion of time, even a application supplied one, then we could provide this. We could obviously stick timestamps into the events in our system, but that would only give us write time and not event time. So we could instead support a mechanism where upon CP (or perhaps randomly) the application could supply a timestamp. Then that could be stored and used as a point of reference for the unassigned segments. Then we could simply have method on the reader group to extract the minimum time of the group.
The problem I see with this is that it puts a bunch more logic into the Reader itself. Is there a simpler solution to this? Certainly we have an API on reader group to inquire if there are any unassigned segments, or to generate a StreamCut from something, or to inject a marker. But I'm not really sure what a clean API would be.

Tom's comments seem relevant to #41 too.   Basically the dynamic assignment of segments to readers complicates watermark handling.
I agree that event time cannot advance if there are unassigned segments, i.e. some part of the keyspace is not being consumed by someone.  Future segments are a different matter, right?
I'm drawn to per-segment watermarks, provided by app code (WatermarkAssigner) and persisted into reader group state, to help coordinate watermark progression (and maybe segment assignment).

It feels like there are two different, but related, issues being discussed:
1- How a source should emit idle markers
2- How to deal with the dynamic assignment of segments
The distinction is important because the consequences of the dynamic assignment of segments are present even in the absence of idle sources.
As I understand it, emitting an idle marker say that the source has no segment assigned, independent of the state of the rest of the group. There might be unassigned segments, which the idle source might pick up at a later time, but at the moment it has none and it doesn't want advancing the clock to be blocked on it unnecessarily.
The second point refers to the correctness of the event-time clock in the presence of dynamic assignment of segments. It seems that the main concern is that an unassigned segment might be unaccounted for in the computation that advances the logical clock. This computation depends on each source computing the minimum locally and sending downstream.
I have a couple of questions about this point:
1- If there is a transfer of ownership for a segment, and the segment is such that the new owner is ahead with respect to the time it has reported so far, then a number of events in the segment will be late. For example, if a segment S is at time 10 and it moves to a reader R that is at time 11, then all events in S up to 11 will be late. This sounds correct from the description above, although possibly not entirely desirable.
2- In the presence of stream scaling (say a segment splits into two), is there any concern with determining the initial time of the new segments? This is possibly transparent to the watermark assigner and it would know what to do, in which case this is simply a clarification.
Doing per segment watermarks and using the reader group state to coordinate sounds correct, but it seems heavyweight and it loses the benefit of simply computing a local minimum (operator instance takes the minimum watermark across all active source instances). If we continue computing a local minimum, then it might be fine from consistency perspective, but possibly at the cost of declaring some events late unnecessarily.

Thanks for all the good input and thoughts here!
If I understood this correctly, to determine if a source is idle, we'd need a consistent point. Can we just say that a FlinkPravegaReader instance checks at checkpoint whether it has any segment (pending)? Checkpoints should come frequently enough to be suitable points for that.
To avoid the problem that Flavio illustrated seems more tricky. We would need to exploit the partial order between records or segments to fix that. That partial order is dependent on who created the records or segments when.
Thinking a it wild here: In some sense, it is almost easier to solve that on the "producer" side. The producers is where any notion of order and out of orderness that impacts event time actually comes from. Reconstructing watermarks in the streaming source (the readers) is actually a workaround for the fact that producing into the storage does not add any form of "progress" information.
Actually, hah, here is another cool problem - how do we guarantee order per keys through the entire streaming topology? For some users that is pretty crucial. When a segment moves from one reader to another, its events can overtake events emitted by the reader that previously had the segment.

Stephan, your last point relates to the lack of total ordering in the topology.  My understanding is that event time and the progression of watermarks is the basis for correct, ordered processing; one cannot depend on the physical ordering.   I believe this is why certain operators (e.g. CEP) use buffers to reorder elements into event time order.   Your point is still valid and points to a real problem, especially in other time domains.

@StephanEwen

Actually, hah, here is another cool problem - how do we guarantee order per keys through the entire streaming topology? For some users that is pretty crucial. When a segment moves from one reader to another, its events can overtake events emitted by the reader that previously had the segment.

I think there, we have at least a partial solution. Within a reader group segments that are 'available' can get picked up by any reader at any time. But the only way for segments to become available are:

One segment could split into two.
A reader could be declared offline by either closing the reader object or invoking readerOffline() on the readerGroup object.
A reader has completed a checkpoint (the application received a checkpoint notification and asked for another event afterwards) and has "too many" segments.

It is fairly reasonable to assume that the application "flushed" all the data it is going to emit before shutting down or being declared dead. If the same was true of resuming reading after encountering a checkpoint, then aside from when the stream is scaling, all of the data should be "flushed" from the first reader before any is seen by the second.
Perhaps we could inject an automatic checkpoint to handle the split case. Or we could give checkpoints an 'ack' to delay the pickup of the segment. We have a few options.
Using checkpoints as a time marker is not a bad idea, but obviously there would still need to be some logic to extract and track the timestamps from events themselves. This probably makes the most sense, but a crazier alternative would be to inject checkpoint markers into the stream at Production time. That would obviously involve creating some new weird API, but it would allow for checkpoints to come directly from the data stream, rather than relying on a master process, and they could have timestamps embedded into them.

Closing this because pravega watermarks described in (https://github.com/pravega/pravega/wiki/PDP-33:-Watermarking) and implemented as part of #3344


Auto populate bot avatar for webhook integrations bot

:spiral_notepad:  Overview
This proposal aims to enhance the bot avatar feature by automatically assigning a bot avatar to incoming webhook bots based on the integration app they are associated with.
This feature was originally discussed in:
Issue #692
PR #12474
CZO discussion: here
UI Changes

[ ] To start, add another "Select an integration" dropdown field to the bot creation modal (add_new_bot_form.hbs).
[ ] Pre-populated the original "Select an integration" field in the generate URL integration modal (generate_integration_url_modal.hbs) with the selected option in bot creation modal.

mock-up of the new bot creation modal:

Before
After

pre-populated when opened

Backend

[ ] Save the selected integration from the bot creation modal using BotConfigData probably in the same manner as how Embedded bots save their service_name.
[ ] Auto-assign bot avatar to incoming webhook bots with the selected integration. This could be done in endpoints such as add_bot_backend() to auto-assign the bot avatar when the bot is created. There may be better ways this could be achieved

Follow up

[ ] The second "Select an integration" dropdown field in the generate URL integration modal could be removed. This step will need to be confirmed again once the proposed changes have been implemented. CZO discussion

@zulipbot label area: bots

@zulipbot add "area: bots"

I would like to work on this issue

@zulipbot claim

Hello @Mukul1235, it looks like you've currently claimed 1 issue in this repository. We encourage new contributors to focus their efforts on at most 1 issue at a time, so please complete your work on your other claimed issues before trying to claim this issue again.
We look forward to your valuable contributions!

I had completed the work on that issue. this issue is ready for maintainer review

Hello Mukul, thanks for picking up this issue. You might want to catch up on the discussion in the CZO if you haven't already because there were some small details I haven't updated in the issue description. I'll update it in a moment

This issues' scope is quiet wide, spanning from frontend to backend. I think it might be a good idea to start your PR by only addressing the first couple of points (frontend) first..

Hello @PieterCK
yeah sure..thanks

Hi @PieterCK
Can you please do functional review of my draft PR. If That seems to be ok then I will finalise this PR

@Mukul1235 You need to present more complete work for review, in order to make effective use of maintainers' limited time. #30518 is not ready for review at this stage.

yeah sure..I will complete the PR..thanks for the feedback @alya

@Mukul1235 No need to post on the issue. Comments regarding the state of the PR should just be on the PR itself. Thanks!

@zulipbot claim

@zulipbot claim


506 ccp reoptimize inference

Description
I added a re-optimization for each X_n+1 at inference time (in the predict). The old split method is still available with mapie.predict(X, unsafe_approximation=True).
Fixes #506
Type of change
Please remove options that are irrelevant.

Bug fix (non-breaking change which fixes an issue)
New feature (non-breaking change which adds functionality)
This change requires a documentation update (it was already updated in the doc)

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

[x] Unit test
[x] demo/tutorial notebook

Checklist

[x] I have read the contributing guidelines
[x] I have updated the HISTORY.rst and AUTHORS.rst files
[x] Linting passes successfully : make lint
[x] Typing passes successfully : make type-check
[x] Unit tests pass successfully : make tests
[x] Coverage is 100% : make coverage
[x] Documentation builds successfully : make doc

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Please upload report for BASE (449-cp-with-conditional-guarantees@744d56f). Learn more about missing BASE report.

Additional details and impacted files
@@                          Coverage Diff                           @@
##             449-cp-with-conditional-guarantees      #507   +/-   ##
======================================================================
  Coverage                                      ?   100.00%
======================================================================
  Files                                         ?        73
  Lines                                         ?      6639
  Branches                                      ?      1129
======================================================================
  Hits                                          ?      6639
  Misses                                        ?         0
  Partials                                      ?         0

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


nginx with modsecurity-2.8.0 coredump

nginx compile with modsecurity-2.8.0,when reload nginx ,the error log print the following message:
2014/06/04 01:08:31 [alert] 7076#0: worker process 7251 exited on signal 11 (core dumped)

No longer a concern in libModSecurity. Marking it as won't fix for 2.x. Further information about libModSecurity available here:
https://github.com/SpiderLabs/ModSecurity/tree/v3/master


Mask correctly detected but shifted when displayed

Hello,
Do you have an idea?
Thanks in advance

This is due to the export of sam_model.onnx (bad version of segment_anything) installed.

This is due to the export of sam_model.onnx (bad version of segment_anything) installed.

I met the same problem, but I couldn't find the reason. Can you tell me more detailed reasons?


Remove extra single quote

This is a little modification.

Hi @Ikuyadeu, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. Real humans will now evaluate your PR.

TTYL, MSBOT;

test.css is a test input file with the purpose to test the coloring of unusual property values. No need to beautify it...

Sorry, I see.


do we have to expose max_files? It is internal.

https://github.com/telekom/ml-cloud-tools/blob/4b6881dbfbed7c406ca891d1d8d753e9331b59e8/ml_cloud_tools/s3.py#L168

@twolffpiggott what do you think?

I don't think it's really necessary. The default is up to 1000 and I think this will be fine for our purposes.
So I think it can be kept at the default

@twolffpiggott so you would suggest to remove this comepletely and just use the default?


Use COPY instead of ADD

What's being changed:
Small change in Dockerfile syntax, will make it use COPY instead of using ADD as long as we are dealing with local files.

@mostafahussein
Thanks so much for opening a PR! I'll get this triaged for review :zap:

Thank you so much for the suggestion - this file is currently used internally by a separate team, so we do not currently update this file. I'll speak internally with the team. Thank you again!


What's the difference in the coordinates in Flame components

When I make the little game, I am confused with the different coordinates in the widgets or components:

Is the stage(phone) width/height equatable to the viewport's width/height in Box2dComponent? So does the dimension from Flame.util.initialDimensions() ?
Where is the origin in the body in Box2dComponents when specifys the BodyDef in _createBody? Actually it is a Vector2 value:

final bodyDef = new BodyDef();
bodyDef.position = new Vector2(0.0, -24.0);

Move the sprite is the same work as the BodyComponent? Use the body.position in components?
How to paint the texture to the right location? (Maybe the same location with the box2d body. I think.)

Thanks very much for helping!

@spkingr Hi there.
I can explain the coordinate system in more depth later.
But basically, the Box2D coordinate system uses the point (0, 0) as the center of the screen. Left and Bottom positions are negative x or y values.
The total world dimension is something that I've made some changes last days. Right now, you need to set the desired dimensions through the constructor when creating your Box2DComponent. For instance you can get the return from Flame.util.initialDimensions() to set a FullScreen world.
Remember that you can also set the Scale of World and all body dimensions will be multiplied by this factor.
To move bodies you'll need to use the Box2D world mechanics.
To check how to render textures and other things, you can also check it out this example box2d game I'm working on: https://github.com/feroult/haunt
If you try to run it, remember to change the Flame dependency in pubspec.yaml, 'cause I'm using a local checkout reference.

@feroult  Thanks very much, and I have already cloned your sweet haunt game to play with, and the questions are brought out just because of the digitals in your game code, such as 6.2 as height, -16 as the box y position.
But now, with your explanations, I have ready got a lot! Thanks again and I will get it a try! :)


Fix typo

Fix typo in example code.

@jung-hunsoo Please sign the Contributors agreement so your change can be merged: https://cla.developers.google.com/

@jung-hunsoo Hi, this hasn't been merged yet as it looks like you haven't signed the CLA. Can you please confirm you have signed it? https://cla.developers.google.com/


Add range for items shown on current page

I've added a range array to fix to the parent component, with the min and max numbers of the current part of the list matching the currentPage
E.g.  for a total of 35 items with :per="15", the range value will be [0,14] on first page, [15,29] on second page, [30,34] on last (third page).
The range values can then be used in the html to create a "Showing x to y of z results" thing. Here is an example of this in action JSFiddle

Version v3.5.0 includes this feature (see how). Thanks for submitting this PR, though :).


Errors with FileFS

when i try to compile this I keep getting errors about FileFS  it says something about there being some recommended change in double reset detector

Arduino: 1.8.19 (Windows 10), Board: "NodeMCU-32S, 80MHz, 921600"
In file included from C:\Users\wbarb\OneDrive\Documents\esp32_iGrill\esp32_iGrill.ino:24:
C:\Users\wbarb\OneDrive\Documents\esp32_iGrill\config.h:23: warning: "LED_BUILTIN" redefined
#define LED_BUILTIN       2
In file included from C:\Users\wbarb\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.1\cores\esp32/Arduino.h:198,
             from sketch\esp32_iGrill.ino.cpp:1:

C:\Users\wbarb\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.1\variants\nodemcu-32s/pins_arduino.h:16: note: this is the location of the previous definition
#define LED_BUILTIN LED_BUILTIN
In file included from C:\Users\wbarb\OneDrive\Documents\esp32_iGrill\esp32_iGrill.ino:41:
C:\Users\wbarb\OneDrive\Documents\Arduino\libraries\ESP_DoubleResetDetector\src/ESP_DoubleResetDetector.h:90:8: warning: #warning Using ESP32 Core 1.0.6 or 2.0.0+ [-Wcpp]
   #warning Using ESP32 Core 1.0.6 or 2.0.0+

    ^~~~~~~

In file included from C:\Users\wbarb\OneDrive\Documents\esp32_iGrill\esp32_iGrill.ino:41:
C:\Users\wbarb\OneDrive\Documents\Arduino\libraries\ESP_DoubleResetDetector\src/ESP_DoubleResetDetector.h:94: warning: "FileFS" redefined
   #define FileFS        LittleFS

In file included from C:\Users\wbarb\OneDrive\Documents\esp32_iGrill\esp32_iGrill.ino:24:
C:\Users\wbarb\OneDrive\Documents\esp32_iGrill\config.h:13: note: this is the location of the previous definition
#define FileFS        LITTLEFS
C:\Users\wbarb\OneDrive\Documents\esp32_iGrill\esp32_iGrill.ino:102:4: warning: #warning Using DHCP IP [-Wcpp]
#warning Using DHCP IP
^~~~~~~

In file included from C:\Users\wbarb\OneDrive\Documents\esp32_iGrill\esp32_iGrill.ino:41:
C:\Users\wbarb\OneDrive\Documents\Arduino\libraries\ESP_DoubleResetDetector\src/ESP_DoubleResetDetector.h: In constructor 'DoubleResetDetector::DoubleResetDetector(int, int)':
C:\Users\wbarb\OneDrive\Documents\Arduino\libraries\ESP_DoubleResetDetector\src/ESP_DoubleResetDetector.h:94:29: error: 'LittleFS' was not declared in this scope
   #define FileFS        LittleFS

                         ^~~~~~~~

C:\Users\wbarb\OneDrive\Documents\Arduino\libraries\ESP_DoubleResetDetector\src/ESP_DoubleResetDetector.h:148:12: note: in expansion of macro 'FileFS'
   if (!FileFS.begin())

        ^~~~~~

C:\Users\wbarb\OneDrive\Documents\Arduino\libraries\ESP_DoubleResetDetector\src/ESP_DoubleResetDetector.h:94:29: note: suggested alternative: 'FileFS'
   #define FileFS        LittleFS

                         ^~~~~~~~

C:\Users\wbarb\OneDrive\Documents\Arduino\libraries\ESP_DoubleResetDetector\src/ESP_DoubleResetDetector.h:148:12: note: in expansion of macro 'FileFS'
   if (!FileFS.begin())

        ^~~~~~

C:\Users\wbarb\OneDrive\Documents\Arduino\libraries\ESP_DoubleResetDetector\src/ESP_DoubleResetDetector.h: In member function 'bool DoubleResetDetector::detectRecentlyResetFlag()':
C:\Users\wbarb\OneDrive\Documents\Arduino\libraries\ESP_DoubleResetDetector\src/ESP_DoubleResetDetector.h:94:29: error: 'LittleFS' was not declared in this scope
   #define FileFS        LittleFS

                         ^~~~~~~~

C:\Users\wbarb\OneDrive\Documents\Arduino\libraries\ESP_DoubleResetDetector\src/ESP_DoubleResetDetector.h:236:11: note: in expansion of macro 'FileFS'
   if (FileFS.exists(DRD_FILENAME))

       ^~~~~~

C:\Users\wbarb\OneDrive\Documents\Arduino\libraries\ESP_DoubleResetDetector\src/ESP_DoubleResetDetector.h:94:29: note: suggested alternative: 'FileFS'
   #define FileFS        LittleFS

                         ^~~~~~~~

C:\Users\wbarb\OneDrive\Documents\Arduino\libraries\ESP_DoubleResetDetector\src/ESP_DoubleResetDetector.h:236:11: note: in expansion of macro 'FileFS'
   if (FileFS.exists(DRD_FILENAME))

       ^~~~~~

C:\Users\wbarb\OneDrive\Documents\Arduino\libraries\ESP_DoubleResetDetector\src/ESP_DoubleResetDetector.h: In member function 'void DoubleResetDetector::setRecentlyResetFlag()':
C:\Users\wbarb\OneDrive\Documents\Arduino\libraries\ESP_DoubleResetDetector\src/ESP_DoubleResetDetector.h:94:29: error: 'LittleFS' was not declared in this scope
   #define FileFS        LittleFS

                         ^~~~~~~~

C:\Users\wbarb\OneDrive\Documents\Arduino\libraries\ESP_DoubleResetDetector\src/ESP_DoubleResetDetector.h:292:19: note: in expansion of macro 'FileFS'
   File file = FileFS.open(DRD_FILENAME, "w");

               ^~~~~~

C:\Users\wbarb\OneDrive\Documents\Arduino\libraries\ESP_DoubleResetDetector\src/ESP_DoubleResetDetector.h:94:29: note: suggested alternative: 'FileFS'
   #define FileFS        LittleFS

                         ^~~~~~~~

C:\Users\wbarb\OneDrive\Documents\Arduino\libraries\ESP_DoubleResetDetector\src/ESP_DoubleResetDetector.h:292:19: note: in expansion of macro 'FileFS'
   File file = FileFS.open(DRD_FILENAME, "w");

               ^~~~~~

C:\Users\wbarb\OneDrive\Documents\Arduino\libraries\ESP_DoubleResetDetector\src/ESP_DoubleResetDetector.h: In member function 'void DoubleResetDetector::clearRecentlyResetFlag()':
C:\Users\wbarb\OneDrive\Documents\Arduino\libraries\ESP_DoubleResetDetector\src/ESP_DoubleResetDetector.h:94:29: error: 'LittleFS' was not declared in this scope
   #define FileFS        LittleFS

                         ^~~~~~~~

C:\Users\wbarb\OneDrive\Documents\Arduino\libraries\ESP_DoubleResetDetector\src/ESP_DoubleResetDetector.h:338:19: note: in expansion of macro 'FileFS'
   File file = FileFS.open(DRD_FILENAME, "w");

               ^~~~~~

C:\Users\wbarb\OneDrive\Documents\Arduino\libraries\ESP_DoubleResetDetector\src/ESP_DoubleResetDetector.h:94:29: note: suggested alternative: 'FileFS'
   #define FileFS        LittleFS

                         ^~~~~~~~

C:\Users\wbarb\OneDrive\Documents\Arduino\libraries\ESP_DoubleResetDetector\src/ESP_DoubleResetDetector.h:338:19: note: in expansion of macro 'FileFS'
   File file = FileFS.open(DRD_FILENAME, "w");

               ^~~~~~

C:\Users\wbarb\OneDrive\Documents\esp32_iGrill\esp32_iGrill.ino: In function 'bool readConfigFile()':
C:\Users\wbarb\OneDrive\Documents\Arduino\libraries\ESP_DoubleResetDetector\src/ESP_DoubleResetDetector.h:94:29: error: 'LittleFS' was not declared in this scope
   #define FileFS        LittleFS

                         ^~~~~~~~

C:\Users\wbarb\OneDrive\Documents\esp32_iGrill\esp32_iGrill.ino:1255:12: note: in expansion of macro 'FileFS'
File f = FileFS.open(CONFIG_FILE, "r");// this opens the config file in read-mode
        ^~~~~~

C:\Users\wbarb\OneDrive\Documents\Arduino\libraries\ESP_DoubleResetDetector\src/ESP_DoubleResetDetector.h:94:29: note: suggested alternative: 'FileFS'
   #define FileFS        LittleFS

                         ^~~~~~~~

C:\Users\wbarb\OneDrive\Documents\esp32_iGrill\esp32_iGrill.ino:1255:12: note: in expansion of macro 'FileFS'
File f = FileFS.open(CONFIG_FILE, "r");// this opens the config file in read-mode
        ^~~~~~

C:\Users\wbarb\OneDrive\Documents\esp32_iGrill\esp32_iGrill.ino: In function 'bool writeConfigFile()':
C:\Users\wbarb\OneDrive\Documents\Arduino\libraries\ESP_DoubleResetDetector\src/ESP_DoubleResetDetector.h:94:29: error: 'LittleFS' was not declared in this scope
   #define FileFS        LittleFS

                         ^~~~~~~~

C:\Users\wbarb\OneDrive\Documents\esp32_iGrill\esp32_iGrill.ino:1309:12: note: in expansion of macro 'FileFS'
File f = FileFS.open(CONFIG_FILE, "w");
        ^~~~~~

C:\Users\wbarb\OneDrive\Documents\Arduino\libraries\ESP_DoubleResetDetector\src/ESP_DoubleResetDetector.h:94:29: note: suggested alternative: 'FileFS'
   #define FileFS        LittleFS

                         ^~~~~~~~

C:\Users\wbarb\OneDrive\Documents\esp32_iGrill\esp32_iGrill.ino:1309:12: note: in expansion of macro 'FileFS'
File f = FileFS.open(CONFIG_FILE, "w");
        ^~~~~~

C:\Users\wbarb\OneDrive\Documents\esp32_iGrill\esp32_iGrill.ino: In function 'bool loadConfigData()':
C:\Users\wbarb\OneDrive\Documents\Arduino\libraries\ESP_DoubleResetDetector\src/ESP_DoubleResetDetector.h:94:29: error: 'LittleFS' was not declared in this scope
   #define FileFS        LittleFS

                         ^~~~~~~~

C:\Users\wbarb\OneDrive\Documents\esp32_iGrill\esp32_iGrill.ino:1325:15: note: in expansion of macro 'FileFS'
File file = FileFS.open(CONFIG_FILENAME, "r");
           ^~~~~~

C:\Users\wbarb\OneDrive\Documents\Arduino\libraries\ESP_DoubleResetDetector\src/ESP_DoubleResetDetector.h:94:29: note: suggested alternative: 'FileFS'
   #define FileFS        LittleFS

                         ^~~~~~~~

C:\Users\wbarb\OneDrive\Documents\esp32_iGrill\esp32_iGrill.ino:1325:15: note: in expansion of macro 'FileFS'
File file = FileFS.open(CONFIG_FILENAME, "r");
           ^~~~~~

C:\Users\wbarb\OneDrive\Documents\esp32_iGrill\esp32_iGrill.ino: In function 'void saveConfigData()':
C:\Users\wbarb\OneDrive\Documents\Arduino\libraries\ESP_DoubleResetDetector\src/ESP_DoubleResetDetector.h:94:29: error: 'LittleFS' was not declared in this scope
   #define FileFS        LittleFS

                         ^~~~~~~~

C:\Users\wbarb\OneDrive\Documents\esp32_iGrill\esp32_iGrill.ino:1347:15: note: in expansion of macro 'FileFS'
File file = FileFS.open(CONFIG_FILENAME, "w");
           ^~~~~~

C:\Users\wbarb\OneDrive\Documents\Arduino\libraries\ESP_DoubleResetDetector\src/ESP_DoubleResetDetector.h:94:29: note: suggested alternative: 'FileFS'
   #define FileFS        LittleFS

                         ^~~~~~~~

C:\Users\wbarb\OneDrive\Documents\esp32_iGrill\esp32_iGrill.ino:1347:15: note: in expansion of macro 'FileFS'
File file = FileFS.open(CONFIG_FILENAME, "w");
           ^~~~~~

C:\Users\wbarb\OneDrive\Documents\esp32_iGrill\esp32_iGrill.ino: In function 'void setup()':
C:\Users\wbarb\OneDrive\Documents\Arduino\libraries\ESP_DoubleResetDetector\src/ESP_DoubleResetDetector.h:94:29: error: 'LittleFS' was not declared in this scope
   #define FileFS        LittleFS

                         ^~~~~~~~

C:\Users\wbarb\OneDrive\Documents\esp32_iGrill\esp32_iGrill.ino:1464:8: note: in expansion of macro 'FileFS'
if (!FileFS.begin(true))
    ^~~~~~

C:\Users\wbarb\OneDrive\Documents\Arduino\libraries\ESP_DoubleResetDetector\src/ESP_DoubleResetDetector.h:94:29: note: suggested alternative: 'FileFS'
   #define FileFS        LittleFS

                         ^~~~~~~~

C:\Users\wbarb\OneDrive\Documents\esp32_iGrill\esp32_iGrill.ino:1464:8: note: in expansion of macro 'FileFS'
if (!FileFS.begin(true))
    ^~~~~~

Multiple libraries were found for "WiFi.h"
Used: C:\Users\wbarb\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.1\libraries\WiFi
Not used: C:\Program Files (x86)\Arduino\libraries\WiFi
exit status 1
Error compiling for board NodeMCU-32S.
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

Looks like you might be missing some of the libraries. Did you run through these steps to get the arduino IDE setup and install the necessary libraries with the library manager?

I went through and reverted all the libraries to the ones in the pictures, and it worked the first try.  Sorry I’ve not been able to get around to closing this.  Thanks for all the hard work.  I do have some questions about the Lovelace ui custom sensors you have setup.  I can emulate everything and it shows working as it should except for the sensors on the very bottom.  Not sure where to start troubleshooting that. The sensor is called target_alert_temp_probe…. I’ve added all the info you posted in the tutorial and I’m not getting any errors in yamls.
Sent from my iPhone
On Dec 24, 2021, at 11:57 AM, Logan McKenna @.***> wrote:

Looks like you might be missing some of the libraries. Did you run through these stepshttps://github.com/1mckenna/esp32_iGrill#arduino-ide-setup to get the arduino IDE setup and install the necessary libraries with the library manager?
—
Reply to this email directly, view it on GitHubhttps://github.com/1mckenna/esp32_iGrill/issues/14#issuecomment-1000909187, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAPMZWXQFUV2M4FZ2BQ4PZTUSSYALANCNFSM5KTQRANA.
Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you authored the thread.Message ID: @.***>

Did you modify the values used in the sensor yaml so they match your igill device sensors? They should be something like sensor.igrill_probe#>
i.e.
- platform: template
  sensors:
    target_alert_temp_probe_1:
      value_template: >-
        {% if (states.sensor.igrill_<igrill bt mac adderss>_probe_1.state | int) >= (states.input_number.igrill_probe_1_target.state | int) %}
          Alert
        {% else %}
          Normal
        {% endif %}
      friendly_name: Probe 1 Target Alert

From what I can see apparently homeassistant doesn’t use the sensors.yaml at all.  I had to add it all into my configuration.yaml and then I had to reformat every line because with didn’t like the indentation.  After that I updated and everything seems to have taken.
Sent from my iPhone
On Dec 25, 2021, at 1:55 PM, Logan McKenna @.***> wrote:

Did you modify the values used in the sensor yaml so they match your igill device sensors? They should be something like sensor.igrill_probe#>
i.e.

platform: template
sensors:
target_alert_temp_probe_1:
value_template: >-
{% if (states.sensor.igrill__probe_1.state | int) >= (states.input_number.igrill_probe_1_target.state | int) %}
Alert
{% else %}
Normal
{% endif %}
friendly_name: Probe 1 Target Alert

—
Reply to this email directly, view it on GitHubhttps://github.com/1mckenna/esp32_iGrill/issues/14#issuecomment-1001066825, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAPMZWVB3E6WNSGFDI4MNNDUSYOSXANCNFSM5KTQRANA.
Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you authored the thread.Message ID: @.***>


Some big edits to the tutorial. Needed to shorten it and simplify the prose.

Thanks, a did a minor fix on a link text, just pulled out the "a" from the link text "a jQuery Plugin". I keep the a, but outside. Otherwise from that looks awesome to me.Thanks a lot for the review pal.


Skip button for review page.

As a new member of the reviewer team, I sometimes have it hard to decide if something is now actually spam and so on.
Currently I'm running in the situation that I sometimes cannot see the posts anymore in their natural habitat since they have been already deleted, which makes a decision not easier.
In such cases to keep the review page from cluttering it would be nice to have a 'Skip' button, to pass on reviewing said item.

While we're at it, I'd quite like to record review results. Technically we can already track who gave what feedback in review, via inference and deduction and some clever use of admin tools, but we should ideally be tracking it all in a new ReviewResult models.

All of the above done


Cloudbreak deployer create cluster issue

When creating a cluster in the cloudbreaker-ui using AWS credentials with default/advanced settings, no cluster is created when pressing the create-cluster button.
No data appears in the logs (cbd logs) when trying to execute
cloudbreak is running on the boot2docker vm
Boot2Docker version output
Boot2Docker-cli version: v1.6.0
Git commit: 9894ae9
cbd doctor output
boot2docker: OK
docker command: OK
docker client version: OK
docker server version: OK
Everything is very-very first class !!!
cbd version output
0.1.0
latest version:
0.1.0

Check if there are issues with your browser. Few days back with Firefox browser I had the same problem. When checked in firefox console, there was an error with javascript.
Right now the problem is resolved in firefox as well in the latest version. Hope updating to the latest version will help.

closing outdated cbd issue. please reopen if it still happens with latest version.


test: added test for mergeDeletionCallBack

test for mergeDeletionCallBack
ii) test for scenario which checks for permissions of the destination directory to match the permissions of the source file when both the source file and destination directory exist
fixes a part of #881

@kmehant @seshapad please review this PR.

@HarikrishnanBalagopal I have addressed the requested changes . Please have a look . Thank you


Migrate to universal runtime

:tada: This issue has been resolved in version 1.1.0 :tada:
The release is available on:

v1.1.0
GitHub release

Your semantic-release bot :package::rocket:


Configure NGINX to only allow dokimion API access from within the SIL intranet

The web server used for Dokimion access is open source NGINX.   The dokimion
api is accessible from within the SIL intranet or from the external public internet.
It is used by the Dokimion front end as well as from any external tool.
This task is to investigate changes to the NGINX web server to only allow access
to the Dokimion backend api from within the SIL intranet.
Test config:
dokimion4 (load balancer with 403 for api) -> dokimion5

403 returned for api
user can login and logout from dokimion ui
VM (proxy with api enabled) -> dokimion5
api cmds worked as much as possible without authorization

Tested successfully on temporary VMs in the SIL psonet network within the SIL VPN.


如何屏蔽扫描 vite 中的入口文件 index.html / How to block scanning of the entry file index.html in vite

UnoCSS version
0.61.9
Describe the bug
你好，我不确定这算不算是一个 Bug，但是因为特殊原因，需要屏蔽扫描 index.html，我在 packages/vite/src/transformers.ts 中发现在 createTransformerPlugins 已经成功返回 undefined，即认为应该不扫描 index.html，但是似乎仍在扫描。我做了以下尝试，似乎依旧不可以
首先，通过 @unocss-ignore 屏蔽，但是失效
然后，再次参考文档 extracting配置，但还是失败了
恕我技术稍欠火候，实在没办法，来此提出疑问，还请帮忙解答下，谢谢

谷歌翻译：
Hello, I'm not sure if this is a bug, but for special reasons, I need to block the scanning of index.html. I found in packages/vite/src/transformers.ts that createTransformerPlugins has successfully returned undefined, which means that index.html should not be scanned, but it seems to be still being scanned. I tried the following, but it still doesn't seem to work
First, block it with @unocss-ignore, but it doesn't work
Then, refer to the extracting configuration again, but it still fails
Please forgive my lack of technical skills, there is really no way, I came here to ask questions, please help answer them, thank you
Reproduction
这是最小展现的地址：https://stackblitz.com/edit/unocss-unocss-wjdbut?file=index.html

谷歌翻译：
This is the minimal display address: https://stackblitz.com/edit/unocss-unocss-wjdbut?file=index.html
System Info
win10, chrome125,  vue3， vite5
Validations

[X] Read the Contributing Guidelines.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

It seems @unocss-ignore does not be recognized when it's presented in a html file. I don't know whether it's intended or a bug.
A pair of  skip comment would work.

<!DOCTYPE html>

    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />

https://unocss.dev/config/#pipeline
pipeline.exclude could help you

https://unocss.dev/config/#pipeline
pipeline.exclude could help you

谢谢提醒，但是尝试后，似乎并没有作用（Thank you, but after trying it, it doesn't seem to work.）：
pipeline: {
  exclude: [/\.html/],
 // exclude: ['index.html']
}

It seems @unocss-ignore does not be recognized when it's presented in a html file. I don't know whether it's intended or a bug. A pair of skip comment would work.

<!DOCTYPE html>

    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />

Yes, it works for me, thank you!


Multiple options for rendering sql for grants and revokes

For reviewers
Could you give this description and the code a read and provide feedback of which of the options you prefer?
"Keep the implementation as-is" is Option 0 😄
Description
This is a refactor to give three separate things:

Align with base method signature: plural grantees rather than singular grantee
Use built-in adapter.quote method (rather than hard-coded backticks)
Use built-in string_literal method (rather than hard-coded double quotes)

There are three options (in addition to the original option), all of which are generalized via a helper macro:

Option 1: Create comma-separated values from a list
Option 2: Hard-coded application of string_literal to a list
Option 3: Application of a variable macro to a list

Pros of options
Using built-in methods can provide the following:

makes implementations more similar to each other, even when there are adapter-specific customizations
encourages standard style, which enhances readability
encourage defaulting to usage of the built-in methods (even when they aren't strictly necessary)
easier to see do a string search for places where quoting is being applied (without extraneous results)
easier to copy-n-paste snippets into new adapters

Cons of options
All of these options:

include an additional helper method, which increases the amount of code

Checklist

[ ] I have signed the CLA
[ ] I have run this code in development and it appears to resolve the stated issue
[ ] This PR includes tests, or tests are not required/relevant for this PR
[ ] I have updated the CHANGELOG.md and added information about my change to the "dbt-bigquery next" section.

Closing experimental PR.


should url decode the search index pattern

Describe the bug
When we use the Elastic or OpenSearch Golang clients to search some indexes in this pattern: gh-archive*, will get a error message: "message":"index ID pattern gh-archive%2Ais invalid. patterns must match the following regular expression:^[a-zA-Z\][a-zA-Z0-9-_\.\]{0,254}$"
Steps to reproduce (if applicable)
Steps to reproduce the behavior:

quickwit built with this hash 8a40a4d143937aacdbc5206d57f3ef7ea26ed9bb
config in quickwit

rest:
  listen_port: 7280
  cors_allow_origins:
    - "*"
  extra_headers:
    x-elastic-product: Elasticsearch

use the Elastic and Opensearch client to query Quickwit
Golang code
       // elastic client 7.x, 8.x
       // opensearch 2.*

 	client, err := elasticsearch.NewClient(elasticsearch.Config{
		Addresses: []string{"http://<IP_ADDRESS>:7280/api/v1/_elastic"},
	})

	if err != nil {
		fmt.Println(err)
	}

	index := "gh-archive*"
	queryBody := "{\n    \"query\": {\n        \"bool\": {\n            \"filter\": [\n                {\n                    \"match_phrase\": {\n                        \"id\": {\n                            \"query\": \"32230578641\"\n                        }\n                    }\n                }\n            ]\n        }\n    }\n}"
	res, err := client.Search(
		client.Search.WithIndex(index),
		client.Search.WithBody(strings.NewReader(queryBody)),
	)

	if err != nil {
		fmt.Println(err.Error())
		return
	}

	fmt.Println(res)

        {
          "message": "index ID pattern `gh-archive%2A` is invalid. patterns must match the following regular expression: `^[a-zA-Z\\*][a-zA-Z0-9-_\\.\\*]{0,254}$`"
        }

This issue seems unique to the Golang client; clients in other programming languages like Python and Java don't have this problem. I've looked through the Golang client's code and couldn't find any part where it's using URL encoding. But, based on the output we're seeing, it looks like the Golang client is URL encoding the asterisk (*).
So, to fix this, I think Quickwit should decode the URLs in all its search indices to get them back to their original format.
https://github.com/quickwit-oss/quickwit/blob/8a40a4d143937aacdbc5206d57f3ef7ea26ed9bb/quickwit/quickwit-config/src/lib.rs#L125

@tuziben can you give the quickwit version?

quickwit built with this hash 8a40a4d143937aacdbc5206d57f3ef7ea26ed9bb

The main branch or any other version can reproduce this issue

Fixed by #4292


How to correctly pass showPassed=false

It is a quite unclear how to correctly pass showPassed=false. After digging I found this in a gitter conversation:

FYI, I got it to work by using --no-showPassed instead of --showPassed false
in case anyone else runs into the same prob :)

Is that the correct way to be doing it @adamgruber? If so I can PR a change to the docs to make that clearer because it isn't at all right now.
Thanks!

It should work as stated in the docs so maybe a bug. I’ll have to investigate.
Sent with GitHawk


BlanketJS Intergration

Hi,
Tried adding blanket with below configuration. It does not seem to be working.
  "config": {       "blanket": {         "pattern": [ "" ],         "data-cover-never": [ "node_modules" , "tests"]       }     }
Added below line in the Makefile
@NODE_ENV=test ./node_modules/.bin/mocha --require blanket -R html-cov > coverage.html
Coverage.html gets created. But it shows 0% coverage 0 SLOC
@ravilution

@ravilution Sorry for the huge delay! I totally missed your issue ... I've never worked with BlanketJS, so please feel free to open an PR.


Add fileSharing is Caring Power App Samples via upload

Category

[x] New Sample

What's in this Pull Request?
Power Apps Calendar Component

As this PR was to practice PRs, I will not merge it but close the PR. Have a great day, you rock!


⚠ Bofrost.be has degraded performance

In 7dece23, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 2229 ms

Resolved: Bofrost.be performance has improved in c069490.


Icons broken in v0.1.5

TreeView icons are broken as of v0.1.5. Seems like bundling broke it.

Fixed in https://github.com/jodyheavener/circleci-vscode/commit/42e1aa3cf5524acffd1b45722eaed1eefea16693


how to update record?

I have created and deleted record successfully. Now I want to update my saved record. How to do that.

Same as your create:
let event = Event.create() as! Event
event.id = "myId"
event.save()

//make changes
event.date = Date()
// save again
event.save()

//or
let e = Event.find("myId") as! Event
e.date = Date.distantFuture
e.save()


Start validations.md

It seems like it might be helpful to document the required fields someplace. I considered adding docstrings to all of the validation functions, but in this case writing the documentation separately will probably be better than trying to make users read generated Python docs.
Just a draft so far to get your thoughts: @connorcoley

The best alternative that would avoid the sync issue is to move the per-message validations to a separate module and generate the pydoc from that. It would have more boilerplate (method names and signatures) but we could put this info into the docstrings so it's next to the code.
I think I still prefer keeping them separate for readability (and slightly easier use of the webform---people can look things up by the MessageName rather than validate_message_name).
Nearly done with my first pass through validations.py; will send out for review at that point.

(not for this PR): what would you think about pasting in the definition for each message here? Then the schema and the validations would be in one place and it would be easy to get permalinks to message definitions...could be really nice?

I don't feel strongly about pasting the definition for each message there until we reach a point where the schema is 100% finalized and versioned.


Lambda as a connector

Request for adding LAMBDA as a connector : This will help us in auto ingestion of Lineage through our databases.

@ShaileshParmar11  Please also check the status for this one.