[ML][Pipelines] fix: use workspace-id to distinguish on-disk cache

Description
Previously we used workspace arm id to distinguish on-disk cache, which brought potential problems if the workspace is deleted and recreated with the same name. We switch to use workspace id in this PR.
All SDK Contribution checklist:

[x] The pull request does not introduce [breaking changes]
[x] CHANGELOG is updated for new features, bug fixes or other significant changes.
[x] I have read the contribution guidelines.

General Guidelines and Best Practices

[x] Title of the pull request is clear and informative.
[x] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[x] Pull request includes test coverage for the included changes.

API change check
APIView has identified API level changes in this PR and created following API reviews.
azure-ai-ml


How to add certificate chain?

I've tried your code and also get some example results. in European commission validated that i'm missing certificate chain.
how can i solve this issue?
Thank you


[fix][gws] popup error on gws/schedule if user has no permissions

Coverage decreased (-0.9%) to 84.008% when pulling e6401928f7699ca81fe15e0d21e5178a9323d6fb on sunny4381:fixes/gws-schedule-popup-error into<PHONE_NUMBER>698e7881118306018976d4ac1ebb50 on shirasagi:master.


Add a dark-mode version of eBPF logo on meshery catalog page

Currently the eBPF logo is not visible accurately on

Add a suitable dark mode image following the guidelines of eBPF logo mentioned here

@vishalvivekm, do we really need this? I believe all 4 logos are meant to be the same for both theme modes.

As @sudhanshutech already mentioned here that there is no need of dark-mode version of eBPF logo


Adding Randomized application

Note we are ignoring gosec lint failures, as part of upstream because we care about performance than security here!!

/retest

/retest


Bad Gateway on login

Checklist

Have you pulled and found the error with jc21/nginx-proxy-manager:latest docker image?

Yes

Are you sure you're not using someone else's docker image?

Yes

Have you searched for similar issues (both open and closed)?

Yes

Describe the bug
On login I get a message "Bad Gateway".
I try everything. I search searched for same issues.
Nginx Proxy Manager Version
v2.10.2
To Reproduce
Steps to reproduce the behavior:

Use this docker compose
`version: '3.8'
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
restart: always
ports:

'80:80' # Public HTTP Port
'443:443' # Public HTTPS Port
environment:
DB_MYSQL_HOST: db
DB_MYSQL_PORT: 3306
DB_MYSQL_USER: npm
DB_MYSQL_PASSWORD: npm
DB_MYSQL_NAME: npm
volumes:
nginx_proxy_manager-data:/data
nginx_proxy_manager-letsencrypt:/etc/letsencrypt
networks:
default:
depends_on:
db

db:
image: 'jc21/mariadb-aria:latest'
restart: always
environment:
MYSQL_ROOT_PASSWORD: 'npm'
MYSQL_DATABASE: 'npm'
MYSQL_USER: 'npm'
MYSQL_PASSWORD: 'npm'
volumes:
- nginx_proxy_manager-mysql:/var/lib/mysql
networks:
default:
networks:
default:
driver: bridge
ipam:
driver: default
config:
- subnet: <IP_ADDRESS>/16
gateway: <IP_ADDRESS>
volumes:
nginx_proxy_manager-data:
nginx_proxy_manager-letsencrypt:
nginx_proxy_manager-mysql:`
Expected behavior
Login Page
Screenshots

Operating System
Linux
Additional context
Docker version 23.0.4, build f480fb1

Facing the same with provided docker-compose yaml on docs.

You could use "docker ps" to find your container id and then "docker logs [container ID]".
If you see a lot of create table errors with permission denied, it is likely permission issues on the mysql folder.
In that case you could try to do a "chmod 777 -R [mysql folder]".

I solved it by using another db
like this compose file:
`version: '3.8'
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
restart: unless-stopped
ports:
# These ports are in format :
- '80:80' # Public HTTP Port
- '443:443' # Public HTTPS Port
#- '81:81' # Admin Web Port
# Add any other Stream port you want to expose
# - '21:21' # FTP
environment:
# Mysql/Maria connection parameters:
DB_MARIADB_HOST: "db"
DB_MARIADB_PORT: 3306
DB_MARIADB_USER: "npm"
DB_MARIADB_PASSWORD: "npm"
DB_MARIADB_NAME: "npm"
# Uncomment this if IPv6 is not enabled on your host
# DISABLE_IPV6: 'true'
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
networks:
default:
depends_on:
- db
db:
image: 'webhippie/mariadb:latest'
restart: unless-stopped
environment:
MARIADB_ROOT_PASSWORD: 'npm'
MARIADB_DATABASE: 'npm'
MARIADB_USER: 'npm'
MARIADB_PASSWORD: 'npm'
volumes:
- ./mysql:/var/lib/mysql
networks:
default:
networks:
default:
driver: bridge
ipam:
driver: default
config:
- subnet: <IP_ADDRESS>/16`

Can we have the docs updated ?

I have the same issue but only when I play with the network. Using the standard documented compose file everything works.
When I change the services to run on the default bridged network I get the error. If I then redeploy once again allowing docker compose to create a new bridge network just for these services everything works again.

Ignore my last message but I will leave it if it helps others. The default bridge network does not support DNS so the app can not find the DB server by name. I will move my other containers over to the the nginxproxy network.


Server Crash 1.20.1

crash-2023-10-30_19.17.54-server.txt
杀了一个魔法师之后好像刷了好几个出来，跟他们打架，然后就再也启动不了服务器了
After killing a magician, it seems that several more appeared. I had a fight with them, and then I couldn't start the server anymore

Install Neurina to fix it for now, for some reason this seems to happen sometimes, I'm aware of the issue but have no idea how to fix it ATM due to not being able to reproduce it myself.

Thank you. It was my first time getting to know Neurina, and that was a great mod! I used to solve the server crash caused by Ticking Entity by deleting the block where the entity was located through MCA Selector.

As for the underlying issue, I believe I have fixed it as of the recent update. Closing.


added resources for web-dev , ml ,competitive programming

Please add the tag of hacktoberfest.
issue no[#17 ]
I have a question can I add paid courses of udemy , I will not add link just name the course

Please correct the formatting issues
+

Please update the contents as well

Please update the contents as well

udemy course??

 Please correct the formatting issues +

is it now ok?

Great work!

Please add the Web Development section in the index

Great Work!
Thank you for your contribution

hey let's connect


⚠ Mitsubishi has degraded performance

In a1aa318, Mitsubishi (https://mitsubishimotorsid-mobileapp.com/app/login) experienced degraded performance:

HTTP code: 200
Response time: 7571 ms

Resolved: Mitsubishi performance has improved in 94c7438 after 1 minute.


Please implement additional methods for Simplorer

Description of the feature
For a better workflow, it is useful to have in pyaedt the methods to create a Q2D/Q3D dynamic link in Simplorer
Steps for implementing the feature
Covering the API:
o_def_manager =TB_DS.oproject.GetDefinitionManager()
dyn_component = o_def_manager.GetManager("Component")
name_comp = "SimpQ3DData1"
dyn_component.AddDynamicNPortData(....)
related to this also:
TB_DS.oeditor.CreateComponent()
Useful links and references
No response

Implemented in PR #4069.


fix: use 'tracing_test' instead of 'test_log'

Motivation
After migration to 'tracing' we should use tracing_test for see logs in tests run
Overview

Automatically added traced_test to all tests in the project

Before go into review the detail, can you give some sample outputs of tracing lib so we can see the difference between these two libs? @cyphersnake


Tiny optimization

Tested ACK

@apoelstra, can i ask what your test procedure was/if there were benchmarks you ran? i want to test this, but i'm not sure if i need to run many runs to see the performance gain (or if you just did a make check)

Performance improvement is very hard to measure (use bench_internal, look for group_add_affine, and make sure your cpu is locked to a single frequency), but seems to be around 0.2% per group addition, or around 0.02% per ECDSA signature. Seriously, performance isn't the reason - just simpler code.

@faizkhan00 I ran my usual correctness tests: make check, valgrind ./tests 1, the rust-secp256k1 unit tests. I did not expect to be able to measure a perf improvement in this case so I didn't even try :)

Ah okay, thanks for the explanation on this. I think I understand now, thanks :)

ACK.

Tested ACK (thanks @apoelstra), but Valgrind reports several thousand errors in the default mode. I'm not seeing leaks, just reachable memory after exit:
==1162== HEAP SUMMARY:
==1162==     in use at exit: 1,344 bytes in 10 blocks
==1162==   total heap usage: 7,040 allocs, 7,030 frees, 21,556,468 bytes allocated
==1162==
==1162== LEAK SUMMARY:
==1162==    definitely lost: 0 bytes in 0 blocks
==1162==    indirectly lost: 0 bytes in 0 blocks
==1162==      possibly lost: 0 bytes in 0 blocks
==1162==    still reachable: 1,344 bytes in 10 blocks
==1162==         suppressed: 0 bytes in 0 blocks

but Valgrind reports several thousand errors in the default mode. I'm not seeing leaks, just reachable memory after exit:

Yea not our problem; turn off cross-checking with libcrypto.  Thats OpenSSL's inadvisable construction. (turn off ENABLE_OPENSSL_TESTS and HAVE_LIBCRYPTO in the config.h).

To clarify:
2 * (1 - a->infinity) results in 2 or 0 based on infinity.  But the reason you haven't just side-stepped the entire multiplication at the start was so that it is constant time?

@dcousens Right; and thats not needed anymore after my prior change; because the cmov just overwrites the output if it was infinity instead of counting on it to be zero.

@gmaxwell cheers.

@gmaxwell ah, thanks- I double checked the output of valgrind and I see those errors are all from either libcrypto or libgmp, thanks again for the clarification there.

Hm. There shouldn't be any related to libgmp. I'm interested in that.

Ah, I should have been more specific- the actual errors were still due to the openssl construction (ie test_ecdsa_openssl), but openssl is linked against libgmp and that seems to be the starting point for some of the memory problems, for example:
==5408== Conditional jump or move depends on uninitialised value(s)
==5408==    at 0x4E862B6: __gmpn_hgcd2 (in /usr/lib/libgmp.so.10.2.0)
==5408==    by 0x4E81EFE: __gmpn_gcdext_lehmer_n (in /usr/lib/libgmp.so.10.2.0)
==5408==    by 0x4E80B16: __gmpn_gcdext (in /usr/lib/libgmp.so.10.2.0)
==5408==    by 0x406DB9: secp256k1_num_mod_inverse (num_gmp_impl.h:127)
==5408==    by 0x409A6A: secp256k1_scalar_inverse_var (scalar_impl.h:246)
==5408==    by 0x40F8C6: secp256k1_ecdsa_sig_verify.part.29 (ecdsa_impl.h:146)
==5408==    by 0x41B499: test_ecdsa_openssl (tests.c:2035)
==5408==    by 0x401134: run_ecdsa_openssl (tests.c:2050)
==5408==    by 0x401134: main (tests.c:2143)

In case you're curious here's my log: http://pastebin.com/uKtJxJF2 but basically you were spot on about openSSL/libGMP

Ah yep. Thats expected due to the use of undefined behavior in the OpenSSL RNG.  thanks!

Hehe, maybe next time we can anticipate a more exciting result..


error when rendering after selecting nmap from Pathfinder drop-down

Selecting the 'nmap' scanner from the Caldera GUI with Pathfinder plugin installed results in a Javascript Reference Error
pathfinder.js:222 ReferenceError: validateFormState is not defined
 at pathfinder.js:207:9
(anonymous) @ pathfinder.js:222

function setupScannerSection(){
.....
.....
        validateFormState(response.enabled, '#startScan')

Would appear the validateFormState function is not defined
*Note : Just cloned the code direct into Caldera plugin - no docker etc

This should be fixed in #58 -- please let us know if you're still having an issue with this. I'll make a tag and release containing this fix shortly.


[FIREBASE_AUTH] Firebase Phone Authentication Error: The SMS Code Has Expired.

Firebase Phone Authentication is not working on the Real Android Phone (e.g Pixel 2, Samsung g9 etc...).
I received the SMS code from Firebase successfully, But When I entered the correct code (within 1-2 seconds) and ask for verify. It's always throw the exception.
PlatformException(ERROR_SESSION_EXPIRED): The SMS code has expired. Please re-send the verification code to try again.
Here is my sample code:
try {
      final AuthCredential credential = PhoneAuthProvider.credential(
        verificationId: _verificationId,
        smsCode: _smsController.text,
      );
      final authResult = await _auth.signInWithCredential(credential);
      final User user = authResult.user;
    } catch (e) {
      print(e);
    }
  }

Note:

I have already added SHA-1 (from release build) using command ./gradlew signingReport. using https://developers.google.com/android/guides/client-auth to firebase auth console.

It's only happening in ANDROID PHONES not on Emulator(with Test Numbers).

When i Checked https://console.firebase.google.com/project/MY-PROJECT/authentication/users.
I saw User has been created successfully using my given PhoneNumber.

why getting Exception if User has created on console.

Flutter version:
Flutter 1.20.2 • channel stable • https://github.com/flutter/flutter.git
Framework • revision bbfbf1770c (3 days ago) • 2020-08-13 08:33:09 -0700
Engine • revision 9d5b21729f
Tools • Dart 2.9.1
All Firebase libraries are also up to date.

Hi @sunilmishra
Using  latest firebase_auth: ^0.16.1 on physical Android with official example, no issues phone authentication.
I/BiChannelGoogleApi(26321): [FirebaseAuth: ] getGoogleApiForMethod() returned Gms: com.google.firebase.auth.api.internal.zzaq@b35695f
D/FirebaseAuth(26321): Notifying id token listeners about user ( 8YX4GQPeyEgfYq474` ).
D/FirebaseAuth(26321): Notifying auth state listeners about user ( 8YX4GQPeyEgfYq474` ).

Can you please uninstall the app, reinstall with with latest firebase_auth


Dont call api twice

D'oh
The test suite didn't catch this because it mostly invokes the api calls directly; doesn't go through the http handler.
This is built on top of #477; that should be merged first.

@henn, added some docs.
@gsilvis, can you look at this as well?

So I'm guessing something like this https://github.com/giampaolo/psutil isn't worth including for the one run_for_seconds test?

Yeah, that strikes me as overkill --- we don't really need to collect a bunch of statistics, this is just "make sure it doesn't just explode when  you run the command."

+1

What's the current interaction between this test and the coverage tool?


Clean-Up Redundant Types from Legacy Code

The types.ts file still contains a number of redundant types, or types that should be moved to APIs or React components. This should leave us with the visualReducer and the legacy selection handler service (which will get cleaned-up later).

Resolved in build 106.


Add canonical tests for Wordy

Currently 13 tracks implement this problem. The full list of each track's tests can be found over at this gist
Of the 13, 11 tracks share the exact same test suite. Those are the tests that I have canonized in this json file.
Python and Scala each have their own tests. But the behavior under test is mostly the same.
Python checks for some additional failure cases
Scala allows students to implement powers as extra credit.
I can see putting some of the Python failure tests in here, but I wanted to get more feedback before making that change.

This looks good to me. If someone else also thinks so, go ahead and merge it.

just one comment otherwise :+1:


New mac-specific option needed: NSLocalNetworkUsageDescription

Issue Type

[ ] Bug Report
[x] Feature Request
[ ] Other

Current/Missing Behaviour
macOS 15 now requires NSLocalNetworkUsageDescription in the Info.plist to enable local networking, so we need to be able to specify it.
Expected/Proposed Behaviour
When passed to app for a macOS build, the NSLocalNetworkUsageDescription key is added to Info.plist like the other keys.
Additional Info

Package version: latest
Operating System: macOS 15
Node version: latest
NW.js version: latest
...

https://developer.apple.com/documentation/bundleresources/information_property_list/nslocalnetworkusagedescription
@beaugunderson Looks like it is supported since MacOS 11. Are you open to creating a pull request?

There's a FAQ here as well: https://developer.apple.com/forums/thread/663858

Very open! I'll do that now. :)

Done!


Update KubevirtVmHighMemoryUsage.md

What this PR does / why we need it:
The PR fixes KubevirtVmHighMemoryUsage runbook.
It updates that the alerts fires when a container hosting a virtual machine (VM) has less than 50 MB free memory, instead of 20 MB.
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
https://issues.redhat.com/browse/OCPBUGS-24377
Special notes for your reviewer:
Checklist
This checklist is not enforcing, but it's a reminder of items that could be relevant to every PR.
Approvers are expected to review this list.

[ ] Design: A design document was considered and is present (link) or not required
[ ] PR: The PR description is expressive enough and will help future contributors
[ ] Code: Write code that humans can understand and Keep it simple
[ ] Refactor: You have left the code cleaner than you found it (Boy Scout Rule)
[ ] Upgrade: Impact of this change on upgrade flows was considered and addressed if required
[ ] Testing: New code requires new unit tests. New features and bug fixes require at least on e2e test
[ ] Documentation: A user-guide update was considered and is present (link) or not required. You want a user-guide update if it's a user facing feature / API change.
[ ] Community: Announcement to kubevirt-dev was considered

Release note:

NONE

@machadovilaca please review

/hold
Didn't we say we have to remove this alert?
@xpivarc @acardace @iholder101 ?

/hold
Didn't we say we have to remove this alert?
@xpivarc @acardace @iholder101 ?

No we never did, we planned to remove the component-related alerts, not the workload-related ones.

Ah! Thanks, yes.
So, for this workload related alert - I think we have to remove it as well.
It's simply not correct, because it's taking reclaimable memory into account.
IOW it fires, even if we are not really exceeding the limits.
Do I recall this correctly?

@fabiand I suggested to update the alert expression to use the pod metrics instead of the kubevirt VMI metrics.

I'm not seeing how a switch to pod metrics helps to address the problem.

@fabiand  since Kubernetes uses  container_memory_working_set_bytes metric to OOM kill a POD.

/hold
Didn't we say we have to remove this alert?
@xpivarc @acardace @iholder101 ?

TBH I was confused by this as well :)
I wonder how these alerts could benefit the user.
Except for some advanced exceptions*, when a user is creating a VM he's defining the guest memory. The fact that we choose to set certain limits on the pod in certain situations is completely hidden from the VM owner (even the fact that a VM runs inside a pod is somewhat of an implementation detail). In the vast majority of the cases this alert was firing because we (kubevirt) did not set the limits correctly, or did not anticipate a spike caused by one of our dependencies (e.g. libvirt).
Now, as a user, let's say I create a VM with dedicated CPUs and 2Gi of guest memory. Let's say that after a while I see a KubevirtVmHighMemoryUsage alert, how should I react?
The docs say the mitigation is Increase the memory limit in the VirtualMachine specification - but as a user I did not set any limits! The limits are automatically set and calculated by virt-controller...
So I tend to vote +1 for removing it, unless I'm missing something.
(*) An advance user CAN set the limits, or use advanced features like overcommitmentRatio, but these are special cases that are far from the "average VM".

@fabiand @iholder101 I'm a user and I asked for a VM with 4GB and I'm getting to the memory limit that puts my VM at risk of eviction, I need to know about it and resize my VM memory. No?

@fabiand @iholder101 I'm a user and I asked for a VM with 4GB and I'm getting to the memory limit that puts my VM at risk of eviction, I need to know about it and resize my VM memory. No?
Why should it matters who set the limit?

As a user you've requested a VM with 4GB. Now you log into your guest and can use up to these 4GB. Let's say that you even use all/most of the 4GB of memory.
Now you get an alert telling you that you are about to reach the memory limit.
But you're not aware of any limits. You've requested 4GB and you're using 4GB. You, as a user, did not cross any boundary, you're just using what you've asked for.
How does such a user is able to mitigate it or even understand what's going on?

As a user you've requested a VM with 4GB. Now you log into your guest and can use up to these 4GB. Let's say that you even use all/most of the 4GB of memory.
Now you get an alert telling you that you are about to reach the memory limit.
But you're not aware of any limits. You've requested 4GB and you're using 4GB. You, as a user, did not cross any boundary, you're just using what you've asked for.
How does such a user is able to mitigate it or even understand what's going on?

@iholder101  When we check the based on the pod metrics, not the kubevirt metrics

Will the Admin be able to do something with the alert?
Is the VM at risk?

If both answers to the above questions are "no", then I think we should deprecate the alert.
If one or both is "yes", I think we should think if any update to the alert is needed or something else, but its probably still requires an alert.

As a user you've requested a VM with 4GB. Now you log into your guest and can use up to these 4GB. Let's say that you even use all/most of the 4GB of memory.
Now you get an alert telling you that you are about to reach the memory limit.
But you're not aware of any limits. You've requested 4GB and you're using 4GB. You, as a user, did not cross any boundary, you're just using what you've asked for.
How does such a user is able to mitigate it or even understand what's going on?

These are important questions, let's discuss them.

@iholder101 When we check the based on the pod metrics, not the kubevirt metrics

Will the Admin be able to do something with the alert?

Basically, the admin has the following options:

Report a bug, wait for it to be fixed, update Kubevirt.
(if the bug is crucial enough:) Report a bug, then use a workaround until it is fixed. The most suiting workaround would probably be using kv.spec.configuration.additionalGuestMemoryOverheadRatio.

There are more advanced workarounds, like manually setting a higher memory request than the one calculated by Kubevirt, but that's a more advanced option.

note: keep in mind that a configuration such as kv.spec.configuration.additionalGuestMemoryOverheadRatio:

affects the whole cluster.
needs to be removed eventually.
is not trivial to configure.

Is the VM at risk?

Yes, it definitely is.

If both answers to the above questions are "no", then I think we should deprecate the alert. If one or both is "yes", I think we should think if any update to the alert is needed or something else, but its probably still requires an alert.

Please note that in the "what the admin can do" section above, the two options consist a step of reporting it as a bug. This is perhaps the main point I want to emphasize here: the fact that a virt-launcher's pod memory reaches its limits is a bug that Kubevirt is responsible for, not the user/admin. Saying that, it's important to understand that Kubevirt currently suffers from a non-accurate calculation with respect to virt-launcher's memory requests/limits.
So I believe the discussion we're having here can be generalized: how should Kubevirt cope with scenarios in which we have challenges in certain aspects, or IOW, in cases where Kubevirt doesn't perform a specific task well enough?
The current flow looks something like the following:

The admin sees that this alert is firing.
The admin doesn't understand how to mitigate the problem, and probably what the problem even is.
If the problem is not severe, that is either VMs aren't being killed in practice or VMs are being rarely killed in a way that's acceptable for the admin, the admin might dismiss the alert treating it as spam or as a mysterious alert that he's not sure about.
If the problem is severe, the admin would probably open a bug or contact Kubevirt developers which will provide a workaround until the case is studied and fixed.

The problem with this flow is that Kubevirt does not take responsibility for its weaker parts. We practically tell our users: "we know there are problems. if you face a problem we've added an alert to act as debug information for us, you can contact us and we'll consider to fix your problems in the next release or help you with a workaround". A better approach would be that us developers would receive this debug information and fix the problem for the user proactively.
I think that a better flow would look something like:

The admin creates VMs for which the memory requests/limits are miscalculated.
A telemetry will report about that fact.
Kubevirt developers would proactively work on fixing the problem and improving our calculation logic.
The next release of Kubevirt would hopefully be better in that aspect, and this fact would be possible to measure with more telematry.
On severe cases we would provide a workaround when needed.

That is, Kubevirt should be the one who's proactively chasing for bugs and fixing them while taking responsibility for its weaker parts.

As for the alert itself: I'm not entirely sure if we should keep this alert at all if we go for the suggested approach above, but the least I would expect from such an alert is:

Make sure it has a low visibility (to not spam our users, which in the long term leads to not taking our alerts seriously).
Make it very clear that this is a bug, not a misconfiguration, and that the admin should report this bug immediately.
Suggest a workaround like kv.spec.configuration.additionalGuestMemoryOverheadRatio adding that it has serious implications for the cluster as a whole, should be used with care, and removed after the problem is fixed.

@sradco WDYT?
@vladikr @xpivarc thoughts?

@iholder101
I agree with you that we should not have an alert for the virt-launcher* overhead issue and it should be replaced with a metric we can perhaps collect to Telemetry, like we did for virt-handler, virt-controller, virt-api and virt-operator.
What I meant is that I think we should alert on the VM guest when its available memory from the guest POV is low, so that the VM owner consider asking for more memory to the VMI.

What would be the impact of having very low available memory for the VMI (for updating the runbook)?
When should we alert? when below 50MB?

Closing this PR, Since we will deprecate this alert and another alert instead.

What I meant is that I think we should alert on the VM guest when its available memory from the guest POV is low, so that the VM owner consider asking for more memory to the VMI.

Sure! This is different and sounds like something reasonable to consider!

What would be the impact of having very low available memory for the VMI (for updating the runbook)?

I guess the implication of the guest memory being all used is that the guest OS might start OOMing applications. I think this alert can be useful for certain cases.

When should we alert? when below 50MB?

Hard to say. Can this be configurable?
50/100MB sounds reasonable, although we may consider also going with a percentage (e.g. 5/10% left).


Add crosshair marker property for border and background color

Type of PR: Enhancement
PR checklist:

[X] Addresses an existing issue: fixes #310
[ ] Includes tests
[X] Documentation update

Overview of change:

Is there anything you'd like reviewers to focus on?

Hi @mecm1993, can you please add tests cases as well (see https://github.com/tradingview/lightweight-charts/pull/590#pullrequestreview-506372235)? Everything else looks good for me though.

Hey @timocov I have been struggling with the tests due to I do not know how to run the e2e tests locally. I dont really understand this part,
Running tests
This tests runs against 2 versions of the library - "golden" and "test". Golden is LKG version, test - current tested version of the library.

To run this tests you need use runner.js:

./runner.js ./path/to/golden/standalone/module.js ./path/to/test/standalone/module.js
Each path to the standalone module might be either to a local file (relative/absolute path to a file) or remote file (via http/https). If file is local then local server will be runner to serve that file (see serve-local-files.js module).

I do not know how to run the e2e tests locally. I dont really understand this part,

@mecm1993 Ah, sure, let me help you with that.
Our e2e graphics tests are based on comparison screenshots from a baseline and test builds. A baseline build is basically a build from merge-base commit your branch based on (if your branch is up-to-date, then it just HEAD of master branch). A test build is a build for HEAD of your branch (or any branch which is going to be merged).
Then we open 2 exactly the same pages, but for different builds and wait until code on the page is finished to work and then compare screenshots from both pages. It's kind of regression tests, we want to be sure that we break nothing or a change is intended.
So, to run this tests you need to do the following:

Make a build for merge-base (or for HEAD of master) branch. We need the only standalone build, so you can, for instance, do the following: npm run clean && npm run build && mv dist merge-base-dist
Make a build for HEAD of your branch: npm run clean && npm run build.
At this step we have 2 folders dist with a build for your branch and merge-base-dist for a build for master branch. Now we can run tests: node ./tests/e2e/graphics/runner.js ./merge-base-dist/lightweight-charts.standalone.development.js ./dist/lightweight-charts.standalone.development.js.

That's it!
Also, if you use VSCode, we provide a run target named Graphics tests, you can use it (it will ask you for 2 paths for that 2 files).
Please let me know if you have any question.

Hey @mecm1993, do you have any updates here?

Hi @timocov sorry for the delay on this, I will try to get it done by the end of the week

@mecm1993 no pressure at all, just checking the status to understand what we can help with

It's interesting, but it seems that the only in one of three tests there is visual changes (in make-crosshair-colors-change)...

 - initial color for both area and line series
 - applying colors for both of them (see applying-options folder)
 - changing from/to the default behaviour (when we use series' color instead)

I was trying to test the first point in tests/e2e/graphics/test-cases/initial-options/crosshair-border-and-background-color.js, but you are right both of them expect the same output at a certain point.

Hey @mecm1993,
my apologize - I confused you in https://github.com/tradingview/lightweight-charts/pull/590#discussion_r503101665 when told that we need to make them optional. I just looked at other options we have, especially at priceLineColor and it has "special" value '' (empty string) which the library interprets like "use default fallback". I think we need to have it in the same way and fallback in case of empty string.
As soon as that's my fault, I decided to fix it myself, so you don't need to do anything.
You can see the changed I made in 3cc0447bb604acb5f07f961ac64821d40044f851.

@mecm1993 thanks for your contribution!


Replays dont show up on desktop

When I watch a beatleader replay, I can only see it in my headset. It's just black on the desktop.
https://user-images.githubusercontent.com/101515706/212731284-f037527f-e4ac-4624-a8a4-95f5cecaa2c6.mp4

Hey! Please update Cam2 to the last version. If it not helps, go to Cam2 config and enable "Follow replay position" toggle.


Revert "Move layer mount refcounts to mountedLayer"

This reverts commit 563d0711f83952e561a0d7d5c48fef9810b4f010.
Seems to cause issues on overlayfs on builder ADD/COPY commands.
» docker build --no-cache .
Sending build context to Docker daemon 3.072 kB
Step 1 : FROM scratch
 --->
Step 2 : ADD abc /
lstat : no such file or directory

Signed-off-by: Tonis Tiigi<EMAIL_ADDRESS>

LGTM

Merging to unblock.

Looking at this. I must have changed something and didn't re-run the test suite against the various graph drivers.

@cpuguy83 did you want to re-implement it for 1.12? Just checking so we don't forget

@thaJeztah This was already put back with #21454

@tonistiigi oh, thanks! sorry, lost track


K3s does not load Helm customizations on startup requiring edit

Environmental Info:
K3s Version:
k3s version v1.20.2+k3s1 (1d4adb03)
go version go1.15.5
Node(s) CPU architecture, OS, and Version:
Linux OdroidN2 4.9.236+ #1 SMP PREEMPT Mon Oct 26 00:29:43 CET 2020 aarch64 GNU/Linux
Cluster Configuration:
Single node
Describe the bug:
I've applied a Helm customization to enable Traefik dashboard and allow insecure backends (https backend with self-signed certificate). Whenever I restart K3s or the its host, this customization is not picked up and the default Traefik settings are applied. I need to re-edit the created yaml (adding a space or newline on /var/lib/rancher/k3s/server/manifests/traefik-config.yaml) and then k3s picks-up the changes.
My customization manifest:
apiVersion: helm.cattle.io/v1
kind: HelmChart
metadata:
  name: traefik
  namespace: kube-system
spec:
  chart: https://%{KUBERNETES_API}%/static/charts/traefik-1.81.0.tgz
  set:
    rbac.enabled: "true"
    ssl.enabled: "true"
    metrics.prometheus.enabled: "true"
    kubernetes.ingressEndpoint.useDefaultPublishedService: "true"
    # New TLS skip verify certificate setting
    ssl.insecureSkipVerify: "true"

Steps To Reproduce:

Create a Helm customization as described on https://rancher.com/docs/k3s/latest/en/helm/#customizing-packaged-components-with-helmchartconfig
K3s will apply the changes restarting Traefik
Restart node
Check that the changes configured on the manifest are not applied

Expected behavior:
Customizations to be applied on startup
Actual behavior:
Default config is applied.

Have you looked at k3s server logs?
I've had trouble with spec.set and data types. You might try this instead:
kind: HelmChart
metadata:
  name: traefik
  namespace: kube-system
spec:
  chart: https://%{KUBERNETES_API}%/static/charts/traefik-1.81.0.tgz
  valuesContent: |-
    rbac.enabled: true
    ssl.enabled: true
    metrics.prometheus.enabled: true
    kubernetes.ingressEndpoint.useDefaultPublishedService: true
    ssl.insecureSkipVerify: true

If you want to customize the packaged Helm chart, you should be creating a HelmChartConfig resource, and only specifying in the valuesContent the options that you need to override. The manifest that you provided is a HelmChart, which means that you are installing a second copy of the packaged Traefik helm chart with different options. Whichever one is updated most recently will win.
Please take another look at the docs page you linked.

Confirming that using HelmChartConfig solves it, sorry about the noise.
My config:
apiVersion: helm.cattle.io/v1
kind: HelmChartConfig
metadata:
  name: traefik
  namespace: kube-system
spec:
  valuesContent: |-
    rbac.enabled: true
    metrics.prometheus.enabled: true
    kubernetes.ingressEndpoint.useDefaultPublishedService: true
    ssl:
      insecureSkipVerify: true
      enabled: true
      permanentRedirect: false
    dashboard:
      enabled: "true"
      domain: "traefik.mydomain.com"


How to migrate field?

Hi,
first of all I'm really impressed how ObjectBox works (especially threading). But I have a question regarding to migration. I want to change field name and migrate data from old field to new one. Unfortunately data from old field name are lost after migration for objects stored in database before migration. I don't touch default.json file, only fields in class using shortcut in IDE. How to properly perform such a migration?
Before migration:
@Entity
public class Data {

    @Id
    private long id;
    private String name;

    @Generated(hash =<PHONE_NUMBER>)
    public Data(long id, String name) {
        this.id = id;
        this.name = name;
    }

    @Generated(hash =<PHONE_NUMBER>)
    public Data() {
    }
}

After migration:
@Entity
public class Data {

    @Id
    private long id;
    private String name2;

    @Generated(hash = 284796816)
    public Data(long id, String name2) {
        this.id = id;
        this.name2 = name2;
    }

    @Generated(hash =<PHONE_NUMBER>)
    public Data() {
    }
}

Best regards
Aleksander Mielczarek

Thank you for response. I'm getting now following error:
Error:Execution failed for task ':app:objectbox'.
> Value for uid should be of type long (could not convert from class org.eclipse.jdt.core.dom.NumberLiteral). Note: only inline constants are supported.

I used id from default.json as uid in @Property. I don't have any uid in default.json.
Entity and default.json from my sample project:
@Entity
public class Notification {

    @Id
    private long id;
    @Property(uid =<PHONE_NUMBER>674678185L)
    private String title;
    private String body;
    @Convert(converter = LocalDateTimeConverter.class, dbType = String.class)
    private LocalDateTime date;
    private boolean read;
}

{
  "_note1": "KEEP THIS FILE! Check it into a version control system (VCS) like git.",
  "_note2": "ObjectBox manages crucial IDs for your object model. See docs for details.",
  "_note3": "If you have VCS merge conflicts, you must resolve them according to ObjectBox docs.",
  "entities": [
    {
      "id": "1:3697389786614689332",
      "lastPropertyId": "5:7675120440086358920",
      "name": "Notification",
      "properties": [
        {
          "id": "1:7960257050845497672",
          "name": "id"
        },
        {
          "id": "2:4365497794674678185",
          "name": "title"
        },
        {
          "id": "3:5522414989386687706",
          "name": "body"
        },
        {
          "id": "4:2283581152000093700",
          "name": "date"
        },
        {
          "id": "5:7675120440086358920",
          "name": "read"
        }
      ]
    }
  ],
  "lastEntityId": "1:3697389786614689332",
  "lastIndexId": "0:0",
  "lastSequenceId": "0:0",
  "modelVersion": 2,
  "retiredEntityUids": [],
  "retiredIndexUids": [],
  "retiredPropertyUids": [],
  "version": 1
}

Thank you, I'll check it later.
If you don't mind I have another question about migrations. Let's assume following situation:
Before migration:
@Entity
public class Data {

    @Id
    private long id;
    @Relation
    private OtherData otherData;

}

After migration:
@Entity
public class Data {

    @Id
    private long id;
    @Relation(idProperty = "id")
    private List<OtherData> othersData;

}

Is it possible that single data before migration appears as as list element after migration? Basically is it possible to add some extra logic to migrations?

Ok, I just see ObjectBox as Realm alternative where such migrations are possible.

Thank you for answer. Yes, I was refereeing to manual migrations. It would be great to have this feature.

I agree with @Yazon2006 . It's will be really handy, if there were a possibility to set custom migration rules. For example: if I had Double before and now it's Integer because I figured out, that fraction is always 0 and I want just to migrate my model from Double to storing Integer without messing with @Uid annotations and I perfectly OK with losing fraction part.


How to replicate 'stepless' scrolling on mousedown of non button element?

Hello,
I want to achieve the stepless scrolling behaviour that occurs when holding down an up or down button, but on non button elements, eg something like:
$(document).on("mousedown", ".up", function() {
$('#scrollable_content').mCustomScrollbar('scrollTo','+=100');
});

$(document).on("mousedown", ".down", function() {
$('#scrollable_content').mCustomScrollbar('scrollTo','-=100');
});

This issue (https://github.com/malihu/malihu-custom-scrollbar-plugin/issues/248) provides a solution to achieve it when scrollbuttons has enable: true.
But how do I achieve this behaviour when scrollbuttons are not enabled?
The desired behaviour is like that achieved with the following settings:
scrollButtons:{
enable: true,
scrollType:"stepless",
scrollAmount:"auto"
}

Thank You.

Hi,
You can do it with some extra jquery code. I'm posting a (working) code example below (it's a bit compact but commented)
var el=$("#content-1"), // set the element with the scrollbar
	duration=3000, // set a base duration/speed of the buttons scrolling
	timer,content;

// scrollbar initialization
// add the necessary callbacks to your fn call (no need to modify the callback functions)

el.mCustomScrollbar({
	// callbacks needed for scrolling buttons calculations
	callbacks:{
		onInit:function(){ content=this.mcs.content },
		whileScrolling:function(){ timer=duration*this.mcs.topPct/100; }
	}
});

// scrolling buttons functions (assumes your buttons are .up and .down)
// no need to change anything here unless your buttons have different classes/selectors

$(document).on("mousedown mouseup",".down,.up",function(e){
	var to,speed,on=e.type==="mousedown" ? 1 : 0,
		cpos=content[0].offsetTop;
	if($(this).is(".down")){ // down
		to=on ? "bottom" : cpos;
		speed=on ? (timer ? duration-timer : duration) : 0;
	}else{ // up
		to=on ? "top" : cpos;
		speed=on ? timer : 0;
	}
	el.mCustomScrollbar("stop").mCustomScrollbar("scrollTo",to,{
		scrollInertia:speed,scrollEasing:"linear",timeout:0
	});
}).on("click",".down,.up",function(e){
	e.preventDefault();
});

Hope this helps

Thank you sir, this code works as advertised.

How could I achieve this for horizontal scrolling please? I've tried editing the code, every "top" to "right" and "bottom" to "left", but it didn't work.

You probably need to change topPct to leftPct

It's working. Congratulation for the awesome work and thanks for the useful plugin.

mcustomscrollbar Content X auto-scrolling?  Tried leftPct, but it doesn't work.

@malihu
https://github.com/malihu/malihu-custom-scrollbar-plugin/issues/259#issuecomment-74359461
how to make it scrollType:"stepped" like this example to custom next prev arrows?


Upgrade Travis to use trusty beta

https://docs.travis-ci.com/user/trusty-ci-environment/

Travis CI runs each Trusty build in an isolated Google Compute Engine virtual machine that offer a vanilla build environment for every build.

This has the advantage that no state persists between builds, offering a clean slate and making sure that your tests run in an environment built from scratch.

In #155, I forgot to include sinon in package.json. I had it in my node_modules, so "it worked on my machine (TM)".
More importantly, Travis already had it on it's machine, so it missed something it should have caught.
With the new Trusty environment builds are entirely independent of each other, so this kind of thing won't happen.

That sounds amazing, I'll look into it!


How to clear screen? Bugs spotted.

Hi, I'm using V-EZ for a simple example: clearing screen to a specific color.
Here is my command buffer generation.
I only create and bind 1 color attachment for the framebuffer.
void CVulkanDriver::createCommandBuffer()
{
  // Get the graphics queue handle.
  vezGetDeviceGraphicsQueue(VKDevice, 0, &GraphicsQueue);

  // Create a command buffer handle.
  VezCommandBufferAllocateInfo allocInfo = {};
  allocInfo.queue = GraphicsQueue;
  allocInfo.commandBufferCount = 1;
  if (vezAllocateCommandBuffers(VKDevice, &allocInfo, &CommandBuffer) != VK_SUCCESS)
  {
    SDL_LogError(SDL_LOG_CATEGORY_RENDER, "vezAllocateCommandBuffers failed");
    exit(1);
  }

  // Begin command buffer recording.
  if (vezBeginCommandBuffer(CommandBuffer, VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT) != VK_SUCCESS)
  {
    SDL_LogError(SDL_LOG_CATEGORY_RENDER, "vezBeginCommandBuffer failed");
    exit(1);
  }

  // Set the viewport state and dimensions.
  auto width = Device.getWidth();
  auto height = Device.getHeight();

  VkViewport viewport = { 0.0f, 0.0f, static_cast<float>(width), static_cast<float>(height), 0.0f, 1.0f };
  VkRect2D scissor = { { 0, 0 },{ static_cast<uint32_t>(width), static_cast<uint32_t>(height) } };
  vezCmdSetViewport(0, 1, &viewport);
  vezCmdSetScissor(0, 1, &scissor);
  vezCmdSetViewportState(1);

  VkClearColorValue clearColor = {
    { 0.4f, 0.6f, 0.9f, 1.0f } // R, G, B, A
  };

  // Define clear values for the swapchain's color and depth attachments.
  // std::array<VezAttachmentReference, 2> attachmentReferences = {};
  std::array<VezAttachmentReference, 1> attachmentReferences = {};
  attachmentReferences[0].clearValue.color = clearColor;
  attachmentReferences[0].loadOp = VK_ATTACHMENT_LOAD_OP_CLEAR;
  attachmentReferences[0].storeOp = VK_ATTACHMENT_STORE_OP_STORE;
  // attachmentReferences[1].clearValue.depthStencil.depth = 1.0f;
  // attachmentReferences[1].loadOp = VK_ATTACHMENT_LOAD_OP_CLEAR;
  // attachmentReferences[1].storeOp = VK_ATTACHMENT_STORE_OP_STORE;

  // Begin a render pass.
  VezRenderPassBeginInfo beginInfo = {};
  beginInfo.framebuffer = Framebuffer.handle;
  beginInfo.attachmentCount = static_cast<uint32_t>(attachmentReferences.size());
  beginInfo.pAttachments = attachmentReferences.data();
  vezCmdBeginRenderPass(&beginInfo);

  // Bind the pipeline and associated resources.
  vezCmdBindPipeline(BasicPipeline.pipeline);
  // vezCmdBindBuffer(m_uniformBuffer, 0, VK_WHOLE_SIZE, 0, 0, 0);
  // vezCmdBindImageView(ImageView, Sampler, 0, 1, 0);

  // Set depth stencil state.
  // VezPipelineDepthStencilState depthStencilState = {};
  // depthStencilState.depthTestEnable = VK_TRUE;
  // depthStencilState.depthWriteEnable = VK_TRUE;
  // depthStencilState.depthCompareOp = VK_COMPARE_OP_LESS_OR_EQUAL;
  // vezCmdSetDepthStencilState(&depthStencilState);

  // Bind the vertex buffer and index buffers.
  // VkDeviceSize offset = 0;
  // vezCmdBindVertexBuffers(0, 1, &m_vertexBuffer, &offset);
  // vezCmdBindIndexBuffer(m_indexBuffer, 0, VK_INDEX_TYPE_UINT32);

  // Draw the quad.
  // vezCmdDrawIndexed(6, 1, 0, 0, 0);

  // End the render pass.
  vezCmdEndRenderPass();

  // End command buffer recording.
  if (vezEndCommandBuffer() != VK_SUCCESS)
  {
    SDL_LogError(SDL_LOG_CATEGORY_RENDER, "vezEndCommandBuffer failed");
    exit(1);
  }
}

I had the same issue and found out that V-EZ does all the pipeline binding etc. right before a draw call. This means the screen will not be cleared via a render-renderpass if you have zero draw calls. However, i believe you can use the vkCmdClearColorImage command on the image associated with the swapchain.

Solved using
vezCmdClearColorImage(Framebuffer.colorImage, &clearColor, 1, &range);

Reference: Software Rasterization sample

Found out that it is better to use clearValue for VezAttachmentReference instead of vezCmdClearColorImage
I was careless for not using docs.
https://gpuopen-librariesandsdks.github.io/V-EZ/#_begin_a_render_pass

Anyways, after removing vezCmdClearColorImage, the screen becomes black.
I think ```cpp
attachmentReferences[0].clearValue.color = clearColor;
should work out of the box?

My current code:
void CVulkanDriver::createCommandBuffer()
{
  // Get the graphics queue handle.
  vezGetDeviceGraphicsQueue(VKDevice, 0, &GraphicsQueue);

  // Create a command buffer handle.
  VezCommandBufferAllocateInfo allocInfo = {};
  allocInfo.queue = GraphicsQueue;
  allocInfo.commandBufferCount = 1;
  if (vezAllocateCommandBuffers(VKDevice, &allocInfo, &CommandBuffer) != VK_SUCCESS)
  {
    SDL_LogError(SDL_LOG_CATEGORY_RENDER, "vezAllocateCommandBuffers failed");
    exit(1);
  }

  // Set the viewport state and dimensions.
  auto width = Device.getWidth();
  auto height = Device.getHeight();

  // VkViewport viewport = { 0.0f, 0.0f, static_cast<float>(width), static_cast<float>(height), 0.0f, 1.0f };
  // VkRect2D scissor = { { 0, 0 },{ static_cast<uint32_t>(width), static_cast<uint32_t>(height) } };
  // vezCmdSetViewport(0, 1, &viewport);
  // vezCmdSetScissor(0, 1, &scissor);
  // vezCmdSetViewportState(1);

  VkClearColorValue clearColor = {
    { 1.f, 0.f, 0.f, 1.0f } // R, G, B, A
  };

  // Begin command buffer recording.
  if (vezBeginCommandBuffer(CommandBuffer, VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT) != VK_SUCCESS)
  {
    SDL_LogError(SDL_LOG_CATEGORY_RENDER, "vezBeginCommandBuffer failed");
    exit(1);
  }

  // Define clear values for the swapchain's color and depth attachments.
  std::array<VezAttachmentReference, 2> attachmentReferences = {};
  attachmentReferences[0].clearValue.color = clearColor;
  attachmentReferences[0].loadOp = VK_ATTACHMENT_LOAD_OP_CLEAR;
  attachmentReferences[0].storeOp = VK_ATTACHMENT_STORE_OP_STORE;
  attachmentReferences[1].clearValue.depthStencil.depth = 1.0f;
  attachmentReferences[1].loadOp = VK_ATTACHMENT_LOAD_OP_CLEAR;
  attachmentReferences[1].storeOp = VK_ATTACHMENT_STORE_OP_STORE;

  // VezImageSubresourceRange range = {};
  // range.layerCount = 1;
  // range.levelCount = 1;
  // vezCmdClearColorImage(Framebuffer.colorImage, &clearColor, 1, &range);

  // // Begin a render pass.
  VezRenderPassBeginInfo beginInfo = {};
  beginInfo.framebuffer = Framebuffer.handle;
  beginInfo.attachmentCount = static_cast<uint32_t>(attachmentReferences.size());
  beginInfo.pAttachments = attachmentReferences.data();
  vezCmdBeginRenderPass(&beginInfo);

  // Bind the pipeline and associated resources.
  vezCmdBindPipeline(BasicPipeline.pipeline);
  vezCmdBindImageView(Framebuffer.colorImageView, VK_NULL_HANDLE, 0, 2, 0);

  // End the render pass.
  vezCmdEndRenderPass();

  // End command buffer recording.
  if (vezEndCommandBuffer() != VK_SUCCESS)
  {
    SDL_LogError(SDL_LOG_CATEGORY_RENDER, "vezEndCommandBuffer failed");
    exit(1);
  }
}

@Twanks1 Ah I understood what you've said before. This should be an issue.

And calling
vezCmdClearColorImage(Framebuffer.colorImage, &clearColor, 1, &range);

makes the validation layer print out:
DS(ERROR): object: 0x5607038a2f78 type: 6 location: 2698 msg_code: 6: Object: 0x5607038a2f78 | Cannot submit cmd buffer using image (0xd) [sub-resource: aspectMask 0x1 array layer 0, mip level 0], with layout VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL when first use is VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL.

Another try
After creating swapchain, I obtain images like this:
  result = vezCreateSwapchain(VKDevice, &swapchainCreateInfo, &Swapchain);
  if (result != VK_SUCCESS)
  {
    SDL_LogError(SDL_LOG_CATEGORY_RENDER, "vezCreateSwapchain failed");
    return false;
  }

  auto vkSwapchain = reinterpret_cast<vez::Swapchain*>(Swapchain)->GetHandle();

  uint32_t actualImageCount = 0;
  if (vkGetSwapchainImagesKHR(VKDevice, vkSwapchain, &actualImageCount, nullptr) != VK_SUCCESS || actualImageCount == 0) {
    SDL_LogError(SDL_LOG_CATEGORY_RENDER, "Failed to acquire number of swap chain images");
    exit(1);
  }

  SwapchainImages.resize(actualImageCount);

  if (vkGetSwapchainImagesKHR(VKDevice, vkSwapchain, &actualImageCount, SwapchainImages.data()) != VK_SUCCESS) {
    SDL_LogError(SDL_LOG_CATEGORY_RENDER, "Failed to acquire swap chain images");
    exit(1);
  }

Then I in my command buffer generation, before beginning of a render pass:
  for (const auto& image : SwapchainImages)
  {
    vezCmdClearColorImage(image, &clearColor, 1, &range);
  }

This produces a black screen while it should be red.

@soconne I mis-edited the snippet, vkSwapchain is the Vulkan's swapchain handle.

So accessing the native handle of the swapchain within V-EZ is technically not allowed and that's why this does not work.  V-EZ has no knowledge of the VkImage handles you're passing into vezCmdClearColorImage.  The design behind V-EZ was that an application would always, and only render to its own allocated framebuffer.  Then blit this image to the swapchain since rendering directly to the swapchain in the first place is not allowed.
Based on what I've read above, I believe the issue with clearing the framebuffer is not a problem anymore but the validation layer output error is, correct?  I have a fix for this I'll be committing soon.

I just realized that this issue that when no draw-call was issued the render-pass does not clear anything is related to another bug in my engine where i see garbage on screen. In pseudocode:
Bind render-target 0 from camera
    // Here are no draw calls
Bind render-target 0 from PostProcess effect using render-target 0 as input
...

Because the renderpass does not clear render-target 0 because there is no draw call the post process gets garbage as input. This should be adresses somehow.
Maybe checking when a command buffer was submitted if a framebuffer was bound and if so bind the corresponding renderpass?

vezCmdClearColorImage(Framebuffer.colorImage, &clearColor, 1, &range);

is working fine after building with latest commits.

vezCmdClearColorImage (and depth) are still really finicky. The only way I've been able to get them to work is to use them from within an isolated command-buffer and not one that ever begins a render-pass, a bit of a hassle.
VUID-vkCmdPipelineBarrier-pMemoryBarriers-01185(ERROR / SPEC): msgNum: 0 - vkCmdPipelineBarrier(): pImageMemBarriers[1].dstAccessMask (0x400) is not supported by dstStageMask (0x400). The Vulkan spec states: Each element of pMemoryBarriers, pBufferMemoryBarriers and pImageMemoryBarriers must not have any access flag included in its dstAccessMask member if that bit is not supported by any of the pipeline stages in dstStageMask, as specified in the table of supported access types. (https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VUID-vkCmdPipelineBarrier-pMemoryBarriers-01185)

Sounds like I'm where you were at @JSandusky ...
My plan is to clear the color buffer with vezCmdClearColorImage() when no draws would occur in a view, otherwise clear via attachment interface. However, calling vezCmdClearColorImage() fails validation from vkCreateRenderPass() in RenderPassCache::CreateRenderPass().  @manhnt9 appears to be using, or did use, this very logic in code pasted above in this thread.  (As others note, clearing the color buffer via attachment interface appears to have no effect without draws. That is the main motivation for this usage.)
Validation Error: [ VUID-VkRenderPassCreateInfo-pDependencies-00838 ] Object 0: VK_NULL_HANDLE, type = VK_OBJECT_TYPE_RENDER_PASS; | MessageID = 0xb2225bf1 | vkCreateRenderPass: Dependency pDependencies[0] specifies a dstStageMask that contains stages (VK_PIPELINE_STAGE_TRANSFER_BIT) that are not part of the Graphics pipeline, as specified by the dstSubpass (= 0) in pipelineBindPoint. The Vulkan spec states: For any element of pDependencies, if the dstSubpass is not VK_SUBPASS_EXTERNAL, all stage flags included in the dstStageMask member of that dependency must be a pipeline stage supported by the pipeline identified by the pipelineBindPoint member of the destination subpass (https://vulkan.lunarg.com/doc/view/<IP_ADDRESS>/windows/1.3-extensions/vkspec.html#VUID-VkRenderPassCreateInfo-pDependencies-00838)
This issue can be easily reproduced in SimpleQuad sample by adding these lines
    VkClearColorValue clearColor = {1.0f,0.0f,0.0f,1.0f}; // Red
    VezImageSubresourceRange range = {};
    range.layerCount = 1;
    range.levelCount = 1;
    vezCmdClearColorImage(AppBase::GetColorAttachment(), &clearColor, 1, &range);

before the vezCmdBeginRenderPass(&beginInfo); code block in SimpleQuad.cpp.
The SoftwareRasterizer sample does not fail because it has no render pass.
I'm new to Vulkan so unsure if my logic is sound or if a flaw exists somewhere.


When was the science article initially released: in 2023 or 2016?

When was the science article initially released: in 2023 or 2016?

When was the science article initially released: in 2023 or 2016?

Hi,
Sorry, what do you mean?


[color-schemes] TailwindCSS ~ implementation

Would love to get your take on how we could implement this with TailwindCSS!

i havent really considered how to do it in tailwind before! there's gotta be posts on it already tho right? components could do the work in many of the css-in-js solution i bet.


UI change: remove icon outline

Made some minor changes in UI:
1)As Outline of icons were a quite bit confusing for user when clicking it get's selected which might get user feel that he/she is selecting various options at the time of video streaming. So removed it.
2)Solved Overflow issue.
Also want to know if instead of giving play button explicitly we can make video streamed on image click is a good approach or not?

Would you like to take one step at a time and submit the outline fix first?
There's an ongoing discussion about the overflow menu in PR 3220.
Let's keep the play button as it is now.

Thank you!

The focus outline on icons is required for accessibility reasons. It's considered a level AA (medium-importance) accessibility feature by the WCAG. You could argue that the tooltip counts as sufficient an "author-supplied, highly visible focus indicator" (see technique G195), but I'm not convinced myself.

Oh how can I forgot that. Thank you for your input @theodab !
There's actually no updates required on our side. @dhruvil-shah would you be ok to close the PR if you don't have anything to update?

Oh how can I forgot that. Thank you for your input @theodab !
There's actually no update required on our side. @dhruvil-shah would you be ok to close the PR if you don't have anything to update?

Yes sir, No problem


macos: Explicitly set window alpha value on color change

With this change I'm able to create a window with varying opacity on macOS, as verified by using RGBA syntax in the window-go sample app.
However, my intent was to allow RGBA syntax to work directly from the embedded HTML (ie, body.style = "RGBA(128,128,128,128); opacity = 0.5;") but that still doesn't work.
As such, I'm not sure if this is the correct way to solve the issue or if I'm missing something.

Ah, the correct fix for this is in a different PR. Closing this one as noise.


reference linux native package for netcore control catalog.

other wise this wont just run on linux.

The problem with them not being included lies somewhere there:
https://github.com/AvaloniaUI/Avalonia/blob/be0ac7e9cad0e99af1290880f566f5840cb8221c/build/SkiaSharp.props#L4
We should probably remove that condition completely.

https://github.com/AvaloniaUI/Avalonia/commit/f926d7886c3d3fa56f94f860c8fc446da11807c8


Dijkstra needed

need correct code

// The program is for adjacency matrix representation of the graph
#include <iostream>
using namespace std;
#include <limits.h>

// Number of vertices in the graph
#define V 9

// A utility function to find the vertex with minimum distance value, from
// the set of vertices not yet included in shortest path tree
int minDistance(int dist[], bool sptSet[])
{

	// Initialize min value
	int min = INT_MAX, min_index;

	for (int v = 0; v < V; v++)
		if (sptSet[v] == false && dist[v] <= min)
			min = dist[v], min_index = v;

	return min_index;
}

// A utility function to print the constructed distance array
void printSolution(int dist[])
{
	cout <<"Vertex \t Distance from Source" << endl;
	for (int i = 0; i < V; i++)
		cout << i << " \t\t"<<dist[i]<< endl;
}

// Function that implements Dijkstra's single source shortest path algorithm
// for a graph represented using adjacency matrix representation
void dijkstra(int graph[V][V], int src)
{
	int dist[V]; // The output array. dist[i] will hold the shortest
	// distance from src to i

	bool sptSet[V]; // sptSet[i] will be true if vertex i is included in shortest
	// path tree or shortest distance from src to i is finalized

	// Initialize all distances as INFINITE and stpSet[] as false
	for (int i = 0; i < V; i++)
		dist[i] = INT_MAX, sptSet[i] = false;

	// Distance of source vertex from itself is always 0
	dist[src] = 0;

	// Find shortest path for all vertices
	for (int count = 0; count < V - 1; count++) {
		// Pick the minimum distance vertex from the set of vertices not
		// yet processed. u is always equal to src in the first iteration.
		int u = minDistance(dist, sptSet);

		// Mark the picked vertex as processed
		sptSet[u] = true;

		// Update dist value of the adjacent vertices of the picked vertex.
		for (int v = 0; v < V; v++)

			// Update dist[v] only if is not in sptSet, there is an edge from
			// u to v, and total weight of path from src to v through u is
			// smaller than current value of dist[v]
			if (!sptSet[v] && graph[u][v] && dist[u] != INT_MAX
				&& dist[u] + graph[u][v] < dist[v])
				dist[v] = dist[u] + graph[u][v];
	}

	// print the constructed distance array
	printSolution(dist);
}

// driver program to test above function
int main()
{

	/* Let us create the example graph discussed above */
	int graph[V][V] = { { 0, 4, 0, 0, 0, 0, 0, 8, 0 },
						{ 4, 0, 8, 0, 0, 0, 0, 11, 0 },
						{ 0, 8, 0, 7, 0, 4, 0, 0, 2 },
						{ 0, 0, 7, 0, 9, 14, 0, 0, 0 },
						{ 0, 0, 0, 9, 0, 10, 0, 0, 0 },
						{ 0, 0, 4, 14, 10, 0, 2, 0, 0 },
						{ 0, 0, 0, 0, 0, 2, 0, 1, 6 },
						{ 8, 11, 0, 0, 0, 0, 1, 0, 7 },
						{ 0, 0, 2, 0, 0, 0, 6, 7, 0 } };

	dijkstra(graph, 0);

	return 0;
}

// This code is contributed by shivanisinghss2110

@BhaskarJoshi-01 please assign it to me.

Please assign me this task.


Install test libraries

This PR adds Cypress and Jest to create E2E/integration tests, and Unit Tests.

I saw the code and I think it's ready to become part of the main branch


Page leak in restore_savepoint()

When restoring a savepoint, any pages which have been freed and then reallocated in the time since the savepoint was created are leaked permanently.  Here's the sequence of events:
read starts (reading tx 0)
tx 1:
    adds page A to the freed tree
tx 2:
    can't free page A due to the live read
read ends
tx 3:
    creates savepoint
    processes the freed tree, freeing page A
tx 4:
    allocates page A
    restores savepoint

When tx 4 calls restore_savepoint(), it diffs the allocator state to find out which pages have been allocated since the savepoint was created -- but page A won't show up in the diff, because it was allocated at both times!  The restored freed tree does have an entry saying that page A should be freed, but restore_savepoint() clears out the old freed-tree entries without processing them.  At that point, the page is no longer referenced anywhere and has been leaked.
I believe restore_savepoint() shouldn't be throwing away the old freed-tree entries without looking at them.  Instead, I think it needs to either look at each entry and free the page if it's currently allocated, or (maybe nicer) remove all those pages from the allocator snapshot before doing the diff, which will cause any reallocated pages to correctly show up in allocated_since_savepoint.

Note that the example above was slightly complicated in order to work around #830.  Now that that's fixed, here's a simpler repro:
tx 1:
    adds page A to the freed tree
tx 2:
    creates savepoint
    processes the freed tree, freeing page A
tx 3:
    allocates page A
    restores savepoint

Nice find! I think there may still be some bugs in the savepoint handling. But I believe I fixed this one and another one in the attached PR. And I'm modifying the fuzzer to detect leaked pages

Yay, thanks for fixing this so quickly!
You probably know this already, but just in case: I noticed that https://github.com/cberner/redb/pull/833/commits/819ccf95c8f431272b32db205a1237d3902ff793 removed the fast-path frees for uncommitted pages, saying "This can't happen, since we only restore at the beginning of a clean transaction".  But I don't think that's true: redb does allow restore_savepoint() in a dirty transaction, and in fact both of those fast-path frees were reachable.
I don't think there's any need to fix this!  The current code looks correct to me, and restoring in a dirty transaction doesn't seem like an important use case; it certainly doesn't need to be optimized.  But if you were relying on the transaction being clean for some other safety properties, that's not actually being enforced right now.

Oh ya, oops. I forgot I had allowed that :) Fixed in https://github.com/cberner/redb/pull/835

I discovered there are still some cases where pages can leak

Fixed another leak here: https://github.com/cberner/redb/pull/841
Unfortunately that PR will make restore_savepoint() quite a bit slower on large databases


[1.15.1] Incompatibility with Lithium

Crash Report
Seems like something is conflicting between the two regarding something named "AreaContainsFireSource"
Tested with only IP and Lithium
IP version: 1.15-4
Lithium version: 0.2.2

lithium and this mod both redirect this call site. i want the player not to catch fire from the lava below end portal when jumping into end portal. lithium does some optimizations. maybe i can make my mixin have a higher priority.

https://github.com/jellysquid3/Lithium

my mixin made that a player that is close to a portal cannot catch fire in all circumstances. to radically solve it i have to do more hacks on collision stuff.

Is it possible to fallback gracefully to using a fire immunity potion effect or disabling the entire "prevent player on fire near end portals" functionality?

maybe i can use fire immune potion effect


[PLAT-6765] Adds cache target chart

it looks great! thanks for adding the tests as well. just a little nitpick, it would be great if we can use an existing adminpw secret, something like that was done here: 98dfb0e. it's fine if we want to do that in another PR or at some other time.

great! I think I have that passwordSecretRef stuff in these charts, but let me know if you are thinking something else than what's here

it looks great! thanks for adding the tests as well. just a little nitpick, it would be great if we can use an existing adminpw secret, something like that was done here: 98dfb0e. it's fine if we want to do that in another PR or at some other time.

great! I think I have that passwordSecretRef stuff in these charts, but let me know if you are thinking something else than what's here

welp you are right! there was a specific file that through me off but apparently i can't read. thanks!


Add github-action workflow to release new version on PyPI

Added in https://github.com/datalad/datalad-catalog/pull/197


On text search page have the results show only active facilities by default

Note: MVP task moved over from previous requirements document.
Description:
On text search page have the results show only active facilities by default
Definition of Ready:

[ ] User role and type are identified
[ ] Wireframes completed
[x] Design / Solution is accepted by Product Owner

https://github.com/bcgov/nr-omrr-transparency/pull/72

Closed by #72


Bug: registerLexicalTextEntity does not work with ExtendedTextNode

When using the ExtendedTextNode example (https://lexical.dev/docs/concepts/serialization#handling-extended-html-styling) the useLexicalExtendedTextEntity hook / registerLexicalTextEntity no longer calls the match method
Lexical version: 0.12.6
Steps To Reproduce

Implement the ExtendedTextNode example with a keywords / token node plugin
Keywords/tokens are not transformed

Link to code example:
TextNode and Token plugin (works): https://codesandbox.io/p/sandbox/textnode-and-token-zlym8g?file=%2Fsrc%2FEditor.js
ExtendedTextNode and Token plugin (dosnt work): https://codesandbox.io/p/sandbox/extendedtextnode-and-token-f3q8d9
The current behavior
The text is not highlighted as the match callback is not called on the Token Plugin
The expected behavior
Enter "{{ abc }}" (with braces, without quotes) the text should be highlighted red

I think this should be fixed in more recent versions when using withKlass in the node override


Support long lines

As linenoise is used by redis, it is not possible to set long key values that exceed 4K.
When linenoise reads in a line and does not find the \n, it should continue to read in more blocks of input and concatenate them until the \n is found.

The same happens with mongo


Tidy up

This is a few commits that doesn't change any functionality, but might help the tooling -- happy to split it up if you want.  Net result is that flake8 and the test suite run cleanly, and the requirements.txt is up to date.
Build results:
https://travis-ci.org/ColCarroll/dask-glm

Looks good to me! Thank you @ColCarroll


Provide support for LabelTags in repositories

Expected Behavior
Repositories should:

be ready to add LabelTags to given ScanCategory,
query for Labels by LabelTag,
add new Labels with LabelTag,
allow to edit LabelTags,
allow to delete LabelTags,
...many more you will find useful.

Propositions for ScanCategory repository:

get all LabelTags for ScanCategory,
add LabelTags to ScanCategory,
delete LabelTags from ScanCategory.

Label Repository:

add new label with LabelTag,
get labels with LabelTag,

LabelTags:

edit LabelTags,
deleteLabelTags.


Option to display loaders output to shell only, not devtools

Do you want to request a feature or report a bug?
Feature request

What is the current behavior?
The output of loaders (eg. eslint) is currently rendered in both the shell console and the devtools console. The quiet option disable it entirely.

What is the expected behavior?
When I'm importing code or while debugging, the output of eslint is redundant between my shell and the devtools console.
Or I'd like to see only logs from the currently running app on my devtools, not being polluted by eslint output. I know that this annoyance shall be resolved by solving the eslint errors, but when I'm coding I do not want to see the console or debugger warnings, yet I'd like to see those in my shell. Plus, some warnings are just warnings and definitely shouldn't make it harder to see the actual console messages from the app.
I'd like to be able to configure the desired output (devtools console, shell console, or both).

@webpack-bot move to webpack/webpack-dev-server

@sokra I'm not using webpack-dev-server, but webpack-dev-middleware + webpack-hot-middleware + express (config generated via vue-cli)
Maybe it should be moved to webpack-hot-middleware instead ?

@webpack-bot move to glenjamin/webpack-hot-middleware


service view does not report error when some service pod crashed

https://github.com/Microsoft/pai/pull/331


Fail on Waiting for callback(); in Characteristic.on('set') or ('get')

Hi, Guys!
I have here some issue :) ive builded a TimeCapsule Object that control Netatalk and Mounted Disks a la TimeCapsule. If i try to get TimeCapsule state, my Homekit hangs on because my TimeCapsule needs a bit time to check, if it running.  Where can i set the longer timeout, that my Homekit will not crash?
Device
    .addService(Service.Switch, TimeCapsule.alias, TimeCapsule.alias)
    .getCharacteristic(Characteristic.On)
    .on('set', function(value, callback) {

        TimeCapsule.on('set', value, function () {
                console.log(TimeCapsule.alias +' is set to '+ (value? 'ON': 'OFF'));
                callback();
        });
    })
    .on('get', function(callback) {

        TimeCapsule.on('get', function (value) {
                console.log(TimeCapsule.alias +' is '+ (value? 'ON': 'OFF'));
                callback(null, value);
        });
    });

Thanks :)

@antonkluev How long are you talking about?

ca. 10 seconds... maybe more

@antonkluev HomeKit should allow up to 60s for accessory to handle a request and HomeKit should not crash when read request timeout. Where do you see it crashes?

for example here
```

.on('set', function(value, callback) {
    TimeCapsule.on('set', value, function () {
            console.log(TimeCapsule.alias +' is set to '+ (value? 'ON': 'OFF'));
            callback();
    });
})

If i switch it on - my Harddrive will powered up -> accelerate -> mounted -> and start Netatalk. It takes ca. 10 - 30 seconds. But in this time my Homekit app shows no information about all accessories until i wait a long time or gonna restart HAP. But this "callback();" must block only this switcher, not the whole app ))

That's strange, does this happen in all HomeKit apps or just a specific one?

I think that it depends not on iphone app, because after wifi and app restart on my iphone, devices are not responsible also... The problem is in server.

I'm not really sure how this happens since I wasn't able to reproduce the problem by disabling the invocation of the callback() in "get" event.

I will try to make a video next days of that issue :)

@antonkluev does the node process terminate?
I had this problem but it was because I was accidentally using the same callback twice, which happened because I had bound my get handler twice by mistake. This raised an exception and ended the node process.

Just wondering: You are binding the "set" event of the TimeCapsule to a function to return the value, but you do that if the "set" event of the characteristic is fired? Or am I missing crucial parts of the code?
I would assume that a "set" event is meant to send commands to your device, and not to start listening for events that your device code might be firing (later, it seems)?

fahrvergnuugen, ive tryed it again and it works,,, i thing i had an issue with double call of callback(); but fixed it accedentialy ))
snowdd1, i use node.js for controlling a timecapsule and inside of timecapsulescript i use exec, it can takes time to fire an event and get "echo" back as callbackfunction... here in pseudocode
var state = function (value) {
    // here is eventualy my callback of homekit
};
exec({check my timecapsule state}, function (error, echo, stderr) {
    state(echo.contains('running') == true? true: false);
});

but now it works.. once again, as fahrvergnuugen said, double call of callback is not good ^^


Compatibility mode

This PR refactors some of the code and also enables migration to S3 if you started your blog without this module and want to start using it.
serve
The biggest thing is that instead of serve() being a noop, it is now basically a proxy to S3. A request to /content/images/2016/03/image.png will yield the same as one to https://BUCKET.s3.amazonaws.com/2016/03/image.png, including headers. This means that all you have to do is copy your old content/images/ up to S3 and you will be able to use this module without breaking your old images or rewriting any posts.
other changes

I'll note some in the diff
Many of the functions don't need to be on the prototype, so I removed them to effectively make them private functions.

Any chance this gets merged? The proxy is something I was looking for!

@voigt I've gotten the impression this project isn't being actively maintained, so I'm going to publish this as a new module. I'll ping you when it's done!

@voigt https://github.com/spanishdict/ghost-s3-compat


Merge 2.0.3.

Coverage remained the same at 100.0% when pulling 22010c48e9999db1c1a926448bf3ae2b32d3a805 on mng/2.0.3 into 5636b9d114852680c8967b58a5eb48286fd4f205 on 2.0.x.


Unable to deploy the Artemis broker

Describe the bug
I'm trying to start Artemis Cloud. I have followed each step in the quick start guide, but I am having trouble deploying the broker.
The error shown on the Kubernetes dashboard is:
Failed to pull image "quay.io/artemiscloud/activemq-artemis-broker-init:2.23.0": rpc error: code = Unknown desc = Error response from daemon: manifest for quay.io/artemiscloud/activemq-artemis-broker-init:2.23.0 not found: manifest unknown: manifest unknown

To Reproduce
Steps to reproduce the behavior:

Deploying the operator.
Execute kubectl create -f examples/artemis-basic-deployment.yaml -n activemq-artemis-operator.

Platform (please complete the following information):

OS: WSL2
Go 1.17.8
operator-sdk version: "v1.15.0"
minikube version: v1.27.0

Am I doing something wrong at any step?

Cannot reproduce on 1.0.17


Update style.mdx

Updated incorrect color values for UI Shell header.
Oh actually wait this might be wrong, production does show this as the original values. Let me investigate why/when this changed.

Opps yeah the original docs are correct. The kit and images are wrong. Going to close this.


symfony 7 documentation

In Symfony 7 doesnt working default asset function:

I solved it with:
{{ importmap('typescript/app') }}

Hi, thank you for the request :pray:
I tried the original example from the doc myself and it work correctly with symfony 7.0 as well as 7.1, so I don't think that having different approaches depending on symfony version is the way to go.
But obviously the doc should be improved.
I see 3 use-case but I may be mistaken (@WebMamba maybe you could advise us on the best practices ?).

You're approach is good when your app has a typescript file as an entrypoint. You define it in importmap.php and then you only call the importmap function once in your twig template.
If your your typescript file isn't supposed to be an entrypoint, you can just import what you need from your original entrypoint :

// assets/app.js
import {MyTypeScriptClass} from "./typescript/my-ts-file.ts"

If you just want to load a raw script, the example from the doc should work.

Now I don't know if we should showcase all these use-cases, some advises from the ux community would be appreciated.


chore(env): rename .example to .development

Rename .env.example to .env.development, which Next readily recongises

oh oh may also want to update README, but we can also do that when we update the README


How do I know AppSync.sync is finished?

I want to display dialog when sync is finished, but when I added show modal function (Nativesciprt +Angular) in SuccessCallback using ModalDialogService, ios is not working.
I tried to set timeout for showing dialog (I tried 300, 500, 1000, even 3000),  but it's not work. And I moved show modal out SuccessCallback it's ok.
But I can't try add it after App.Sync...because it's a void.
How could I do for this issue?

Look for syncStatus here.
And to show a dialog you may need to wrap that logic in an ngZone (Google it if it doesn't ring a bell).

hi, ~
Thanks for your help. My original code is: (this.installed is a function shows modal)
      case SyncStatus.UPDATE_INSTALLED:
              this.installed()
        break;

It's work in android, but not ios.
But I have already tried using ngZone.run like:
      setTimeout(() => this.zone.run(() => this.installed()), 3000);

OR
      this.zone.run(() => setTimeout(() => this.installed(), 3000));

OR
      this.zone.run(AppSync.sync());

All are not work. T_T

If you console.log it, does it show up in the log?

Yes.
Log is work, and I tried "confirm" it is work, too.
I don't know why modal service is not work. T_T
And there is no any error.

No idea either, but if the log works then I guess at least the plugin works correctly.

Oh, If I run on debug mode and set breakpoint on SuccessCallback, then run it step by step , it is work.
Amazing!


List when used with bottomUp= true it only works in correctly until the list size is 50

Seems like due to the pagesize set to 50, the list would not work as expected if the list size grows over 50 as we expect the latest addition to the list to be bottom but it goes to the top.
Is this expected or there is workaround for this issue?

Don't use this library.  I thought I deprecated, but I actually deprecated its successor - https://www.npmjs.com/package/enyo


Example maybe ?

a little example would be nice

One year latter... still actual.. :D

a year later and still up to date


Remove target from action args as it's now inferred

Now we get the target branch from the Github context:
https://github.com/balena-io/balena-ci/blob/master/src/action.ts#L16

fixed with https://github.com/balena-io/balena-ci/pull/46


MQTT integration

Hi, I have forked this rep. and plan to write an MQTT integration with it. I read that you are trying to hand over the maintenance but at present I cannot promise that I will be able to do that. Time and knowledge are at the moment sparsely available. When I am close to a working model we can discuss if you want to incorporate my work with yours ... or not.
For now, much appreciating all the work you have done... THANKS!!

Hello,
nice project. Unfortunately I don't think merging it would be a great idea. Pronotepy is meant to be a library for anything and adding MQTT is very specific. All the discord bots and other thingies people build don't need an MQTT integration. All that said it's still a cool project!


Fixed a typo in README.md.

Minor typo in README.md corrected: "identity the end user" -> "identify the end user"

Thanks for noticing the typo. Actually, #297 fixes this typo hence closing.

Thanks for noticing the typo. Actually, #297 fixes this hence closing.

Sorry for that. After creating the PR, I noticed this too. :).

Expecting more PRs ahead! 😄


ci: lint with clippy

READY FOR REVIEW
Add clippy to the lint task.
Changes

Support conditional compilation with cargo hack
Fix most violations
Defer resolution of incorrect clone implementation errors
Add clippy to ci flow

No errors on warnings

I did not find a way to pass clippy options with cargo hack

See Clippy Lints for rule details.

By way of review ... all the changes of this form are

any(debug_assertions, features = "ssr"),

any(debug_assertions, feature = "ssr"),

Wow - that is a really good find.
When resolved, I think the library users experience will be improved.
A subtle library bug like has the potential to cause lots frustration.
My experience with wide ranging subtle changes to the code base like this --
It will,  with time, uncover lots  of other problems lurking here are down-stream in application code.
So,  politely, I am think the emphasis here is all wrong.. that bugfix should be promoted to a headline issue, lead to an  isolated PR .. and trigger a version bump.
That way IF unexpected issue blow up ... and someone is running git bisect at 2AM on a rainy Tuesday - this otherwise seeming innocuous change will stand out.
I am not one to nominate other people for work ... What I am saying is if other reviewers think it is a good idea.. then send me a message and I will do the separation

@martinfrances107 In this specific case those feature flags are definitely an unfortunate copy-paste issue, but in every case what they are doing is enabling tracing instrumentation. There should not be any effects on actual logic as there would be in many cases with features like this.
However, I think it's still a fair point to keep it as a separate commit. In this case, I'd propose that I merge these as separate commits rather than squashing, so that the tracing change is its own commit. Does that sound reasonable?

There should not be any effects on actual logic as there would be in many cases with features like this.

That is a good point ...

I'd propose that I merge these as separate commits rather than squashing,

As you see fit... anything I can do to help out .. just shout.

Thanks to both of you for all your work cleaning up the codebase!


Backport nodejs fix

The current master does not build because of that yarn issue Too many levels of symbolic links.
This is a backport to master to fix this.
Should be a new tag <IP_ADDRESS>.

thanks I meant to do this but been a bit busy. however, didn't we say that we should avoid merging to master from private repos? could you :

create a <IP_ADDRESS> branch on the main repo (or just 1.5.4? there is already an 1.5.4 I think I created it when we started working on releasing; your can just force-push into it)
cherry-pick that commit to it
create a PR from branch 1.5.4(.1) to master

Indeed. Will do. Duh :)

Superseded by https://github.com/DefectDojo/django-DefectDojo/pull/1983


Image capture: crazy amount of empty lines printed in terminal

when multiple image capture is enabled.

More specifically, with the Contour renderer.


Updates packages, go version, and various processes.

This fixes the //go:build !ignore_autogenerated issue in the workflow as well as update packages, and e2e tests to the current standard for other providers.

I cloned ADustyOldMuffin:Update-packages on my computer, and ran make, make dev and make dev-clean. I also created provider and a droplet resources from the yaml files in the examples directory. I was able to get things working, but I ran into two issues:

When running make dev I had an issue when it was time to run the helm commands. I got this error:

make: /Users/username/provider-digitalocean/.cache/tools/darwin_x86_64/helm-v3.5.3: No such file or directory
make: *** [dev] Error 1

I have Helm v3.7.1 installed, and I use the command helm, not helm3. I ran the rest of the commands by hand to get the crossplane helm chart installed and to start the go program. I had this problem when I was working on the main branch.

I think this is fixed in an earlier PR, but the yaml file for the droplet is missing the external-name. This is what I used to get that resource up and running:

apiVersion: compute.do.crossplane.io/v1alpha1
kind: Droplet
metadata:
  name: example
  annotations:
    crossplane.io/external-name: crossplane-example-droplet
spec:
  forProvider:
    region: sfo1
    size: s-1vcpu-1gb
    image: ubuntu-20-04-x64
  providerConfigRef:
    name: example

I hope this helps! If it needs another review, let me know!


clean up lint and runtime errors

There are a few errors and warnings that show up in the browser console when loading the /definitions page. This cleans them up.

👍


Add multithreaded jmh benchmarks

NetflixOSS » Hystrix » Hystrix-pull-requests #104 SUCCESS
This pull request looks good


Specifying custom version doesn't work

The plugin does go and fetch the correct helm version but then fails because it's attempting to download the defaulted version. Looking over the codebase I suspect this is due to THIS LINE. For this to work I think you need to delay the string evalution with something like: ${->install.version}
./gradlew clean build
To honour the JVM settings for this build a new JVM will be forked. Please consider using the daemon: https://docs.gradle.org/4.10.2/userguide/gradle_daemon.html.
Daemon will be stopped at the end of the build stopping after processing
Parallel execution is an incubating feature.
> Task :installHelm FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Could not read '/home/dancc/meshgit/pega-container-deployment/build/helm/helm-v2.8.2-linux-amd64.tar.gz' as it does not exist.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

Thanks for raising this. I've put in a fix and merged that to master. I don't have time to release a new version at the moment, but should be able to before too long.


Added a plan file option to the web UI

I've been working on using Magpie to export a plan file, so this adds a way to load a plan file to the web UI. I'm definitely open to suggestions on how to do this better.
What I have so far is live at https://dev.magpietracker.us/ if you're curious - right click a check, click the little right arrow, select an item to go there. Once you've placed the items you want to, go to the Plandomizer tab in the lower right underneath the item tracker and click Export as Plan. It's pretty basic, but it's a start.

I fleshed this out a bit - just let me know if it's lacking anything you'd like to see.

any chance for this being merged? I got something I want to try out, and plando would really help me for that

+1, but only because i like it in general.

other projects have been keeping me busy. Just took a look at it. The concept is fine, but I don't think it should be as prominent on the "main" page, as it's quite a "special" feature.

Would you want a totally separate page, or just to make it less prominent? It could go in a collapsable container, maybe?

Not sure, I'm open for suggestions.

I could see it being on the main page but something small you can expand, maybe a little nondescript icon?
Another option might be a separate page that accepts a short string and a plan file, similar to the multiworld generator.

I think a 2nd page would be best, it's quite a complicated feature to use unless someone else gives you a file. And at that point they can also point you to that page.

Sounds good, I'll rework it.

Okay, that should do it.


export and update images

currently, images are not supported. let's fix this!

https://developer.atlassian.com/confdev/confluence-rest-api/confluence-rest-api-examples
=> upload an attachment

progress! Got my code for uploading an image patched together...!

would it be possible to push this code to upload images/attachments? it would be highly appreciated :)

sorry, just noticed that this project is still alive.
The code has been transfered to https://github.com/docToolchain/docToolchain/blob/master/scripts/asciidoc2confluence.groovy
it is now part of docToolchain
hope this helps :-)


Confusing package description

Hi! The current package description

Send mail without SMTP server

is very confusing, because from the readme it seems like this package does indeed need an SMTP server that it can talk to over TCP.
I have a linux setup with the usual sendmail command installed system-wide in a way that every usual application (e.g. cron, PHP, Perl) can use it to send mail, even when I'm offline. It just stores the files in my outbox queue file, no TCP networking involved (not even to localhost) while offline. I had hoped your package would provide that for Node.js. However, if it would, the SMTP options wouldn't make sense, so I guess it's an SMTP client of sorts.

node-sendmail
Send mail without SMTP server

"Error: can not connect to any SMTP server"

This package lets you send emails without installing/running separate SMTP server software (e.g. postfix) or integrating email providers (e.g. Sendgrid). The receipient still needs an SMTP server to receive the emails.
node-sendmail is itself an SMTP client.

node-sendmail is itself an SMTP client.

Thanks for the clarification. Then let's hope someone will update the readme soon.


added security note to README

actually nevermind I'll drop it in :)

@dburles thanks for syntax update


FastNoiseLite.hlsl mixed-up comment Defaults

/**
     * The distance function used in cellular noise calculations.
     * @remark Default: FNL_CELLULAR_FUNC_DISTANCE
     */
    fnl_cellular_distance_func cellular_distance_func;

    /**
     * The cellular return type from cellular noise calculations.
     * @remark Default: FNL_CELLULAR_RETURN_TYPE_EUCLIEANSQ
     */
    fnl_cellular_return_type cellular_return_type;

"DISTANCE" and "EUCLIDEAN" seem to be swapped. Haven't checked if other languages have the same issue.

Yeah that look like a find and replace mistake

I just noticed the same in the C bindings.