Update Symfony dependencies?

Current version still uses 2.1, latest is 3.0, could we get a Symfony update?

Pingy-pong

Please, upgrade to latest. "2.1.|3.0."


Integer overflow in scipy.sparse.linalg.eigsh and scipy.sparse.linalg.eigs for large values of the parameter maxiter (raises ARPACK error -4)

The functions scipy.sparse.linalg.eigsh and scipy.sparse.linalg.eigs raise the misleading error message

scipy.sparse.linalg.eigen.arpack.arpack.ArpackError: ARPACK error -4: The maximum number of Arnoldi update iterations allowed must be greater than zero.

if the parameter maxiter exceeds the maximum value a 32-bit integer can hold (see example below).
The use of 32-bit integers is probably enforced by the ARPACK interface and the parameter maxiter is apparently passed without checking for overflow. An overflowing integer then appears to ARPACK as a negative value, thereby provoking the error quoted above.
In my application, I am using scipy.sparse.linalg.eigsh to find the quantum mechanical ground state of a Hamiltonian represented as an instance of scipy.sparse.linalg.LinearOperator. The default value of the option maxiter is n * 10, where n is the dimension of the linear operator. Now, for large systems, the default value of maxiter can easily exceed the maximum value a 32-bit integer can hold. The above error message is then very confusing, especially if the parameter maxiter is not even set explicitly.
As a minimum fix, I suggest to check the variable maxiter for overflow, and if this is the case, raise an error with a meaningful message. This could be realised by adding the following conditional statement to the __init__ method of the class _ArpackParams in the file arpack.py:
if maxiter <= 0:  # this check is already done
    raise ValueError("maxiter must be positive, maxiter=%d" % maxiter)
elif maxiter > np.iinfo(np.int32).max:  # this check should be added
    raise ValueError("maxiter must not exceed the maximum value a 32-bit integer can hold, maxiter=%d" % maxiter")

In addition, it would be good to choose the default value of maxiter more carefully, respecting the limit set by the use of 32-bit integers. I'm not sure though if it is easy to come up with a better, general heuristics for a reasonable cutoff value.
For a very large system, choosing the default value as a multiple of the dimension of the linear operator, as it is currently the case, practically amounts to setting no cutoff at all (since the computation will take forever if it doesn't converge after a reasonable number of iterations). One solution would therefore be to use maxiter=np.iinfo(np.int32).max as the default value and leave it to the user to come up with a reasonable cutoff depending on the respective use case. Or, in order to be more in line with the current behaviour, use maxiter=min(n * 10, np.iinfo(np.int32).max) as the default value.
Reproducing code example:

import numpy as np
from scipy.sparse.linalg import eigsh

identity = np.eye(42)

maxiter = np.iinfo(np.int32).max + 1

evals, evecs = eigsh(identity, maxiter=maxiter)

print(evals)

Error message:

Traceback (most recent call last):
  File "scipy_arpack_maxiter_overflow.py", line 9, in <module>
    evals, evecs = eigsh(identity, maxiter=maxiter)
  File "/usr/local/lib/python3.7/site-packages/scipy/sparse/linalg/eigen/arpack/arpack.py", line 1687, in eigsh
    params.iterate()
  File "/usr/local/lib/python3.7/site-packages/scipy/sparse/linalg/eigen/arpack/arpack.py", line 573, in iterate
    raise ArpackError(self.info, infodict=self.iterate_infodict)
scipy.sparse.linalg.eigen.arpack.arpack.ArpackError: ARPACK error -4: The maximum number of Arnoldi update iterations allowed must be greater than zero.

Scipy/Numpy/Python version information:

1.4.1 1.18.0 sys.version_info(major=3, minor=7, micro=5, releaselevel='final', serial=0)

@laplacesdemon64 could you take a look at the proposal in #11302 and comment if that would solve the issue you are seeing?
It might help if you could comment on the magnitude of n values you use in your code.

@rlucas7 In my application, n = 300540195 (corresponding to the Hilbert space dimension of a Bose-Hubbard system with 16 sites and 16 particles). This value is about 0.14 * np.iinfo(np.int32).max and, although not far from the limits of a 32-bit integer, it still fits. However, the default choice maxiter = n * 10 already overflows.
I support your proposal #11302 of moving BLAS/LAPACK/ARPACK etc. to ILP64. This is particularly important for scientific computing, where state-of-the-art applications are touching the limits of 32-bit integers. In particular, the use of 64-bit integers in the ARPACK interface would eliminate the problem I encountered since n * 10 would easily fit a 64-bit integer for reasonable problem sizes n.
Nonetheless, in my opinion, one should in general always check for overflow when copying an arbitrary-size Python integer to some finite-size integer datatype.


Pin go.mod to cyclonedx v0.6.0

Pin go.mod Cyclonedx version to v0.6.0. This will prevent failures when the 'go get update --all' workflow runs and bumps CycloneDX to a incompatible version

@thitch97 these PRs need a review


documentation

Is there any documentation?
I'm wondering how the output from M2RET is formatted. Is it binary? ASCII? Can you send commands to M2RET, and if so how? Etc..

ok I just found the CommProtocol.txt file which explains formatting. Just gotta figure out how commands are issued to the M2.

alright so this document describes a console mode for M2RET. It can be accessed with SavvyCAN
https://github.com/collin80/SavvyCAN/blob/master/help/connectionwindow.md

I couldn't do it with SavvyCAN, but Tera Term works. Send "?" or "h" to the correct com  port and you'll get a read-out of the build number and various options. But I don't see any mention of LAWICEL mode ...

Tera Term doesn't allow you to send hexadecimal commands though (described in CommProtocol.txt)
. For that you need to go back to SavvyCAN.
I figured out the SavvyCAN console by trial and error. Enter the hex bytes with no prefix or delimeter (ex. F107) and press Send Hex. SavvyCAN keeps sending keepalive commands though , so responses quickly scroll out of view.


subsys: testsuite: make tc_util overridable

What:
A Kconfig variable (under menuconfig->Testing) is added.
Checking this prompts subsys/testsuite/include/tc_util.h to look for tc_util_user_override.h.
This user override include can define various things in tc_util.h to control how output is produced during execution of test suites.
If not checked, no changes are made to current projects.
Why:
Some test suites with many tests (hundreds) are overly verbose---this feature allows projects to tune the output as necessary.

Generally, if something is not supported, e.g. configurability of verbosity, it is better to add this support than to swap the implementation out with something that does support it.
Could we look into extending tc_util to support configurable verbosity?

Generally, if something is not supported, e.g. configurability of verbosity, it is better to add this support than to swap the implementation out with something that does support it.
Could we look into extending tc_util to support configurable verbosity?

Yes that would be useful.
However the intent of this was slightly different, as this allows the user full customization over how results are displayed whereas verbosity levels normally only allows a set of pre-defined choices.

Can you please give examples of tests that is overly verbose and why this actually matters?

Can you please give examples of tests that is overly verbose and why this actually matters?

We are working on crypto tests that have several hundreds of test cases (stemming from here mostly). Multiply this with testing against several backends results in a very large amount of output.
A reduction of ~4 lines per test case to ~1 reduces visual noise, which is how we would use this functionality.
It's a quality of life improvement, I'm not sure what qualifies as mattering or not.

It's a quality of life improvement, I'm not sure what qualifies as mattering or not.

Doesn't the verbosity depend on how you actually write your test? So why would you provide a verbose test in the first place if you do not need the verbose message?
Also, is the output supposed to be observed by humans? I most cases this would automated and scripts have no quality of life.
I guess it is difficult to understand the intentions without seeing the test.
Btw, is this test going to be submitted to the zephyr tree?

Doesn't the verbosity depend on how you actually write your test? So why would you provide a verbose test in the first place if you do not need the verbose message?
Also, is the output supposed to be observed by humans? I most cases this would automated and scripts have no quality of life.
I guess it is difficult to understand the intentions without seeing the test.
Btw, is this test going to be submitted to the zephyr tree?

It is the output produced by ztest itself that is changed, not what the test itself produces.
It should make sense if you run the test I added (the output is supressed though, I needed -vv to see it via sanitycheck).
The test application I will be using this PR for will be merged into NordicPlayground/fw-nrfconnect-nrf first, but might be submittet here at some later point.

Doc error

/var/lib/shippable/build/IN/main_repo/zephyr/doc/_build/rst/doc/guides/test/ztest.rst:361: WARNING: 'any' reference target not found: zephyr_include_directories(my_folder)

Doxygen is trying to find a reference symbol in parsed code (as it would be C function reference).

Doc error

/var/lib/shippable/build/IN/main_repo/zephyr/doc/_build/rst/doc/guides/test/ztest.rst:361: WARNING: 'any' reference target not found: zephyr_include_directories(my_folder)

Doxygen is trying to find a reference symbol in parsed code (as it would be C function reference).
@karstenkoenig need to change this to non-reference. @dbkinder, @b-gent Can you help with this?

Did you mean to ping me? @torsteingrindvik wrote that line, I don't think I can help

@nvlsianpu I don't think the doc is an issue at this point.
The Shippable check is complaining, and I am not sure how to resolve it.


Regression Test

As a developer
I want a test suite for the program
So that I can ensure my changes do not create bugs.
Request Description
Implement some form of tests (e.g., JUnit) which can be run to ensure there is no regression from a PR.

#31 adds the basics for testing. Many more tests will need to be added to complete this issue, though.


pygame

Hello,
I have a question about pygame. Why did you use pygame in this project?

well, as the method is Supervised  Machine learning it needs Train Data as well as label So as Py Game  is a cross-platform set of Python modules designed for Games with Keyboard Support libraries, we can use our keyBoard Arrows to Drive our Car ( For training purpose ) . as this point we save those Arrays ( arrow driving methods) as a label. for better understanding . Read More about Py GAME


How to enable the New Architecture in RNW 0.68

Discussed in https://github.com/microsoft/react-native-windows/discussions/9793

Originally posted by ndNovaDev April  6, 2022
the New Architecture is ready for use in RN 0.68 https://reactnative.dev/docs/new-architecture-intro
Is there a way to enable it in RNW?

We need documentation about RNW's support level for opting into the new architecture.


Derelict Borg Revival

About the PR

Revival of #32499 due to some github mess. It apparently got merged but not really since it was instantly reverted. This PR is basically the same as that one but also cleaned up.
Why / Balance

Read in the original PR.
Technical details

Read in the original PR.
Media

Requirements

[X] I have read and am following the Pull Request and Changelog Guidelines.
[X] I have added media to this PR or it does not require an ingame showcase.

Breaking changes

Changelog

:cl: ScarKy0, GoldenCan

add: The Derelict Cyborg - a broken cyborg with altered laws due to years of exposure to ion storms - can now appear as a ghost role through a new midround event.

The code looks fine and I tested it in-game. The randomization of the laws is a bit extreme. I had one borg with a single ion law and no core laws, and another with 2 ion storm laws and 10 core laws (i.e., the 10 commandments). But I saw the admin approval, so let's try it and see what happens


[requires.io] dependency update on master branch

I wasn't aware that @requires does this automatically and I can't find a setting to disable it so I'm deactivating it on this project and revoking all permissions. I like the reporting but not automatic PRs and the invasiveness of wanting Github auth at the organization level for all projects in the org. Boo.

Hi Rob,
Sorry about that.
Unfortunately we only have one switch for this feature on the "mozilla"
level, and I guess that one of the administrators switched it on.
We have started work on a complete rewrite of our notification system, so
you should soon be able to enable/disable features per repository (do not
hesitate if you have some input).
Meanwhile we won't push any more PR on zamboni even if this feature is on
(one advantage of our manual review process), so you can enable your
project safely.
Regards,
Olivier
2015-02-24 16:53 GMT+01:00 Rob Hudson<EMAIL_ADDRESS>
I wasn't aware that @requires https://github.com/requires does this
automatically and I can't find a setting to disable it so I'm deactivating
it on this project and revoking all permissions. I like the reporting but
not automatic PRs and the invasiveness of wanting Github auth at the
organization level for all projects in the org. Boo.
—
Reply to this email directly or view it on GitHub
https://github.com/mozilla/zamboni/pull/2935#issuecomment-75782444.

--
Olivier Mansion
(+33) 651-700-722
Requires IO https://requires.io/
Monitor your Python dependencies


Improve a11y

We should include aria tags (like aria-describedby and aria-invalid).

Another thought on this: it might also be worth refactoring to place inputs outside of labels, and use for attributes. Screenreaders often perform better with this explicit style.

Thanks for your hint @jacob-financeit! I'll have refresh my web a11y knowhow a little to implement this with confidence, so any hints and contributions are more than welcome :blush:

Sorry, I was away for a bit. I think you can use Ember.guidFor() to make sure the label is associated with the right input

Hi @jacob-financeit, thanks again for you input. I realized that most of our form components are already using the for attribute instead of wrapped labels, but they were missing the corresponding id attribute. I created #51 with a quick fix for selects and simple input fields, but obviously that's just a start.
Using for with radios or checkboxes seems to break the positioning when using bootstrap, and I also couldn't find any clear evidence that the wrapping is really bad for a11y (see e.g. this thread on SO). Do you know more on that?

No, that's why I phrased it as a 'might'... it's more explicit, and more normative, which usually helps screenreaders (and has been good for i.e. specific versions of NVDA in the past), but it's not a totally unambiguous thing. (That's also why I haven't devoted work time to it yet, because there are bigger / easier wins)

Alright, that makes sense. Proper id attributes on all form elements is probably one of these quick wins - hopefully we can make some progress on this soon.


api: custom error response

Relates to https://github.com/envoyproxy/gateway/issues/1400

instead of using an range match:
match:
      status:
        type: range
        range:
          min: 400
          max: 499

what about use CEL, and it will looks like http.statusCode >= 400 || http.statusCode <= 499?

thanks for the review and suggestions @AliceProxy & @zirain ! will try and incorporate these changes in

instead of using an range match:
match:
      status:
        type: range
        range:
          min: 400
          max: 499

what about use CEL, and it will looks like http.statusCode >= 400 || http.statusCode <= 499?

CEL is flexible and powerful as you've shown in the example, I fear we'll end up losing on simplicity

instead of using an range match:
match:
      status:
        type: range
        range:
          min: 400
          max: 499

what about use CEL, and it will looks like http.statusCode >= 400 || http.statusCode <= 499?

CEL is flexible and powerful as you've shown in the example, I fear we'll end up losing on simplicity

let's use range right now.

I like where you're going with this API. Thoughts on the following? Not all the examples in my example below need to be added to the first iteration, just a suggestion around what we might eventually want to support.
responseOverrides:
  - match:
      status:
        type: value
        value: 404
    body:
    ...
  - match:
      status:
        type: range
        range:
          min: 400
          max: 499
      headers:
      - name: "x-foo"
        value: "bar" # no value means any value, same as providing "*"
    headers: # no headers means don't change the headers
    - type: "set"
      name: "x-foo"
      value: "baz"
    - type: "append"
      name: "x-bar"
      value: "baz"
    - type: "remove"
      name: "x-bar"
    body: # no balue means don't change the body
    ...

I think we want to give people an easy way to change responses (and maybe headers) under certain responses from the upstream. One open question with the above is how we would want to handle the case where you supply a range then an individual specific status such as in my example. I think intuitively I would expect the exact 404 to take precedence over the 400-499 range, but curious what others think.
I think that pattern of having a generic fallback page for general 4xx/5xx errors will be very common and also wanting specific pages for more well-known cases like 404/500 with a little extra personality/info like many other large sites do.

@AliceProxy id say 1st match wins

@AliceProxy I prefer 1st match wins, thats what we've done in the JWT Authz API

Sounds good. I havent looked too much at the current APIs around auth, but keeping consistent behaviour across similar patterns is more important.


Ability to render one action as a button

See the "edit" button.

I already do something similar to this with the react-native-navbar in the modal example.
This is less of a priority to me personally.

You can use rightButtonIcon on ios

I can create rightButtonText property, works to you?
leftButtonIcon/leftButtonText
rightButtonIcon/rightButtonText

fixed


throughput always return 0

version: Kapacitor 0.13.1
task info:
DOT:
digraph 579ac9c402ad1.memory.warning {
graph [throughput="0.00 points/s"];

stream0 [avg_exec_time_ns="0" ];
stream0 -> from1 [processed="22947"];

from1 [avg_exec_time_ns="3.277µs" ];
from1 -> window2 [processed="28"];

window2 [avg_exec_time_ns="1.068µs" ];
window2 -> mean3 [processed="2"];

mean3 [avg_exec_time_ns="0" ];
mean3 -> alert4 [processed="2"];

alert4 [alerts_triggered="2" avg_exec_time_ns="246.33989ms" crits_triggered="0" infos_triggered="0" oks_triggered="0" warns_triggered="2" ];

kapacitor is receving data from influxdb and do alert normally, but throughput always return 0.

@xuqingfeng This is a sampling issue. The throughput is measured once per second. If the task processes points less frequently than once per second then the measured throughput remains at zero.
For example if a task processes 100 points every 10s. Instead of the throughput getting averaged out to 10 points per second, it measures that no points were processed for a second and reports 0. On the tenth second it will report 100 then go back to zero for then rest of the time. Does that make sense?
We should fix this so that the sampling doesn't cause these issues but currently any task that has lower processing frequency than 1 second will have an erroneous throughput value.
All that said you can still compute the throughput yourself using the internal Kapacitor statistics, if you need a real throughput value.

thanks for the clarify.


Make JSON schema in docs readable

The current docs site has a rather unreadable formatting in Chrome for the schema, as it's not formatted at all and as such is a really long single line:

It would be nice if at the bare minimum the JSON output was pretty printed so it scales down the page instead of across the page.

@mhall119 feel free to assign this to someone else if this isn't your area


VM: VerifyPointers does not work OSR (debug mode)

xcodebuild/DebugX64/run_vm_tests --optimization-counter-threshold=10 CustomIsolates
/sources/git-two/sdk/runtime/vm/object.cc:13608: error: expected: !is_optimized()
OSR compilation is invokeked via StackOverflow runtime function. Just before exiting the runtime function, it modifies the return address to point to the prolog of the OSR method. That prolog does not have a stack map associated with it, as we do not expect the exit of a runtime function to be a safepoint.

We should ensure that the transition back from OSR does not attempt verification in this particular call.

Fixed in bb85b32d515c0035a38e1145b5dd8e0acd83d71c


Clarify nature of remote providers

TLDR
The docs wrongly claim that tools such as infura and pockt are light clients. This PR fixes that.
Description
Remote Providers
A light client:

Is software that you run locally;
Is Connected to the p2p network;
Performs local validation on data received.

When using a remote provider, the user must trust that it won't serve it bad data as there is no local validation at all.
This is specially critical as there is no guarantee on the software that is serving on used the truested endpoint.
In addition, a name resolution compromise can send requests to a malicious endpoint to perform an attack.
Pokt
Pokt network makes use of a trusted centralized service to route requests. This means that an adversary can, for example, compromise the pokt.network domain and lie to everyone trusting the service or just bring all nodes offline (from the point of view of the users).

Thanks for the update!


Update proto files to match TikTokLiveJava

Attempted fix for issue #232.

Did some testing, this seems to fix the issue, haven't ran into the payload error again. With the LinkMicBattleStatus Enum, we are now able to track start and end of battles, although I ran into a single instance of the value being 6, which isn't present in the Enum. Ran into some other issues as well with new events and existing events being logged as UnknownEvent but those are separate issues.


FYI: Installable from AUR

FYI: I have created an AUR package that lets ArchLinux users install the latest development version of fastgron, using their preferred AUR tool:

https://aur.archlinux.org/packages/fastgron-git

Installable with e.g. yay:
 yay -S fastgron-git

Thanks very much!
Added to README


Please invite me to the GitHub Community Organization

Name
Ken Barrameda Horlador
Discord Username (if applicable)
Ken Horlador
Additional Context
I want to join this community because I want to expand my network with great people, meet incredible developers, and exceptional professionals in the tech industry.

Check your email or organisation page
Thank you for contribution 🙂
Please contribute in Unique-Github-Profiles


Implement Launchpad functionality

Copy-pasted from the original repo.
Each of the below screens should be placed on a separate tab. (Except "Shared UI", which appears outside the tab container.)
The tab order is shamelessly (if occasionally inaccurately) stolen from the FreeSpace SCP's "Knossos" launcher, but I have neither the technical nor the artistic proficiencies required to make it look that good. 😦 (Though if we're going with a more thematic name for the launcher, I suspect "Atrozal" might be a decent choice. :smirk:)

[x] Shared UI:

[x] A button to start SR2 (obviously, disabled if SR2 couldn't be found)
[x] Menu bar (containing whatever)

[ ] Manage Mods (default tab, unless SR2 couldn't be found):

[ ] Load mods.txt
[ ] Enumerate mods (using the same detection/naming rules as the ingame mod menu)
[ ] For each mod, add a checkbox and a label containing that mod's name (with its ID in parentheses): [ ] OpenSR Modpack (OpenSR)
[ ] Also add buttons to open the mod in the Install Mods tab, and to update the mod to the HEAD of the currently installed branch without any further messing around with the mod installer.
[ ] Save changes on exit (or before starting the game, whichever the user chooses)

[ ] Install Mods (The tab formerly known as SR2MM):

[ ] Multimod Repository Support

[ ] If the selected branch/tag of a mod repo contains multiple modinfos, add a new tab to the left pane of the mod manager:

[ ] List all folders containing modinfo.txt in the repository, and put them in a multi-select list (maybe add checkboxes if possible, to make it extra clear) containing the name of each folder.
[ ] Add a third tab to the bottom pane, containing the contents of the most recently selected modinfo.

An alternative UI layout might be to add a new list panel altogether, but I'm not sure where.

[ ] Manage OpenSR:

Similar structure to mod manager tab:

[ ] Left pane: List OpenSR versions (pulled from GitHub API via https://api.github.com/repos/OpenSRProject/OpenStarRuler/releases)
[ ] Right pane: Set path to SR2 executables
[ ] Bottom pane: OpenSR release information (pulled from GitHub API)

[ ] OpenSR installation process:

[ ] Initialize OpenSR (if not done yet - check if there's a repo in that folder, and check if it has OpenSRProject/OpenStarRuler-Data as a remote):

[ ] Move existing installation (if any) to a temporary folder.
[ ] Clone OSR-Data into the installation folder. (No checkout yet.)
[ ] Move existing installation (if any) back into the installation folder. Steam and GOG should both have mechanisms to validate or otherwise reinstall the game, so we don't need to keep backups. This is also the case for non-OpenSR OS builds, with the caveat that we mustn't move the Git directory back. (Otherwise it wouldn't be cloning OSR-Data, would it now?)

[ ] Hard reset OSR-Data to the targeted release. (This won't affect untracked files, so music and installed mods should remain intact.)
[ ] Download OS-appropriate binaries for the targeted release.
[ ] Extract OS-appropriate binaries into the installation folder.

Wishlist item: The mod manager should check if a mod would conflict with any enabled mods (with the caveat that it would not treat the parents of a deriving mod as conflicting, nor would it show said mod as being disabled). If this is the case, it should display an error when the user tried to enable it.

Note: If a newly-selected game folder hasn't been upgraded to OpenSR, ask the user if they want to upgrade now. (The upgrade process should rename any existing SR2 executables in order to allow modders to run the Steam client and upload their mods to the Workshop.)

Regarding multimod support:
Instead of searching the repository for modinfo files, the Launchpad will check the metadata file for a new field, mods, which registers all mods in the repository. If the field (or the metadata file itself) does not exist, it will default to the current behavior of identifying the first modinfo in the repository at install time.
An example showing the new metadata structure, using a handful of the mods in my old SR2Mods repository:
{
	"mods": {
		"[OBSOLETE] ABEM Modding Toolkit": {
			"rootFolder": "ABEMTool"
		},
		"Jraenar Imperium": {
			"rootFolder": "Jraenar"
		},
		"Koprulu Emergency Coalition": {
			"rootFolder": "KECSet",
			"dependencies": [
				{
					"name": "Trader Emergency Coalition",
					"repository": "github.com/DaloLorn/SR2Mods",
					"branch": "TECSet"
				},
				{
					"name": "Koprulu Navy",
					"repository": "github.com/DaloLorn/SR2Mods",
					"branch": "TerranSet",
				}
			]
		}
		"Multiple Theme Enabler": {
			"rootFolder": "MultiTheme"
		},
		"Khalai Unity": {
			"rootFolder": "ProtossAdventSet",
			"dependencies": [
				{
					"name": "Unity of the Advent",
					"repository": "github.com/DaloLorn/SR2Mods",
					"branch": "All-Mods",
					"modName": "Unity of the Advent"
				},
				{
					"name": "The Firstborn",
					"repository": "github.com/DaloLorn/SR2Mods",
					"branch": "All-Mods",
					"modName": "The Firstborn"
				}
			]
		}
	}
}


Feature Request: Ability to Use Subtypes of an Entity

Is your feature request related to a problem? Please describe.
I would like to suggest a feature enhancement that allows the use of subtypes for entities. In my application, I work with an entity called "transaction" which contains a large number of fields. However, there are cases where I only need to display a few of these fields in certain views, and I currently don't see a straightforward way to accomplish this.
This limitation could potentially impact the performance and usability of the application as it evolves.
Describe the solution you'd like
A way to declare a subentity.
Describe alternatives you've considered
A possible alternative would be to do it manually: create shared DTOs and manage the DB entity on the server side only.
Context
As a developer with a .NET background, I'm familiar with using tools like AutoMapper coupled with Entity Framework Core to manage such scenarios efficiently. I believe having a similar capability in this context would greatly enhance flexibility and optimize resource utilization.

Hey @alexdess!
This sounds like a duplicate of https://github.com/serverpod/serverpod/issues/1873.
Would that feature cover your use case?
If not, please elaborate on what differentiates this feature request from inheritance.

Or could this possibly be more connected to view tables? https://github.com/serverpod/serverpod/issues/228
You would like to modify the same data source but be able to create different representations?

Thank you for your response.
I believe this issue is indeed related to a modifiable view. Here’s a more concrete example of the problem:
Let's imagine a 'Transaction' table with hundreds of columns or a column with a large amount of data (for example, a JSON of points).
Now, if I want to have a window where I list my transactions displaying only the transaction number and date, I would like to create a model with just these two fields to avoid overfetching. A view combined with a model tied to this view could address this need.
However, if I have a second editing interface where the user can add a comment to a transaction, I would also like to use a model that represents only this view. This would avoid overfetching when loading the transaction and prevent updating all fields when I only want to update the comment field.
All of this, without resorting to raw queries.

This sounds like modifiable views, I'll close this issue as a duplicate on that but link to it as a concrete example of use cases that it would support.


Updates for Speaker Page

I got all the changes and worked on speaker page.  I would need more info on tip guidelines and what page is the speaker form

would it be better to build this component first and then require it in here?
it seems like you already did the work


SDK Client configuration Is Empty

Verified issue does not already exist?
Yes
What error did you receive
The error I am receiving is:
WARNING: Provided SecretServer host [https://RealServerNameGoesHere/secretserver/] does not match SDK Client configuration of [Not connected
]
I am not sure why but it looks like the imported sdk client configuration is empty, based on the warning output. I know there is some support for the client SDK in the PS module but not full support. So I apologize if this a known limitation, if so I'd love to be referred to a documentation that outlines them.
Thanks
Please run the command using -Verbose
PS C:\Users\SomeUser> $session = New-TssSession -SecretServer 'https://RealServerNameGoesHere/secretserver/' -UseSdkClient -ConfigPath C:\PowerShell\Connection\Thycotic -verbose
VERBOSE: Command invocation: New-TssSession -SecretServer: -UseSdkClient:True -ConfigPath:C:\PowerShell\Connection\Thycotic -Verbose:True
VERBOSE: Processing SDK Client
VERBOSE: SDK Client raw response: Not connected
WARNING: Provided SecretServer host [https://RealServerNameGoesHere/secretserver/] does not match SDK Client configuration of [Not connected
]
Provide a test case or steps to reproduce
PowerShell Session 1:
PS C:\Users\SomeUser> import-module c:\powershell\modules\thycotic.secretserver
PS C:\Users\SomeUser> Initialize-TssSdkClient -SecretServer 'https://RealServerNameGoesHere/secretserver' -RuleName RealRuleGoesHere -ConfigPath C:\PowerShell\Connection\Thycotic -OnboardingKey '... RealKeyGoesHere ...'
PS C:\Users\SomeUser> Test-TssSdkClient -SecretServer 'https://RealServerNameGoesHere/secretserver' -ConfigPath C:\PowerShell\Connection\Thycotic
True
PS C:\Users\SomeUser> $session = New-TssSession -SecretServer https://RealServerNameGoesHere/secretserver -UseSdkClient -ConfigPath C:\PowerShell\Connection\Thycotic
Open New PowerShell Session While Still Having the First Session Open:
PS C:\Users\SomeUser> import-module c:\powershell\modules\thycotic.secretserver
PS C:\Users\SomeUser> Test-TssSdkClient -SecretServer 'https://RealServerNameGoesHere/secretserver' -ConfigPath C:\PowerShell\Connection\Thycotic
False
PS C:\Users\SomeUser> $session = New-TssSession -SecretServer 'https://RealServerNameGoesHere/secretserver/' -UseSdkClient -ConfigPath C:\PowerShell\Connection\Thycotic -verbose
VERBOSE: Command invocation: New-TssSession -SecretServer: -UseSdkClient:True -ConfigPath:C:\PowerShell\Connection\Thycotic -Verbose:True
VERBOSE: Processing SDK Client
VERBOSE: SDK Client raw response: Not connected
WARNING: Provided SecretServer host [https://RealServerNameGoesHere/secretserver/] does not match SDK Client configuration of [Not connected
]
Expected behavior
From All Subsequent PowerShell Session:
PS C:\Users\SomeUser> Test-TssSdkClient -SecretServer 'https://RealServerNameGoesHere/secretserver' -ConfigPath C:\PowerShell\Connection\Thycotic
True
PS C:\Users\SomeUser> $session = New-TssSession -SecretServer https://RealServerNameGoesHere/secretserver -UseSdkClient -ConfigPath C:\PowerShell\Connection\Thycotic
What Edition of Secret Server?
Professional
What version of Secret Server
11.0
What PowerShell host was used when producing this error
PowerShell Core (pwsh)
PowerShell Host Version
Name                           Value

PSVersion                      7.2.1
PSEdition                      Core
GitCommitId                    7.2.1
OS                             Microsoft Windows 10.0.17763
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0

Ensure your configuration path has no spaces in it. There is a limitation in that part of the tss.exe CLI with dealing with spaces.

Are you trying to create multiple sessions to the same SDK configuration? That will be a limitation of the CLI as I do not believe it supports multiple processes.

The expiration of the token aligns with the timeout configuration in SS.
There is no endpoint I'm aware of that allows explicitly to expire it.

To confirm than there is no need to close the session (because we can't) when using client sdk to authentication to create a session?
Is there any known work around for having multiple processes using the same sdk config? such as creating a global variable?


Problem when installing adaptdl scheduler

Hi I am trying to install the scheduler with helm
sudo helm install adaptdl adaptdl-sched --repo https://github.com/petuum/adaptdl/raw/helm-repo --namespace default --set docker-registry.enabled=true

However, the contents in the templates seem not to be installed. I tried to run ps aux | grep python, but there is no "adaptdl_sched.allocator" process or "adaptdl_sched.supervisor", "adaptdl_sched.validator". The schedulers' services seems to be okay:
$ kubectl describe services
Name:              adaptdl-adaptdl-sched
Namespace:         default
Labels:            app=adaptdl-sched
                   app.kubernetes.io/managed-by=Helm
                   release=adaptdl
Annotations:       meta.helm.sh/release-name: adaptdl
                   meta.helm.sh/release-namespace: default
Selector:          app=adaptdl-sched,release=adaptdl
Type:              ClusterIP
IP Family Policy:  SingleStack
IP Families:       IPv4
IP:                <IP_ADDRESS>
IPs:               <IP_ADDRESS>
Port:              http  9091/TCP
TargetPort:        9091/TCP
Endpoints:         <none>
Session Affinity:  None
Events:            <none>

Name:                     adaptdl-registry
Namespace:                default
Labels:                   app=docker-registry
                          app.kubernetes.io/managed-by=Helm
                          chart=docker-registry-1.9.4
                          heritage=Helm
                          release=adaptdl
Annotations:              meta.helm.sh/release-name: adaptdl
                          meta.helm.sh/release-namespace: default
Selector:                 app=docker-registry,release=adaptdl
Type:                     NodePort
IP Family Policy:         SingleStack
IP Families:              IPv4
IP:                       <IP_ADDRESS>
IPs:                      <IP_ADDRESS>
Port:                     registry  5000/TCP
TargetPort:               5000/TCP
NodePort:                 registry  32000/TCP
Endpoints:                <none>
Session Affinity:         None
External Traffic Policy:  Cluster
Events:                   <none>

Name:              adaptdl-supervisor
Namespace:         default
Labels:            app=adaptdl-sched
                   app.kubernetes.io/managed-by=Helm
                   release=adaptdl
Annotations:       meta.helm.sh/release-name: adaptdl
                   meta.helm.sh/release-namespace: default
Selector:          app=adaptdl-sched,release=adaptdl
Type:              ClusterIP
IP Family Policy:  SingleStack
IP Families:       IPv4
IP:                <IP_ADDRESS>
IPs:               <IP_ADDRESS>
Port:              http  8080/TCP
TargetPort:        8080/TCP
Endpoints:         <none>
Session Affinity:  None
Events:            <none>

Name:              adaptdl-validator
Namespace:         default
Labels:            app=adaptdl-validator
                   app.kubernetes.io/managed-by=Helm
                   release=adaptdl
Annotations:       meta.helm.sh/release-name: adaptdl
                   meta.helm.sh/release-namespace: default
Selector:          app=adaptdl-validator,release=adaptdl
Type:              ClusterIP
IP Family Policy:  SingleStack
IP Families:       IPv4
IP:                <IP_ADDRESS>
IPs:               <IP_ADDRESS>
Port:              https  443/TCP
TargetPort:        https/TCP
Endpoints:         <none>
Session Affinity:  None
Events:            <none>

Name:              kubernetes
Namespace:         default
Labels:            component=apiserver
                   provider=kubernetes
Annotations:       <none>
Selector:          <none>
Type:              ClusterIP
IP Family Policy:  SingleStack
IP Families:       IPv4
IP:                <IP_ADDRESS>
IPs:               <IP_ADDRESS>
Port:              https  443/TCP
TargetPort:        6443/TCP
Endpoints:         <IP_ADDRESS>:6443
Session Affinity:  None
Events:            <none>

When I try to run an adaptdl job, this error always exists:
  File "run_workload.py", line 136, in <module>
    objs_api.create_namespaced_custom_object(*obj_args, job)
  File "/home/ubuntu/software/miniconda3/envs/pollux/lib/python3.8/site-packages/kubernetes/client/api/custom_objects_api.py", line 225, in create_namespaced_custom_object
    return self.create_namespaced_custom_object_with_http_info(group, version, namespace, plural, body, **kwargs)  # noqa: E501
  File "/home/ubuntu/software/miniconda3/envs/pollux/lib/python3.8/site-packages/kubernetes/client/api/custom_objects_api.py", line 344, in create_namespaced_custom_object_with_http_info
    return self.api_client.call_api(
  File "/home/ubuntu/software/miniconda3/envs/pollux/lib/python3.8/site-packages/kubernetes/client/api_client.py", line 348, in call_api
    return self.__call_api(resource_path, method,
  File "/home/ubuntu/software/miniconda3/envs/pollux/lib/python3.8/site-packages/kubernetes/client/api_client.py", line 180, in __call_api
    response_data = self.request(
  File "/home/ubuntu/software/miniconda3/envs/pollux/lib/python3.8/site-packages/kubernetes/client/api_client.py", line 391, in request
    return self.rest_client.POST(url,
  File "/home/ubuntu/software/miniconda3/envs/pollux/lib/python3.8/site-packages/kubernetes/client/rest.py", line 274, in POST
    return self.request("POST", url,
  File "/home/ubuntu/software/miniconda3/envs/pollux/lib/python3.8/site-packages/kubernetes/client/rest.py", line 233, in request
    raise ApiException(http_resp=r)
kubernetes.client.exceptions.ApiException: (500)
Reason: Internal Server Error
HTTP response headers: HTTPHeaderDict({'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'X-Kubernetes-Pf-Flowschema-Uid': '01c68c3b-393c-419a-9b81-d3393b80d47f', 'X-Kubernetes-Pf-Prioritylevel-Uid': 'abb23a1c-5ca0-4b97-a67f-58f65e44bf9d', 'Date': 'Wed, 15 Jun 2022 14:49:52 GMT', 'Content-Length': '521'})
HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"Internal error occurred: failed calling webhook \"adaptdl-validator.default.svc.cluster.local\": Post \"https://adaptdl-validator.default.svc:443/validate?timeout=10s\": context deadline exceeded","reason":"InternalError","details":{"causes":[{"message":"failed calling webhook \"adaptdl-validator.default.svc.cluster.local\": Post \"https://adaptdl-validator.default.svc:443/validate?timeout=10s\": context deadline exceeded"}]},"code":500}

I followed these commands to setup the environments:
CNI_VERSION="v0.8.2"
ARCH="amd64"
sudo mkdir -p /opt/cni/bin
curl -L "https://github.com/containernetworking/plugins/releases/download/${CNI_VERSION}/cni-plugins-linux-${ARCH}-${CNI_VERSION}.tgz" | sudo tar -C /opt/cni/bin -xz
DOWNLOAD_DIR=/usr/local/bin
sudo mkdir -p $DOWNLOAD_DIR
CRICTL_VERSION="v1.22.0"

ARCH="amd64"
curl -L "https://github.com/kubernetes-sigs/cri-tools/releases/download/${CRICTL_VERSION}/crictl-${CRICTL_VERSION}-linux-${ARCH}.tar.gz" | sudo tar -C $DOWNLOAD_DIR -xz
RELEASE="v1.21.0"
ARCH="amd64"
cd $DOWNLOAD_DIR
sudo curl -L --remote-name-all https://storage.googleapis.com/kubernetes-release/release/${RELEASE}/bin/linux/${ARCH}/{kubeadm,kubelet,kubectl}
sudo chmod +x {kubeadm,kubelet,kubectl}
RELEASE_VERSION="v0.4.0"
curl -sSL "https://raw.githubusercontent.com/kubernetes/release/${RELEASE_VERSION}/cmd/kubepkg/templates/latest/deb/kubelet/lib/systemd/system/kubelet.service" | sed "s:/usr/bin:${DOWNLOAD_DIR}:g" | sudo tee /etc/systemd/system/kubelet.service
sudo mkdir -p /etc/systemd/system/kubelet.service.d
curl -sSL "https://raw.githubusercontent.com/kubernetes/release/${RELEASE_VERSION}/cmd/kubepkg/templates/latest/deb/kubeadm/10-kubeadm.conf" | sed "s:/usr/bin:${DOWNLOAD_DIR}:g" | sudo tee /etc/systemd/system/kubelet.service.d/10-kubeadm.conf
systemctl enable --now kubelet

wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
sh Miniconda3-latest-Linux-x86_64.sh -b -p ${HOME}/software/miniconda3
echo "export PATH=${HOME}/software/miniconda3/bin:\$PATH" >> ~/.bashrc
source ~/.bashrc

sudo apt install conntrack

sudo snap install yq --channel=v3/stable
sudo kubeadm init --pod-network-cidr=<IP_ADDRESS>/16
mkdir -p ~/.kube
sudo cp /etc/kubernetes/admin.conf ~/.kube/config
sudo chown -f -R $USER ~/.kube
kubectl apply -f https://docs.projectcalico.org/v3.11/manifests/calico.yaml
kubectl apply -f https://raw.githubusercontent.com/NVIDIA/k8s-device-plugin/1.0.0-beta5/nvidia-device-plugin.yml
kubectl apply -f https://raw.githubusercontent.com/rook/rook/v1.3.1/cluster/examples/kubernetes/ceph/common.yaml
kubectl apply -f https://raw.githubusercontent.com/rook/rook/v1.3.1/cluster/examples/kubernetes/ceph/operator.yaml
curl -s https://raw.githubusercontent.com/rook/rook/v1.3.1/cluster/examples/kubernetes/ceph/cluster.yaml | /snap/bin/yq w - spec.storage.deviceFilter nvme0n1p2 | kubectl apply -f -
kubectl apply -f https://raw.githubusercontent.com/rook/rook/v1.3.1/cluster/examples/kubernetes/ceph/filesystem.yaml
kubectl apply -f https://raw.githubusercontent.com/rook/rook/v1.3.1/cluster/examples/kubernetes/ceph/csi/cephfs/storageclass.yaml
docker login -u ${var.docker_username} -p '${var.docker_password}'
kubectl create secret generic regcred --from-file=.dockerconfigjson=/home/ubuntu/.docker/config.json --type=kubernetes.io/dockerconfigjson
helm repo add stable https://charts.helm.sh/stable --force-update
conda env update -f ~/adaptdl/benchmark/environment.yaml # path

#install helm (https://helm.sh/docs/intro/install/)

curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3
chmod 700 get_helm.sh
./get_helm.sh

# install scheduler
sudo helm install adaptdl adaptdl-sched --repo https://github.com/petuum/adaptdl/raw/helm-repo --namespace default --set docker-registry.enabled=true

What is really strange is that everything seems to be fine:
NAME                                        READY   STATUS    RESTARTS   AGE
pod/adaptdl-adaptdl-sched-cbc794b8f-8xq2f   3/3     Running   0          36m
pod/adaptdl-registry-76d9c8b759-tqrdv       1/1     Running   0          36m
pod/adaptdl-validator-d878bc9c9-ddglc       1/1     Running   0          36m
pod/images-6jsfj                            6/6     Running   0          103m
pod/images-gldv7                            6/6     Running   0          103m
pod/images-lprhh                            6/6     Running   0          103m
pod/images-qsglk                            6/6     Running   0          103m

NAME                            TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)          AGE
service/adaptdl-adaptdl-sched   ClusterIP   <IP_ADDRESS>     <none>        9091/TCP         36m
service/adaptdl-registry        NodePort    <IP_ADDRESS>    <none>        5000:32000/TCP   36m
service/adaptdl-supervisor      ClusterIP   <IP_ADDRESS>   <none>        8080/TCP         36m
service/adaptdl-validator       ClusterIP   <IP_ADDRESS>      <none>        443/TCP          36m
service/kubernetes              ClusterIP   <IP_ADDRESS>        <none>        443/TCP          7h6m

NAME                    DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR   AGE
daemonset.apps/images   4         4         4       4            4           <none>          103m

NAME                                    READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/adaptdl-adaptdl-sched   1/1     1            1           36m
deployment.apps/adaptdl-registry        1/1     1            1           36m
deployment.apps/adaptdl-validator       1/1     1            1           36m

NAME                                              DESIRED   CURRENT   READY   AGE
replicaset.apps/adaptdl-adaptdl-sched-cbc794b8f   1         1         1       36m
replicaset.apps/adaptdl-registry-76d9c8b759       1         1         1       36m
replicaset.apps/adaptdl-validator-d878bc9c9       1         1         1       36m

Do you know why would this happen? Thank you!

Sure
 $ helm list
NAME   	NAMESPACE	REVISION	UPDATED                                	STATUS  	CHART               	APP VERSION
adaptdl	default  	1       	2022-06-15 14:43:38.613906983 +0000 UTC	deployed	adaptdl-sched-0.2.11	0.2.11

$ kubectl get all
NAME                                        READY   STATUS    RESTARTS   AGE
pod/adaptdl-adaptdl-sched-cbc794b8f-8xq2f   3/3     Running   0          45m
pod/adaptdl-registry-76d9c8b759-tqrdv       1/1     Running   0          45m
pod/adaptdl-validator-d878bc9c9-ddglc       1/1     Running   0          45m
pod/images-6jsfj                            6/6     Running   0          112m
pod/images-gldv7                            6/6     Running   0          112m
pod/images-lprhh                            6/6     Running   0          112m
pod/images-qsglk                            6/6     Running   0          112m

NAME                            TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)          AGE
service/adaptdl-adaptdl-sched   ClusterIP   <IP_ADDRESS>     <none>        9091/TCP         45m
service/adaptdl-registry        NodePort    <IP_ADDRESS>    <none>        5000:32000/TCP   45m
service/adaptdl-supervisor      ClusterIP   <IP_ADDRESS>   <none>        8080/TCP         45m
service/adaptdl-validator       ClusterIP   <IP_ADDRESS>      <none>        443/TCP          45m
service/kubernetes              ClusterIP   <IP_ADDRESS>        <none>        443/TCP          7h15m

NAME                    DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR   AGE
daemonset.apps/images   4         4         4       4            4           <none>          112m

NAME                                    READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/adaptdl-adaptdl-sched   1/1     1            1           45m
deployment.apps/adaptdl-registry        1/1     1            1           45m
deployment.apps/adaptdl-validator       1/1     1            1           45m

NAME                                              DESIRED   CURRENT   READY   AGE
replicaset.apps/adaptdl-adaptdl-sched-cbc794b8f   1         1         1       45m
replicaset.apps/adaptdl-registry-76d9c8b759       1         1         1       45m
replicaset.apps/adaptdl-validator-d878bc9c9       1         1         1       45m

Thank you for your quick reply!

It seems a bit like certain pairs (or all pairs?) of Kubernetes pods are not able to reach each other. Could you try:

kubectl exec into a pod and try to ping a different pod.
Check the health of the calico plugin (in the kube-system namespace).

Thank you for your suggestions❤ As for the first advice, unfortunately, I found that the only pods are the scheduler pods or image pods, which both cannot run ping or install the ping command. I am sure that the servers can reach each other. Do you have any other methods to test if the pods can reach each other?
For the second advice, I checked the pod, deployment, and daemonsets in  kube-system namespace and I see no error.
$ kubectl get all -n kube-system
NAME                                                READY   STATUS    RESTARTS   AGE
pod/calico-kube-controllers-5bcd7db644-6z8f6        1/1     Running   0          11m
pod/calico-node-hp4p6                               1/1     Running   0          6m7s
pod/calico-node-j5r62                               1/1     Running   0          6m1s
pod/calico-node-tqx9p                               1/1     Running   0          6m3s
pod/calico-node-vp84l                               1/1     Running   0          11m
pod/coredns-558bd4d5db-f9r56                        1/1     Running   0          12m
pod/coredns-558bd4d5db-wr5wm                        1/1     Running   0          12m
pod/etcd-superbench-dev-00000g                      1/1     Running   0          12m
pod/kube-apiserver-superbench-dev-00000g            1/1     Running   0          12m
pod/kube-controller-manager-superbench-dev-00000g   1/1     Running   0          12m
pod/kube-proxy-cj9gh                                1/1     Running   0          12m
pod/kube-proxy-l4dxb                                1/1     Running   0          6m1s
pod/kube-proxy-pmg2j                                1/1     Running   0          6m3s
pod/kube-proxy-sc7cl                                1/1     Running   0          6m7s
pod/kube-scheduler-superbench-dev-00000g            1/1     Running   0          12m
pod/nvidia-device-plugin-daemonset-4fhbv            1/1     Running   0          5m53s
pod/nvidia-device-plugin-daemonset-s2vgb            1/1     Running   0          5m51s
pod/nvidia-device-plugin-daemonset-shq25            1/1     Running   0          5m57s

NAME               TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)                  AGE
service/kube-dns   ClusterIP   <IP_ADDRESS>   <none>        53/UDP,53/TCP,9153/TCP   12m

NAME                                            DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR                 AGE
daemonset.apps/calico-node                      4         4         4       4            4           beta.kubernetes.io/os=linux   11m
daemonset.apps/kube-proxy                       4         4         4       4            4           kubernetes.io/os=linux        12m
daemonset.apps/nvidia-device-plugin-daemonset   3         3         3       3            3           <none>                        11m

NAME                                      READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/calico-kube-controllers   1/1     1            1           11m
deployment.apps/coredns                   2/2     2            2           12m

NAME                                                 DESIRED   CURRENT   READY   AGE
replicaset.apps/calico-kube-controllers-5bcd7db644   1         1         1       11m
replicaset.apps/coredns-558bd4d5db                   2         2         2       12m

You'll want to create a pod running a container that can run ping.

You'll want to create a pod running a container that can run ping.

Thank you for your suggestion! It does seem that there is some networking problem. I found the reason why I can not run ping is that I can never run apt-get to install the ping command in any pod:
# apt-get install inetutils-ping
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package inetutils-ping
root@hello-world:~/deepspeech2# ifconfig
bash: ifconfig: command not found
root@hello-world:~/deepspeech2# apt-get install net-tools
Reading package lists... Done
Building dependency tree
Reading state information...   They have been ignored, or old ones used instead.

I tried to build a docker container with docker, and I can successfully run apt-get in the containers. So there must be something wrong with the networking of Kubernetes. However, I found no error in the coredns or calico-related pods. I am quite sure that I have run sudo kubeadm init --pod-network-cidr=<IP_ADDRESS>/16 and kubectl apply -f https://docs.projectcalico.org/v3.11/manifests/calico.yaml. Do you have any idea why would this happen?
Besides, I found that because my master node has a node-role.kubernetes.io/master:NoSchedule taint, the adaptdl scheduler seems to be running on a worker node. Because when I tried ps aux | grep python on a worker node, I found that the adaptdl_sched.validator, allocator, and supervisor are on the worker node:
root     25238  0.0  0.0  60192 52324 ?        Ss   Jun15   0:12 python -m adaptdl_sched.validator --host=<IP_ADDRESS> --port=8443 --tls-crt=/mnt/tls.crt --tls-key=/mnt/tls.key
root     25437  0.0  0.0<PHONE_NUMBER>2 ?        Ssl  Jun15   0:02 python -m adaptdl_sched
root     25622  0.2  0.0 5369344 125136 ?      Ssl  Jun15   1:07 python -m adaptdl_sched.allocator
root     25880  0.0  0.0 5360948 116412 ?      Ssl  Jun15   0:10 python -m adaptdl_sched.supervisor

I know that this is normal because the pods do not run on the master node. But is this probably the reason why I can not access the validator?

When I try to run an adaptdl job, this error always exists:

Thank you!

The scheduler pods running on worker nodes is expected behavior.
I suggest making sure that inter-pod networking in your Kubernetes cluster is correctly working first, e.g. by following https://projectcalico.docs.tigera.io/getting-started/kubernetes/hardway/test-networking. AdaptDL depends on functional networking between different pods, and it can cause some of the failures you're experiencing.

This problem was solved by uninstalling calico, deleting all calico-related files manually, and reinstall.


Caching the orbits of massive bodies with updateable massless bodies

Hi! I just discovered your crate while looking for a n-body solver and it looks fantastic so far!
I'm interested in write a space sim game that uses orbital mechanics similar to Kerbal Space Program (which just has 2-body physics) or Children of a Dead Earth (which has n-body). One thing for performance that I'd like to see if the ability to cache the orbits of all the bodies with mass, e.g. planets, moons, comets etc for a certain amount of time ahead of time, and then using those for faster calculation of the orbits of effectively massless bodies like a spaceship.
My understanding is that this isn't possible in the crate so far. I'm totally happy to have a go at implementing something like this, but do you have any insights into this idea? It is worth it in a performance/storage trade-off?

I wasn't fully satisfied of the answer I gave you because I felt that Particular wasn't flexible enough for a case like yours, where you need more control over what is sent over in a given ComputeMethod to be able to reuse existing ones. So I spent some time thinking of a solution to improve such cases and I came up with a solution that I think facilitates use case like yours.
I also added a sequential::BruteForceAlt ComputeMethod that is more easily reused than sequential::BruteForce because of how it works internally, but is slower with massive particles.
In short, ComputeMethods are now generic over a type bound to ParticleStorage. This allows for more flexibility and prevents some possible misuses. Now, for your specific use case, you can simply have:
pub struct MasslessAccelerations {
    massive: Vec<(Vec2, f32)>,
}

impl super::ComputeMethod<Vec<(Vec2, f32)>> for MasslessAccelerations {
    fn compute(&mut self, storage: Vec<(Vec2, f32)>) -> Vec<Vec2> {
        BruteForceAlt.compute(WithMassive {
            particles: storage,
            massive: std::mem::take(&mut self.massive),
        })
    }
}

This would be used by iterating over the massless bodies and calling one of Particular's iterator method.
Another solution would be this:
pub struct MasslessAccelerations2;

impl super::ComputeMethod<WithMassive<glam::Vec2, f32>> for MasslessAccelerations2 {
    fn compute(&mut self, mut storage: WithMassive<glam::Vec2, f32>) -> Vec<glam::Vec2> {
        storage.particles.retain(|(_, mu)| *mu == 0.0);
        BruteForceAlt.compute(storage)
    }
}

Whilst this looks simpler, you have to be careful when using it. This requires an iterator with the massless bodies first, then the massive bodies (using f.e. chain).
I'd recommend using the first solution as it is clearer what it is doing.
There are probably other solutions since this is quite flexible, but I didn't want to delve into it too much.
I'll try to have this update up on crates.io next week.

I can close this now that 13c4ead is released as part of 0.6.0.
The release took longer than expected because this was part of a large overhaul of the backend API to try to make it more robust and flexible. This allowed for the addition of BruteForceSIMD compute methods notably.
Here is a generic solution using Particular's provided vector abstractions:
use particular::{
    algorithms::{internal, MassiveAffected, ParticleSet},
    prelude::*,
};

pub struct MasslessAccelerations<'a, P> {
    massive: &'a [P],
}

impl<T, S, P> ComputeMethod<ParticleSet<T, S>, P::Vector> for MasslessAccelerations<'_, P>
where
    S: internal::Scalar,
    T: internal::Vector<Scalar = S>,
    P: Particle<Scalar = S>,
    P::Vector: internal::IntoVectorArray<T::Array, Vector = T>,
{
    type Output = Vec<P::Vector>;

    fn compute(self, storage: ParticleSet<T, S>) -> Self::Output {
        ComputeMethod::compute(
            sequential::BruteForce,
            MassiveAffected {
                affected: storage.0,
                massive: self
                    .massive
                    .iter()
                    .map(|p| p.point_mass().into_internal())
                    .collect(),
            },
        )
    }
}

Using it simply requires calling accelerations on an iterator of particles you want to compute the acceleration for, passing in an instance of MasslessAccelerations with a slice of the particles you want to be considered massive.
Note that there are other ways this could be achieved, such as using a chained iterator of massive and affected particles, and have the compute method only computing and returning the acceleration for the affected particles.
For this specific problem, you should be able to reuse any of the compute method that are implemented using MassiveAffected for their storage


Construct path/DB URL using helper functions, avoid importing db and others if not needed

I noticed a case where cum was building paths by concatenating strings, which is generally not a good idea due to platform differences and might break if somebody changes cum_dir in the future depending on whether they add a slash at the end or not.
While I was at it, I noticed that cum took quite a long time to get going, which can be frustrating for the more impatient users. When we're auto-completing commands or simply asking for help, we don't need everything cum has to offer, so we don't need to work the entirety of the python to get the desired cum output.
Thinking the slowdown was caused by the application establishing a database connection even if none is needed, I first tried to have the db session be created lazily. While that worked it didn't give the desired speed-up, and later profiling revealed that the bulk of the time was just python importing stuff since db pulls in quite a lot. So I scrapped said code and instead just made the cli command group do the imports.
On my system, this reduced the time cum needs to get going from 440msec to about 120msec for the cases where we don't actually call any of the commands.

Amended the last commit to fix a little mistake. Should be fine now.


" added  as a reviewer on change " messages mention only the last reviewer

Recently, Changeset Chihuahua Gerrit->Slack integration started to mention only the last reviewer in the length of reviewers added. It's probably easier to explain this with an example:
I added two distinct reviewers on a change, including Sean. Here's what it looks like in the Slack channel:
Artur M. Wolff added Sean Harvey as a reviewer on change [gateway-mt@6799] [{mod,pkg}: bump storj.io/gateway](https://review.dev.storj.io/c/storj/gateway-mt/+/6799)
Artur M. Wolff added Sean Harvey as a reviewer on change [gateway-mt@6799] [{mod,pkg}: bump storj.io/gateway](https://review.dev.storj.io/c/storj/gateway-mt/+/6799)

Thanks for the bug report! I thought this was going to be an easy one to fix, with all the debug logs I keep, but it's proving to be quite a mystery.
The history shown in Gerrit agrees with you: at 2022-02-03T19:14:33Z, you added Sean and Bill as reviewers on gateway-mt@6799 at the same time.
But here are the only relevant Gerrit events received by the changeset chihuahua daemon:
At 2022-02-03T19:14:37.935Z:
{"reviewer":{"name":"Sean Harvey","email":"sean@storj.io","username":"halkyon"},"adder":{"name":"Artur M. Wolff","email":"artur@storj.io","username":"amwolff"},"patchSet":{"number":1,"revision":"6f346ff1885926931f495e85e4dfa6150aba70f3","parents":["801eaae827ba714feffacf5236b72ffbe83bec02"],"ref":"refs/changes/99/6799/1","uploader":{"name":"Artur M. Wolff","email":"artur@storj.io","username":"amwolff"},"createdOn":1643915443,"author":{"name":"Artur M. Wolff","email":"artur@storj.io","username":"amwolff"},"kind":"REWORK","sizeInsertions":243,"sizeDeletions":323},"change":{"project":"storj/gateway-mt","branch":"main","id":"Ia1d5c89172152cd9f2932f310cb733233ded5958","number":6799,"subject":"{mod,pkg}: bump storj.io/gateway","owner":{"name":"Artur M. Wolff","email":"artur@storj.io","username":"amwolff"},"url":"https://review.dev.storj.io/c/storj/gateway-mt/+/6799","commitMessage":"{mod,pkg}: bump storj.io/gateway\n\nThis change bumps storj.io/gateway to slurp the updated underlying MinIO\nand other new changes. As expected, the existing code required some\nadjustments.\n\nDepends on https://review.dev.storj.io/c/storj/gateway/+/6787.\n\nChange-Id: Ia1d5c89172152cd9f2932f310cb733233ded5958\n","createdOn":1643915443,"status":"NEW"},"project":{"name":"storj/gateway-mt"},"refName":"refs/heads/main","changeKey":{"key":"Ia1d5c89172152cd9f2932f310cb733233ded5958"},"type":"reviewer-added","eventCreatedOn":1643915674}

Then at 2022-02-03T19:14:39.036Z:
{"reviewer":{"name":"Sean Harvey","email":"sean@storj.io","username":"halkyon"},"adder":{"name":"Artur M. Wolff","email":"artur@storj.io","username":"amwolff"},"patchSet":{"number":1,"revision":"6f346ff1885926931f495e85e4dfa6150aba70f3","parents":["801eaae827ba714feffacf5236b72ffbe83bec02"],"ref":"refs/changes/99/6799/1","uploader":{"name":"Artur M. Wolff","email":"artur@storj.io","username":"amwolff"},"createdOn":1643915443,"author":{"name":"Artur M. Wolff","email":"artur@storj.io","username":"amwolff"},"kind":"REWORK","sizeInsertions":243,"sizeDeletions":323},"change":{"project":"storj/gateway-mt","branch":"main","id":"Ia1d5c89172152cd9f2932f310cb733233ded5958","number":6799,"subject":"{mod,pkg}: bump storj.io/gateway","owner":{"name":"Artur M. Wolff","email":"artur@storj.io","username":"amwolff"},"url":"https://review.dev.storj.io/c/storj/gateway-mt/+/6799","commitMessage":"{mod,pkg}: bump storj.io/gateway\n\nThis change bumps storj.io/gateway to slurp the updated underlying MinIO\nand other new changes. As expected, the existing code required some\nadjustments.\n\nDepends on https://review.dev.storj.io/c/storj/gateway/+/6787.\n\nChange-Id: Ia1d5c89172152cd9f2932f310cb733233ded5958\n","createdOn":1643915443,"status":"NEW"},"project":{"name":"storj/gateway-mt"},"refName":"refs/heads/main","changeKey":{"key":"Ia1d5c89172152cd9f2932f310cb733233ded5958"},"type":"reviewer-added","eventCreatedOn":1643915674}

(The two events are the same.)
I really don't want to say it's Gerrit's fault when it's way more likely to be my own error, but I'm having a hard time seeing how that could happen. Do you know of any other instances of this problem happening?

After looking into this more, it’s definitely a Gerrit bug. Looking into fixing it on the Java side.


Add Implicit Creation of Global Variables in Configuration Groups

Pull Request summary:
Add possibility to create Global objects like below:
controllerConfig=ControllerConfig(id="123")

istead of:
controllerConfig=ControllerConfig(id=Global[str]("123"))

This issue was migrated from an old repository: https://github.com/CiscoDevNet/catalystwan/pull/425


Failed to Load Token/Original Image error

Looks like this was posted elsewhere: https://github.com/VTTAssets/vtta-tokenizer/issues/29
I've tried uninstalling the module, disabling all of the other modules, and have confirmed the folders in settings. Everything appears to be configured correctly, but I'm still getting the error and even though I can run through the interface to manually select an image, I'm unable to save the token or the image.

Please see v 3.0.0


[Feature request] Disable Auto-save dragged image.

My habit includes drag and drog several images to check their workflows and each time the node adds them to workflow folder that was very fustrated to delete them after. Please add a feature to turn auto-save off when needed.
Thank you.

Hi turn on this setting in Settings modal, and it will not create new workflow when you drag an image to canvas, it will overwrite current workflow instead. but make sure you are aware that it will OVERWRITE the current workflow each time you drop a file on canvas, and make sure you have your changes saved somewhere.

Hi turn on this setting in Settings modal, and it will not create new workflow when you drag an image to canvas, it will overwrite current workflow instead. but make sure you are aware that it will OVERWRITE the current workflow each time you drop a file on canvas, and make sure you have your changes saved somewhere.

But it will automatically save my original workflow. This kind of random change of files is very annoying.

this should be already fixed in the latest version, just make sure you disabled auto save mode and use manual save mode.


Add link to book: Python Machine Learning

Python Machine Learning
(and a blog post reflecting on the writing of this book)

Hey i'd like to take this up. Could you guide me as to what exactly im required to do?

@FleetAdmiral I suppose this one is very vague ... just a memo! If you check it out and you find a spot to link, feel free to.


Adding shell

It would be to have shell inside LT. For git add or whatever.
Thanks.

#533 has been closed
#765 has been closed
#1687 has been closed
and still no shell tab?

Hey Kristofer, adding a shell is a plugin request, which doesn't belong in the issue tracker for the core editor itself. We provide all necessary hooks to make the plugin. We do have a plugin request wiki page, which I believe @cldwalker has already linked to. As time permits, someone with the know-how will give it a go. If it's very important to you, you might consider trying to implement it yourself. If you want to try and need advice or assistance, just let us know in IRC or the mailing list.
Cheers,
Josh


List links to other language doc pages in alphabetical order (and add link to C++)

Please update drop down menu of PHP docs page(s)
Expected Behavior
.NET, C++, Go, Java, Node.js , PHP, Python, Ruby
Actual Behavior
.NET, Java, Go, Node.js, PHP, Python, Ruby

Thanks for the issue. This is all set!
https://github.com/GoogleCloudPlatform/google-cloud-php/commit/49ec255b669199fbe4745cb40bf435aa7e8bc35f
https://github.com/GoogleCloudPlatform/google-cloud-common/pull/254


.github/workflows/ci.yml: improvements

Is your feature request related to a problem? Please describe.
Arc v2 based ci runners configuration may be better.
Describe the solution you'd like

GCP autoscaling doesn't work. Let's monitor https://github.com/actions/runner-container-hooks/issues/140 progress.
The runners scale down to 0. Setting minRunners to 4-6-8 we can save 30 seconds for every job.
Force-push creates new testing request. We don't cancel already started requests for that PR. It makes sense to cancel them. GH documentation knows how to do it.
[Done, #4537 ] We don't limit the runners count. Having more runners than instances may be the source of timeout-error. It makes sense to fix maxRunners.
The caching doesn't work. Effective cache size is 0.
[Done, it seems to be a spot VMs usage side effect] Some jobs finish with 130 error.

#4537 surprisingly limited amount of runners/machine to 1.

Removed spot machines pool. Added normal machines.
As a result, I don't see the jobs to fail with 130 error.
With high probability 130 error was a preemption side affect.
To use spot VMs, ARC has to restart the job in case of error.
We can modify ci.yml to restart jobs, but I don't want to pollute the ci.yml file.

One more problem - codecov detects "Local" environment instead of "Github Actions".


No login? No sensible data!

We have 3 kinds of user in our system.
Normalos (login, openid connect: students, profs, ...), Admins (extra admin features), Strangers (login skipped).
We welcome unknowns, but we want them to be able to search only publicly available data.
Normalos and Admins can see everything, but strangers should not be able to see students as search results!
Moreover, I will not only be able to exclude groups of people, but specific attributes on persons as well. Find a generic implementation for that, please. For this user story implement the example: Strangers should not be able to see students and  phone numbers attributes from persons in general. Excluded in search, map, detailpage, .....

[ ] Strangers can't find students as a query result
[ ] Strangers can't see attribute of group


Enable disable scanners

This PR enables isStuff role to enable/disable loaded scanners.
First fixtures are required  and migration.
After migration Stuff can disable/enable selected scanner, delete it or add new one.  Only enabled scanner will appear in dropdown menus  and as api supported.
After this I will drop PR that enables scanner dedicated configuration.
Todo:

[ ] test for visibility in importform
[ ] tests for API

converting to draft as we are working on it


matched audio to text

Hey @Adityagupta1625 ,
I've manually checked and matched each verse with the text, pls merge
as a quality check you can have some random verses checked and matched
I hope I didn't do any silly mistake

I am manually checking the verses but I am Little bit confused about how the verses are numbered since I found some of them
not matching with their verse numbers. So can you pls check and tell

Sure do mention me the mismatches I'll verify, there might be some error in the audio slicing

Hey any updates over this @Adityagupta1625 ?

Actually I am bit busy due to exams . I will try to do it by tomorrow.

just let me know where you've found discrepency

The verses made by audio joiner consist of two verses together and also there is some mismatch  in these verses. I have checked chapter 1 only till now.

any particular number ?
please be a bit clear with the point to trace it backwards

i've manually edited the verses and made the dataset , so there are always errors possible for process being manual

cool
ig it's good to be merged to main, we'll correct any misconfiguration in future, whenever we get any feedback or complaint from users or we ourselves tumble upon the issue

Sure Will try my best

I have gone through chapter 1 again and found this
Verse 22 same as 21
33 same as 32
34 same as 32
35 same as 32
37 same as 36


getting nicknames from accounts

I trying to do simple script to grab Steam nickname of current account, but even with it I'm failing.
Works good in my idler script
	bot.on("accountInfo", function(name) {
		console.log("Your Online Name: " + name);
	});

but this doesn't work,
var BotManager = require('node-steam-bot-manager');

function myNick() {
    var botsManager = new BotManager();

    botsManager.on("accountInfo", function(name) {
		botsManager.infoDebug(botAccount.getAccountName()+ ": your nickname ->" + name);
    });
    botsManager.infoDebug("Starting...");
    botsManager.startManager(function (err) {
        if (err)
            botsManager.errorDebug("Failed to start.");
    });
}

new myNick();

module.exports = myNick;

I found this: https://github.com/DoctorMcKay/node-steam-user#accountinfo
but I don't really get it, where I should put this to grab current nickname?

You can call getDisplayName() on the botAccount object you get from a loggedIn event...
Try to listen to 'loggedIn' and fetch the botAccount from the callback.
Such as below:
    botsManager.on("loggedIn", function(botAccount) {
		botsManager.infoDebug(botAccount.getAccountName()+ ": your nickname ->" + name);
    });

I will be updating the library now to include node-steam-user functionality and also further fixes.

should I change only these line above?
Getting something like that:
https://i.imgur.com/3o0MSKm.png
getDisplayName() showing name between [ ] in menu of bot? if yes, I have everywhere undefined

I don't believe I use the accountInfo event in my code though. So that is what It is better to just call botAccount.getDisplayName() just as I sent earlier.

fixed, thanks!


Update link to Gradle user guide

Thanks for the fix. I'm going to re-run the failed Travis checks one more time.
Frankly, this change should not have caused any failures on Travis. It must be temporary flakiness.


docs(builtWith): added project built with ngrx material starter

What:

Added REQLoot project built with help of Angular, ngrx and Angular Material Starter

Codecov Report

Merging #470 into master will increase coverage by 0.19%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #470      +/-   ##
==========================================
+ Coverage   72.36%   72.56%   +0.19%
==========================================
  Files          59       59
  Lines         503      503
  Branches       41       41
==========================================
+ Hits          364      365       +1
+ Misses        130      129       -1
  Partials        9        9

Impacted Files
Coverage Δ

...tarter/src/app/core/animations/route.animations.ts
80% <0%> (+10%)
:arrow_up:

Continue to review full report at Codecov.

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

Happy to hear that you found this project helpful!


Save/Publish button presentation different to save/publish presentation for Pages

Standard SilverStripe pages have a visual distinction between draft and published pages, however in an element, it's not as clear.

vs

Is it possible/beneficial to follow the same styling/layout as at sitetree publish buttons?

This should be resolved by https://github.com/silverstripe/silverstripe-admin/issues/904

Confirmed to be resolved by silverstripe/silverstripe-admin#904.


Resolve remote CPU benchmarking failure

Remote CPU benchmarking fails on the first attempt with a new conda env. But passes after that.
Investigate this with a fresh install of conda.

Moving out of the first release since remote benchmarking isn't an official part of the first release.


p2p solution

I have been using p2p-media-loader on the web to take off some work off the server and are now looking for a solution for react-native on both Android and iOS.
It dose not seem like it will work well with react-native-video since it uses the native player and not some hls.js implementation. So I'm asking you if you have some advise.
I have been looking at other p2p solutions and one thing that i found was https://viblast.com/demo-hls/
One thing that p2p-media-loader has is it's core hybridloader and it can handle loading segments from either other peer or cdn - the question i have is: can i hook in to the segments loader and use p2p-media-loader core hybridloader instead somehow?

ofc i would need to integrate oney/react-native-webrtc also to make it work


DRILL-3958: Return a valid error message when storage plugin fails

Can you put a one line description?

@amansinha100 / @parthchandra can you review this?

+1


Update Database class and its derivatives based on API review

Specifically:

Remove parameterless constructors
Use IAccessor for extensibility points
Remove MigrationsEnabledDatabase since Migrations and Relational are merged

See https://github.com/aspnet/EntityFramework/wiki/Design-Meeting-Notes:-January-16,-2015#api-review-1-dbcontext-dbset-database

:shipit:


cargo test meet two error

Version
monoio v0.0.3
Platform
Linux n227-074-054 4.14.81.bm.15-amd64 #1 SMP Debian 4.14.81.bm.15 Sun Sep 8 05:02:31 UTC 2019 x86_64 GNU/Linux
Description
when i run cargo test, there are two errors.
➜  monoio git:(master) cargo test
   Compiling monoio v0.0.3 (/data00/home/yuyanglong/code/rust/yuyanglong/other-projects/monoio/monoio)
error[E0271]: type mismatch resolving `<impl futures::Future<Output = [async output]> as futures::Future>::Output == ()`
  --> monoio/src/stream/stream_ext.rs:44:30
   |
34 |           async move {
   |  ____________________-
35 | |             while let Some(item) = self.next().await {
36 | |                 (f)(item);
37 | |             }
38 | |         }
   | |_________- the found `async` block
...
44 |   type ForEachFut<T, Fut, F> = impl Future<Output = ()>;
   |                                ^^^^^^^^^^^^^^^^^^^^^^^^ expected `()`, found associated type
   |
  ::: /data00/home/yuyanglong/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/future/mod.rs:65:43
   |
65 |   pub const fn from_generator<T>(gen: T) -> impl Future<Output = T::Return>
   |                                             ------------------------------- the found opaque type
   |
   = note:    expected unit type `()`
           found associated type `<impl futures::Future<Output = [async output]> as futures::Future>::Output`
   = help: consider constraining the associated type `<impl futures::Future<Output = [async output]> as futures::Future>::Output` to `()`
   = note: for more information, visit https://doc.rust-lang.org/book/ch19-03-advanced-traits.html

error[E0277]: the trait bound `T: stream::Stream` is not satisfied
  --> monoio/src/stream/stream_ext.rs:44:30
   |
44 | type ForEachFut<T, Fut, F> = impl Future<Output = ()>;
   |                              ^^^^^^^^^^^^^^^^^^^^^^^^ the trait `stream::Stream` is not implemented for `T`
   |
help: consider restricting type parameter `T`
   |
44 | type ForEachFut<T: stream::Stream, Fut, F> = impl Future<Output = ()>;
   |                  ++++++++++++++++

Some errors have detailed explanations: E0271, E0277.
For more information about an error, try `rustc --explain E0271`.
error: could not compile `monoio` due to 2 previous errors
warning: build failed, waiting for other jobs to finish...
error: build failed

Thanks for report, it's a known issue for the latest nightly toolchain. It is caused by unstable feature changes, and already fixed but haven't been submitted. I will commit the code soon.


Enable Configuration of Storage Defaults

closes #286

PvcStorageLimit function will return the default storage limit DefaultLimit . But to maintain backward compatibility, DefaultLimit  is set to 0Gi, so that behaviour for PVCs without StorageLimitAnnotation will be kept consistent.

We are postponing the review since we'd like to discuss the feature first. See https://github.com/topolvm/pvc-autoresizer/issues/286#issuecomment-2461314419.


Why call npm pack on _release folder?

Out of curiosity. I saw there was a zip in the Release artifact with the same contents as the release itself, which is produced by this script:
https://github.com/esy-ocaml/hello-reason/blob/84194dc7aff4e6d89af7b858bbf103918e1b8db2/.ci/cross-release.yml#L26-L28
I wonder why that's needed? I personally prefer to have just the folder with the ready-made package, having exclusively the required files to publish.
cc @ulrikstrid

It's easier to test that the package worked since you can then publish the package and try to install it on all the platforms as the last step in the pipeline

I see, thanks for clarifying.
In that case, shouldn't that last step be included in the repo to serve as example? Right now, the pipeline setup seems to assume manual publishing, which then requires remembering to remove the zip file manually every time.

I think that we actually want to just have the pipelines publish the final packed package, not the outer one. Good catch. PRs welcomed, otherwise I'll eventually get to this.

(Packing also strips out other files that are npmignored iirc so I think that might have been one reason).

(Packing also strips out other files that are npmignored iirc so I think that might have been one reason).


New Term - causeOfDeath

New term

Submitter: Quentin Groom, Toke Thomas Høye (@tokehoye), Lien Reyserhove (@LienReyserhove)
Efficacy Justification (why is this term necessary?): The term dwc:vitality allows users to indicate whether an organism was dead when it was observed. Although the cause of death may often be unknown, in cases when it is identifiable, this information is invaluable for a wide range of studies. These include assessing the impact of invasive species, monitoring the spread of wildlife diseases, evaluating human activities' effects on wildlife, and more.
Demand Justification (name at least two organisations that independently need this term): From the dwc:vitality term proposal the following organisations were mentioned, NBN Trust, Ocean Biodiversity Information System (OBIS), The Field Museum, Global Genome Biodiversity Network (GGBN), to those I add Meise Botanic Garden, The Research Institute for Nature and Forest (INBO) and Aarhus University.
The need for a causeOfDeath term has been thoroughly discussed by the "How did it die?" task group, as documented in issues #228 and #363.
The issue 228 was closed when the term dwc:vitality was accepted into Darwin Core, yet the need for a causeOfDeath term persists. In my specific case, this term is crucial for a project that aims to identify roadkill animals using AI, but there are many other documented use cases. While there were discussions about creating an associated vocabulary, it was recognized that this would be an enormous task, and potentially overly restrictive for the term. Therefore, like many other terms in Darwin Core, it is likely more effective to recommend the use of a vocabulary without mandating it.
Stability Justification (what concerns are there that this might affect existing implementations?): none
Implications for dwciri: namespace (does this change affect a dwciri term version)?: no

Proposed attributes of the new term:

Term name (in lowerCamelCase for properties, UpperCamelCase for classes): causeOfDeath
Term label (English, not normative): Cause of death
Organized in Class (e.g., Occurrence, Event, Location, Taxon): Occurrence
Definition of the term (normative): An indication of the known or suspected cause of an organism's death at the time of observation. This may include natural causes (e.g., disease, predation), human-related activities (e.g., roadkill, pollution), or other environmental factors (e.g., extreme weather events). Intended to be used only when dwc:vitality indicates that the organism was dead at the moment of observation.
Usage comments (recommendations regarding content, etc., not normative):
Examples (not normative): trapped, poisoned, starved, drowned, shot, of old age, roadkill, disease, herbicide, burned
Refines (identifier of the broader term this term refines; normative): vitality
Replaces (identifier of the existing term that would be deprecated and replaced by this term; normative): none
ABCD 2.06 (XPATH of the equivalent term in ABCD or EFG; not normative): none

Although the "How Did it Die" task group is not active there are some relevant notes on the webpage https://www.tdwg.org/community/osr/how-did-it-die/

Camera traps fitted to cars are beginning to emerge (e.g. https://doi.org/10.3390/s21186126) and pilot testing suggest that they can facilitate the observation of road kill animals. We are making such trials in EU-wide projects. To be able to make such data FAIR, it will be important to adapt metadata standards to these new sensor-based observations. Thanks to @qgroom for proposing this new term!

I favor adding this term to the Darwin Core. I think we would need to distinguish observation from inference. Mollusk collections sometimes have clams killed by seagulls, by dropping them on rocks or roads. Sometimes death of the organism is directly observed, but more often it is inferred from the condition of the specimen.

I favor this term as well. Would allow entomological collections to add things like "dead in a spider web" or "killed by a specific organism".

I've added this term to our database and started trying to populate it. There's a lot of inference involved: for example, "ex pisces" is sometime stated in a record, so I've added for cause of death "eaten by fish".  That's a proximal reason; also mollusks are known to occasionally pass alive through the digestive tracts of fish and birds, so it's an inference that might at times be wrong. (The specimen might have been alive at the time it was collected.)
In the Eastern Seaboard TCN, we've added the vitality field and we also require a basis of inference of vitality status. The later can be reported as an "occurrenceRemark," which shows up a note in Invertebase (e.g,, https://invertebase.org/portal/collections/individual/index.php?occid=9197331&clid=0). It turns out that when cause of death is known or inferred, that would also serve as the basis of inference of vitality.

I think this term should be proposed to be organized in the Organism class rather than the Occurrence class. It is an Organism that dies, not an Occurrence of an Organism.

I think this term should be proposed to be organized in the Organism class rather than the Occurrence class. It is an Organism that dies, not an Occurrence of an Organism.

I don't really understand the distinction I think I was following the same logic as these terms - individualID, lifeStage, reproductiveCondition, sex and vitality

The terms lifeStage, reproductiveCondition, and vitality are all attributes of an organism at a place and time - things that can change from one Event (Occurrence) to another. The causeOfDeath term would be singularly tied to the Organism - it is not something that can change from one Event (Occurrence) to another.
The term individualID no longer exists in Darwin Core.

That makes sense, thanks for the explanation.
BTW: individualID is still mentioned here https://dwc.tdwg.org/list/ I guess it needs correcting.

BTW: individualID is still mentioned here https://dwc.tdwg.org/list/ I guess it needs correcting.

Good catch.  @baskaufs Something must be wrong with the maintenance scripts that produce the term list document. Thanks!

No this is not an error. The list of terms document contains every term that has ever been minted in the dwc: and dwciri: namespaces, including deprecated ones. See https://dwc.tdwg.org/list/#dwc_individualID, which contains the note "This term is deprecated and should no longer be used."
All of the terms ever minted need to be included in the list of terms, since when terms in those namespaces are dereferenced, they redirect to fragment identifiers in the list of terms document. If they were not included in the list of terms document, there would effectively be no way for someone to discover the meaning of the term by dereferencing its IRI: http://rs.tdwg.org/dwc/terms/individualID

Thank you @qgroom for proposing this term. I believe it will be a valuable addition to the DwC standard!

Thanks @baskaufs . Of course. And a relief.

I favor the addition of this term, would be particularly useful for roadkill datasets and undesirable reasons like electrocution and wind mills etc.

I agree that this would make a good addition. It will be of relevance to the recently funded ZooMu RCN - https://www.nsf.gov/awardsearch/showAward?AWD_ID=2403654&HistoricalAwards=false

The terms lifeStage, reproductiveCondition, and vitality are all attributes of an organism at a place and time - things that can change from one Event (Occurrence) to another. The causeOfDeath term would be singularly tied to the Organism - it is not something that can change from one Event (Occurrence) to another.
The term individualID no longer exists in Darwin Core.

If we are talking about things that are observed only once, then it is true that it is tied to the organism. But supposed there multiple observations of the same individual. It might be alive on the first observation and dead on the second one. Or there can be multiple observations post mortem, for example, of the time course of decay. If there is no individualID in the Darwin core does that mean that each observation stands on its own?

dwc:individualID was deprecated in favor or dwc:orgnismID, when the dwc:Organism class came into being, so the concept still exists.


Use an and between the Boostrap and Yaml in the readme.md file

Use an and between the Boostrap and Yaml in the readme.md file

please assign it to me

Please assign it to me @YoshithaRathnayake

I will assign you all, the one who has done it first, it will accepted and get merged! @Roxie2003  @siddhesh-desai


Update base-path in local network setup

Before, this neither used the actual /tmp/ directory, it also created a directory in ./ named ~, as the ~ doesn't get shell-expanded when directly after an equals. Now this uses the /tmp/ to be more consistent with substrate's tutorials.

Thanks for the PR, @elv-nate. Appreciate it.


[EnhancedButton] Make keyup event respect disableKeyboardFocus

Signed-off-by: Junliang Huang<EMAIL_ADDRESS>

@JLHwung Good catch! :+1:

@JLHwung Thanks! I'm wondering why it's not like the _handleKeyDown in the first place.

@oliviertassinari Me, too. After checking the git history I thought it might be missing from some refactor so I add the pull request.