Refactor preflight validations so remediation steps can be printed

Issue #, if available:
Description of changes:
Reorganize preflight validations so that we have only the runner that processes the validations, allowing for each preflight validation to be separate and have the remediation steps print, which was not printed before.
Before:
Performing setup and validations
✅ Connected to server
✅ Authenticated to vSphere
✅ Datacenter validated
✅ Network validated
Warning: VSphereMachineConfig MemoryMiB for etcd machines should not be less than 8192. Defaulting to 8192
Warning: Your VM template includes snapshot(s). LinkedClone mode will be used. DiskGiB cannot be customizable as disks cannot be expanded when using LinkedClone mode. Using default of 25 for DiskGiBs.
Warning: Your VM template includes snapshot(s). LinkedClone mode will be used. DiskGiB cannot be customizable as disks cannot be expanded when using LinkedClone mode. Using default of 25 for DiskGiBs.
✅ Datastore validated
✅ Folder validated
✅ Resource pool validated
✅ Datastore validated
✅ Folder validated
✅ Resource pool validated
✅ Machine config tags validated
✅ Control plane and Workload templates validated
Provided sshAuthorizedKey is not set or is empty, auto-generating new key pair...	{"vSphereMachineConfig": "demo2-cp"}
Private key saved to demo23/eks-a-id_rsa. Use 'ssh -i demo23/eks-a-id_rsa <username>@<Node-IP-Address>' to login to your cluster node
❌ Validation failed	{"validation": "vsphere Provider setup is valid", "error": "searching eksa VSphereMachineConfigResponse: The connection to the server localhost:8080 was refused - did you specify the right host or port?\n", "remediation": ""}
✅ Validate certificate for registry mirror
✅ Validate authentication for git provider
✅ Validate gitops
✅ Validate identity providers' name
❌ Validation failed	{"validation": "create preflight validations pass", "error": "validation failed with 3 errors: getting clusters: The connection to the server localhost:8080 was refused - did you specify the right host or port?\n,getting clusters crd: The connection to the server localhost:8080 was refused - did you specify the right host or port?\n,getting eksa cluster: The connection to the server localhost:8080 was refused - did you specify the right host or port?\n", "remediation": ""}
Error: validations failed

After:
Performing setup and validations
✅ Connected to server
✅ Authenticated to vSphere
✅ Datacenter validated
✅ Network validated
Warning: VSphereMachineConfig MemoryMiB for etcd machines should not be less than 8192. Defaulting to 8192
Warning: Your VM template includes snapshot(s). LinkedClone mode will be used. DiskGiB cannot be customizable as disks cannot be expanded when using LinkedClone mode. Using default of 25 for DiskGiBs.
Warning: Your VM template includes snapshot(s). LinkedClone mode will be used. DiskGiB cannot be customizable as disks cannot be expanded when using LinkedClone mode. Using default of 25 for DiskGiBs.
✅ Datastore validated
✅ Folder validated
✅ Resource pool validated
✅ Datastore validated
✅ Folder validated
✅ Resource pool validated
✅ Machine config tags validated
✅ Control plane and Workload templates validated
Provided sshAuthorizedKey is not set or is empty, auto-generating new key pair...	{"vSphereMachineConfig": "demo2"}
Private key saved to demo23/eks-a-id_rsa. Use 'ssh -i demo23/eks-a-id_rsa <username>@<Node-IP-Address>' to login to your cluster node
❌ Validation failed	{"validation": "vsphere Provider setup is valid", "error": "searching eksa VSphereMachineConfigResponse: The connection to the server localhost:8080 was refused - did you specify the right host or port?\n", "remediation": ""}
✅ Validate certificate for registry mirror
✅ Validate authentication for git provider
❌ Validation failed	{"validation": "validate cluster name", "error": "getting clusters: The connection to the server localhost:8080 was refused - did you specify the right host or port?\n", "remediation": ""}
✅ Validate gitops
✅ Validate identity providers' name
❌ Validation failed	{"validation": "validate management cluster has eksa crds", "error": "getting clusters crd: The connection to the server localhost:8080 was refused - did you specify the right host or port?\n", "remediation": ""}
❌ Validation failed	{"validation": "validate management cluster name is valid", "error": "getting eksa cluster: The connection to the server localhost:8080 was refused - did you specify the right host or port?\n", "remediation": "Specify a valid management cluster in the cluster spec. This cannot be a workload cluster that is managed by a different management cluster."}
Error: validations failed

Testing (if applicable):
unit testing and functional tests
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/approve


fix: don't call the callback synchronously on watcher init

This makes xev.TtyWatcher behave according to my expectations: namely that the callback will only fire after the function which registers it has returned.

Thanks!


Orderby has been overriden by Distinct

I have tested using .NET Core 3.1.4 and Distinct, as per described in MSDN, will return an unsorted collection overriding previous OrderBy. This could confuse newbies like me to fully understand the goal behind sorting genres. For better understanding I suggest to remove orderby m.Genre line.
Happy coding !

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

ID: f9b9859c-b83c-5fc3-41d5-15531232185f
Version Independent ID: 5438de31-8562-3747-d1a5-2a4622252fc1
Content: Add search to an ASP.NET Core MVC app
Content Source: aspnetcore/tutorials/first-mvc-app/search.md
Product: aspnet-core
Technology: aspnetcore-tutorials
GitHub Login: @Rick-Anderson
Microsoft Alias: riande

The tutorial works. I'm not sure what step you missed. You might try asking on StackOverflow,.


Bluetooth: Disabling BT_DEBUG_LOG doesn't disable logs

Describe the bug
When CONFIG_BT_DEBUG_LOG is not enabled, the log level (CONFIG_BT_HCI_DRIVER_LOG_LEVEL) of Bluetooth drivers can actually increase.
Disabling CONFIG_BT_DEBUG_LOG results in BT_DEBUG not being defined, resulting in BT_HCI_DRIVER not being defined. https://github.com/zephyrproject-rtos/zephyr/blob/bc5fbc929bb805e3c562c7280dd02a6f9f1f9087/subsys/bluetooth/common/Kconfig#L382-L385
This logging level is used in quite a few locations, for example:
https://github.com/zephyrproject-rtos/zephyr/blob/bc5fbc929bb805e3c562c7280dd02a6f9f1f9087/subsys/bluetooth/controller/hci/hci.c#L97-L99
Because of the behaviour of the logging subsystem when log levels are undefined, in the general case the logs will go to LOG_LEVEL_INF:
https://github.com/zephyrproject-rtos/zephyr/blob/bc5fbc929bb805e3c562c7280dd02a6f9f1f9087/include/zephyr/logging/log.h#L290-L293
https://github.com/zephyrproject-rtos/zephyr/blob/bc5fbc929bb805e3c562c7280dd02a6f9f1f9087/subsys/logging/Kconfig.filtering#L13-L19
To Reproduce
Modify samples/bluetooth/scan_adv/prj.conf with
CONFIG_LOG=y
# CONFIG_BT_DEBUG_LOG=y

west build -b nrf52840dk_nrf52840 zephyr/samples/bluetooth/scan_adv/
Expected behavior
Disabling CONFIG_BT_DEBUG_LOG should not result in more logs being printed.
I'm not sure if CONFIG_BT_DEBUG_LOG even makes sense now in the context of logging transitioning to standard LOG_* calls in #51897
Impact
Annoyance
Environment (please complete the following information):

Zephyr v3.3

I confirm; this is undesirable behavior. The logging macros LOG_INF and the like should ultimately be controlled by the templated log configs. I suggest the following resolution:

Remove config BT_DEBUG. Assume BT_DEBUG=y when removing uses.
Move config BT_DEBUG_LOG out of choice BT_DEBUG_TYPE. config BT_DEBUG_LOG becomes the legacy symbol for templated log config "BT". Make choice BT_DEBUG_LOG select DEPRECATED.
Change/define meaning of choice BT_DEBUG_TYPE  to "BT_MONITOR output destination".
Change/define meaning of config BT_DEBUG_NONE to "No BT_MONITOR".

I think we should just remove config BT_DEBUG_LOG as well. It has no purpose after select BT_DEBUG is removed.


Custom Domain Support

It's really inconvenient to keep manually setting the domain on IBM Cloud's web UI for this. Seems their API already supports being able to do this. It's just not the most intuitive way.
I've managed to be able to hack it up by:

manually getting the routes after deploy

ow.routes.list({basepath:`/${this.serverless.service.service}`}).then(routes => { ... });

picking the first one under routes.apis and slicing the swagger doc part.

let swagger = routes.apis[0].value.apidoc;

then deleting the routes again and putting them back using the modified swagger doc ( https://github.com/apache/incubator-openwhisk-client-js#add-route-swagger)

ow.routes.delete({basepath:`/${this.serverless.service.service}`});
swagger['x-ibm-configuration'].custom_domain = { domain: "yourdomain.com", subdomain: "api" };
ow.routes.create({ swagger: swagger });

If the plug-in generates the minimal swagger doc and uploads it instead of posting individual routes it could remove an api request per route. It could also pave the way for supporting custom domains.
I'm fairly new to node.js that's why there's no PR yet. Hoping somebody could add the support.

Thanks for reporting this and the details that help me understand how to fix this.
I'll have a look over the next few weeks and see if I can submit a PR to resolve this.


Add Real-Time Optimization Feature to TensorFlow Grappler Optimizers

Description
This pull request introduces a Real-Time Optimization feature to the TensorFlow Grappler optimizers. The primary goal of this feature is to provide dynamic, real-time optimization of computational graphs, which can significantly enhance the performance of models during runtime. Below is a summary of the changes made:
Key Features:
•	Real-Time Optimizer Implementation: Introduced a new RealTimeOptimizer class that dynamically adjusts graph optimizations based on runtime metrics.
•	Integration with Meta Optimizer: The RealTimeOptimizer is integrated with the existing meta optimizer framework, allowing it to be seamlessly used alongside other Grappler optimizers.
•	New Optimization Strategies: Added support for several new optimization strategies that are triggered based on real-time performance metrics such as memory usage, computation time, and hardware utilization.
•	Comprehensive Unit Tests: Created generic_layout_optimizer_test to validate the new optimizer’s functionality and integration with the existing TensorFlow framework. These tests ensure the stability and performance of the optimization process under various conditions.

Benefits:
•	Improved Model Performance: By optimizing the graph in real-time based on current system metrics, this feature can help in achieving better resource utilization and faster computation times.
•	Flexibility and Adaptability: The optimization strategies can adapt to different hardware setups, making TensorFlow more versatile in handling diverse environments.
•	Backward Compatibility: The feature is designed to be fully backward compatible, ensuring no breaking changes to existing workflows.

Testing:
•	All existing and new tests pass successfully, confirming that the new feature does not introduce any regressions and works as intended.

Next Steps:
•	Review and merge the changes into the main branch.
•	Monitor the usage of the new optimizer and gather feedback from the community to further refine and enhance its capabilities.

Hi @ezhulenev,  Can you please review this PR? Thank you !

Hi @ezhulenev, Can you please review this PR? Thank you !

Hi @ezhulenev, Can you please review this PR? Thank you !

Hi @matthew-fitzgerald123, Can you please resolve the conflicts? Thank you!


Update how-tos-restore-deleted-flow.md

@kisubedi : Thanks for your contribution! The author(s) have been notified to review your proposed change.


Web Support

Is your feature request related to a problem? Please describe.
Currently (as far as I know) this tool doesn't work with web builds - which would be cool functionality to have. The current error message if you just tried to do this today is:
/C:/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/convenient_test_dev-1.2.0/lib/src/functions/core.dart:138:75: Error: The getter 'basedir' isn't defined for the class 'LocalFileComparator'.
 - 'LocalFileComparator' is from 'package:flutter_test/src/_goldens_web.dart' ('/C:/flutter/flutter/packages/flutter_test/lib/src/_goldens_web.dart').
Try correcting the name to the name of an existing getter, or defining a getter or field named 'basedir'.
      'comparator.basedir=${(goldenFileComparator as LocalFileComparator).basedir}');

Describe the solution you'd like
Ideally something similar to what exists for other platforms (just flutter run with some args), although remains to be seen if its possible with web.
Describe alternatives you've considered
The alternative would be to just run your integration tests on say a large format desktop platform (windows/mac/linux) and hope that there's nothing web specific that breaks your app. Honestly this is probably fine, but would be cool to investigate this to see.
I haven't yet read through your contribution docs/general design but will take a look when I next get some time to see how this is approached.

For future readers: https://github.com/fzyzcjy/flutter_rust_bridge/issues/760#issuecomment-1264589733

As mentioned earlier, you may do this by disabling or porting some functionalities.
Looking forward to your PR :)

Done some more research and the current culprit seems to be that the GoldenComparator is unsupported for Web. I noticed this from the documentation of goldens_web in flutter and seems to track from here  - there seems to be some difficulty getting consistent screenshots in flutter web.
The file in question can be seen in flutter\packages\flutter_test\lib\src_goldens_web.dart and the telling docstring is the following description of LocalFileComparator
/// An unsupported [GoldenFileComparator] that exists for API compatibility.
class LocalFileComparator extends GoldenFileComparator {

I'm assuming that your library heavily uses these comparators for checking the correctness of widgets? If that is the case then I think this issue would be blocked by that upstream problem.

That is optional feature. If you never compare goldens when you use the convenient_test then it is no problem to remove it :) (But I personally use it a lot)

As you'll see in my initial investigation above, it looks like the only supported way to run integration tests on flutter web at the moment is through flutter drive and something like ChromeDriver. This seems like a pretty big obstacle at the moment to getting this working.
I think our current options to recommend are either:

Just do your UI/e2e tests in something like windows/android and assume it carries over to web
Use only the base integration test library and hence lose the benefit of this tool

Let me know if you have other ideas - you are much more experienced than I am.

This tool is based on integration test. So maybe we can do this:

Use it normally in android/ios
In Web, reduce some features of flutter_convenient_test, then run this reduced version

So I think the problem is that only flutter drive is supported, which acts a bit like flutter test in that is just runs through the tests once with no way to communicate with the manager.
Potentially the manager could have some option added that allows it to call this command in a directory to get a visual report of the tests passing/failing.
I think you would still need ChromeDriver however.
Currently if you did flutter run, there's an error about frames being painted, even with goldens removed. You can check it out in my fork if you like - just need to make sure you're on master version of flutter (doesn't work at all on stable, see issue in the fork)

IMHO convenient_test consists of several parts. One part is that manager drives worker, but that part may be removed for web.

That's a good idea. We could try to at least keep the same code as used for the other devides' tests (or as close as possible), that can then be run with flutter drive.
I'll take a look at that when I'm next working on it!


bugfix:update pk value

Ⅰ. Describe what this PR did
Forbidding execute SQL which updates pk value.
Ⅱ. Does this pull request fix one issue?
#3066
Ⅲ. Why don't you add test cases (unit test/integration test)?
Ⅳ. Describe how to verify it
Ⅴ. Special notes for reviews

Codecov Report

Merging #3129 into develop will decrease coverage by 0.09%.
The diff coverage is 82.14%.

@@              Coverage Diff              @@
##             develop    #3129      +/-   ##
=============================================
- Coverage      50.58%   50.48%   -0.10%
- Complexity      3105     3107       +2
=============================================
  Files            599      599
  Lines          19514    19494      -20
  Branches        2408     2365      -43
=============================================
- Hits            9871     9842      -29
+ Misses          8651     8637      -14
- Partials         992     1015      +23

Impacted Files
Coverage Δ
Complexity Δ

.../rm/datasource/exec/BaseTransactionalExecutor.java
61.24% <ø> (+3.10%)
29.00 <0.00> (+2.00)

...ta/rm/datasource/exec/AbstractDMLBaseExecutor.java
74.46% <57.14%> (-1.15%)
11.00 <4.00> (+2.00)
:arrow_down:

...o/seata/rm/datasource/exec/BaseInsertExecutor.java
71.89% <87.50%> (ø)
83.00 <5.00> (ø)

.../seata/rm/datasource/exec/MultiUpdateExecutor.java
76.31% <100.00%> (+0.31%)
12.00 <0.00> (ø)

...va/io/seata/rm/datasource/exec/UpdateExecutor.java
81.81% <100.00%> (ø)
11.00 <0.00> (ø)

...obuf/convertor/BranchRegisterRequestConvertor.java
90.47% <0.00%> (-9.53%)
3.00% <0.00%> (ø%)

...otobuf/convertor/BranchReportRequestConvertor.java
90.90% <0.00%> (-9.10%)
3.00% <0.00%> (ø%)

...obuf/convertor/BranchRollbackRequestConvertor.java
92.00% <0.00%> (-8.00%)
3.00% <0.00%> (ø%)

...otobuf/convertor/GlobalBeginResponseConvertor.java
92.59% <0.00%> (-7.41%)
3.00% <0.00%> (ø%)

...otobuf/convertor/GlobalCommitRequestConvertor.java
93.75% <0.00%> (-6.25%)
3.00% <0.00%> (ø%)

... and 34 more

Codecov Report

Merging #3129 into develop will increase coverage by 0.01%.
The diff coverage is 82.14%.

@@              Coverage Diff              @@
##             develop    #3129      +/-   ##
=============================================
+ Coverage      50.38%   50.39%   +0.01%
- Complexity      3116     3120       +4
=============================================
  Files            594      594
  Lines          19632    19639       +7
  Branches        2442     2442
=============================================
+ Hits            9891     9898       +7
+ Misses          8747     8746       -1
- Partials         994      995       +1

Impacted Files
Coverage Δ
Complexity Δ

.../rm/datasource/exec/BaseTransactionalExecutor.java
61.24% <ø> (+3.10%)
29.00 <0.00> (+2.00)

...ta/rm/datasource/exec/AbstractDMLBaseExecutor.java
74.46% <57.14%> (-1.15%)
11.00 <4.00> (+2.00)
:arrow_down:

...o/seata/rm/datasource/exec/BaseInsertExecutor.java
71.89% <87.50%> (ø)
83.00 <5.00> (ø)

.../seata/rm/datasource/exec/MultiUpdateExecutor.java
76.31% <100.00%> (+0.31%)
12.00 <0.00> (ø)

...va/io/seata/rm/datasource/exec/UpdateExecutor.java
81.81% <100.00%> (ø)
11.00 <0.00> (ø)

...o/seata/server/coordinator/DefaultCoordinator.java
54.63% <0.00%> (-0.52%)
28.00% <0.00%> (-1.00%)

...in/java/io/seata/server/session/GlobalSession.java
82.43% <0.00%> (-0.46%)
70.00% <0.00%> (-1.00%)


Update Single-file actor docs

https://apifier.slack.com/archives/C0L33UM7Z/p1652778044159359

Or remove? https://blog.apify.com/single-javascript-file-actors-are-being-deprecated/

Closing, duplicate of https://github.com/apify/apify-core/issues/4859


Option to ignore/skip symbolic links

Currently AntiDupl includes symbolic links in the deduplication. An option to ignore/skip symlinks would be great as symbolic links aren't actual files.

Seconding this, I've had matches on links and accidentally deleted the source image, meaning I no longer have a copy of that image anymore.  Being able to ignore links would be great, because I create index folders with a sample image from each subfolder.
The alternative would be to add the ability to not scan a folder with a certain name pattern (in my case *.idx), but I think ignoring symlinks (and junctions, shortcuts, etc) would be safer and more useful.


build: Allow any host header for webpack devserver

This allows for webpack to serve tunneled requests where the hostname isn't localhost

I'm going to merge this in without review as I need it for my local development and it doesn't touch user code.


Sparse input matrices are not supported in batchnorm operator when fix_gamma=True

As title.

Suggested label: Feature Request

#11631


feat/support spawn animation and effects

implement a new way to spawn effects and animations on avatar loaded.
https://github.com/readyplayerme/visage/assets/18527021/e59d6bbf-3e1b-4901-9218-508916659632

I think we can point this against main branch now


Risk Management template edits

The Comms team has made edits to the Risk Management template. Please use this issue to track any comments or queries of the changes.
Please note that I (Selina) have made comments throughout the document, but I've also added minor edits (punctuation or typo corrections) without tracking (it's quite hard to track on a spreadsheet). Please copy or re-upload this document, rather than make the edits in the comments to a different document.
The edited template can be found in Google Drive: https://docs.google.com/spreadsheets/d/1qYBB6jRJDZefpA_iK_rX6w9sQVuLEuDI/edit#gid=1607530999

Copy and changes at - https://docs.google.com/spreadsheets/d/1HU_1UP3aLNozHnJf8GSxY0N9RDbq7fDk/edit#gid=1607530999


Taint of the ionoscloud_server resource dosn't remove the old volume Instead its dangling around without server

Description
Today during tests i had to rebuild a vm. I tainted the ionoscloud_server resource. With the next apply, terraform destroys the old server and nic and creates a new nic, a new volume and a new server. But it dosn't create the old volume. The old volumes will be dangling around in the dcd without a server attached to it. I would expect that when i taint the resource, the volume is deleted and recreated as well.
Expected behavior
Taint a ionoscloud_server will also delete and recreate the current disk volume and not preserve the volume without any server
Environment
Terraform version:
Terraform v1.5.0

Provider version:
+ provider registry.terraform.io/hashicorp/cloudinit v2.3.2
+ provider registry.terraform.io/hashicorp/local v2.4.0
+ provider registry.terraform.io/hashicorp/random v3.5.1
+ provider registry.terraform.io/hashicorp/tls v4.0.4
+ provider registry.terraform.io/ionos-cloud/ionoscloud v6.4.0

OS:
Ubuntu 20.04

Configuration Files

How to Reproduce

Create a ionoscloud_server
Taint the resource
Find the dangling volume from the original deployment

References
server resource

should be fixed in v6.4.1


只能遍历100页是 GitHub API 限制了

译者注：我爬了100页并没有被阻止。从 101 页开始就变成了 404 页面，或许通过页面下方的页码进行遍历会更合理

每个搜索只能最多得到 1000 个结果，所以从页面下方遍历也只能提取到100页。详见 https://developer.github.com/v3/search/

The Search API helps you search for the specific item you want to find. For example, you can find a user or a specific file in a repository. Think of it the way you think of performing a search on Google. It's designed to help you find the one result you're looking for (or maybe the few results you're looking for). Just like searching on Google, you sometimes want to see a few pages of search results so that you can find the item that best meets your needs. To satisfy that need, the GitHub Search API provides up to 1,000 results for each search.

我们爬取的是页面，和开放 API 没有关系


[BUG] messages not visible on device (Bad MAC)

Describe the bug
Does anyone have this problem?
This Error make the messages not visible on device whatsapp like we are not sending anything.
I have tried doing a rescan, this problem was fixed for a while but the error returned again after a few hours,
Failed to decrypt message with any known session...
Session error:Error: Bad MAC Error: Bad MAC
at Object.verifyMAC (/home/container/node_modules/libsignal/src/crypto.js:87:15)
at SessionCipher.doDecryptWhisperMessage (/home/container/node_modules/libsignal/src/session_cipher.js:250:16)
at async SessionCipher.decryptWithSessions (/home/container/node_modules/libsignal/src/session_cipher.js:147:29)
at async Object.6289507840607.0 [as awaitable] (/home/container/node_modules/libsignal/src/session_cipher.js:171:28)
at async _asyncQueueExecutor (/home/container/node_modules/libsignal/src/queue_job.js:20:29)
Failed to decrypt message with any known session...
Session error:Error: Bad MAC Error: Bad MAC
at Object.verifyMAC (/home/container/node_modules/libsignal/src/crypto.js:87:15)
at SessionCipher.doDecryptWhisperMessage (/home/container/node_modules/libsignal/src/session_cipher.js:250:16)
at async SessionCipher.decryptWithSessions (/home/container/node_modules/libsignal/src/session_cipher.js:147:29)
at async Object.6289507840607.0 [as awaitable] (/home/container/node_modules/libsignal/src/session_cipher.js:171:28)
at async _asyncQueueExecutor (/home/container/node_modules/libsignal/src/queue_job.js:20:29)

Yes, it happen sometime. No idea how to fix, but afaik, this issue will resolved itself in 1-2 days. Rescan help for a while, but bad mac will eventually hit again until it resolve itself. I hope someone knows more about it


Updating Gradle (v1.3.0-beta4), adding/committing the Gradle wrapper …

…to git, and updating the Android library plugin. Also fixing/ignoring various lint errors.

@yinfeiru can you take a look at this ?

@yinfeiru any way we can update gradlew here?

@justincpollard thanks for the pr! since the lib has been changed a lot, I'll make a new pr and have your updates there.

@yinfeiru cool, thanks!


Proposal: blank imports of the embed package should not be lint errors

https://github.com/golang/go/wiki/CodeReviewComments#import-blank says

Packages that are imported only for their side effects (using the syntax import _ "pkg") should only be imported in the main package of a program, or in tests that require them.

however https://golang.org/pkg/embed/#hdr-Strings_and_Bytes says

The //go:embed directive requires importing "embed", even when using a string or []byte. In source files that don't refer to embed.FS, use a blank import (import _ "embed").

If we follow the current letter of the law, that arbitrarily limits embedding of strings and []bytes (but not embed.FSs) to main packages and tests.  This doesn't seem intentional.  I propose we special case the embed package here and allow blank imports of embed from any package.
Given https://github.com/golang/lint#scope, it sounds like we should update CodeReviewComments#import-blank to note this exception as well.  There is precedent for that doc having rules with clear exceptions.  For example:

Don't add a Context member to a struct type; instead add a ctx parameter to each method on that type that needs to pass it along. The one exception is for methods whose signature must match an interface in the standard library or in a third party library.

I think a simple update that explains the what and not the why would be sufficient. One only needs to read the documentation of the embed package to see why this exception makes sense.  Something like:

Packages that are imported only for their side effects (using the syntax import _ "pkg") should only be imported in the main package of a program, or in tests that require them. The embed package is an exception to this rule.

Oh, I just found https://github.com/golang/go/issues/38968, so nvm. Leaving this here for reference.

+1


Invoke-Item.Tests.ps1 should close test file

After a Start-PSPester, file testfile.txt is left open.
cc @ealexjordan @andschwa

The test start child powershell and then interactive process Notepad (it is a default assoc for .txt) which never stops(!) and keeps the file open. The test wait the child powershell process but not control Notepad. So the test really dont test Invoke-Item at all. Bug.
I suggest using a custom association for custom file ext:
$testfile = "testfile.!!testext!!"
remove-item $renamedtestfile
new-item $testfile
cmd.exe /c assoc !!testext!!=rename %0 $renamedtestfile
invoke-item $testfile
test-path $renamedtestfile | Should Be $true
cmd.exe /c assoc !!testext!!=

There is really nothing to be done about this. You cannot control the association in a cross platform manner, and as such you cannot know what process to kill. PowerShell delegates to cmd/xdg-open/open which then all launch what they determine to be the associated app. By the time the app is opened, PowerShell has zero knowledge of what it is.

The parent/child process relationship could be used. It's not 100% reliable on Windows (if the parent exits, you can draw false conclusions) but that shouldn't be a problem for us here.

Won't work for xdg-open, the parent of the spawned process is /sbin/upstart (in my quick test of a .txt file on Ubuntu 16.04).

(This is the expected behavior since xdg-open just starts the child process and immediately exits.)

I definitely remember having serious issues with this test, but it was written in response to a reported failure that was occurring on MacOS and Linux (and I believe Windows as well?).
The main problem I hit is that Invoke-Item has no return value, which means I can't get a PID back to close down what was opened. I can't guarantee the file association/process, nor do I think it's a good idea to alter those in any way on a user's system.
If anyone has an alternate solution, I think it would be fantastic, I agree it's not ideal at all.

I repeat to be exact...

Invoke-Item
Performs the default action on the specified item.

How to check the default action without knowing that this action is? No way!
The current test causes any unknown action. What if it's always print or beep? The current test will always be positive.
We need to know exactly the result to verify its correctness (more precisely, correctness of an action that would lead to it).
We can either figure out the default action from OS, or configure it. The first option cannot help us, because the default actions usually cause an interactive process, which we can't verify. (We can check that Word is started but what if the Word pop up a interactive window "Cannot open file" because of  Invoke-Item send broken file name?) The second option is useful to us, because we can set a specific action (for example, rename the file) and exactly check the result.
Of course we will have to make such a test separately for each platform. I can make PR for Windows now.


Proportional damping

This issue is intended for the discussion and decision on how (and if...) to implement the proportional damping coefficients "alpha" and "beta" on the code.
Currently it is made as an shaft_element property, and can be chosen arbitrarily as a adjustment parameter for fine tuning the model. Another proposition is to make it a material property, and give suggestions to the user as to an "standard" range for the values.

I agree.
We could add α and β parameters for both, material and shaft element. And then, adding to global damping matrix like:

Where, the first sum is the proportional damping related to the material properties of each element, and the second one, related to the element itself.

Hi there!
I have marked this issue as stale because it has not had activity for 45 days.
Consider the following options:

If the issue refers to a large task, break it in smaller issues that can be solved in
less than 45 days;
Label the issue as wontfix or wontfix for now and close it.

We are studying how (and if) we will implement this issue once again.

This has been implemented in the ShaftElement6DoF class.


ANGLE DLL's

Hi,
I understand in order to get ANGLE working you need the two dll's libEGL + libGLESv2 however Ive tried adding the dll's from the nugget packages mentioned here https://github.com/Microsoft/angle, however the sample app says they are not correct for application. Do the dll's come from somewhere else?

I currently use the Google branch of ANGLE. However, I think this is not the source of the problem.
What is the actual exception you get? Probably the error is caused by missing dependencies or architecture mismatch.

I'm not at computer at moment but is basically saying the EGL environment is not available. I.e no difference in error if I copy dlls to project bin folder or not. I've just started to try and compile googles ANGLE so will see if that makes any difference

Read the wiki:
https://github.com/luca-piccioni/OpenGL.Net/wiki/OpenGL-ES-using-ANGLE
Il gio 15 dic 2016, 09:44 Peter Tribe<EMAIL_ADDRESS>ha scritto:

I'm not at computer at moment but is basically saying the EGL environment
is not available. I.e no difference in error if I copy dlls to project bin
folder or not. I've just started to try and compile googles ANGLE so will
see if that makes any difference
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/luca-piccioni/OpenGL.Net/issues/29#issuecomment-267270408,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AEe6CUoGRRSTRsj1Pmrrm3kQ0cYpIQu5ks5rIP3igaJpZM4LNmTo
.

I read the wiki but got confused as search paths mentioned WinRT where I thought that was Arm based rather than 32/64 also wasn't sure if the Angle path was relevant to exe ...
Sent from my iPhone
On 15 Dec 2016, at 00:46, Luca Piccioni <notifications<EMAIL_ADDRESS>wrote:
Read the wiki:
https://github.com/luca-piccioni/OpenGL.Net/wiki/OpenGL-ES-using-ANGLE
Il gio 15 dic 2016, 09:44 Peter Tribe <notifications<EMAIL_ADDRESS>ha scritto:

I'm not at computer at moment but is basically saying the EGL environment
is not available. I.e no difference in error if I copy dlls to project bin
folder or not. I've just started to try and compile googles ANGLE so will
see if that makes any difference
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/luca-piccioni/OpenGL.Net/issues/29#issuecomment-267270408,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AEe6CUoGRRSTRsj1Pmrrm3kQ0cYpIQu5ks5rIP3igaJpZM4LNmTo
.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/luca-piccioni/OpenGL.Net/issues/29#issuecomment-267270762, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AAoCQ3RPKNk0nImwgrrr_yRtuYudU8Fsks5rIP5PgaJpZM4LNmTo.

The search path are relative to the current working directory. The directory structure is currently derived by the ANGLE output.
I've never tested on ARM architecture since I have no Win10 on ARM. However,  ANGLE is available for ARM also.

Still having problems getting ANGLE working.
I have created an archive of the HelloTraiangle.ANGLE sample https://www.dropbox.com/s/zgwymy9w1c4x11q/HelloTriangle.ANGLE.zip?dl=0
inside it in the bin\Debug folder you will see hello_triangle.exe which is a exe compiled from googles ANGLE + dependant dll's and runs fine.
However running the HelloTriangle.ANGLE.exe produces error "EGL/ANGLE platform not available"
Hope you can help...

You miss to build the directory tree for supporting ANGLE on x86/x64 - debug/release. See the picture: you need to provide ANGLE\winrt10\x64\libEGL.dll and ANGLE\winrt10\x64\libGLESv2.dll to support an EGL+GLES2  implementation. Files are relative to the current working directory, usually the executable path.
If you run on x86, you must provide ANGLE\winrt10\x86\ directory structure. Follow patterns found in wiki  to create the directory structure, and the provide the libraries specified in wiki platform page.
See the Egl source code.

Can you explain why it wasn't clear how the library loads ANGLE libraries? I tried to re-read the wiki, and it seems so clear to myself. :-/ Otherwise you can improve the wiki page, cannot you?

Ok ive now found out what was happening.. I was following the wiki, and trying all sorts of combinations but when I did try the potentially correct way as per wiki, I was using the nuget repo version of OpenGL .Net v0.3.3 which isn't working, using the compiled dll's from the git repository works.
Steps to reproduce open the Samples\HelloTriangle.ANGLE project, remove references to the OpenGL.Net + OpenGL.Net.Winforms then add the lastest version via nuget.

Investigated further and turns out the bind Api in Egl.cs below throws exception "unable to load library at libEGL.dll"
LogComment("Querying EGL from {0}", platformLibrary);
BindAPI(platformLibrary, OpenGL.GetProcAddress.GetProcAddressOS);
Due to error I thought maybe something wrong with the dll's compiled and made sure I generated the dll's as per... https://github.com/google/angle/blob/master/doc/BuildingAngleForWindowsStore.md
But kept getting same error. I have attached the ANGLE dll's ive compiled, can you verify with your own copy of the ANGLE dll's the above line does now throw exception...
https://www.dropbox.com/s/8jzbw5y3hhfw1sh/ANGLE.zip?dl=0

Further findings and I'm not sure if this is to be expected in private static void BindAPIFunction(string path, FunctionContext functionContext, FieldInfo function, GetAddressDelegate getAddress) for KhronosApi.cs the line importAddress = getAddress(path, importName); throws exception due to eglSetBlobCacheFuncsANDROID not available

Just downloaded you ANGLE (please, use github attachments: dropbox is sooo slow). They substitute my precompiled libraries, HelloTriangle.ANGLE is not running because it complains a missing msvcp140D_APP.dll!!`. I suppose because you're following another build target (I'm running on Windows 7; I don't know what WindowsStore is).
Indeed I cannot help you directly. Normally any error on loading library is when the library is dependent on another library: in this case you should load it manually before loading libEGL.dll (this is the case of EGL on Raspberry PI).
A lot of function pointers could be null. Loading is performed using P/Invoke: how an exception is thrown? Can you give me the exact exception information (i.e. the ToString() output, which should include stacktrace and messages)?


Docs: Troubleshooting guide during initial DNS/letsencrypt propagation delay, with pointers to logs

When accessing to either Prometheus or Kibana I get a 500 error as shown below.

The ingress controller outputs:
2018/11/29 01:09:57 [error] 546#546: *5032 kibana.REDACTED.com could not be resolved (110: Operation timed out), client: <IP_ADDRESS>, server: kibana.REDACTED.com, request: "GET / HTTP/2.0", subrequest: "/_external-auth-Lw", host: "kibana.REDACTED.com"
2018/11/29 01:09:57 [error] 546#546: *5032 auth request unexpected status: 502 while sending to client, client: <IP_ADDRESS>, server: kibana.REDACTED.com, request: "GET / HTTP/2.0", host: "kibana.REDACTED.com"

Could it be a DNS propagation issue?
I can access to the directly via port-forwarding and the ingresses seem to be in place
$ k get ingress
NAME                        HOSTS                                               ADDRESS        PORTS     AGE
cm-acme-http-solver-57ltn   prometheus.REDACTED.com                            <IP_ADDRESS>   80        27m
kibana-logging              kibana.REDACTED.com,kibana.REDACTED.com           <IP_ADDRESS>   80, 443   29m
prometheus                  prometheus.REDACTED.com,prometheus.REDACTED.com   <IP_ADDRESS>   80, 443   29m

Note: I am using AKS with versions:
$ k version
Client Version: version.Info{Major:"1", Minor:"12", GitVersion:"v1.12.2", GitCommit:"17c77c7898218073f14c8d573582e8d2313dc740", GitTreeState:"clean", BuildDate:"2018-10-24T06:54:59Z", GoVersion:"go1.10.4", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"9", GitVersion:"v1.9.11", GitCommit:"1bfeeb6f212135a22dc787b73e1980e5bccef13d", GitTreeState:"clean", BuildDate:"2018-09-28T21:35:22Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"linux/amd64"}

Things to Do:

[ ] Troubleshooting DNS - @sameersbn
[ ] Troubleshooting Lets Encrypt - @falfaro

Yes, I think this is a DNS propagation issue (assuming this was soon-ish after BKPR was newly installed).
In particular kibana.REDACTED.com resolves for me now (kibana.REDACTED.com has address <IP_ADDRESS>), and when I point my browser there I get the expected redirect to Azure oauth login.
How long after installing BKPR was this?
From memory, it can take something like 10mins for external-dns+cert-manager to finish doing their things, but I think that also depends on SOA negative ttl values, and whether you added the glue records before letsencrypt tried to lookup the new domain, etc.
I think we should definitely add a troubleshooting doc describing how to follow the various (legitimate) delays in the TLS setup and reassure yourself that everything is working, because I suspect this will be a FAQ.

I also ran into the same problem and had to manually added the dns entries (both A record and Txt record), same issue happens with both latest release and dev branch. Perhaps it has something to do w/ the version of aks (1.9.11),

We need to add some hints on the troubleshooting documentation about DNS and this issue in particular.

👍 we're working on a 'debugging' guide for cert-manager that should help here too. Perhaps we can 'dedupe' some of this information and add a guide upstream?

@munnerz that would be great!  Fwiw, we currently use http challenges, but we should switch to DNS asap. This will also be slightly simpler (and more robust) when it comes to debugging.


feat: resizable sidebar

#119
The sidebar becomes resizable and the width is maintained until the session expires.

Thank you for your contribution! Will check it out in the coming days as I’m away for a little bit. On Oct 29, 2022, at 12:07 PM, a-f-may @.***> wrote:#119
The sidebar becomes resizable and the width is maintained until the session expires.
You can view, comment on, or merge this pull request online at:
  https://github.com/brettchalupa/graphql-docs/pull/126
Commit Summary
53a7020  feat: resizable sidebar
d9ebeb3  fix: Set limit the resizable range of sidebarw
9ecbe94  feat: resizable sidebar
File Changes  (1 file)
M
lib/graphql-docs/layouts/default.html
(21)

Patch Links:
https://github.com/brettchalupa/graphql-docs/pull/126.patch
https://github.com/brettchalupa/graphql-docs/pull/126.diff
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you are subscribed to this thread.Message ID: @.***>

@brettchalupa thanks! That sound better. Please go ahead with it.


Fix choo/http usage example in README.md

Hi! Awesome framework!
I found an error in the effects example in the readme.
The xhr docs state that the payload should be passed to the json parameter.
https://github.com/Raynos/xhr#optionsjson
Maybe it depends on the version of xhr ? I got version 2.2.2 installed.
First time I'm using raynos/xhr, had to step through the debugger to find what I was doing wrong =P
Hope this helps,
Cheers

Ohey, yeah you're right! Thanks heaps :grin:


Slayer helm not visible when eqipped.

Type
Incorrect behavior
Operating System
Windows
OS Version
Windows 11
Bug description
When equipping the slayer helmet(i), there is a flash but then my characters head is visible as if no helmet was equipped. Tested on official client and helm is visible, checked GPU plugin on and off, 117 HD plugin on and off aswell.
Screenshots or videos

RuneLite version
Runelite Version : 1.10.5
Launcher Version : 2.6.4

Logs
No response

Run the client in safe-mode, that will disable all plugin-hub plugins. And see if the issue still occurs.
Afterwards, I  would probably delete the cache, and back up plugin data & settings if safe-mode does not work.

You have some hub transmog plugin enabled.

As noted above you had the hub plugin Fashionscape installed, which very likely was causing this issue.


Incorrect attribution of code and copyright

Hello team! I noticed that proper attribution to Risc0 and Valida were removed along with the copyright from files where code was taken from the previously stated projects.
I suggest remedying this as this is a direct violation of their licenses and copyright.

+1

Added acknowledgments back to README. We're very happy to provide proper attribution, please let us know if there are particular places in the codebase that come to mind and feel free to make PRs.


Categorization of question types

Hello, thank you for sharing the great work!
I find the published DROP/HotpotQA subset datasets very useful for my own project and would love to use those. Thank you for sharing these too.
By the way, in the paper I find the questions are categorized into Diff/Comp/Cmpl classes and the numbers are reported based on those.
I would like to do the same but cannot find those class labels in the files.
Could those infos be available as well?
Thanks!

@masashi-y Thank you for your interest. I have uploaded the evaluation partitions of the DROP dataset at:
https://ai2-public-datasets.s3.amazonaws.com/modularqa/drop_partitions.zip
Also added to README

Thank you!


swipe conflict with pinch

I am using the hammerjs swipe event and get problems in combination with native zoom (pinch).
In a web application I allow users to scroll:
<meta name="viewport" content="width=device-width, initial-scale=1" />

And navigate with AJAX through my pages on swipe:
var $body = $("body");
var bodyHammer = new Hammer($body[0]);
bodyHammer.on("swipe", function(event){
	// my logic ...
});

However, this causes a usability issue. When users try to zoom-in on e.g. iPads, they don't want to trigger the swipe. Instead they just want to zoom the page. But unfortunately this often causes a swipe to get triggered, especially if you zoom-in horizontally.
Firstly I thought using the pointers option with the value 1 like described in the doc would solve the problem, but it doesn't. I didn't understand why swipe was getting triggered even when swiping with two fingers (if set the pointers value to 1).
Then I thought setting a flag on pinch could solve my issue. So I tried setting:
var $body = $("body");
var bodyHammer = new Hammer($body[0]);
var isPinching = false;
bodyHammer.on("pinchstart", function(event){
	isPinching = true;
});
bodyHammer.on("pinchend", function(event){
	isPinching = false;
});
bodyHammer.on("swipe", function(event){
	if(isPinching){
		return;
	}
	// my logic ...
});

After finding out that I need to enable the pinch event (https://github.com/hammerjs/hammer.js/issues/870) that worked for me. But this caused the side-effect that I wasn't able to scroll down the page (https://github.com/hammerjs/hammer.js/issues/691). But thanks to the idea of @lostPixels I was able to solve the problem with yet another idea:
var $body = $("body");
var bodyHammer = new Hammer($body[0]);
var touchFingers = 1;
$body.on("touchstart", function(event){
	touchFingers = event.originalEvent.touches.length;
});
bodyHammer.on("swipe", function(event){
	if(touchFingers > 1){
		return;
	}
	// my logic ...

Yup :bowtie:
Because:

I want to bring up the question why a swipe-event is getting fired when using the option pointers with value 1 and swiping with two fingers?
If 1. is not a bug, I want to share my use case and fix for others experiencing the same issue and maybe initiate a fix to support native zoom (like on the iPad).

Cheers.

This is the same bug as in #859 #769 and #811

I am sorry but I can't see any same bugs in this issues. Could you please explain what bug you are talking about?
If there are these three closed issues that may be related, why is this issue still present?

None of those three is closed, they are all open and actively being worked on.  The issue is that event.pointers.length never gets reduced when a pointer is removed from the screen.

I've missread this. You are right, they're all open.
Even if this is the same bug, I still hope that someone is experiencing the same issue and this helped anyway. :sunglasses:

Hello,
I have a problem on my galaxy S4 Android device: touchstart never fires.
Do you know why?
Is there another solution possible without touchstart event?
Thank You

@bikb Do you have any keyboard connected?
I had such an issue on a Windows 10 tablet with MS Edge. I couldn't solve it, so I supported mouse events too.

No I don't have.

Reopening this as it's representative of an issue we may still have and need to fix in 2.1

I solved this issue by blocking pan / swipe for a certain time (300ms) after / during pinch:
During any pinch event, I do
  lastPinchTime = Date.now();

During pan / swipe, I do:
 if (Date.now()-lastPinchTime < 300) {
       console.log("Ignored pan after pinch!");
       break; // or return
 }

Works perfectly for me. But of cause, this should be part of the library.


[Gitlab] Add 17.1

https://gitlab.com/gitlab-org/gitlab/-/releases/v17.1.0-ee
https://about.gitlab.com/releases/2024/06/20/gitlab-17-1-released/

see #5328


Update limits-and-config.md

Added the language of "expiration" and "expire"

@ChrisGarty : Thanks for your contribution! The author(s) have been notified to review your proposed change. @msftman

@ChrisGarty : Thanks for your contribution! The author(s) have been notified to review your proposed change. @msftman

@ChrisGarty : Thanks for your contribution! The author(s) have been notified to review your proposed change. @msftman

@ChrisGarty : Thanks for your contribution! The author(s) have been notified to review your proposed change. @msftman

@MSFTMan : Thanks for your contribution! The author(s) have been notified to review your proposed change. @msftman


Updated card no on page

Previously it was showing more cards than the objects in array

Want to talk about search feature

It only fetches data from loaded user cards. I want it to search every single user from users api

@Ashutosh0602 can you fix that

@hellofaizan It's already fetching all data from users.json file.
Is there any other route to fetch data?

@Ashutosh0602 What I want to say is the search field, it fetches data from users.json but when we search for a user who has not been loaded yet due to pagination, it doesn't load that user data.

@Ashutosh0602 What I want to say is the search field, it fetches data from users.json but when we search for a user who has not been loaded yet due to pagination, it doesn't load that user data.


Upgrading to latest doctrine version

Is that possible to upgrade to the most recent version of doctrine ?

Yes. By "doctrine" you mean the ORM (https://github.com/doctrine/doctrine2), which is currently at 2.6.2?
I suppose I could bump the version numbers to follow those of Doctrine releases, more or less.

Yes it is the 2.6 orm module

So what's up? Are you encountering some issues?

Not so much of an issue per se. It has more to do with aesthetics and vulnerability concerns. PHP 5.6, for which Doctrine is written, has its end of life December 31, 2018. That's right around the corner.
If Doctrine changes to PHP ^7.1 syntax - which I definitely think it should - this library has to be overhauled completely in the future.
Additionally, a driver is written for the DBAL (https://github.com/doctrine/dbal). Not the ORM. In retrospect, the version number definitely should not follow the ORM, but rather the DBAL. Although, they are closely related.
I'll look into it over the weekend.

@manuscle
Here you go: https://github.com/kafoso/doctrine-firebird-driver/releases/tag/2.6.0
Could you please have a go at it and get back to me? Thank you.

I've just installed it on a Zend Framework 3 project and it seems to work great!
I'll play a while with it and come back to you if I encounter some issue.
Thank you very much for your work :-)

You're welcome! Looking forward to getting some feedback.


Final status calculation for end of round needs to be implemented

In the playerround record, a number of 'final' fields are included to show the end situation of the round (especially important to show the summary screen, and to show the final result at the end of the last round). These final fields have to be calculated and stored in the database so the players can see them in their summary screen.

This is a function of the player app. The player app should consistently keep track of all field values and have a tally of the current values for the playerround record at any time. This also guarantees that at the end of the round, the final values for that round are available.


SoftDelete::runSoftDelete does not take into account overridden Model::setKeysForSaveQuery

Laravel Version: 5.8.4
PHP Version: 7.2.4
Database Driver & Version: MySql

Description:
SoftDelete::runSoftDelete does not take into account overridden Model::setKeysForSaveQuery method.
Model:
<?php

namespace App;

use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;

class Shop extends Model
{
    use SoftDeletes;

    protected function setKeysForSaveQuery(Builder $query) {
        $query
            ->where('user_id', '=', $this->getAttribute('user_id'))
            ->where('shop_id', '=', $this->getAttribute('shop_id'));

        return $query;
    }
}

Expected query:
update Shop set deleted_at = ?, Shop.updated_at = ? where user_id = ? and shop_id = ?
Actual query:
update billing set deleted_at = ?, billing.updated_at = ? where id = ?
Solution is to replace below line
<?php

namespace Illuminate\Database\Eloquent;

trait SoftDeletes
{
     ...
     protected function runSoftDelete()
    {
        $query = $this->newModelQuery()->where($this->getKeyName(), $this->getKey());
        ...
     }
     ...
}

To
$query = $this->setKeysForSaveQuery($this->newModelQuery());

Why would update Shop be expected here?

@driesvints it was mistype. Corrected.

Heh, I'm not sure that setKeysForSaveQuery is meant to be used like this. Can't you just overwrite the runSoftDelete method if you want?

Yes you can override runSoftDelete but I think if I am overriding Model::setKeysForSaveQuery so SoftDelete::runSoftDelete should take it into account.
Please see below setKeysForSaveQuery and runSoftDelete methods below.
protected function setKeysForSaveQuery(Builder $query)
    {
        $query->where($this->getKeyName(), '=', $this->getKeyForSaveQuery());

        return $query;
    }

protected function runSoftDelete()
    {
        $query = $this->newModelQuery()->where($this->getKeyName(), $this->getKey());
        ...
     }
     ...

The question is if this has side effects. @staudenmeir do you maybe see any from the changes above?

I agree that this should be changed. We should also use setKeysForSaveQuery() in SoftDeletes::performDeleteOnModel() to match Model::performDeleteOnModel().
An example where the current behavior is incorrect:
$user = User::find(1);
$user->id = 2;
$user->delete();

This works without SoftDeletes but not with it.

So should I create new pull request ? And update both SoftDeletes::performDeleteOnModel() and SoftDelete::runSoftDelete ?

Yes, please create a PR.

@staudenmeir thanks for verifying! :)

PR was merged.


Fix: Make all non-transport/exchange pyrophosphate reactions irreversible

Main improvements in this PR:
Makes all reversible non-transport/exchange reactions that involve pyrophosphate (MAM02759e/c/m/x/n/r) irreversible in the direction of pyrophosphate production, as discussed in #527. In cases where pyrophosphate is currently a “reactant,” products and reactants are swapped to ensure no reactions are constraint to only have fluxes <= 0.
I hereby confirm that I have:

[X] Tested my code on my own computer for running the model
[X] Selected develop as a target branch
[X] Any removed reactions and metabolites have been moved to the corresponding deprecated identifier lists

Oh dang; I used Cobrapy's built-in function for saving models in YAML format, but it appears to have not used the format your automated format checker was expecting

looks good
I'm afraid the effect of these changes needs to be checked with verification and essentiality tests that is under construction, will come back to as soon as possible

Oh dang; I used Cobrapy's built-in function for saving models in YAML format, but it appears to have not used the format your automated format checker was expecting

actually is considering to fix the compatibility to cobrapy, any ideas in improving this?

Cobrapy uses ruamel.yaml to generate their YAML files. I'm not certain if these are all of the differences, but:

Cobrapy's YAML files don't have the header section that yours does
Cobrapy's YAML files don't quote all character/text/non-numeric fields by default, while yours do (without the quotes, your automated validation bot kept interpreting the "formula" entires for nitrous oxide (NO) metabolites as if they were supposed to be True/False and telling me it couldn't interpret "NO" as either "True" nor "False")
Cobrapy's YAML files use two spaces for each level of indentation, but yours have 2 spaces for the first level, 4 spaces for the second, 2 for the third, etc.
Cobrapy's YAML files have a separate "id" section (for the model id) at the "root" level (i.e. the same level as the metabolites, reactions, genes, and compartments)
Cobrapy's YAML files seem to wrap/split lines that are over 80 characters across multiple lines, which only seemed to affect metabolites with long names and reactions with long gene_reaction_rules (also your automated validation bot never flagged that as an issue)

I suspect that the biggest issues are the contents of the header and the quotes around metabolite formulas; I think fixing the header problem would require changes on Cobrapy's end, because, as far as I can tell, most of the information you have in the header of your YAML file isn't in a Cobrapy YAML file at all. The other things seem like things you could probably tweak with your YAML validation thing to accommodate, but I'm not entirely sure how it works

While I realise it is more cumbersome, SBML is a more robust file format for using the model across different tools/platforms.

it may be worth noting that Cobrapy had no problem reading in Human-GEM.yml, as far as I could tell

yes, the reading was fixed early on; now probably is time to resolve writing side

Cobrapy's YAML files don't have the header section that yours does
Cobrapy's YAML files don't quote all character/text/non-numeric fields by default, while yours do (without the quotes, your automated validation bot kept interpreting the "formula" entires for nitrous oxide (NO) metabolites as if they were supposed to be True/False and telling me it couldn't interpret "NO" as either "True" nor "False")
Cobrapy's YAML files use two spaces for each level of indentation, but yours have 2 spaces for the first level, 4 spaces for the second, 2 for the third, etc.
Cobrapy's YAML files have a separate "id" section (for the model id) at the "root" level (i.e. the same level as the metabolites, reactions, genes, and compartments)
Cobrapy's YAML files seem to wrap/split lines that are over 80 characters across multiple lines, which only seemed to affect metabolites with long names and reactions with long gene_reaction_rules (also your automated validation bot never flagged that as an issue)

thanks for listing the details

I suspect that the biggest issues are the contents of the header and the quotes around metabolite formulas; I think fixing the header problem would require changes on Cobrapy's end, because, as far as I can tell, most of the information you have in the header of your YAML file isn't in a Cobrapy YAML file at all. The other things seem like things you could probably tweak with your YAML validation thing to accommodate, but I'm not entirely sure how it works.

the quote issue is technically solvable, while header section actually is the tricky part

I realise it is more cumbersome, SBML is a more robust file format for using the model across different tools/platforms.

yes SBML is a mess

would require changes on Cobrapy's end

This might be the better solution in more than one case.

I'm afraid the effect of these changes needs to be checked with verification and essentiality tests that are under construction, will come back as soon as possible

@Devlin-Moyer would you be able to merge the latest develop branch into this PR, or start a new PR from the latest develop to add the commits (then close this PR). The idea is to make sure that these changes won't break the model


ChatGPT is not working anymore

I just get this whenever I ask something
Welcome to the coding help center!
I'm ChatGPT, an expert developer here to assist you with any coding-related queries you may have.
What's your query?
Please provide me with a detailed description of the issue you're facing so I can provide you with the best possible solution. Is there any error message that you're encountering? Or are you experiencing difficulty in understanding any particular concept?
Let me know about the programming language and environment
Which programming languages or environments are you using? Knowing this information will enable me to provide you with more accurate solutions.
Be specific
The more specific you can be about the problem you're facing, the easier it is for me to resolve it. Please provide me with all relevant details so I can help you better.
Thank you for choosing ChatGPT as your coding assistant. I'm looking forward to assisting you!

Hi, please share all the customized settings you have for the extension (i.e. share if you updated model setting or prompt prefixes etc.)
Please also provide a reproducible scenario with your prompt(request) and which command you use.
The title is misleading if you could be more specific about the circumstances you have and a reproducible scenario details I'd appreciate it.

I don't think I changed anything. Today it worked and after I used the jailbreak command it is broken.
I can paste anything and get no response.

I don't think I changed anything. Today it worked and after I used the jailbreak command it is broken. I can paste anything and get no response. I also deinstalled it but it's still not working.

Hey @PierrunoYT Since you are using jailbreak prompts, OpenAI APIs are not guaranteed to work as usual. If you have a reproducible scenario without a jailbroken state, please post details of it. Closing this for now since the extension works as expected and there isn't anything that we can solve in a jailbroken state.


Error in BatchRenormalization

Get "TypeError: Using a tf.Tensor as a Python bool is not allowed. Use if t is not None: instead of if t: to test if a tensor is defined, and use TensorFlow ops such as tf.cond to execute subgraphs conditioned on the value of a tensor."
In 311 line of /layers/normalization.py: r = K.stop_gradient(K.clip(r, 1 / self.r_max, self.r_max))

Hi,
I am still experiencing this issue.  I ran
pip install git+https://www.github.com/keras-team/keras.git
to use to latest version but I get the same error:
raise TypeError("Using a `tf.Tensor` as a Python `bool` is not allowed. "
TypeError: Using a `tf.Tensor` as a Python `bool` is not allowed. Use `if t is not None:` instead of `if t:` to test if a tensor is defined, and use TensorFlow ops such as tf.cond to execute subgraphs conditioned on the value of a tensor.

The lines that causes the error comes from a custom loss function I defined which uses K.clip() where quantile is a list containing two min and max values between 0 and 1:
min_value = tf.contrib.distributions.percentile(y_true, q=quantile[0] * 100)
max_value = tf.contrib.distributions.percentile(y_true, q=quantile[1] * 100)
y_true = K.clip(y_true, min_value, max_value)
y_pred = K.clip(y_pred, min_value, max_value)

@dylan-plummer Try pip install git+https://www.github.com/keras-team/keras.git --upgrade

@DaniyarM unfortunately that does not fix the issue.  I also tried fully uninstalling Keras and doing a clean install.

@dylan-plummer I have no errors after reinstall all from master. Do you use tensorflow backend?

@DaniyarM  Yes I am using tensorflow-gpu 1.10.0

@dylan-plummer My version is 1.13.1 Not sure if it can fix your issue but you can try to update it

@DaniyarM Unfortunately that also does not fix the issue.  Interestingly the code works when I only provide a min value to K.clip()
The code below works perfectly with no error:
min_value = tf.contrib.distributions.percentile(y_true, q=quantile[0] * 100)
y_true = K.clip(y_true, min_value, None)
y_pred = K.clip(y_pred, min_value, None)


Assign version bump pull request to build requestor

Whenever there is a release build that submits a pull request to bump the versions we should assign the PR to the person that queued the release build.

As part of this work we should also add the "auto-merge" label to the PRs.

@chidozieononiwu, I'm not sure, but I suspect you may have already added this support.

No This hs not been implemented. It was only implemented for eng/common sync

Show we restore get-pr-owners.yml which was retired in https://github.com/Azure/azure-sdk-tools/commit/70537f04b4c28e372977e5a79c656c2dd5997b27#diff-1a79bcf256e0c4fe5218f94e133f5de9ab6ec913de30643b3b2836cee876c9cb

@chidozieononiwu I'm not sure we should even do this any longer. I actually think having the code owners be added as reviewers to the version increment PR is likely better than the one who did the release.

Closing this since GitHub code owners are already assigned.


Add ln prefix to all components' parameters to avoid html conflicts.

Components with parameters which also are valid html attributes (class, id, name, etc) can generate conflicts, because we can not use "replace" option when using Angular 1.5 components (still valid for directives, but not for components). To avoid this situation, I added 'ln' prefix to all components' parameters.

Closing this PR because we decided to change simple atoms to direct use of html tags. In this new way, gulp task for patterns page generation must be changed to load only example.html and metadata.json from each atom folder.


Certificates rollout before expiry

This PR:

Adds ability to set machine and certificates rotation before expiry.

Testing

[ ] Fresh install works.
[ ] Upgrade from previous version works.

Checklist

[ ] Update changelog in CHANGELOG.md.
[ ] Make sure values.yaml is valid.

LGTM. just FYI that by releasing this we're bringing over some changes which were made to support 1.28 clusters:

https://github.com/thg-ice/cluster-openstack/pull/9
https://github.com/thg-ice/cluster-openstack/pull/8

the main one being #9 which removed setting the ExpandPersistentVolumes feature gate.
it looks like it's already GA in 1.24 -- so no cause for concern, I think.


Add node write cache support and implement for Postgres checkpointer

Summary:
Added caching support for individual nodes, and implemented in Postgres. Added tests for caching.
Details:

Added cache parameter to add_node method in langgraph/graph/state.py. Takes a CachePolicy object.
Implemented CachePolicy type in langgraph/types.py with two parameters: required cache_key and optional ttl (in seconds). cache_key is a function that generates a hash based on (1) the current state of the graph during runtime and (2) the config.
Implemented task_id based on the cache_key function for nodes that have a defined CachePolicy, in langgraph/pregel/algo.py. cache_key will generate a hash based on the current input and config.
Implemented pending writes retrieval for nodes that have a defined CachePolicy in langgraph/pregel/loop.py.
Added get_writes(task_id, ttl) method to base checkpointer in checkpoint/langgraph/checkpoint/base/__init__.py.
Implemented get_writes() method for Postgres checkpointer in checkpoint-postgres/langgraph/checkpoint/postgres/__init__.py.
Added basic tests in langgraph/tests/test_cache.py.

Hey @mhk197 would this new feature mean that I can decide which intermidiete super-steps would be persisted and which would be cached?


Add preliminary language for landing page intro

I expect that @lwasser will revise in a future PR, but here's some placeholder text just in case 🕐
Partially addresses #65

I also imagine this will evolve with time as more lessons are added, but this looks good to me :)

looks good to me too! let's merge!! I fully agree with Jonny that the structure will evolve over time!! Thank you for this!!


Missing main.cpp and Source Files

Hi, I attempted to build the project using cmake, but encountered an error related to missing main.cpp and source files referenced in CMakeLists.txt. Could you clarify if these files are included in the repository or if additional steps are needed to build the project?
How close to being able to build the software so as to be playable exactly is this project?
Thanks!
I may be interesting in helping further develop this project.

Hi,
This project has been on pause for some bit because I've had some time management issues to take care of. I'm close to the other end of that, however.
You see the file structure of this through the README- I actually have several versions of this repo locally. I've got about 2x more code than I've been sharing, with lots of code missing on the GUI and assets front. I'd like to make this game look much like the original Spaceward Ho! But I can settle for something similar as well. I plan to leverage some ML techniques on the AI s.t. the player is actually difficult to play against, preferably using a very light transformer to do so. (~220 M parameters- easily runnable and trainable on smaller computers).
Perhaps later this week I'll upload all of the codebase that I have so far- it's much more vast and disorganized than what you see currently on this GitHub. Make no mistake, this project is nowhere near it's goal- but it possesses the 'necessity' in logic and in game vectors, theoretically making this game very lightweight and easy to bugfix/learnable for AI. I've been creating tools for myself s.t. I can organize my code easier, so when those roll out (which should now be very soon, in under a week or two, actually!) I can share something... MUCH easier to work on.

Hello!  I'd like to add another vote for "I'd probably like to contribute to this".

I'll put an exact timeline on what to expect:
December 21st - I'll release my extensive ~400 re-organized cpp function set.
December 22nd - I'll let in contributors in on the project.
December 30th - I'll create a small discord server (if we are interested in making one?) for following through with the project's creation.

Welp.  I'm excited.
Follow-up question:  what AI/ML packages were you thinking to use for this?  Of course the AI training could just be baked in, but it'd be super cool to have the option for an AI that learns your play style.
I'd have to think a bit harder about how I'd want to build and train the model (if it were left up to me obviously, which it isn't), but it seems totally do-able, and I'm sure you've already figured a lot of this out.

I could say it's really simple, but really you just need to understand anything the human player would 'see' should be something visible to the human player as well.
I'm only speculating what the AI is going to look like, but it should be relatively straightforward to train. We do not need a very large model, only a bunch of really small ones- thus should be really easy to train each. The complexity of this game is high, but we can use existent architectures to make our problems much much easier.
As such, you create something like this (of course, this vector would be most simply utilize an encoder-only transformer or similar);

A vector state can be input
The transformer can 'pay attention' to particular parts of the vector state while it makes decisions of which are fixed based upon the game
The transformer gets input information about previous games (of which, is something I will not yet disclose until December 30th.)

The encoding of the transformer's inputs can be the exact expectation of what a player sees. Thus, the logic of the game and the logic of the transformer can rely on the same base cases.
Roughly put, the game and the AI transformers can both rely on through training;

State-to-Vector representing Playerstate
State-to-Vector representing playerassets
State-to-Vector representing Lastseen Opponentasset (player-number associated)
State-to-Vector representing unseenassets (information about the rest of the galaxy)
State-to-Vector representing NumberOfPlayers
Boolean representing Playerisdead (to note the removal of a player)
Integer noting playerturn (of which gets noised up in training data during training to avoid overfitting)

Notably the training data would be somewhat computationally expensive to produce. So simply, we can try smaller games before we make larger games. (e.g. 3-4 planet galaxy simulation rollouts) as its own base-case (noising up the training data s.t. the transformer will believe it does not matter that there are other planets), then gradually increase the complexity during the training process s.t. the transformer will take advantage of the larger space of the game without having to 'stretch' the model via overfitting.
The transformer can be 'seeded' with a partition of a larger transformer, or an already existent 1-2M encoder transformer of which we can reduce its output tokenization space to 'W/L' predictions as well as numbers, as well as a vector P that suggests the probability states of the transformer's outputs. Any game actions can be repurposed to span a subsection of the tokenization space.
This process is probably best done for really small transformers (1-2 million parameters) then we increase the amount of nullified blocks within the transformers s.t. we are increasing complexity over time so that we can train this AI with minimal computational resources. Ideally, we'd actually use a LLM encoder s.t. we take an open weights large language model and use it to seed our encoder.
We also want the AI to produce a series of expectation states. Ideally, to prevent overfitting, we can noise up the training process some.
We can use a Google Collab project to simulate the environment needed to simulate the games.
Resources (we do not need to create a million-paremter LLM from scratch- though we can create a transformer using a similar process, perhaps a transformer);
https://github.com/FareedKhan-dev/create-million-parameter-llm-from-scratch/blob/main/code.ipynb


hardcoded container registries (docker.io) should be configurable

intro
We need to configure trusted registries to comply security requirements.
requirement
focussed on security the container registry "docker.io" is not trusted for us.
so the registry should be configurable (openjdk, alpine/curl, mariadb, mongo, nginx; https://github.com/T-Systems-MMS/cmcc-operator/search?q=docker.io) in custom resource definition (like other images).

Implemented in e38daa590abed18259f4b901641e95fe770bd86e


Trained AzureML model prerequisite and azureml-container

In pipelines/README.md, Prerequisites start with

Trained AzureML model

The Deploy AzureML Container build pipeline section in oc apply -k tekton/azureml-container-pipeline creates an azureml-container Pipeline.
Yet, there is nothing about AzureML in the tensorflow-housing model and image that gets built -- those used TensorFlow and MLflow, IIUIC. And the bike-rentals image does not get built at all (https://github.com/opendatahub-io/ai-edge/issues/93).
The list of prerequisites, section names, and Pipeline names should match the output they produce. If AzureML-trained model is currently not deployed and tested, renaming the Pipeline and updating the README might be useful.

One of our main focuses at the start of the PoC was to take a model trained on AzureML (bike-rentals-auto-ml) and do stuff with it, Stefan's pipeline code (which our current code derives from) also focused on this: https://github.com/stefan-bergstein/azureml-model-to-edge/tree/dev/tekton/azureml-container-pipeline
However we are now going to use models from S3 (#70), PVC (#87), and Git (#57).
Renaming the pipeline for a more general name is something we will probably do, however there are multiple people currently making changes to it.

So should this be marked as a duplicate of some other issue where the renaming is tracked?

So should this be marked as a duplicate of some other issue where the renaming is tracked?

I guess this could maybe fall under #62? Restructuring the whole repo might be a task that needs to be split into multiple smaller issues anyway though. If you want you can keep this up and the pipeline can be renamed when nobody is working on it (hopefully soon?)

The Prerequisites entry was removed in https://github.com/opendatahub-io/ai-edge/pull/100.
Renaming the directories and files now being tested in https://github.com/opendatahub-io/ai-edge/pull/131.


Add GitHub issue and PR templates

Add GitHub issue and pull request templates.
I've based these on the ones used in Polly.
Feedback/suggestions welcome.

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

Project coverage is 91.66%. Comparing base (9e77996) to head (603a448).

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##           master    #2788   +/-   ##
=======================================
  Coverage   91.66%   91.66%
=======================================
  Files          91       91
  Lines        3010     3010
  Branches      517      517
=======================================
  Hits         2759     2759
  Misses        251      251

Flag
Coverage Δ

Linux
91.66% <ø> (ø)

Windows
?

macOS
?

Flags with carried forward coverage won't be shown. Click here to find out more.

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


表格什么时候可以支持锁列呢

麻烦问下,表格什么时候可以支持锁列呢,大量使用表格的业务系统对这块很看重.

I have to say it is really hard to support locked column without bringing break changes, it is under discussing now.

is that freeze column?

@vthinkxie Tanks.
@LinBoLen  Yes.

How can I fix the first column?In my project, there are so many tables and grids, which is too wide to rander scollBar in my Browser.So, I wanna fix the first column when I slide the scorllbar.Thank you!

NG-ZORRO is an influence project made with angular. and I want to make it better so others can benefit from it.
My concern is lots about table component. which is so important in ria. tables/sheet/grids implemented with jquery or others framework is various. later I will bring all out
Create an advance table is not easy. freeze column is part of features. but is not the core feature of the advance table.

first, talk about table cell calculate. if use table as the basic structure of the advance table. the most position of a cell will be calculated by chrome's c++. but it hard to handle table, is it?
table in table in table ..., nope, I hate it.
second, use flex and grid class to arrange it. I have not investigated it.
third, all of the table cells be calculated by js. we can control everything. so I can implement freeze column

The advance table feature is still in discussion in w3c standard.
btw. there is a narrow gap between advance table and sheet.
I will show a few of famous table implements later.

ADVANCE DATATABLE
Simple Structure
I will not reduce the attribute of the html. because this  attribute is the real use case.
data-table

        Name
        Position
        Office
        Age
        Start date
        Salary

        Name
        Position
        Office
        Age
        Start date
        Salary

        Airi Satou
        Accountant
        Tokyo
        33
        2008/11/28
        $162,700

        Angelica Ramos
        Chief Executive Officer (CEO)
        London
        47
        2009/10/09
        $1,200,000

CODE PEN
Kendo
Plunkr
devexpress
CODE PEN
wijmo
simplify

Jsfiddle
Row grouping
in table structure, use a
  take whole row with setting colspan equal max span
data-table

Edinburgh

        Airi Satou
        Accountant
        Tokyo
        33
        2008/11/28
        $162,700

        Angelica Ramos
        Chief Executive Officer (CEO)
        London
        47
        2009/10/09
        $1,200,000

Kendo
Plunkr
devexpress
CODE PEN
wijmo
JSFiddle
Tree Table
data-table
kendo
devexpress
wijmo
Freeze Column
data-table
kendo
devexpress
wijmo

fixed in version 0.7.0

You can refer to it
Has achieved the column and header locking, the effect also is pretty good
http://element.eleme.io/#/en-US/component/table

@navisoftware https://ng.ant.design/version/0.7.x/components/table/zh we support it already.


Detach repo

Can you please detach this repo from the not maintained fork?
You can this either do it manually or (which I recommend) just contact the GitHub support to do it for you.
This…

shows that this is a real maintained project and not just a repo of someone who (once) made a pull request
linking to the original repo on every page does not make sense anymore as it has been discontinued/is not maintained anymore and you…
can (and IMHO should) still link to the original repo/website/author/… for crediting them, but you can do so in better ways (in the Readme, wiki or so)
allows searching in this repo on GitHub and
it just looks much nicer

I will contact github support, since I don't want to lose watchers/ stars

[Done], waiting for responsen

done


Integrate CSI Sanity tool into CI/CD

The CSI Sanity tool tests a CSI driver for conformance to the CSI specification. This tool has been useful while developing this driver. It would be nice to get it wired up to the CI/CD pipeline to assert conformance as the driver is maintained.

Re-opening once the CSI sanity tool gets better support for inline volume CSI drivers.


Added java -version to TRSS Release Summary Failed Builds

Updated TRSS Release Summary Report to include java version in printed builds. This is 1 part of 4 of the TRSS Release Summary Report Enhancements.
Fixes: #629
Signed-off-by: Tommy Tho<EMAIL_ADDRESS>

It looks like we are adding java -version per failed build. I am not sure it is necessary. Please provide TRSS Release Summary Report screenshot. Thanks

Never mind, I see the screenshot in https://github.com/adoptium/aqa-test-tools/pull/635#issuecomment-1071936955. IMO, I do not think we need java -version per failed build as the information is mostly the same. One java -version at the beginning of the report may be sufficient. I think we will add additional release info in the future. @smlambert What do you think?

On the second thought, to avoid confusion, it may be worth adding java -version per failed parent test build (test build name without _testList).
AIX:
00:26:26.677  openjdk version "1.8.0_332"
00:26:26.677  IBM Semeru Runtime Open Edition (build 1.8.0_332-b04)
00:26:26.677  Eclipse OpenJ9 VM (build openj9-0.32.0-m1a, JRE 1.8.0 AIX ppc64-64-Bit Compressed References 20220316_329 (JIT enabled, AOT enabled)
00:26:26.677  OpenJ9   - 6dbe50f27
00:26:26.677  OMR      - c7a356355
00:26:26.677  JCL      - ed00c0865b based on jdk8u332-b04)

xLinux:
00:02:52.701  openjdk version "1.8.0_332"
00:02:52.701  IBM Semeru Runtime Open Edition (build 1.8.0_332-b04)
00:02:52.701  Eclipse OpenJ9 VM (build openj9-0.32.0-m1a, JRE 1.8.0 Linux amd64-64-Bit Compressed References 20220316_341 (JIT enabled, AOT enabled)
00:02:52.701  OpenJ9   - 6dbe50f27
00:02:52.701  OMR      - c7a356355
00:02:52.701  JCL      - ed00c0865b based on jdk8u332-b04)

Yes, I think since they are different per platform, we can take one for each.... noting however that this will make the output quite long (and it may be worth trying to collapse this output into markdown dropdowns if it is possible)

java -version output (x86-64_linux)

00:02:52.701  openjdk version "1.8.0_332"
00:02:52.701  IBM Semeru Runtime Open Edition (build 1.8.0_332-b04)
00:02:52.701  Eclipse OpenJ9 VM (build openj9-0.32.0-m1a, JRE 1.8.0 Linux amd64-64-Bit Compressed References 20220316_341 (JIT enabled, AOT enabled)
00:02:52.701  OpenJ9   - 6dbe50f27
00:02:52.701  OMR      - c7a356355
00:02:52.701  JCL      - ed00c0865b based on jdk8u332-b04)

The output doesn't display a dropdown for me when I put the markdown code in a markdown reader. I assume that because this is a relatively new feature in markdown not all readers are able to compile it properly. Is this safe to ignore?

Yes, please ignore. This output is expected to be pasted as a git comment, not in a markdown reader.

There's some issues with the formatting that I still have to fix. I'm working on investigating why the code blocks don't wrap on the entire output of javaVersion. The new lines in the output might be breaking the HTML formatting.

   if (!buildName.includes('_testList')) {
        failedTestSummary[buildName] += `\n

            java -version output

\n
            \`\`\`${javaVersion}\`\`\` \n

        \n\n
        `;
    }

Report Preview Fix
Release Summary Report for jdk8u-linux-aarch64-dragonwell
Report generated at: Thu, 24 Mar 2022 00:55:33 GMT
TRSS Build and TRSS Grid View
Jenkins Build URL https://ci.adoptopenjdk.net/job/Test_openjdk11_hs_extended.openjdk_x86-64_linux/30/
Started by upstream project "build-scripts/jobs/jdk11u/jdk11u-linux-x64-hotspot" build number 991 at 2021-06-26, 11:51:07 a.m.

Test_openjdk11_hs_extended.openjdk_x86-64_linux ⚠ UNSTABLE ⚠

java -version output

                                ```openjdk version "11.0.12" 2021-07-20
OpenJDK Runtime Environment Temurin-11.0.12+5 (build 11.0.12+5)
OpenJDK 64-Bit Server VM Temurin-11.0.12+5 (build 11.0.12+5, mixed mode)```

jdk_tools_1 => deep history 0/1 passed | possible issues
jdk_security_infra_1 => deep history 0/1 passed | possible issues
Test_openjdk11_hs_extended.openjdk_x86-64_linux_testList_2 ⚠ UNSTABLE ⚠
jdk_management_1 => deep history 0/4 passed | possible issues

re https://github.com/adoptium/aqa-test-tools/pull/634#issuecomment-1076962614, java -version output format looks weird. It should be like the following:

java -version output
openjdk version "11.0.12" 2021-07-20

OpenJDK Runtime Environment Temurin-11.0.12+5 (build 11.0.12+5)

OpenJDK 64-Bit Server VM Temurin-11.0.12+5 (build 11.0.12+5, mixed mode)

re #634 (comment), java -version output format looks weird. It should be like the following:
java -version output
openjdk version "11.0.12" 2021-07-20

OpenJDK Runtime Environment Temurin-11.0.12+5 (build 11.0.12+5)

OpenJDK 64-Bit Server VM Temurin-11.0.12+5 (build 11.0.12+5, mixed mode)

@llxia That was weird! I addressed the fix. Markdown here seems extremely sensitive to line breaks. Let me know if it looks ok on your end:
Report Preview Fix
Release Summary Report for jdk8u-linux-aarch64-dragonwell
Report generated at: Thu, 24 Mar 2022 23:40:39 GMT
TRSS Build and TRSS Grid View
Jenkins Build URL https://ci.adoptopenjdk.net/job/Test_openjdk11_hs_extended.openjdk_x86-64_linux/30/
Started by upstream project "build-scripts/jobs/jdk11u/jdk11u-linux-x64-hotspot" build number 991 at 2021-06-26, 11:51:07 a.m.

Test_openjdk11_hs_extended.openjdk_x86-64_linux ⚠ UNSTABLE ⚠
java -version output
openjdk version "11.0.12" 2021-07-20

OpenJDK Runtime Environment Temurin-11.0.12+5 (build 11.0.12+5)

OpenJDK 64-Bit Server VM Temurin-11.0.12+5 (build 11.0.12+5, mixed mode)

jdk_tools_1 => deep history 0/1 passed | possible issues
jdk_security_infra_1 => deep history 0/1 passed | possible issues
Test_openjdk11_hs_extended.openjdk_x86-64_linux_testList_2 ⚠ UNSTABLE ⚠
jdk_management_1 => deep history 0/4 passed | possible issues

Looks good now. Thanks @tommytwm

I am not sure what was changed in package-lock.json file. It is too large (24k+ additions) for me to review it in UI.

I think this might have been an issue on my end when I was trying to fix Prettier in the root. I'll remove this from the commit.

@llxia reverted the package-lock change, my apologies.


Fix load channels animation

NONE

The code seems fine, but it would be great a little explanation on why this solve the issue.
Recalculating the styles when loading changes seems only to set the transform back to 0, right? What exactly solves that?

a few things:

there was no need to cancel the opacity animation
when we receive the event that channels are loading, we set the value to 0 so it always starts at the beginning
by setting the loading dependency we make sure that the animation is reset.


⚠ SceneTime has degraded performance

In 0267d17, SceneTime ($ST) experienced degraded performance:

HTTP code: 200
Response time: 2362 ms

Resolved: SceneTime performance has improved in bbc8f2d after 3 minutes.


feat: Enable html for question details and result texts

Should we add an extra Field? like detailsHTML instead of just using the current one?
Should we add a test for the HTML input?

Should we add an extra Field? like detailsHTML instead of just using the current one?
Should we add a test for the HTML input?

I would not add the separate field for now. Since we only have one consumer of the schema (CovApp) it should be easy to refactor this later if we ever really need it. Since those HTML-Snippets only appear in human-readable text, we could also model it via the language: something like de_DE_WEB, de_DE_MOBILE, ...
Because of limited time I would not add a test here - after all it is just the preview in our editor and has no influence on e.g. the CovApp implementation.


App strings reworked

I tend to close this PR since it seems you do not fully understand the term. Free software license guarantees user their freedoms won't be taken by other people, and I'm intended to put the copywriting to tell users their rights. A lax permissive license is chosen because this is not a very large project which needs to be copylefted.
Also, some of the texts were changed/removed during updates, some of them were not changed but I'm planning to get a rewrite. I guess these issue will be resolved in coming updates :)
Anyway, still thanks for your patches :)

I tend to close this PR since it seems you do not fully understand the term. Free software license guarantees user their freedoms won't be taken by other people, and I'm intended to put the copywriting to tell users their rights. A lax permissive license is chosen because this is not a very large project which needs to be copylefted.
Also, some of the texts were changed/removed during updates, some of them were not changed but I'm planning to get a rewrite. I guess these issue will be resolved in coming updates :)
Anyway, still thanks for your patches :)

@BLumia
The term isn't in dispute. What I am saying is the description would make sense if it was a copyleft license, where there actually is a guarantee. Pick the license you want obviously.
My issue is you are describing permissive licensing as if it were copyleft, that is misleading.
Whether the FSF approves it or what they recommend for small or big projects doesn't change matters.
It is equally true to say
he MIT license guarantees everyone the freedom to stop development at any time to make versions that grant you no freedoms at all.
Therefore, "guarantees you", and "freedom" both being plural concept, is misleading.
Happy to rebase my work if you decide to ask someone that isn't me what they think about the claims.

@BLumia
The term isn't in dispute. What I am saying is the description would make sense if it was a copyleft license, where there actually is a guarantee. Pick the license you want obviously.
My issue is you are describing permissive licensing as if it were copyleft, that is misleading.
Whether the FSF approves it or what they recommend for small or big projects doesn't change matters.
It is equally true to say
he MIT license guarantees everyone the freedom to stop development at any time to make versions that grant you no freedoms at all.
Therefore, "guarantees you", and "freedom" both being plural concept, is misleading.
Happy to rebase my work if you decide to ask someone that isn't me what they think about the claims.

What I am saying is the description would make sense if it was a copyleft license, ...

Since the copywriting clearly defined what the word freedom means here (the four essential freedoms), the description actually makes sense even if it is not a copyleft license, and that's why I refuse to remove it.

... a copyleft license, where there actually is a guarantee.

The license itself is a guarantee (of the freedoms mentioned in the copywriting I currently used), the license doesn't need to be copyleft to be legally valid.
Also, you may think a copyleft license is irrevocable according to the above discussion, which is also not true. Firstly, the copyright holder(s) can always change their license at any time if they like, even if they already chose a copylefted license, the nmap project is an example. Secondly, the (free software) license actually is irrevocable if one already got a valid license.
Copyleft is a form to guarantee derivative work will also be copyleft, they cannot guarantee the project itself in any form. A license is always and the only valid guarantee of the freedoms you got.

(t)he MIT license guarantees everyone the freedom to stop development at any time to make versions that grant you no freedoms at all.

That's also freedom. Do you see? Everybody may have their own definition of freedom and it can be different, FSF, DFSG, and OSI both have different view about what actually is software freedom, and that's why the copywriting I provided also included the description of the four essential freedoms, which means I also give it a definition to avoid confusion.
I also do not want to introduce such a limitation that requires other people to close the source. I do think it's their freedom to do whatever they want to their forked version (aka. derivative work), which includes publishing on AppStore, etc. If a copyleft license is choiced (I assume GPLv2 here just for example), these freedoms (in my definition) will be taken from those developers.
Actually, I already see a lot of projects that uses a copylefted license but get abandoned and nobody continues to maintain it. So you see copyleft license can not be a guarantee of the project lifecycle and development.
And I also would like to make it clear, the (free software) license is always applied to the source code (or binary) you've already gotten, it's not applied to the whole project lifecycle.

As a free software advocator, I do think it's necessary to tell users what is freedom in the software field. Thus these copywritings are there to do this job. Actually, in order to grants more freedoms to people, I also considering change it [1] to Expat/MIT and Apache 2.0 dual license model so more people can get benefits from the project.
[1]: At this moment, I'm still the solo copyright holder of this project's main (c++ and assets exclude translations other than en and zh_CN) codebase, so I can change the license at any time.
Since the four essential freedoms apply to all (FSF approved) free software license, that copywriting is always valid, so I insist to keep that text untouched. For the other copywriting issues not related to the license stuff, it may get a rewritten in later updates, I'll also leave it unchanged until it get rewritten since changing it will requires all translation contributors redo their work.
I'd like to thank you for the contributon again here whatever this patch get merged or not, if you have any advice about the correct way to introduce software freedom to user, feel free to start a new discussion in the discussion page :)

What I am saying is the description would make sense if it was a copyleft license, ...

Since the copywriting clearly defined what the word freedom means here (the four essential freedoms), the description actually makes sense even if it is not a copyleft license, and that's why I refuse to remove it.

... a copyleft license, where there actually is a guarantee.

The license itself is a guarantee (of the freedoms mentioned in the copywriting I currently used), the license doesn't need to be copyleft to be legally valid.
Also, you may think a copyleft license is irrevocable according to the above discussion, which is also not true. Firstly, the copyright holder(s) can always change their license at any time if they like, even if they already chose a copylefted license, the nmap project is an example. Secondly, the (free software) license actually is irrevocable if one already got a valid license.
Copyleft is a form to guarantee derivative work will also be copyleft, they cannot guarantee the project itself in any form. A license is always and the only valid guarantee of the freedoms you got.

(t)he MIT license guarantees everyone the freedom to stop development at any time to make versions that grant you no freedoms at all.

That's also freedom. Do you see? Everybody may have their own definition of freedom and it can be different, FSF, DFSG, and OSI both have different view about what actually is software freedom, and that's why the copywriting I provided also included the description of the four essential freedoms, which means I also give it a definition to avoid confusion.
I also do not want to introduce such a limitation that requires other people to close the source. I do think it's their freedom to do whatever they want to their forked version (aka. derivative work), which includes publishing on AppStore, etc. If a copyleft license is choiced (I assume GPLv2 here just for example), these freedoms (in my definition) will be taken from those developers.
Actually, I already see a lot of projects that uses a copylefted license but get abandoned and nobody continues to maintain it. So you see copyleft license can not be a guarantee of the project lifecycle and development.
And I also would like to make it clear, the (free software) license is always applied to the source code (or binary) you've already gotten, it's not applied to the whole project lifecycle.

As a free software advocator, I do think it's necessary to tell users what is freedom in the software field. Thus these copywritings are there to do this job. Actually, in order to grants more freedoms to people, I also considering change it [1] to Expat/MIT and Apache 2.0 dual license model so more people can get benefits from the project.
[1]: At this moment, I'm still the solo copyright holder of this project's main (c++ and assets exclude translations other than en and zh_CN) codebase, so I can change the license at any time.
Since the four essential freedoms apply to all (FSF approved) free software license, that copywriting is always valid, so I insist to keep that text untouched. For the other copywriting issues not related to the license stuff, it may get a rewritten in later updates, I'll also leave it unchanged until it get rewritten since changing it will requires all translation contributors redo their work.
I'd like to thank you for the contributon again here whatever this patch get merged or not, if you have any advice about the correct way to introduce software freedom to user, feel free to start a new discussion in the discussion page :)