RFC: Support controlled state hooks

🚀 Feature request
Please, don't understand this as something I decided to do. This is just a possible idea I'm leaving here to solve a common problem. There may be better ways to approach this problem.
Motivation
Right now, state hooks only accept an initial state argument, which means it can't be changed on subsequent renders:
function Component(props) {
  // `props.placement` will be considered only in the first render
  const tooltip = useTooltipState({ placement: props.placement });
  ...
}

The only way to update placement in the example above is to call tooltip.place():
function Component(props) {
  const tooltip = useTooltipState({ placement: props.placement });
  React.useEffect(() => {
    tooltip.place(props.placement);
  }, [tooltip.place, props.placement]);
}

This makes sense because that's exactly how React.useState works. But it's ultra verbose. Also, not all states have their respective updaters.
This makes it harder to compose state hooks and build reusable components on top of them.
Example
This would be the same as today, but passing different values to the state hooks would update its internal state.
Possible implementations
I'm gonna use HiddenState as an example. Currently, we use useSealedState to make sure values will not change:
https://github.com/reakit/reakit/blob/04d1f8cbb2258fa260b02682fd3730f20deac173/packages/reakit/src/Hidden/HiddenState.ts#L81-L86
Besides removing useSealedState, we would have to add effects to update each internal state (at least the ones that are initiated with the arguments).
Implications
This works great for primitive values: strings, numbers etc. For arrays and objects, for example, this would be a nightmare. Users would have to memoize them before passing to the state hook, which would make the API even harder to use. And I bet that most of the times they wouldn't do that.
Alternatives
One alternative could be providing a straightforward way to update the values passed as initial state, for example:
const tooltip = useTooltipState(props);

React.useEffect(() => {
  tooltip.setState(props);
}, [props.visible, props.placement]);

Or we can just make sure to provide updaters for all states.

This makes sense because that's exactly how React.useState works. But it's ultra verbose. Also, not all states have their respective updaters.

Personally, I don't mind the verboseness, I can always extract the complexity away into my own hook. Having it work differently from React.useState would add some magic.
I like the alternative of exposing a hook.setState although I do wonder if it will lead to leaky abstractions. Setting some state that was never meant to be changed for example.
My suggestion would be to provide methods for all states like your tooltip example.

Now that I’m thinking more about that, I agree with you @tom-sherman! So, every initial state property should have its respective setProperty function.
So we have to map all the missing ones and add them.

On that note, place should be setPlacement instead.

I've been trying to think on a solution for this issue. I've been seeing more and more people trying to create controlled components at the same time they want to use Reakit state hooks. And I agree that sometimes you really need both.
The problem
For example, the component below will only consider the initial value passed to the visible prop:
function Component({ visible }) {
  const disclosure = useDisclosureState({ visible });
  ...
}

We can't update the internal visible state from outside:
const [visible, setVisible] = React.useState(false);

<Component visible={visible} />
// This button will do nothing
<button onClick={() => setVisible(!visible)} />

In order to update the internal state based on a prop, we have to use the functional version of getDerivedStateFromProps (we could use React.useEffect here too, but it would be a bit more expensive):
function Component({ visible }) {
  const disclosure = useDisclosureState({ visible });

  if (visible !== undefined && visible !== disclosure.visible) {
    disclosure.setVisible(visible);
  }
  ...
}

This is okay if you have to do it for 1 or 2 states, but it gets more and more verbose the more is the state you want to derive from props. And not to mention that not everyone knows about this approach.
But things get really worse when you introduce some kind of event prop that will react to the internal state change. For example, on a Dialog component you would want to know from outside if the internal visible state has changed in case the user presses Escape to close the dialog.
The idiomatic way to do this is by hooking into the state actions like this:
function Component({ visible, onVisibilityChange }) {
  const state = useDisclosureState({ visible });

  if (visible !== undefined && visible !== state.visible) {
    state.setVisible(visible);
  }

  const disclosure = {
    ...state,
    setVisible(arg) {
      state.setVisible(arg);
      onVisibilityChange(arg);
    },
    hide() {
      state.hide();
      onVisibilityChange(false);
    },
    show() {
      state.show();
      onVisibilityChange(true);
    },
    toggle() {
      state.toggle();
      onVisibilityChange(!visible);
    },
  };
  ...
}

I've also seen other ways to do this using React.useEffect. But the fact that, as the library author, I can't write it off the top of my head is a signal that it would be a struggle for most users.
The solution
I'm not sure yet, but I'm thinking about a new optional parameter on state hooks for controlled state. The signature would be something like this:
- useModuleState(initialState = {}) => state;
+ useModuleState(initialState = {}, controlledState = {}) => state;

The controlledState parameter would accept all properties from initialState in addition to the setters (e.g. setVisible, setPlacement, setBaseId etc.):
function Component({ visible, onVisibilityChange }) {
  const disclosure = useDisclosureState({}, { visible, setVisible: onVisibilityChange });
  ...
}

Internally, if properties from controlledState were present, they would be used in place of the internal state:
https://github.com/reakit/reakit/blob/6f06f3fb9d02ce7e4cce19c52abcbb07a3499009/packages/reakit/src/Disclosure/DisclosureState.ts#L85
So deriving state from props and hooking into state actions manually would be unnecessary.
cc/ @itsjonq

oOoOOoo... I really like the derived state second argument 👏 !
It feels like a seamless addition to the existing Reakit API.
Also, very easy to reason about and use ❤

State hooks v3
Here's another proposal based on https://github.com/reakit/reakit/issues/487#issuecomment-658376872, that will be fully possible in Reakit v3: a single parameter that can receive both uncontrolled and controlled state.
Initial state
To be fully clear and prevent people from thinking they can change their value between renders, all uncontrolled state should be prefixed with initial. This would behave the same as today, but instead of visible, it would be initialVisible, for example.
const state = useDialogState({ initialVisible: false }); // state.visible === false
state.show(); // state.visible === true
state.hide(); // state.visible === false
state.toggle(); // state.visible === true
state.setVisible(false); // state.visible === false
state.setVisible(prevVisible => !prevVisible); // state.visible === true

Controlled state
Controlled state should be passed as state and setState. For example, this would change the current behavior of visible.
const [visible, setVisible] = React.useState(false);
const state = useDialogState({ visible, setVisible });
state.show(); // visible === true
state.hide(); // visible === false
state.toggle(); // visible === true
state.setVisible(false); // visible === false
state.setVisible(prevVisible => !prevVisible); // visible === true
setVisible(false); // state.visible === false

Controlled state without setters
Some properties don't need initial state or setters, but, unlike today, they should be controlled.
// Changing `loop` here after the first render should affect the state.
useCompositeState({ loop: true });

Migration strategy
v1

Introduce initial props
Add a second controlledState parameter as suggested in my last comment.
Deprecate the current initial state without initial API (eg. visible).
Deprecate lazy initial state as it's easily achievable from the user code.

// @deprecated Passing `visible` as initial state to `useDialogState` is deprecated. Use `initialVisible` instead.
useDialogState({ visible: true  });
// Use this instead
useDialogState({ initialVisible: true });
// Or pass controlled state to the second parameter
useDialogState({}, { visible, setVisible });

We'll not show any deprecation warning for controlled state without setters (eg. baseId, loop, wrap, orientation etc.). But we'll have to deprecate the setters for these properties when they exist. (eg. setLoop, setWrap, setOrientation etc.).
v2

Merge the second controlledState parameter with the first one.
Deprecate the second controlledState parameter.

// @deprecated The second parameter of `useDialogState` is deprecated. Pass controlled state to the first parameter instead.
useDialogState({}, { visible, setVisible });
// Use this intead
useDialogState({ visible, setVisible });
// Or this
useDialogState({ initialVisible: true });

v3

Remove the second controlledState parameter.


Fix cask: logmein-client (It seems the symlink source is not there)

This issue looks similar to issue #4818
I think it's LogMeIn Client.app now. I'm new to Macs, Brew and Cask, but if I can help in some way let me know.
system in .dotfiles/ on master
› brew cask install --appdir=/Applications logmein-client
==> Downloading https://secure.logmein.com/welcome/labs/LogMeInIgnition.dmg
######################################################################## 100.0%
Error: It seems the symlink source is not there: '/opt/homebrew-cask/Caskroom/logmein-client/latest/LogMeInIgnition.app'

Should be fixed, now.


GH-2831: AssemblyInfoParser

closes #2831

Ok I adapted the existing integration test to cover this bugfix and rebased the branch.

@daveMueller your changes have been merged, thanks for your contribution 👍


Consultation page needs updating?

https://newfrontdoor.org/consultation
Currently refers to Vision 100 IT
Is this something you can pick up @Bratalix ?

Will do, good catch.

Added to pull request.


Simulation executor cleanup

What is the purpose of the change
This PR continues cleanup of the simulation executor back-end.
The first commit does two things:

Delete legacy structs that are unused
Breaks up the large RandomBeginBlock into simpler functions

Second commit:

Makes operation scheduling work. (It was actually broken in the SDK / hasn't been working for years!), see subseuent comment

Third commit:

Adds one bug fix to time op scheduling (turns out the future ops in the SDK are riddled with errors that will make the backend panic)
Makes better debugging for weighted operations, under the action name interface

Fourth commit: linter fix
Fifth commit: Just entirely delete time queueing operations. The old implementation wasn't too far off what it would need to work, but its going to be easier to just rewrite this with a clear correct consumer of the API. Furthermore, gov future ops are riddled with bugs that seem not worth fixing here. As legacy was broken, so we lose nothing by abandoning it and just rewriting it under an API we want, with clear consumer.
Sixth commit: Move cursed initialization logic that needs to explicitly be rewritten into a standalone function that can be gradually iterated on.
Seventh commit: Deletes unused SimParam argument from simulator.
Eight commit: Move more simulator complexity into simState.SimulateAllBlocks
Testing and Verifying
Make test-sim works, and still produces valid messages for both legacy and new
Documentation and Release Note

Does this pull request introduce a new feature or user-facing behavior changes? yes
Is a relevant changelog entry added to the Unreleased section in CHANGELOG.md? no
How is the feature or change documented? Removes the amount of things we need to document :^)

Lol the failing commit fixed queue operations to work. Turns out they were silently broken in the SDK at some point after we initially wrote them.
See here: https://github.com/cosmos/cosmos-sdk/blob/main/x/simulation/operation.go#L76
So the gov operation queue actually just had bugs that would cause it to never work. (Returns 1 nil future operation, that will always cause a panic)
I'm thinking we can take the fact that it never worked, to just drop support for that all together, and build it correctly.

I view this PR as now achieving the goal of "break up every mega function in the simulator, to more iteratively fixable chunks". (And deleting lots of deadcode in the process)


Adding the Signed-off-by to the commit msg.

Signed-off-by: Jason Clark<EMAIL_ADDRESS>

Build failed.

http://logs.bonnyci.org/check_github/BonnyCI/hoist/244/1489696089.07/bonnyci-run-check-multinode : FAILURE in 8m 21s


common-io: Refactoring and updates to PWM test cases

Description

Added "TEST_PROTECT" sections where needed
Removed stale includes, variables and code
Added in "AFQP_IotPwm_StartFuzzing" and "AFQP_IotPwmAccuracy" test cases in the group.
Removed "AFQP_IotPwmOpenFailure" as it was testing the same as "AFQP_IotPwmOpenFuzzing"
Refactored "AFQP_IotPwmAccuracy" and "AFQP_IotPwmAccuracyAssisted", moving common code out to shared private function.

Checklist:

[ ] I have tested my changes. No regression in existing tests.
[ ] My code is Linted.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/bot run checks


{Tutorial 1} Dragging motion slider does not work

Steps to reproduce
Open Gait2392, load 'Normal' motion, select motion slider and drag back and fouth.
Expected result
Motion plays smoothly at all times no matter how fast I move the slider.
Actual result
Anything but a crawl results in no motion being displayed

Environment and GUI version
Mac, OpenSim e07981e-2018-05-15

duplicate 🤷♂


Disabling tcmalloc for asan/tsan runs when using bazel

We use bazel as our build system.
How do I disable tcmalloc for asan/tsan runs when using the malloc = "@com_google_tcmalloc//tcmalloc", syntax?

You could depend on an intermediate build target that select's for sanitizers and inserts an empty dependency list and fallback to TCMalloc for all other cases.
Alternatively, on sanitizer builds, you could specify --custom_malloc=... to pick an empty target that doesn't transitively provide TCMalloc.


Permission Issue on Push Notifications

When I toggle ON on push notifications, it didn't show up permissions but turned it on for me. I disabled it and then it asked me for permission.
Moto G5 Plus
Firefox Browser

@harishkotra It seems to work fine on my device's firefox. The toggle logic should not trigger without asking for permissions, i even rechecked the code it seems fine.
I guess it should happen only if service worker registration failed.
Can you clear cache for this site and check again if same problem occurs??

@harishkotra Found the issue and fixed it 🎉
Recheck and if still happens let me know.
Actually what happened is on firefox we need to handle push subscription differently than chrome which caused this issue.


Dynamo DB Tracker Store

Proposed changes:

Add Dynamo DB Tracker store

Status (please check what you already did):

[x] made PR ready for code review
[x] added some tests for the functionality
[x] updated the documentation
[ ] updated the changelog
[ ] reformat files using black (please check Readme for instructions)

Thanks for the PR, we'll give it a review as soon as possible.

@kearnsw Thanks for submitting the PR! Can you please update the PR and resolve the merge conflicts? Thanks.

Added a few more comments. Apart form that, please format your code (see https://github.com/RasaHQ/rasa#code-style) and make sure all tests are passing. Let me know if you need any help with that.

I completed the requested changes. Locally the linter, type checker, and tests are passing. However, I had to change the return type of the replace_floats_with_decimals function to return Any instead of Union[Dict, List] to appease the linter.

@tabergma , The Travis CI build is failing while testing the DynamoDB state tracker. This is running locally using the default credential chain for AWS. Perhaps, there is a permission issue with the IAM credentials for Travis CI or some other server-side config issue.

I don't have AWS set up on my machine, so the test is failing for me with a NoCredentialsError. As tests should run on every machine, we cannot assume that everyone has AWS set up. I searched for ways how to test dynamo and found this https://pypi.org/project/pytest-dynamodb/. However, in order to test your dynamodb, you need to set it up locally. So also not an option. Do you have an idea? Otherwise, I guess we need to remove the test.

I don't have AWS set up on my machine, so the test is failing for me with a NoCredentialsError. As tests should run on every machine, we cannot assume that everyone has AWS set up. I searched for ways how to test dynamo and found this https://pypi.org/project/pytest-dynamodb/. However, in order to test your dynamodb, you need to set it up locally. So also not an option. Do you have an idea? Otherwise, I guess we need to remove the test.

That’s a great point. I remember running into a similar issue during early testing and development on ParlAI, which automatically provisioned an db.r4.xlarge instance. My suggestion would be to either separate AWS tests or add conditional statements that check a configuration flag, such that all AWS-based testing can be toggled on and off (default). It’d be advisable that either each function or a cleanup script should remove all resources generated while testing.  That said, I can remove this test if requested. Let me know your thoughts!

Ah, one last thing that is missing, is the changelog entry. Forgot about it. Can you please add it? Thanks. After that I'll merge the PR! Thanks for tackling this 🚀


s390x: Support preserve_frame_pointers flag

On s390x, we do not have a frame pointer that can be used to chain
stack frames for easy unwinding.  Instead, our ABI defines a stack
"backchain" mechanism that can be used to the same effect.
This PR uses that backchain mechanism to implement the new
preserve_frame_pointers flags introduced here:
https://github.com/bytecodealliance/wasmtime/pull/4469
FYI @fitzgen @cfallin

https://github.com/bytecodealliance/wasmtime/pull/4469/files#diff-8ea139a8a0f7b06c7a9de5f9127c7750cb0d785553eb156229cce7448c23f312

LGTM, thanks! Mind adding a filetest that does set preserver_frame_pointers = true similar to how my PR introducing the new flag did for aarch64 and x64?

Oops, I had those, just forgot "git add" :-)


[Feature Request]Read the last batch in Dataset

The programmer guide provides an example of work flow like this
`filenames = ["/var/data/file1.tfrecord", "/var/data/file2.tfrecord"]
dataset = tf.contrib.data.TFRecordDataset(filenames)
dataset = dataset.map(...)
dataset = dataset.batch(32)
iterator = dataset.make_initializable_iterator()
next_element = iterator.get_next()
Compute for 100 epochs.
for _ in range(100):
sess.run(iterator.initializer)
while True:
try:
sess.run(next_element)
except tf.errors.OutOfRangeError:
break`
if we have 33 examples in dataset then we will miss the last example, Is there an API to adjust the batch size automatically(e.g. in this case 1) in order to feed all the examples into model?

Dataset.batch() always returns the last batch, even if it turns out to be smaller than the batch size.
>>> import tensorflow as tf
>>> iterator = tf.contrib.data.Dataset.range(33).batch(32).make_one_shot_iterator()
>>> next_element = iterator.get_next()
>>> sess = tf.Session()
...
>>> sess.run(next_element)
array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16,
       17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31])
>>> sess.run(next_element)
array([32])
>>> sess.run(next_element)
Traceback (most recent call last):
...
OutOfRangeError (see above for traceback): End of sequence
	 [[Node: IteratorGetNext = IteratorGetNext[output_shapes=[[?]], output_types=[DT_INT64], _device="/job:localhost/replica:0/task:0/cpu:0"](OneShotIterator)]]
>>>

@mrry Thanks for your quick reply.


S3Stage stuff

Codecov Report

Merging #23 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #23   +/-   ##
=======================================
  Coverage   33.43%   33.43%
=======================================
  Files          21       21
  Lines        2898     2898
  Branches      478      478
=======================================
  Hits          969      969
  Misses       1889     1889
  Partials       40       40

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 57b6651...978542e. Read the comment docs.


Remove version: Ditto.Ditto version <IP_ADDRESS>

[Automated] It returns code over 400 in all urls
Microsoft Reviewers: Open in CodeFlow

URL: https://sourceforge.net/projects/ditto-cp/files/Ditto/<IP_ADDRESS>/DittoSetup_64bit_3_24_184_0.exe/download
OK
(Automated message - build 923)

URL: https://sourceforge.net/projects/ditto-cp/files/Ditto/<IP_ADDRESS>/DittoSetup_64bit_3_24_184_0.exe/download
Status Code: 200
(Automated message - build 902)

Close with reason: Duplicate;


Only try to work out the differences between points for multiple

🚀 Pull Request
Description

Causes iris.util.points_step to check whether there are multiple points to check before trying (thus averting a warning is caused by only one point being provided).

Fixes #4250.
Questions for reviewer

Is it better to apply the fix here, or to apply it in coords.from_regular and thus leave this so that it warns when called with a single point (albeit cryptically) so that people calling it are aware that they may not be doing what they meant? I personally think that the np.nan return value of avdiff (which matches the current behaviour) is sufficient.

Consult Iris pull request check list

Changes made as requested. Unit tests raised questions of what the correct behaviour with an empty array supplied is.
Will rebase then fix whatsnew once @bjlittle is happy with everything else

This looks good to go! I'd like to get it merged. @wjbenfold could I ask you to rebase to resolve the conflicting files?

Thanks All for sorting this 😊


Autosaves per Game Name - Quality of Life Enhancement

When I play multiplayer games, I often cycle between files frequently depending on who I'm playing with. I have a file here that I play with one friend, another there that I player with a couple others, so on and so forth. With all this switching around, it can be easy to forget to save a Replay and have all traces of that file overwritten as your last hope - the autosaves - are overwritten by the other games you're hosting.
This change solves that by including the name of the game session in the autosave's name. Each name will support the usual 5 slots as per normal. For example, if I host a game and give it the name "Together", then the autosaves created from this will be named "Autosave-Together-1", "Autosave-Together-2", etc... and will not overwrite other autosaves from sessions with other names.
Note: the autosave's use the name of the game session (the name picked in the host dialog), not the name of the loaded file/replay.

For testing, I did confirm that it still obeys the 5 autosave limit; it will find the oldest autosave with a matching name to overwrite when it runs out of slots.

I'm torn because autosaves currently work like they do in vanilla. Let me talk with some of the other devs to make sure we want this feature. Thanks for coding it by the way.

If nothing else a toggle can be added for this behavior.

Yeah, if you can gate it behind a setting in the multiplayer mod, that would be good

Add a setting to turn that on and off and I agree it would be kinda nice.

I have added the requested toggle to the Host dialog, defaulted it to 'off' to maintain the vanilla user experience, and added an entry to each Language file for the new option.
Manually tested and confirmed that the toggle works as expected.

I resolved a merge conflict in the German translation file.

@MilanDierick , I have merged master into the autosavesPerGameName, as requested.

@mattthewaz Another issue would be that most people just leave the name as default when hosting, which means when a player hosts multiple games with the same name, how do you differentiate between the different auto saves? I propose that, in case the player chose to use the default name, to keep track of the auto saves, and when the player saves the replay, to rename the auto saves so they no longer use the default name, and thus prevent auto save name clashes when playing multiple multiplayer games at the same time.

I agree that my solution would not help people who do not change the default name; some level of user action is involved if they want to use the feature effectively. Here are the options as I see them:

Change nothing for now. Additional rules constitute scope creep and might over-complicate the feature.
Follow your suggestion. We would detect when the Host has used the default name and use the Replay name when creating the filenames. In case the game wasn't loaded from Replay, still use the default name in the autosave.
Simplified version of your suggestion. We could always use the Replay name if one exists and only use the game name when one does not.

I personally feel like the enhancement as it stands is a good starting point. It would be easy to iterate on this later.

Addressed merge conflicts.

I have targeted the pull request to go to development, as per the process


Install Paru Faster

Paru.git takes time to compile, while paru-bin is precompiled and installs faster.

Bro you created 4 PRs is last 4 days with the same name. Why?

Bro you created 4 PRs is last 4 days with the same name. Why?

For some reason it was giving errors

look at https://github.com/ChrisTitusTech/linutil/pull/382 it includes some cool refactor


Remove version support for web build

There is now a var at the beginning of the JS file allowing it to be re-enabled if need be. No need for version metadata now. 🙄

Thanks!


Dynamic select data type?

I have a question. Using jsgrid, you can provide some data for a select field as follows:
{
    name: "Country",
    type: "select"
    items: [
         { Name: "", Id: 0 },
         { Name: "United States", Id: 1 },
         { Name: "Canada", Id: 2 },
         { Name: "United Kingdom", Id: 3 }
    ],
    valueField: "Id",
    textField: "Name"
}

However, is there a way to change this "items" attribute AFTER a grid has been initialized? For example, if some of the values on this dropdown depend on other values elsewhere in the grid, how would one implement that?

Never mind, this was in the wrong repo and I saw my question has already been asked in the jsgrid repo.


Add VS Code extension documentation

Hey Galen,
When you get a chance, can you add a documentation page about the new MakeCode Arcade extension for VS Code?
Maybe put the page under the Miscellaneous section, and name it https://arcade.makecode.com/vscode ?

You can basically copy the information from the README file at https://github.com/microsoft/vscode-makecode

It looks like https://github.com/microsoft/vscode-makecode is private. I'm not able to see it.

Sorry, just added you


Question: how does this relate to WebWorkers in Deno?

Hi! First off - thanks for writing this module, I've been working on something that uses it and it's been a godsend! I'm a newbie to Deno and only now discovered that it supports a WebWorker concept of its own -<EMAIL_ADDRESS>Which seems pretty interesting! Would love to know how you folks think about the tradeoffs - if one is already in a Deno environment, does it make sense to just use WebWorkers for the same kind of work as node-deno-vm? It seems like it provides some of the same benefits but with Isolate isolation rather than process isolation?

Hi @tmcw ! This project was actually designed as a sort of pseudo-implementation of Web Workers for Node.js.
When I designed this project, I wanted to use Web Workers from inside Node.js that also had security controls so I could limit access to things like the file system. At the time, the best that Node.js had was vm2, and the security design of that tool simply wasn't something that I was comfortable with (Specifically with respect to denial of service and crash resilience). So, I decided it would be nice to have something similar to Web Workers except with the idea that it should use a separate process and also it should use Deno as the runtime (which has a much better sandbox design than Node.js).
As for how this library compares to the Web Worker support in Deno, I would say they compare pretty similarly. The major difference is that this library is designed to be used from Node.js, while Deno Workers are used from Deno.
Essentially, if you are already using Deno, then you should definitely try to see if the Web Workers in Deno support what you need. Otherwise if you are already using Node.js, you can use this library to give you Deno's security features through a Web Worker-like API.
Really the biggest thing to be careful about with in-process workers are the possibility of Spectre-like side-channel attacks that separate processes are better at preventing.
On the other hand, Deno Web Workers are likely to be much quicker at communication with the main thread since they can use direct thread-to-thread communication and don't have a complicated marshalling step like this library does.

Thanks! Months later this was a super helpful response to get me started with this tricky problem area!


Make "hash" module public

Hi,
Congrats for this great library!
Is it possible to make the hash module public?
I already implemented my slow hash with Argon2 and do not wan't to use a forked version of this library.
Kind Regards,
Tomé

@tomvardasca If you can verify that this is the fix you were looking for, then I'd be happy to patch and release v0.2.1 with this change. Thanks!

That was exactly was I was looking for 😄
Thanks a lot for changing this so quickly.


Undefined variable on theme package deactivation

When deactivating the theme package or changing the UI theme a "undefined variable" exception is thrown. This is caused by the wrongly named @theme-setting-custom-comment-contrast variable which should be named @theme-setting-accessibility-custom-comment-contrast.

🚢 Shipped with APM package release version 🏷 0.9.1.


Remediation Source field: cannot get to the bottom

Cannot get to the bottom of the list to access "other" or "another DSO" because I can't scroll down to expand the page.

The left (main) section of the webapp is a scroll area. My guess is that your mouse was on the right side of the webapp while you tried this. Can you confirm that this is the case?
With that said -- I did notice that the scrollbar only appears if your mouse is in the scroll area, so perhaps that can be changed.

I recorded a video (sorry, no sound, but I did use bookmarks to help guide you if you view it in Panopto).
I used various means of entry to the list, but the bottom of the list is not viewable.
EMMA Metadata enhancer: Remediation Source list not viewable

I will look. I just verified it works in Firefox, so perhaps it's a browser thing.


Issue Template Updates for Figma link

Current Behavior
The project's current issue templates are missing an open invitation link where new contributors can join the community's Figma team and view user interface designs and other UX projects.
Desired Behavior
Each template that has a reference to Figma in its resources section should an invite link added.
Implementation
In each issue template that refers to Figma, replace the current line referring to Figma with this line:
- 🎨 Wireframes and [designs for Meshery UI](https://www.figma.com/file/SMP3zxOjZztdOLtgN4dS2W/Meshery-UI) in Figma [(open invite)](https://www.figma.com/team_invite/redeem/qJy1c95qirjgWQODApilR9)```

#### Acceptance Tests
1. All references to Figma include the "open invite" link.

---
#### Contributor [Guides](https://docs.meshery.io/project/contributing) and Resources
- 📝 [Meshery Adapters Spreadsheet](https://docs.google.com/spreadsheets/d/1rGGpSXC68iDJzNRU-qZIRQsZUwkt1qLFg7JCs4pfvbU/edit?usp=sharing)
- 🛠 [Meshery Build & Release Strategy](https://docs.meshery.io/project/build-and-release)
- 📚 [Instructions for contributing to documentation](https://github.com/meshery/meshery/blob/master/CONTRIBUTING.md#documentation-contribution-flow)
   - Meshery documentation [site](https://docs.meshery.io/) and [source](https://github.com/meshery/meshery/tree/master/docs)
- 🎨 Wireframes and designs for Meshery UI in [Figma](https://www.figma.com/file/SMP3zxOjZztdOLtgN4dS2W/Meshery-UI)
- 🙋🏾🙋🏼 Questions: [Layer5 Discussion Forum](https://discuss.layer5.io) and [Layer5 Community Slack](http://slack.layer5.io)

Hi @leecalcote I would like to contribute on this. Can i please get assigned to this?

Is it still open ?


label_map.pbtxt file ; No such file directory

Hi while i tried to train the object detector it's saying no "label_map.prbtxt file". The file exist in the object detction/training folder. I have checked the paths in config file. I'm using Ubuntu 16.04, GeForce GTX 1050 Ti/PCIe/SSE2. Tensorflow version is 1.5. please help me

Isn't it "label_map.pbtxt file" without the "r".
At which path is your labelmap and what is the content of your config file?

Hi, check this link
https://youtu.be/nZUxoHPFf4w


chore: Add Markdownlint config

Existing rules that aren't passsing are disabled.
This config will be picked up by VS Code with the MSDocs Authoring Pack (which includes the Markdownlint extension).
To run it from a commandline or as part of the CI:

Install npm install -g markdownlint-cli https://github.com/igorshubovych/markdownlint-cli
Run markdownlint "**/*.md"

OPS Build status updates of commit f3b78c7:
:clock10: Preparing: average preparing time is 3 min(s) 18 sec(s)

OPS Build status updates of commit f3b78c7:
:clock10: Incremental building: average incremental building time is 53 min(s) 52 sec(s)

OPS Build status updates of commit f3b78c7:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

.markdownlint.json
:white_check_mark:Succeeded

Office-Mac/AppleScriptTask.md
:white_check_mark:Succeeded
View

api/Access.Report.OnCurrent.md
:white_check_mark:Succeeded
View

api/Excel.Range.RowHeight.md
:white_check_mark:Succeeded
View

api/Excel.Range.Sort.md
:white_check_mark:Succeeded
View

api/Excel.Range.Text.md
:white_check_mark:Succeeded
View

api/PowerPoint.AnimationBehavior.ScaleEffect.md
:white_check_mark:Succeeded
View

api/PowerPoint.Application.PresentationSave.md
:white_check_mark:Succeeded
View

api/PowerPoint.Application.SlideShowNextBuild.md
:white_check_mark:Succeeded
View

api/PowerPoint.Comment.Author.md
:white_check_mark:Succeeded
View

api/PowerPoint.EffectParameters.Relative.md
:white_check_mark:Succeeded
View

api/PowerPoint.FileConverter.CanSave.md
:white_check_mark:Succeeded
View

api/PowerPoint.FillFormat.Background.md
:white_check_mark:Succeeded
View

api/PowerPoint.FillFormat.TextureType.md
:white_check_mark:Succeeded
View

api/PowerPoint.Selection.ChildShapeRange.md
:white_check_mark:Succeeded
View

api/PowerPoint.Selection.HasChildShapeRange.md
:white_check_mark:Succeeded
View

api/PowerPoint.Shape.ParentGroup.md
:white_check_mark:Succeeded
View

api/PowerPoint.Shape.ScaleWidth.md
:white_check_mark:Succeeded
View

api/PowerPoint.ShapeRange.Id.md
:white_check_mark:Succeeded
View

api/PowerPoint.SlideShowView.Parent.md
:white_check_mark:Succeeded
View

api/Word.FillFormat.OneColorGradient.md
:white_check_mark:Succeeded
View

excel/Concepts/Excel-Performance/excel-improving-calcuation-performance.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

@nschonni I don't understand what this third commit is: "add markdownlint.config", and what it will do to our repo. I think you're going a little overboard with your fixes; except for the heading error, the other fixes don't appear to be issues in the published docs. This type of change is something that only Microsoft FTEs should be initiating, I believe.

This is the last PR i'm submitting. The config is so that VS Code or from the commandline will flag the markdownlint issues. If you want to keep cleaning them up, you can remove the suppression in the config

@nschonni I don't feel comfortable making that change. I'm going to close this PR for now until I can check with an FTE.


Analyzer crashes Visual Studio when T has a property of type IList

I have a MassTransit consumer that responds to a message with the following interface:
public interface Foo {
  IList<Foo> Children { get; }
  Bar Bar { get; }
}

MassTransit.Analyzer is included into my project to help resolving types automagically but when I go and ask the analyzer to add the missing properties Visual Studio crashes. Maybe tell the analyzer (Roslyn?) how to only go maybe n levels deep?

@RemcoBlok any chance you could take a look at this one?

Hi Chris,
I just created a draft pull request to allow for recursion in the message contract specified by @secret-agent-B above. There may be other types of recursion you may wish to handle as well.
I also did some refactoring of the multiple levels of indenting and methods with too many lines, same as I did in the original https://github.com/RemcoBlok/MessageContractAnalyzer on my repo.
Please review and let me know if you like to go ahead and have the PR published.
cheers
Remco

Thanks, I just merged it!


Add image previews to README.md

The README.md document has been updated with image previews that demonstrate the expected result of certain code examples. These changes provide a visual reference to help users understand the output or effect of the provided code. A new SVG file 'preview3.svg' has also been added to the images directory for this purpose.

In the issues section User asked a for preview images, so i added them

images/preview2.svg, images/preview3.svg, and images/preview4.svg don't seem corresponding to the examples above them.
I don't think it's good idea to add image previews for each code example, as all code examples show the same charts.

Looks great to me.

images/preview2.svg, images/preview3.svg, and images/preview4.svg don't seem corresponding to the examples above them.
I don't think it's good idea to add image previews for each code example, as all code examples show the same charts.

For myself, it would be helpful knowing what the charts would look like. It makes it easier to consider which one to use.


 We used to just add script tags and everything was fine 😂 . Also, this maybe nothing to do with babel-brunch, but it seems like the right place to start asking questions.
Anyway, I have a project that uses babel-brunch. It include a few npm modules and in the latest Chrome browser everything is working fine. However, when I run my tests using PhantomJS, I get the following error:
** (Wallaby.JSError) There was an uncaught javascript error:

     TypeError: undefined is not a constructor (evaluating 'Object.assign')
       (anonymous function) (http://localhost:4001/js/app.js:12404)
       __webpack_require__ (http://localhost:4001/js/app.js:11448)
       (anonymous function) (http://localhost:4001/js/app.js:20395)
       __webpack_require__ (http://localhost:4001/js/app.js:11448)
       (anonymous function) (http://localhost:4001/js/app.js:11494)
       (anonymous function) (http://localhost:4001/js/app.js:11495)
       webpackUniversalModuleDefinition (http://localhost:4001/js/app.js:11421)
       (anonymous function) (http://localhost:4001/js/app.js:11428)
       (anonymous function) (http://localhost:4001/js/app.js:20429)
       initModule (http://localhost:4001/js/app.js:42)
       require (http://localhost:4001/js/app.js:59)
       expanded (http://localhost:4001/js/app.js:34)
       (anonymous function) (http://localhost:4001/js/app.js:20436)
       initModule (http://localhost:4001/js/app.js:42)
       require (http://localhost:4001/js/app.js:59)

Looking at app.js:12404 it's this line:
/* harmony default export */ exports["a"] = Object.assign({},

And this comes from the npm package vuetify (https://www.npmjs.com/package/vuetify).
From my understanding, Object.assign is a new ES6 thingy and PhantomJS (and other browsers) do not support that yet, hence the error. So I assume I need a polyfill for this to work in browsers that only support ES5.
Looking at your readme and some of the issues, I think this should already be included in babel-brunch so I'm not sure why it isn't working.
For completeness my brunch config is below but is pretty slim and almost the default generated by Elixir Phoenix 1.3:
exports.config = {
  files: {
    javascripts: {
      joinTo: "js/app.js"
    },
    stylesheets: {
      joinTo: "css/app.css"
    },
    templates: {
      joinTo: "js/app.js"
    }
  },

  conventions: {
    assets: /^(static)/
  },

  paths: {
    watched: ["static", "css", "js", "vendor"],
    public: "../priv/static"
  },

  plugins: {
    babel: {
      ignore: [/vendor/]
    },
    vue: {
      extractCSS: true
    }
  },

  modules: {
    autoRequire: {
      "js/app.js": ["js/app"]
    }
  },

  npm: {
    enabled: true,
    whitelist: ["phoenix", "phoenix_html", "vue"],
    globals: {
      Vue: "vue/dist/vue.common.js"
    },
    styles: {
      vuetify: ["dist/vuetify.min.css"]
    }
  }
};

I'm obviously missing something, but not sure if it's a config thing or a missing package or what not.
Any help or advice would be greatly appriciated!
Thanks in advance!
Andy
❤

As a follow up, I've tried adding babel-preset-env with:
npm install babel-preset-env --save-dev

Then updating my babel config as follows:
babel: {
  ignore: [/vendor/],
  presets: [
    ["env", {
      useBuiltIns: true,
      debug: true
    }]
  ]
}

With debug enabled, I can see the Object.assign polyfill is being used when building with brunch build:
Using polyfills:
  es6.typed.array-buffer {}
  es6.typed.data-view {}
  es6.typed.int8-array {}
  // ... snip ...
  es6.symbol {}
  es6.object.assign {}
  es6.object.is {}

As far as I can see, this should do it but running up the tests in PhantomJS still reports the same error as above.

OK, I think I fixed it now. I added the following to my app.js file:
import "babel-polyfill";

And it all seems to work without any errors. As I'm not sure if this is the correct way to do this, I'll leave this issue open. If there is a better way, the please let me know.
Thanks

Hey @andypike.
import "babel-polyfill";

Installs all available polyfills for dev and prod environments. I would recommend adding uglify as target for dev mode. See https://github.com/babel/babel-preset-env/pull/178
Also, phantomjs is unmaintained (thats why we don't have phantomjs target in babel-preset-env). Using headless chrome seems like a good upgrade.

@andypike Thanks for this line:

From my understanding, Object.assign is a new ES6 thingy and PhantomJS (and other browsers) do not support that yet, hence the error.

I had a similar problem, while test failed in PhantomJS, debugging in Chrome did not. Saved a lot of headache!

@andypike your solution solved my issue, thanks!


Prometheus version 2.4.3 is not available any more

Describe the bug
When executing "nb" command with --docker-metrics, the following error is thrown up:
02:19:30.723 [main] ERROR i.n.engine.core.ScenarioErrorHandler - internal error: {"message":"No such image: prom/prometheus:v2.4.3"}
com.github.dockerjava.api.exception.NotFoundException: {"message":"No such image: prom/prometheus:v2.4.3"}
at com.github.dockerjava.okhttp.OkHttpInvocationBuilder.execute(OkHttpInvocationBuilder.java:287)
at com.github.dockerjava.okhttp.OkHttpInvocationBuilder.execute(OkHttpInvocationBuilder.java:271)
at com.github.dockerjava.okhttp.OkHttpInvocationBuilder.post(OkHttpInvocationBuilder.java:129)
at com.github.dockerjava.core.exec.CreateContainerCmdExec.execute(CreateContainerCmdExec.java:33)
at com.github.dockerjava.core.exec.CreateContainerCmdExec.execute(CreateContainerCmdExec.java:13)
at com.github.dockerjava.core.exec.AbstrSyncDockerCmdExec.exec(AbstrSyncDockerCmdExec.java:21)
at com.github.dockerjava.core.command.AbstrDockerCmd.exec(AbstrDockerCmd.java:35)
at com.github.dockerjava.core.command.CreateContainerCmdImpl.exec(CreateContainerCmdImpl.java:595)
at io.nosqlbench.engine.docker.DockerHelper.startDocker(DockerHelper.java:125)
at io.nosqlbench.engine.docker.DockerMetricsManager.startPrometheus(DockerMetricsManager.java:128)
at io.nosqlbench.engine.docker.DockerMetricsManager.startMetrics(DockerMetricsManager.java:48)
at io.nosqlbench.engine.cli.NBCLI.run(NBCLI.java:191)
at io.nosqlbench.engine.cli.NBCLI.main(NBCLI.java:48)

{"message":"No such image: prom/prometheus:v2.4.3"}
What was Expected
Shoud we use version "latest" in order to avoid similar error in the future?

relevant code:
https://github.com/nosqlbench/nosqlbench/blob/86a92d9ab905f765eae74be9a1ba6a7d891537a1/engine-docker/src/main/java/io/nosqlbench/engine/docker/DockerMetricsManager.java#L97-L103

We are not using Prometheus and the NB 5.21 efforts to replace "graphite mode" will involve a docker compose of grafana and victoria metrics.


cmd/go: go build fails on directory with only test files (behavior change from 1.2)

What does 'go version' print?

go version go1.3 windows/amd64

What steps reproduce the problem?
If possible, include a link to a program on play.golang.org.

In a working Go environment:

  $ mkdir src/somedir/dummy
  $ echo "package dummy" > src/somedir/dummy/dummy_test.go
  $ go build somedir/...
  go build somedir/dummy: no buildable Go source files in /path/to/somedir/dummy
  $ echo $?
  1

There are other valid packages under somedir/

What should have happened instead?

In go 1.2, the build was successful. A simple workaround is to add a dummy non-test file
in the package.

Since it broke our build and I cannot see it mentioned in the release notes I wondered
if the change was intentional. And if so, I was curious to know why.

This is difficult to support nicely, because it's hard to
distinguish "no Go source files" from "no Go source files
due to build tags excluding them all", and you do want
to behave differently in those cases.
But then a directory with just a "// +build ignore" file
is kind of a mix of both.
Since we've been living with this since 1.3, I think it is
fine to keep living with.


feat: introduce support for native astro integration package

Implement #345 - astro integration
Signed-off-by: Liran Tal<EMAIL_ADDRESS>

@ericallam addressed your comments, excluding the TS part.


Support for lazy data frames

LGTM! What do we show as total runs in this case? A question mark? Or we just show nothing?

A question mark and I’m disabling the next button when we reach a page without rows.


codesandbox can't open

Thank you for reporting this. The sandbox won't be possible for each example so i'm disabling it.


fixed the issue no:: #158

Title and Issue number
#158
Title : Fixed the issue 158
Issue No. :
Code Stack :
Close #<issue_no>

Checklist:

[] I have mentioned the issue number in my Pull Request.
[] I have commented my code, particularly in hard-to-understand areas
[] I have created a helpful and easy to understand README.md
[] I have updated the Index.html file for my contribution

@sadanandpai thanks for assigning me the issue it is fixed now

Looks good to me!


[Bug]: NSBX server error

What happened?
The server is now very unstable and it shows error most of the time actually every time
What browsers are you seeing the problem on?
No response
Steps to reproduce?
No response
Other relevant information
No response

Yeah same issue. Almost no videos load anymore. It's still in development though but L for now

same here errored everything immediately

You have to wait on the homescreen for turnstile to init (~2 secs)


Git username doesn't seems to update

When i first authorized Inch-ci to have access to my account data, my github username was dersturm. Some time later, i changed my github username to mememori and now, while accessing inch-ci website, it says i am @dersturm...
Also, it doesn't list any of my projects (even if i try to manually sync), probably because of this username issue.
And there is a little typo on the table for elixir projects: "Elixir projects Inch CI can now also evaluate Elixir projects, but they have to be build by Travis" i think it was supposed to be built

It is very likely that I never tought about this scenario when designing the Signin process. :sweat:
Will have a look as soon as I can! Thx for the bug report :+1:

Hi, you should now see the right username and I hope the projects sync correctly as well.
Please report what you find!


Design improvements(?)

On a first sight, not a deep inspection:

The red is too oibs
I would resist dropping the depressive and succinct style(capital letters?!)

However the form default value thing and the current course wrapper looks nice.

perhaps this needs a CSS reset, wtf sans serif font is this destroys the overall "my sun is fading" attitude

I won't deny this PR exposes some design deficiencies, but introducing an Ubuntu/OIBS red, rounding the edges and capitalizing first letters don't look necessarily userfriendly to me.
Issues I notice are:

in Firefox, text, form, buttons and boxes are not really aligned
a CSS reset is desperately needed because of the goofy button styling some OS/browsers use
a border would be nice for "current courses"
course colors are too much of one saturation- violet/blue/green

also a grid and headers for the table could be good. a SVG grid maybe?

I don't think there is a point in selecting a theme now, let's first do the layout and then the colors.
More issues are:

basbursen abomination keeps next/prev buttons aligned with the page on mobile, we don't
flex wrapping can be unreliable, perhaps migrate to PureCSS? I think that will result in an actually smaller style.css. it is a mess now.

I should not have pushed to this branch. Not only i hated it but i also destroyed the consistent flexbox structure after i added(copy pasted) the styling for course list to make a workaround for something that does not need a workaround kind of solution.  Working at night time is bad. I'll try to create something else if i have time. border-collapse is buggy by the way. Borders disappear sometimes.

PureCSS +1

Nevermind the commit.


How to install an older prerelease version?

Yesterday, 13.5.22 was the latest prerelease of chef-client.
I installed it using the following parameters during knife bootstrap
--bootstrap-version 13.5.22 --prerelease
However. today when I wanted to bootstrap 13.5.22 using the same parameters, chef installed the chef-client 13.5.25.
Removing the --prerelease caused a download failure, it could not find v. 13.5.22 that way.
How can I still install 13.5.22 during bootstrap?

Thanks for filing a GitHub Issue.
At Chef, we use GitHub Issues to track bugs and feature requests. Questions like "How do I .... with Chef?" are better answered by our awesome community on the Chef mailing lists, or on StackOverflow. (Please pick only one place to ask your question, however, as it's considered impolite to post the same question to multiple forums.)
You can find information about joining and asking questions on our mailing lists here. On StackOverflow, please tag your question with the "chef" label so that it shows up in this list.
We will be closing your issue. Please get in touch with the community via the above mechanisms in order to find a solution to your problem.

Ok


cannot import name 'SparseTensor'

❓ Questions & Help

Hello, I have successfully installed torch_sparse, but when I try to run /examples/cluster_gcn.py, I found "Import Error: cannot import name 'SparseTensor'",  did I used a wrong version of torch_sparse?

Yes, you have an older version installed. Try to remove all previous torch-sparse installations and try again.

Thanks for your quick reply, I'll have a try!


Allow collections for MV transform functions

Fix for issues like
Caused by: java.lang.RuntimeException: Caught exception while executing function: arrayIndexOfString(subject,'History')
	at org.apache.pinot.segment.local.function.InbuiltFunctionEvaluator$FunctionExecutionNode.execute(InbuiltFunctionEvaluator.java:254) ~[classes/:?]
	at org.apache.pinot.segment.local.function.InbuiltFunctionEvaluator$FunctionExecutionNode.execute(InbuiltFunctionEvaluator.java:240) ~[classes/:?]
	at org.apache.pinot.segment.local.function.InbuiltFunctionEvaluator$FunctionExecutionNode.execute(InbuiltFunctionEvaluator.java:240) ~[classes/:?]
	... 31 more
Caused by: java.lang.IllegalArgumentException: Cannot convert value from class: class [Ljava.lang.Object; to class: class [Ljava.lang.String;
	at com.google.common.base.Preconditions.checkArgument(Preconditions.java:383) ~[guava-20.0.jar:?]
	at org.apache.pinot.common.function.FunctionInvoker.convertTypes(FunctionInvoker.java:108) ~[classes/:?]
	at org.apache.pinot.segment.local.function.InbuiltFunctionEvaluator$FunctionExecutionNode.execute(InbuiltFunctionEvaluator.java:251) ~[classes/:?]
	at org.apache.pinot.segment.local.function.InbuiltFunctionEvaluator$FunctionExecutionNode.execute(InbuiltFunctionEvaluator.java:240) ~[classes/:?]
	at org.apache.pinot.segment.local.function.InbuiltFunctionEvaluator$FunctionExecutionNode.execute(InbuiltFunctionEvaluator.java:240) ~[classes/:?]
	... 31 more

When using arrayIndexOfX on MV columns

@npawar @klsince

Codecov Report

Merging #9908 (7551e21) into master (ecf41be) will increase coverage by 0.00%.
The diff coverage is 66.66%.

@@            Coverage Diff            @@
##             master    #9908   +/-   ##
=========================================
  Coverage     64.30%   64.30%
+ Complexity     5034     5033    -1
=========================================
  Files          1928     1928
  Lines        103874   103887   +13
  Branches      15823    15825    +2
=========================================
+ Hits          66793    66804   +11
- Misses        32254    32260    +6
+ Partials       4827     4823    -4

Flag
Coverage Δ

unittests1
67.94% <66.66%> (+0.01%)
:arrow_up:

unittests2
15.79% <0.00%> (-0.01%)
:arrow_down:

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

Impacted Files
Coverage Δ

...rg/apache/pinot/common/function/FunctionUtils.java
97.91% <33.33%> (-2.09%)
:arrow_down:

...a/org/apache/pinot/common/utils/PinotDataType.java
81.19% <100.00%> (+0.11%)
:arrow_up:

.../segment/index/readers/OnHeapStringDictionary.java
68.75% <0.00%> (-6.25%)
:arrow_down:

...roller/helix/core/relocation/SegmentRelocator.java
42.85% <0.00%> (-3.58%)
:arrow_down:

.../java/org/apache/pinot/spi/data/TimeFieldSpec.java
88.63% <0.00%> (-2.28%)
:arrow_down:

...controller/helix/core/minion/PinotTaskManager.java
37.82% <0.00%> (-1.47%)
:arrow_down:

...org/apache/pinot/client/DynamicBrokerSelector.java
89.58% <0.00%> (-1.12%)
:arrow_down:

...core/query/reduce/ExplainPlanDataTableReducer.java
82.31% <0.00%> (-0.69%)
:arrow_down:

.../aggregation/function/ModeAggregationFunction.java
88.10% <0.00%> (-0.55%)
:arrow_down:

...lix/core/realtime/PinotRealtimeSegmentManager.java
72.25% <0.00%> (ø)

... and 3 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

I don't think COLLECTION can be properly handled in the type conversion. Can you try converting List to integer array (use toIntegerArray)? We should add unit test for type conversion as well.

@Jackie-Jiang I tested the conversion of COLLECTION to FLOAT_ARRAY here https://github.com/apache/pinot/pull/9908/files#diff-c41ef8cb03fe4400c27f26041c87fd83bdc8650e546fbfef19a053007c507226R149

Since the first step in all X_ARRAY conversions is a conversion of the incoming datatype to Object[],  Adding this should work?
 if (array instanceof Collection) {
      return ((Collection<?>) array).toArray();
    }


Need to figure out what to do with ILLink in source-build

Today, we turn off ILLink in corefx
https://github.com/dotnet/source-build/blob/ac7159ec5f61d1ebadb454471d5f6190a4ebbc3b/repos/corefx.proj#L6
But we are now dependent on ILLink with #376.
We should either not use ILLink at all. Or we should embrace it everywhere and figure out how to build it from source (it depends on Mono.Cecil), and then use that source-built version to build .NET Core.
/cc @weshaggard @dagood @dseefeld

@eerhardt I know corefx is using illink for avoiding zeroing stackalloced memory. Is it is used for other things?

dotnet/coreclr appears to be using it to build System.Private.CoreLib - probably for the same reasons corefx does.
I'm not 100% sure where else.  @dagood - I didn't see any reasoning in #376 why ILLink.Tasks was added. Can you explain why the dependency got added here?

@erozenfeld @stephentoub any thoughts on implications of turning this off our source-builds?

appears to be using it to build System.Private.CoreLib - probably for the same reasons corefx does.

Yes, both coreclr and corefx use the linker to trim away dead code and to avoid zero'ing locals.
Implications of turning off the linker would be larger binaries and less-efficient code; in particular for corelib, the latter was very measurable in various microbenchmarks around things like string processing, integer formatting and parsing, etc., things involving sizeable stackallocs.
Once https://github.com/dotnet/csharplang/blob/master/proposals/skip-localsinit.md is available in the compiler, we can use that instead of the linker, at least for the locals zero'ing.

  Or at least #if it out for .NET Core?

can’t we just delete any remaining dead code?

For the most part, yes, and it's in progress:
https://github.com/dotnet/corefx/issues/17905

Yes, ILLink is currently used only for trimming code and clearing initlocals. Note that some dead things can't be removed from source but can be removed by ILLink: e.g., inlined constants, private constructors. ILLink is also a place for any other future IL-to_IL transformations that either can't be done by Roslyn or can be done by Roslyn but may benefit from first testing them in ILLink (like we did with clearing initlocals). Having ILLink in the corefx and coreclr pipelines is convenient for that.
@sbomer and I have been building ILLink.Tasks from source (including Cecil) and publishing the packages. We can help with integrating that into source-build if that is what is required. Is source build not allowed to use any packages?

@jeffschwMSFT @jkotas

@dagood - I didn't see any reasoning in #376 why ILLink.Tasks was added. Can you explain why the dependency got added here?

With the BuildTools and CoreCLR update, the package not existing made CoreCLR fail, and the priority was getting CoreCLR working. I didn't get a deep understanding of why it wasn't needed before and was after.

@eerhardt @dagood My understanding from this issue is that ILLink packages are being fetched, but they are not being used. Is that correct?

My understanding is we're at a weird middle ground because I didn't know CoreFX had it disabled: CoreCLR uses it, but CoreFX doesn't.
We should be able to disable it in CoreCLR as well and remove it again, with the perf cost stephentoub mentioned. (I don't know the build arg to do this.) If it's ok to have it as a prebuilt, we could enable it for CoreFX so that we're at least using what we already have.

The performance cost to disable it in CoreCLR is prohibitive. It will cause performance regressions that are not going to be acceptable.

[@erozenfeld] @sbomer and I have been building ILLink.Tasks from source (including Cecil) and publishing the packages. We can help with integrating that into source-build if that is what is required.

Unless there are alternative ways to avoid the perf impact, that is what we need to do to get rid of the prebuilt dependency, yeah. Thanks for the offer. Here's a doc on the basics of the source-build repo if you want to see the general expectations ahead of time--it doesn't seem to me like we have bandwidth to get that in our imminent releases though: https://github.com/dotnet/source-build/blob/master/Documentation/2.1-update-process.md.
/cc @dleeapho

[@erozenfeld] Is source build not allowed to use any packages?

Check out https://github.com/dotnet/source-build#goals for why we don't want prebuilt (downloaded) dependencies in source-build. This guideline in particular: https://fedoraproject.org/wiki/Packaging:Guidelines#No_inclusion_of_pre-built_binaries_or_libraries. The "area-prebuilt-reduction" label tracks exceptions we're aiming to get rid of.

[@stephentoub] I know I've had cases in recent memory where things got trimmed away, so I'm not sure what's going on, maybe it's a very recent change? Or... maybe that's just for source build?

Yep, just source-build. /p:ILLinkTrimAssembly=false is set when building CoreFX from source.

@dagood Is this guideline about what is included in the resulting binaries or about everything used during the build?
https://fedoraproject.org/wiki/Packaging:Guidelines#No_inclusion_of_pre-built_binaries_or_libraries
ILLink.Tasks is not included in the output, it's only used during the build. Are all other tools (e.g., c++ and c# compilers and linkers) used during source-build built from source?

@jkotas We can bring back your workaround in the runtime to ignore initlocals in SPC if the linker has to be disabled... We'll still have regressions in corefx assemblies.

Are all other tools (e.g., c++ and c# compilers and linkers) used during source-build built from source

@erozenfeld For the native toolchain, this is the case (since that comes from the OS packages, which meet source-build requirements). For the C# compiler, this is not yet the case. For this reason, the .NET Core packages are not shipping as part of the Fedora regular repositories (since we don't meet the guideline).
To solve this, we need to either use a compiler from the previous release (since that was source-build), or we need to do a two-stage build. From the doc:

You may bootstrap this build with a "bootstrap" pre-built binary, but after this is complete, you must immediately increment Release, drop the "bootstrap" pre-built binary, and build completely from source.

@erozenfeld which of the options mentioned so far are feasible to do as part of a 2.1 service release?

For either of those we'd first have to start building ILLink.Tasks from source, and for N-1 my understanding is it would have to be persisted from one release to the next--I don't think we have a mechanism for this, since it isn't part of the SDK.
For scheduling, I think that's more on us in source-build since I don't think anyone's been able to add a repo yet without deep repo knowledge. @dleeapho ?

@dleeapho can you please look into this?

Will do, I put it at the top of my backlog.

I had some time to look at this and got it building and consumed by CoreCLR, but the task makes the MSBuild node exit:
4>ILLinkTrimAssembly:
    Creating directory "/work/src/coreclr/bin/obj/Linux.x64.Release/System.Private.CoreLib/PreTrim/".
    Moving file from "/work/src/coreclr/bin/obj/Linux.x64.Release/System.Private.CoreLib/System.Private.CoreLib.dll" to "/work/src/coreclr/bin/obj/Linux.x64.Release/System.Private.CoreLib/PreTrim/System.Private.CoreLib.dll".
    Moving file from "/work/src/coreclr/bin/obj/Linux.x64.Release/System.Private.CoreLib/System.Private.CoreLib.pdb" to "/work/src/coreclr/bin/obj/Linux.x64.Release/System.Private.CoreLib/PreTrim/System.Private.CoreLib.pdb".
    illink -d /work/src/coreclr/bin/obj/Linux.x64.Release/System.Private.CoreLib/PreTrim -out /work/src/coreclr/bin/obj/Linux.x64.Release/System.Private.CoreLib/ -s ILLink.CustomSteps.ClearInitLocalsStep,ILLink.CustomSteps,Version=<IP_ADDRESS>:OutputStep -m ClearInitLocalsAssemblies System.Private.CoreLib -r System.Private.CoreLib -c skip -u skip -p link System.Private.CoreLib -b true -v true --strip-resources false -h LdtokenTypeMethods,InstanceConstructors
0>MSBUILD : error MSB4166: Child node "2" exited prematurely. Shutting down. Diagnostic information may be found in files in "/tmp/" and will be named MSBuild_*.failure.txt. This location can be changed by setting the MSBUILDDEBUGPATH environment variable to a different directory.
3>/work/packages/microsoft.netcore.compilers/2.8.0-beta2-62719-08/tools/Microsoft.CSharp.Core.targets(52,5): warning MSB5021: Terminating the task executable "dotnet" and its child processes because the build was canceled. [/work/src/coreclr/src/ToolBox/SOS/NETCore/SOS.NETCore.csproj]

/tmp doesn't have the promised MSBuild_*.failure.txt after the build terminates.
I'm using Docker image microsoft/dotnet-buildtools-prereqs:centos-7-b46d863-20180719033416 and building ./build.sh /p:RootRepo=corefx using dade47c13104f25d0adebed55fb28a03e002ddbd.
@erozenfeld @sbomer, do you have any suggestions on figuring out what's going wrong? Even better, could you look into this? (Should be easy to repro.)

Adding this repo didn't bring in any new prebuilts that look like an issue. It looks like they just need to get on the right versions to use source-built stuff:
14 new packages used not in baseline!
Microsoft.NETCore.App.2.0.0-beta-001509-00
Microsoft.NETCore.Platforms.2.0.0-beta-25006-01
NETStandard.Library.2.0.0-beta-25006-01
Newtonsoft.Json.9.0.1
NuGet.Common.4.3.0-preview1-2500
NuGet.Configuration.4.3.0-preview1-2500
NuGet.DependencyResolver.Core.4.3.0-preview1-2500
NuGet.Frameworks.4.3.0-preview1-2500
NuGet.LibraryModel.4.3.0-preview1-2500
NuGet.Packaging.4.3.0-preview1-2500
NuGet.Packaging.Core.4.3.0-preview1-2500
NuGet.ProjectModel.4.3.0-preview1-2500
NuGet.Protocol.4.3.0-preview1-2500
NuGet.Versioning.4.3.0-preview1-2500

@dagood very weird, not sure what that error is.
That commit doesn't exist when I clone. Did you delete the branch it was on (and if so, could you push it back)?

Ah, sorry, it's on my fork, forgot the commit screen doesn't mention that. https://github.com/dagood/source-build/tree/add-illink/2.1

The pseudo-command CoreCLR runs is this:

illink -d /work/src/coreclr/bin/obj/Linux.x64.Release/System.Private.CoreLib/PreTrim -out /work/src/coreclr/bin/obj/Linux.x64.Release/System.Private.CoreLib/ -s ILLink.CustomSteps.ClearInitLocalsStep,ILLink.CustomSteps,Version=<IP_ADDRESS>:OutputStep -m ClearInitLocalsAssemblies System.Private.CoreLib --verbose -r System.Private.CoreLib -c skip -u skip -p link System.Private.CoreLib -b true -v true --strip-resources false -h LdtokenTypeMethods,InstanceConstructors

I decompiled illink.dll from the package CoreCLR uses in official builds (https://dotnet.myget.org/feed/dotnet-buildtools/package/nuget/ILLink.Tasks/0.1.5-preview-1461378) vs. the source we're building, and I see this in the diff (among other changes):
--- "a/.\\sb\\proj\\Mono.Linker\\Driver.cs"
+++ "b/.\\official\\proj\\Mono.Linker\\Driver.cs"
@@ -66,7 +66,6 @@ namespace Mono.Linker
 			Console.WriteLine("   -g                  Generate a new unique guid for each linked module (true or false)");
-			Console.WriteLine("   -v                  Keep members needed by debugger (true or false)");
+			Console.WriteLine("   -v                  Keep memebers needed by debugger attributes (true or false)");
+			Console.WriteLine("   -h                  List of reflection heuristics separated with a comma.");
+			Console.WriteLine("                       Supported heuristics:");
+			Console.WriteLine("                         LdtokenTypeMethods:   mark all methods of types whose token is used");
+			Console.WriteLine("                                               in an ldtoken instruction");
+			Console.WriteLine("                         LdtokenTypeFields:    mark all fields of types whose token is used");
+			Console.WriteLine("                                               in an ldtoken instruction");
+			Console.WriteLine("                         InstanceConstructors: mark all instance constructors in types");
+			Console.WriteLine("                                               where an instance member has been marked but");
+			Console.WriteLine("                                               none of the instance constructors have been marked");
 			Console.WriteLine("   -l                  List of i18n assemblies to copy to the output directory");
 			Console.WriteLine("                         separated with a comma: none,all,cjk,mideast,other,rare,west");

The Console.WriteLine might not be making it to any logs and the Environment.Exit(1) in the Usage method could be doing the early exit. https://github.com/mono/linker/blob/c85962b3aa514ff23161f0b5a1ef16fa89b9e844/linker/Linker/Driver.cs#L412
I did a search and found this closed PR: https://github.com/mono/linker/pull/60. I'm guessing the version of ILLink.Tasks used by CoreCLR official builds isn't the same as the linker repo's master? How should we rectify this?

I read through the PR (my bad) and saw this:

Since you are pushing back on adding these optional heuristics to the core linker, we'll keep them in our version of the linker for now. I'll close this PR and open another one to merge just MarkStep changes to allow the needed extension points.

@erozenfeld, where is the other version, so we can include it in source-build?

Created PR https://github.com/dotnet/source-build/pull/778 to add the linker repo with a patch to add the -h feature. Patch removal tracked by https://github.com/dotnet/source-build/issues/777.
The builds of ILLink.Tasks currently come from a non-public repo (@erozenfeld helped me find this, thanks!) and I was able to make a patch for the feature we need. I expect the patch not to require much maintenance: there are only a handful of ILLink.Tasks package builds total. However, if it becomes a problem, we will start a dotnet/linker fork of mono/linker where the changes will be maintained.
The internal repo doesn't have any other notable changes: just small things to support the signed Microsoft build infrastructure. If we make the fork, I expect those changes would be made public without any problems, to make sure maintenance can happen in just one place.

Closing as resolved: the linker repo is in the build and the change has flowed through all branches.

Thank you @dagood!


Feat / favicons in different sizes

This change creates icons in different image sizes.
To generate custom images in different image sizes you should replace packages/theme/assets/app-icon.png and then run:
cd platform/web && yarn generate-pwa-assets

When putting the source icon somewhere outside the working directory, eg within packages/themes , it will not create a *.ico file. Therefore I have chosen to place it in less preferable platforms/web/public/images.
I also wanted to dynamically render the <link> tags but using the API with generateHtmlMarkup was quite a challenge which got a lot of hurdles. So I finally chosen to hard-code them.
I put sharp inside optionalDependencies, even though it is required by @vite-pwa/assets-generator to generate the images. Because when I put it devDependencies I will get a unused dep warning.
Changes:

[x] Automate create icons in different image sizes OTT-663
[x] Render <link> tags with more icon sizes for broad compatibility OTT-662
[x] Remove deprecated HTML for MSIE and Windows Phones OTT-668
[x] Dynamically create manifest.json OTT-664 - Separate PR: https://github.com/Videodock/ott-web-app/pull/53

Do the -i ./index.html and -m ./public/manifest.json parameters not work directly?

No. This is not how it works. I believe this could be Vite specific CLI options. Here is an overview of the pwa-assets-generator CLI options: https://vite-pwa-org.netlify.app/assets-generator/cli.html#options

Should we add a little description to the documentation?

I agree.  I put it on the list to discuss next OTT sprint 3, because I was afraid putting it somewhere, can lead to discussions by itself. See discussion list: https://videodock.atlassian.net/wiki/spaces/OTT/pages/2577858562/OTT+Sprint+2024-3#To-discuss

I find it a bit counter-intuitive to have the image generation plugin from /web, while the images should potentially be for any platform.

Currently it is indeed only targeted to web. Images are loaded on runtime. For the Capacitor apps, the icons needs to be embedded in Xcode and Android. This is a whole different approach by itself.

Yes okay Mike! Let's merge :-)


azd environment is not used while doing azd deploy

While deploying a js app, I am expecting that the .env from azd is added and included when npm build is called. But this is not happenening.
It works like this only when azd deploy is called from azd hook

This is by design.  We made changes on the run up to GA to stop injecting values from the environment into sub processes, except for in the case of hooks.
We wanted to limit the number of commands that could observe these values and we think that the right place do to this observation is just in hooks.

We made changes on the run up to GA to stop injecting values from the environment into sub processes

that's unfortunate :(  .  This breaks the general concept of what azd-environment is.
But it looks like we want to limit the scope of the azd-environment to only things running directly within azd, as the concept goes away as soon as azd invokes an external command...  and the only exceptions are hooks.
I will just need to create a new issue to ask hooks to avoid falling into infinite loops, so I can use a postdeploy hook to run azd deploy :)


Validating the available prefix

On which page?
https://platform.uno/docs/articles/platform-specific-xaml.html#available-prefixes
What's wrong?
Need to validate and check which prefixes are useful
Any feedback?

[ ] win

[ ] not_win

[ ] android

[ ] ios

[ ] wasm

[ ] macos

[ ] skia

[ ] not_android

[ ] not_ios

[ ] not_wasm

[ ] not_macos

[ ] not_skia

wasm not_wasm skia not_skia these 4 prefixes are not working properly. They are working in cross-platform library. https://github.com/unoplatform/uno/issues/5372

Here is the final verdit

IOS and not_ios:- I didnt cehcked weather its working on IOS or MAC.

Mac and not_mac :- I didnt cehcked weather its working on IOS or MAC.

WASM and not_wasm :- This is not working properly on wasm

Skia and not_skia :- This is not working properly on Skia

cc @MartinZikmund / @kazo0 / @Xiaoy312  so you can double check the details @Darsh0307 is sharing for this issue please

cc @MartinZikmund / @kazo0 / @Xiaoy312 so you can double check the details @Darsh0307 is sharing for this issue please

gentle ping on this one

I think it might be useful to warn the user when skia: or wasm: is used in XAML file which is not in a cross-targeted library, as it can lead to various confusing situations. Will create an issue for that now, plus we should document it properly


How can envoy give the dynamic default value on request?

hi guys,
i want use envoy to proxy client request, and want to set dynamic default params in headers or post body .
The downstream will not provide the params which provided in envoy .
headers:
"sign": md5(currtTime+otherkey)
body:
{       ...,       "sign":md5(currtTime+otherkey) }
, or other encryption algorithm.

i look for docs like 'HTTP header manipulation' ... , but it's can't solve my problem.
so anyone can give me tips , how to do this with graceful way!

@snowp  yes, The Lua filter can works very well. Thanks.
Can i use one listener with multiple http routes to apply difference Lua filters?
like "/one" use lua filter 1, and "/two" use lua filter 2 ?  If not , how can i do it ?


Update node access pieces

Problem:
Cluster owners not able to see node keys
Solution:
Update types being used to check access
Refactor access check to use ID if a namcespaceID is not available
Move node code out of node driver file
Issue: https://github.com/rancher/rancher/issues/14024

LGTM

LGTM


tests/normalize: Test that direction is preserved

Sorry, missed the missing import when extracting this commit from another branch.


Add graphic to Downloading lidar point data section

Added screen capture showing approximate area and data dialog selections for point cloud data.


Drop the deprecated/removed ironic SSH driver

The SSH driver was removed in the Pike release, setting ironic::drivers::ssh::libvirt_uri is "dead" code.
The driver is gone, the puppet class does not exist ...

recheck


Add pl-PL spell checking

Before submitting, please confirm you've

[X] read and understood our Contributing Guidelines
[X] completed Mattermost Contributor Agreement
[X] executed npm run lint:js for proper code formatting

Please provide the following information:
Summary
Added entry in menu to support Polish (pl_PL) spell-checker
Issue link
Test Cases
Additional Notes

Thanks @vertisan for the pull request!
Per the CONTRIBUTING.md file displayed when you created this pull request, we need to add you to the list of approved contributors for the Mattermost project.
Please help complete the Mattermost contribution license agreement?
This is a standard procedure for many open source projects. Your form should be processed within 24 hours and reviewers for your pull request will be able to proceed.
Please let us know if you have any questions.
We are very happy to have you join our growing community! If you're not yet a member, please consider joining our Contributors community channel to meet other contributors and discuss new opportunities with the core team.

PR already open
https://github.com/mattermost/desktop/pull/940
but they change soon(?) to the electron spellchecker

Thanks for the PR @vertisan, but I'm closing this as a duplicate of https://github.com/mattermost/desktop/pull/940.


how to get message ID from a x-messageid

i have been trying to get the message ID for a mail i sent with sendgrid web api , i only got x-message id from the response, i need the message ID to get analytics for the mail.
Awaiting response.
thank you.

Hello @munnyraht  ,
We're sorry you're having this issue! Since this is not a docs-related issue, please contact our Support team directly and they can help you out. You can access support contact options by logging into https://support.sendgrid.com.
SendGrid Docs Team


yaml files are only parsed in the root folder

we need to define whether to look in all subfolders recursively or if there is a specific place to expect those yaml file to reside.

@rareddy is there a specific layout of projects using the "vdb" yaml files? or they can be in whatever folder?

@apupier right now it is a singular YAML file, which is deployed using Operator. I suppose it could be any folder.
Earlier I did wanted to split the DDL content into multiple files and stitch them at the end into a single file, especially representing each source separately and able to autogenerate some DDL code, but didn't go that route as that would require us to write a parser for DDL if we are reconstructing back from a YAML file into multiple files.

https://issues.redhat.com/browse/FUSETOOLS2-360 tracks this issue now.


Add ruby types support

Closes #8
IMPORTANT: Please read the README before submitting pull requests for this project. Additionally, if your PR closes any open GitHub issues, make sure you include Closes #XXXX

[x] Add an entry to CHANGELOG.md that links to this PR under the "main (unreleased)" heading.

Description:

[x] Add Integer, Float, String, Boolean, and UUID types support
[x] Add tests
[x] Fix some comments

I will abide by the code of conduct.

@arielj what about Uuid? should I remove it or add UUID instead of Uuid?
Also Boolean doesn't exist in ruby, is okay that I add Boolean?

@arielj -- ping for re-review. thanks! :shipit:

@JuanVqz I think it should be UUID since that's the class name in Ruby (also Uuid looks bad, it's UUID or uuid everywhere, not just ruby). I guess we can leave Boolean since it's a really common type that people might expect that option, but I don't have a preference there, strictly speaking it's not a Ruby type but the meaning is so common that it should be ok

Done!

Thank you for your feedback! :t-rex:


chore: bdd-spring-1580726864 to 0.0.1

chore: Promote bdd-spring-1580726864 to version 0.0.1

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


chore: Clean up merge logic for vectors of key-value structs.

The issue is that the original code is not idiomatic rust, since it's directly indexing acc via acc[pos]. However, looking at merge_key_value_vecs, it already prefers the right value, so I think we can just have the last two lines and get the same result.
Including the refactored code as a comment so we can have a discussion on the PR, we may be doing the merge twice for cache line performance reasons.
Summary:
I've rewritten the logic to merge the two vector maps to be more idiomatic Rust, and avoid a bare vector index. However, I think we can just call merge_key_value_vecs() and achieve the same result, since that function biases towards the right values anyway.
It's possible you all are doing it for optimization reasons, so I would appreciate review from folks who are more familiar with the codebase than I am.
Issue Reference(s):
Fixes #1701
Build & Testing:

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

Checklist:

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

LGTM! Thanks @TheWizardTower


Installation of 4.2.2 produces a Download Error

Description
Installation of v. 4.2.2 of SCT, or shimming-toolbox which requires it, causes a download error. Prior to the download failure, the output indicates Unexpected: link doesn't provide a filename for https://osf.io/u79sr/?pid=6zbyf/?action=download
as well as  https://www.neuro.polymtl.ca/_media/downloads/sct/20191029_PAM50.zip
A user brought this issue up on the SCT forum (https://forum.spinalcordmri.org/t/sct-version-4-2-2-download-problems/607)
Steps to Reproduce

Run the install script to Install SCT 4.2.2

Observe install fails

Expected behavior: Console completes without errors and product is downloaded and installed.
Actual behavior: Console shows a download error, and the installation fails

Console Output for 4.2.2 Download Failure
```
Spinal Cord Toolbox (4.2.2)
Folder /home/char/sct_4.2.2/bin has been created.
Trying URL: https://osf.io/bt58d/?action=download
Downloading 20190930_sct_binaries_linux.tar.gz...
Status: 100%|##############################| 81.1M/81.1M [00:42<00:00, 1.89MB/s]
Create temporary folder (/tmp/sct-20210118132924.184006-0psdvi1d)...
Unzip data to: /tmp/sct-20210118132924.184006-0psdvi1d
Check if folder already exists on the destination path...
Remove temporary folders...
Done!
All requirements installed!
. /home/char/sct_4.2.2/python/bin/activate /home/char/sct_4.2.2/python
Installing data...
rm -rf /home/char/sct_4.2.2/data
mkdir -p /home/char/sct_4.2.2/data
cd /home/char/sct_4.2.2/data
sct_download_data -d PAM50
--
Spinal Cord Toolbox (4.2.2)
Trying URL: https://osf.io/u79sr/?pid=6zbyf/?action=download
Unexpected: link doesn't provide a filename
Trying URL: https://www.neuro.polymtl.ca/_media/downloads/sct/20191029_PAM50.zip
Unexpected: link doesn't provide a filename
Download error
Create temporary folder (/tmp/sct-20210118132933.492410-np30uzys)...
Unzip data to: /tmp/sct-20210118132933.492410-np30uzys
Traceback (most recent call last):
File "/home/char/sct_4.2.2/scripts/sct_download_data.py", line 248, in
res = main()
File "/home/char/sct_4.2.2/scripts/sct_download_data.py", line 140, in main
unzip(tmp_file, dest_tmp_folder, verbose)
File "/home/char/sct_4.2.2/scripts/sct_download_data.py", line 174, in unzip
if compressed.endswith('zip'):
AttributeError: 'NoneType' object has no attribute 'endswith'
ERROR: Command failed.
Installation failed!
Please copy the historic of this Terminal (starting with the command install_sct) and paste it in a new created topic on SCT's forum:
--> http://forum.spinalcordmri.org/c/sct
</details>

This turned out to be a duplicate of https://github.com/neuropoly/spinalcordtoolbox/issues/2588, and was fixed by #2671 for more recent versions of SCT.
Thank you for reporting, though, @charjl! :sweat_smile:

This turned out to be a duplicate of https://github.com/neuropoly/spinalcordtoolbox/issues/2588, and was fixed by #2671 for more recent versions of SCT.
Thank you for reporting, though, @charjl! :sweat_smile:

Perfect :D

Perfect :D


Not all theories are supported

Progress bar stops at 97% while trying to load demo0.mm. There seems to be an error printed on stdout.

Yes, you are right Milpgame works only for the moment with set.mm.


Added Bin Sort[C]

Fixes #{ISSUE_NUMBER}
By submitting this pull request I confirm I've read and complied with the below declarations.

[x] I have read the Contribution guidelines and I am confident that my PR reflects them.
[x] I have followed the coding guidelines for this project.
[x] My code follows the skeleton code structure.
[x] This pull request has a descriptive title. For example, Added {Algorithm/DS name} [{Language}], not Update README.md or Added new code.
[x] This pull request will be closed if I fail to update it even once in a continuous time span of 7 days.

@Lucifer24 Fix the PR description to link issue correctly.


feat: add dkOverlay, ltOverlay and tpOverlay attributes

Alaska Airlines Pull Request
Fixes: #12
Summary:
Updates dialog overlay opacity to support dkOverlay, ltOverlay, tpOverlay settings. Default for default dialog state is ltOverlay. Default for modal/blocking state is dkOVerlay.
Type of change:

[x] New capability
[x] Revision of an existing capability

Checklist:

[x] My update follows the CONTRIBUTING guidelines of this project
[x] I have performed a self-review of my own update

By submitting this Pull Request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
Pull Requests will be evaluated by their quality of update and whether it is consistent with the goals and values of this project. Any submission is to be considered a conversation between the submitter and the maintainers of this project and may require changes to your submission.
Thank you for your submission!
-- Auro Design System Team

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

I have many reservations about this. The intentional use of the light and dark backgrounds for the dialog was to be symbolic as to the type of dialog box being used. E.g. light is for dialog and dark is for the modal dialog.
This update breaks that pattern very intentionally and leaves the use of these backgrounds open for other-than intended interpretation and inconsistent use across the various platforms.
What is the intent behind this, what is the design direction?
@Crea-Ive  and @vidalmenAS I feel you need to weigh in on this as well.

#12 describes the reasoning behind this PR, but it sounds like there needs to be additional discussion between the designers. I'll let @clockeby continue the conversation there.
If a different way of adding this feature is agreed on from that discussion, I'd be happy to implement it differently.

The intent is to add more flexibility for other use cases. I talked to Vidal about it initially. He said his original recommendation was to use a simple drop shadow but due to the scenario needed for shopping (flight results page) the background was too busy and a drop shadow alone didn't allow for enough focus for the modal content, which I agree with given the application of the modal in that case. For the blocking modal, darkening the background also makes sense. It's a full stop until you make an A or B decision.
For the seat map, we'd like to use it for displaying seat-specific info (upgrade price, no window, limited recline, etc.) and for those instances, even the lighter, non-blocking background feels heavy. It darkens the entire page (which is split to allow for focused functionality in two panes) to let you know a minimum of information. We can certainly use it, but the original, more minimal recommendation seems much more fitting.

Terms clarity. The component is auro-dialog. All instances of this component are dialog boxes. In the case that the user is forced to interact with the dialog, this is referred to as the modal dialog.
What you are describing here actually is starting to sound less and less like a dialog and more like a popover. The purpose of a dialog box is to bring attention to the content being presented. E.g. a dismissible alert or other important information that the user must know.
This feels like a case where the additional content is supplemental to their decision making. E.g. another option with popover or an accordion.
In the past, there has been a tendency to move all non-page content into dialog boxes. Maybe this is an opportunity to revisit that?

We considered using auro-popover, but decided against it since its primary scope was for tooltips and helper text shown on hover on desktop. Whereas the ones we need for seatmaps require them to be shown on click and to be supported on mobile. Based on what you said, this does seem like a scenario that's between the two components.

From what I've read, dialogs are essentially non-blocking in nature. That is, the background is not disabled and they can be interacted with, ignored, moved, etc. Supplemental information but not essential enough to require interaction. A modal-dialog increases the importance requiring interaction or confirmation in order to proceed. Therefore the background is disabled and often darkened to focus attention and prevent forward movement.
[https://www.nngroup.com/articles/modal-nonmodal-dialog/]
Feels like a which came first situation. Had the initial dialog work been done by myself and the seats team it would be using Vidal's original recommendation of a simple drop shadow and we'd be having a conversation about adding a darkening scrim so shopping could use it more effectively. Either way, similar needs, just not exactly alike.

WARNING ... this is a pretty fluid thought, sorry.

We considered using auro-popover, but decided against it since its primary scope was for tooltips and helper text shown on hover on desktop. Whereas the ones we need for seatmaps require them to be shown on click and to be supported on mobile. Based on what you said, this does seem like a scenario that's between the two components.

That is an implementation detail. The concept of a popover is to have a small interaction of additional content triggered by the main content. The trigger doesn't 'have' to be a rollover, it can be a click.

Feels like a which came first situation. Had the initial dialog work been done by myself and the seats team it would be using Vidal's original recommendation of a simple drop shadow and we'd be having a conversation about adding a darkening scrim so shopping could use it more effectively. Either way, similar needs, just not exactly alike.

I disagree. Virtually every UI system that I am are of, iOS and otherwise, the use of a dialog/modal is an interaction model that requires the user's interaction one way or another. This, by design, has an element that separates the dialog from the content to draw attention to the content. What's interesting is that the use case for popover with iOS even does this. What's also interesting is that the popover is to be never used for handheld experiences where that should be moved to a modal dialog.
My point is that a dialog should really only be used for use cases where the user's attention is required. Now, if that attention demands interaction or not, is the option.
A popover on the other hand is designed to be passive. Additional controls. Supplemental content. The WC auro-popover was first developed as a 'tooltip' but that's not its limitation. It's almost sounding like to me that the popover could have different types, tooltip being one of them.
Looking at the structure of the popover, it can accept any content inside the <slot> element. Also, the current implementation supports the trigger as a rollover. This can easily be updated to support a click trigger. Again, this click, as shown in the examples of the Auro site, can be bound to anything. Button, anchor, icon, etc ...

When you really break this down, the difference between a popover and a dialog is so subtle that I think that it's the intention of the user experience that we need to really define and let the design help enforce that.
E.g. dialogs and modal dialogs; the intention is to interrupt the user from the current contextual flow. Alert. In important information to consider. Demanding a choice being made before moving forward.
Popovers on the other hand are more passive. Never used for alerts. Always triggered by interaction. Never demanding a choice being made, but options to offer are acceptable.
This conversation makes me think about larger context issues that were not considered in the building of the auro-popover. Being, how does this interact with mobile? The use case as driving for the 1.0 version was purely desktop.
I would suggest that popovers on mobile will only appear on a click. Right now this defaults to a hover, but you can click on an element on mobile and this will trigger the hover event. This really isn't a good or stable experience. Also, if a popover is triggered on a hover, do you want this to even appear on mobile? Last, if it appears on mobile, how should it? Revisiting the iOS guidelines, I would argue that all popovers should present themselves as a medium dialog on mobile as it's max.
My recommendations for the conversation

The auro-dialog stays as is. The weight of the background is directly tied to the intent of the dialog
The auro-popover is expanded to support a click event as well as hover
auro-popover needs to have an option to hide from mobile
auro-popover needs to present itself as a lower drawer on mobile

These suggestions are not meant to address your issue @clockeby, but really make popover better.
I 100% agree that this is a close as it gets. What I am striving for here is clarity of use. What I would like to see is a series of questions about the interaction and there be clear answers as to what component to use.

Does the content in the interaction require attention?
If the content is never seen, does it matter?
Is the content supplemental?

Looking one last time at iOS, what is also interesting is that all interactions that require a user's attention away from the presented flow of content is a modal dialog. All these interactions, no matter how small, are presented with a heavy backdrop.
Walking through all of this I have to say, that given what I know about your use case, this is in fact a dialog. And by all rights, that should have a backdrop. As the intent is to pull the user's intention away from the flow of content and focus on the task presented.

Per a conversation with @vidalmenAS @blackfalcon and @clockeby, we'll be moving forward with @blackfalcon's suggestion above (leaving auro-dialog as it is and expanding auro-popover). Due to that, I will be closing this PR.


multiple-agent installation, problem name

Hi,
i have trouble with installation in CENTOS for azure devops agent.
when i install a agent in /data/agents/agent1 with name : "build-linux-docker-prod-<IP_ADDRESS>-eu-west-1-a1", i tried to install the second et i have an error in command "sudo ./svc.sh install".
i think that name of service created is not correct and i can't create a second service for my "build-linux-docker-prod-<IP_ADDRESS>-eu-west-1-aZ" agent name.

@xaviertop - In order to help you we will need more context and logs of what is actually occurring when you are setting up the agent.
One thing to note, each instance of the agent must be installed in its own directory.

issue closed


Build failed with https://vercel.com or now

I just quickly tried to deploy it to vercel domain using their build system. It failed.
I tried on my local to run it with 10.15.3, it is working.
Any idea how to deploy it to now or vercel?

can you provide some build logs?

I am copy-pasting the error below.
$ nuxt-ts build
00:52:01.920
 ERROR  Invalid or unexpected token
00:52:01.920
  (function (exports, require, module, __filename, __dirname) { #!/usr/bin/env node
00:52:01.920
  ^
00:52:01.920

00:52:01.921
  SyntaxError: Invalid or unexpected token
00:52:01.921
  at new Script (vm.js:88:7)
00:52:01.921
  at createScript (vm.js:263:10)
00:52:01.921
  at Object.runInThisContext (vm.js:311:10)
00:52:01.921
  at wrapSafe (internal/modules/cjs/loader.js:1057:15)
00:52:01.921
  at Module._compile (internal/modules/cjs/loader.js:1120:27)
00:52:01.921
  at Module._extensions..js (internal/modules/cjs/loader.js:1176:10)
00:52:01.921
  at Object.require.extensions.<computed> [as .js] (node_modules/ts-node/src/index.ts:529:44)
00:52:01.921
  at Module.load (internal/modules/cjs/loader.js:1000:32)
00:52:01.921
  at Function.Module._load (internal/modules/cjs/loader.js:899:14)
00:52:01.921
  at Module.require (internal/modules/cjs/loader.js:1042:19)
00:52:01.944
error Command failed with exit code 1.
00:52:01.944
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
00:52:01.954
Error: Command "yarn run build" exited with 1
00:52:04.547
Done with "package.json"

I have tried on my local with node version v14.1.0 it throws the same error. But works when I switch the node version to v10.15.3.

Node version 12.16.1 doesn't work either, just drop it to 10.15.3

Encountered this same issue.  Would love some pointer on how to fix this so I can run with the latest version of Node.