Enum of errorCode?

Please follow the issue template below. Failure to do so will result in a delay in answering your question.
Library

[X]<EMAIL_ADDRESS>[ ]<EMAIL_ADDRESS>[ ]<EMAIL_ADDRESS>[ ]<EMAIL_ADDRESS>[ ]<EMAIL_ADDRESS>
Description

currently we can use instanceOf to check error object that is thrown when making different login/acquireToken calls. However these types of errors have many different errorCodes for a class of error like ClientAuthError, has 22 different types of errors probably with different errorCodes as well
can we have an Enum of errorCodes so that we can make sure our error handling is handling some set of errors that can be thrown and is typed
for example in the docs: these errorCodes, how is a developer who is not using the docs going to know to check for this errorCodes? https://docs.microsoft.com/en-us/azure/active-directory/develop/msal-handling-exceptions?tabs=javascript#errors-that-require-interaction
maybe this already exists and I am missing something, if so please let me know how to accomplish this

Thank you!

We have the sub-error feature (#1348) coming in msal 2.0. The beta is currently out on npm, though it does not contain this feature yet. If I'm understanding your ask correctly, these ideas should be fairly similar, as they are basically just making errors more granular (specifically the interaction_required errors and ones associated with them). We will have documentation in the library surrounding these errors, though we will still leave it up to the developer to decide how to handle them.
We understand the frustration with documentation and are working to improve that on all fronts. We appreciate the feedback!

Additionally, there is a function we have called isInteractionRequiredError, a static function on the InteractionRequiredAuthError class.
    static isInteractionRequiredError(errorString: string) : boolean {
        const interactionRequiredCodes = [
            InteractionRequiredAuthErrorMessage.interactionRequired.code,
            InteractionRequiredAuthErrorMessage.consentRequired.code,
            InteractionRequiredAuthErrorMessage.loginRequired.code
        ];

        return errorString && interactionRequiredCodes.indexOf(errorString) > -1;
    }

It specifically checks for error codes related to an error that requires interaction to resolve. Hopefully that can help your use case as well. Please let us know if you have further questions or requests!

@jmckennon yea I think that makes sense, and that function is good, but I have an example usage for example, I am checking in my error handler if (error instanceOf ClientAuthError)
but under ClientAuthError, there are many "sub error codes" such as endpoints_resolution_error.
I want to do some conditional logic if (error.errorCode === "endpoints_resolution_error) but the string itself is not exposed by the library so I can't be sure the returned object could fulfill this condition
It'd be great if the library exposed these sub error codes
Let me know if that makes sense

I see, so are you hoping that there is effectively this enumeration or array of errors that encapsulates all of codes in a particular error class? So that you can use something like if (error.errorCode === errorEnum.endpointsResolutionError)?
That string endpoints_resolution_error should be populated in certain errors under errorCode as you mentioned. Can you give a usage example where that is not the case?

yea the string is there and there is no problem with that but the issue is that say some new error comes up, or the string changes, there is no type checking to make sure the string that I am currently checking for is going to be returned by the library
Basically I want some type checking :D @jmckennon

@thoo1 You should be able to use ClientAuthErrorMessage for this. i.e. error.errorCode === ClientAuthErrorMessage.endpointResolutionError.code. Does this resolve your use case?

Closing due to inactivity and the question has been answered. Let us know if the previous answer did not solve your problem


Possible to change UIActivityIndicatorView style?

Thanks for the great library.
Is it possible to change UIActivityIndicatorView style to others? It's default to UIActivityIndicatorViewStyle.gray.

Hi, @klwoon.
Actually, the property indicator is private and not accessible.
I will implement it soon.

1 - I have a dark button background and this will help me greatly!


Feature request: Create pull request instead of directly push to the branch

In case of repo with protected branches I do not want to make exceptions for some automation changes on access to the protected branch.
I guess it would be a good idea to create a pull request from a new branch with conventional changelog changes, similar to how dependabot does.
What do you think about it?

Think it's a good idea! Would you be able to create a PR?

Heey! I'm having this issue. I'm wondering if this will be implement...
Or maybe show a mode to bypass the protection?

Not really a solution but... I currently remove the branch protection rules and then run the release pipeline and then turn the protection on.
Anyway there is a feature request about that here, more upvotes will probably help (:


Mountains are not shown for 'show'-selection

This issue only exists on the tools-page, both stage and dev. Not on the preview pages.

Go to http://stage-tools.gapminderdev.org/tools/mountain
Click show-button
Click any country
See that there is no mountain chart and povertyline is NaN %

This might point to a data error?

Duplicate of #802

closing as duplicate of #802

or actually let it stay open

Just so you all remember, last time the issue was uppercase rather than lowercase ids

Fixed already? :smile:

@arthurcamara1 the bud is in waffle server
"path": "//stage-ws.gapminderdev.org/api/graphs/stats/vizabi-tools", -- works
"path": "//waffles.gapminderdev.org/api/graphs/stats/vizabi-tools", -- doesn't

this is why prod works. because tools page stage points to ws prod
and tools page prod points to ws stage

Yes @angieskazka , just checked now that this works:
http://stage-tools.gapminderdev.org/tools/mountain#_entities_show_geo@=ARG;;;&marker_axis%2F_y_min:0&max:2568192312.136342&fakeMin:0&fakeMax:2568192312.136342;&axis%2F_x_fakeMin:0.11&fakeMax:500;&color_palette_asi=%23FF5872&eur=%23FFE700&ame=%237FEB00&afr=%2300D5E9&%2F_default=%23ffb600
(I manually modified the url to have ARG instead of arg)

@valorkin fixed this by updating WS stage

@angieskazka
This bug is reproduced again.
Testing Environment: http://stage-tools.gapminderdev.org/tools/mountain (Yule Goat)
Platform: Windows 7 / 47.0

comment: show list is not aware of the countries that are missing data

the bug #1203 is the same. closing this as a duplicate


Sites page:  remove "Province" and "District" headers

"Province" and "District" should be removed from the table headers since we don't have them any more.

Removed!

@sanjuroj This sounds like a database change. @sanjuroj can you please validate and move to Passed if it's done?

Confirmed they are removed.


[SPARK-31024][SQL] Allow specifying session catalog name spark_catalog in qualified column names for v1 tables

What changes were proposed in this pull request?

Currently, the user cannot specify the session catalog name (spark_catalog) in qualified column names for v1 tables:
SELECT spark_catalog.default.t.i FROM spark_catalog.default.t

fails with cannot resolve 'spark_catalog.default.t.i.
This is inconsistent with v2 table behavior where catalog name can be used:
SELECT testcat.ns1.tbl.id FROM testcat.ns1.tbl.id

This PR proposes to fix the inconsistency and allow the user to specify session catalog name in column names for v1 tables.
Why are the changes needed?

Fixing an inconsistent behavior.
Does this PR introduce any user-facing change?

Yes, now the following query works:
SELECT spark_catalog.default.t.i FROM spark_catalog.default.t

How was this patch tested?

Added new tests.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/23988/
Test PASSed.

Test build #119249 has started for PR 27776 at commit e588663.

Test build #119249 has finished for PR 27776 at commit e588663.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/119249/
Test FAILed.

Test build #119258 has started for PR 27776 at commit 0c0ef86.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/23997/
Test PASSed.

Test build #119258 has finished for PR 27776 at commit 0c0ef86.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/119258/
Test FAILed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/24006/
Test PASSed.

Test build #119267 has started for PR 27776 at commit b7c02b7.

Test build #119267 has finished for PR 27776 at commit b7c02b7.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/119267/
Test PASSed.

LGTM except one comment

Test build #119348 has started for PR 27776 at commit 307347e.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/24085/
Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/24087/
Test PASSed.

Test build #119352 has started for PR 27776 at commit fa7560a.

Test build #119348 has finished for PR 27776 at commit 307347e.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/119348/
Test FAILed.

retest this please

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/24094/
Test PASSed.

Test build #119358 has started for PR 27776 at commit fa7560a.

Test build #119352 has finished for PR 27776 at commit fa7560a.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/119352/
Test PASSed.

Test build #119358 has finished for PR 27776 at commit fa7560a.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/119358/
Test PASSed.

thanks, merging to master/3.0!


Preparing v0.3.0 release

This PR closes #44 by preparing the repository for a 0.3.0 release.

CC: @eldruin I think you have the ultimate publishing credentials on crates.io for this one

You should also have permission to publish on crates.io but anyway I tagged the release and published it now.
Thank you!


Shift to gradle

We'll not be merging it into develop yet. Let's keep a separate branch called gradle in privly-android and keep pushing all gradle related changes to that branch.
What we could probably have is 4 branches master, develop, gradle and gradle-develop. All the develop work goes into the respective branch. If this sounds good I could go ahead and create those branches for you.

I understand the significance of that. Sounds good. Please do the needful.

Added two more branches. Please go ahead and make PR.


cannot use register_deactivation_hook(FILE,array('Deactivate','deactivate'))

#10
I get an error with register_deactivation_hook( FILE ,array('Deactivate','deactivate'));
it seems, the routine is searching in class-wp-hook.php rather than Deactivate.php.
With the in class deactivate method (like the activate method) it works.

Problem solved:
register_deactivation_hook(FILE,array(new Deactivate(),'deactivate'));
sorry


fix unit-test: eventually should not be together with reject

I had found an odd problem, if putting the eventually together with reject in an unit-testing assertion, both positive and negative judgement will pass. Please see this issue for detail: https://github.com/RackHD/RackHD/issues/54.
I tend to think Chai-as-Promise need to fix this, as people is difficult to realize this problem. I will submit an issue for Chai-as-Promise. However, at present, we should avoid to write eventually with reject.
@RackHD/corecommitters @srinia6 @iceiilin @WangWinson @pengz1 @sunnyqianzhang @zyoung51

I have created an issue for Chai-as-Promised: https://github.com/domenic/chai-as-promised/issues/146

:+1:

:+1: (and thank you for opening the bug in Chai-as-Promised as well)

The author of Chai-as-Promised just replied me, he said this was expected behavior, we should not comprehend the word eventually as its literal meaning :
eventually means: apply the following assertion to the fulfillment value of the promise.

rejectedWith means: assert that this promise rejects with the given value.

Combined, you have: assert that this promise fulfills with a promise that rejects with the given value.

Since promises can never fulfill with promises, this will of course never fire.

Working as intended.


V10.0 macOS GUI - unit display is incorrect

The Mxrb unit displayed in the new V10.0 GUI wallet is 1e28 raw instead of the correct 1e30 raw.
Similarly, the kxrb unit is 1e25 raw instead of 1e27, and xrb displays as 1e22.
Either that, or it's supposed to display with 2 decimal points, but the decimal separator is missing :-)
Operating system: macOS

Which locale are you using?

[~]$ defaults read -g AppleLocale
en_NO
[~]$ locale
LANG="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_CTYPE="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_ALL="en_US.UTF-8"
[rye@vnfxa ~]$ locale
LANG="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_CTYPE="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_ALL="en_US.UTF-8"

I tried changing to en_US in the region settings, but I am seeing the same issue.
This account has a balance of 8.65 NANO:

I'm having the same issue. It shows receives in kxrb, account total in kxrb, but sends in mxrb.
AppleLocale is en_US
$ locale
LANG="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_CTYPE="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_ALL=

European style on Windows is just fine. Both triplet-grouping and decimal separator seem to be correct,
BUT i can't send decimals anymore, neither dot or comma works. Only whole integers go through (in all unit settings).

Fixed in https://github.com/nanocurrency/raiblocks/releases/tag/10.0.1 !?


Update to<EMAIL_ADDRESS>

Were there merge issues or should @MichaelBelousov take a look?
--[ FAILURE: @itwin/core-transformer ]-------------[ 5 minutes 16.6 seconds ]--

src/test/IModelTransformerUtils.ts(702,36): error TS2345: Argument of type 'string | undefined' is not assignable to parameter of type 'string'.
  Type 'undefined' is not assignable to type 'string'.
src/test/IModelTransformerUtils.ts(703,36): error TS2345: Argument of type 'string | undefined' is not assignable to parameter of type 'string'.
  Type 'undefined' is not assignable to type 'string'.
src/test/IModelTransformerUtils.ts(704,36): error TS2345: Argument of type 'string | undefined' is not assignable to parameter of type 'string'.
  Type 'undefined' is not assignable to type 'string'.
src/test/IModelTransformerUtils.ts(705,66): error TS2345: Argument of type 'string | undefined' is not assignable to parameter of type 'string | Code | ElementLoadProps'.
  Type 'undefined' is not assignable to type 'string | Code | ElementLoadProps'.
src/test/IModelTransformerUtils.ts(752,11): error TS2739: Type 'ElementAspect' is missing the following properties from type 'ExternalSourceAspect': scope, identifier, kind
src/test/IModelTransformerUtils.ts(768,11): error TS2322: Type 'ElementAspect' is not assignable to type 'ExternalSourceAspect'.
src/test/IModelTransformerUtils.ts(791,68): error TS2339: Property 'placement' does not exist on type 'ElementProps'.
src/test/IModelTransformerUtils.ts(794,31): error TS2339: Property 'placement' does not exist on type 'ElementProps'.

Were there merge issues or should @MichaelBelousov take a look?

Looks like merge and linter issues. A lot of the affected lines had non-null assertions and casts removed.
I also noticed in the diff that cd6307b3d reverted a bunch of changes in the IModelTransformationUtils, but I haven't checked beyond that

Looks like merge and/or linter issues. A lot of the affected lines had non-null assertions and casts removed.
I can push some appropriate fixes

@calebmshafer you can cherry-pick them from this branch or let me know and I'll push them to this one

great, thanks @MichaelBelousov. I'll cherry-pick them over.


Publish edge to NPM

npm ERR! notarget No compatible version found<EMAIL_ADDRESS><0.9.0'
npm ERR! notarget Valid install targets:
npm ERR! notarget ["0.2.0","0.2.1","0.2.2","0.3.0","0.3.1","0.3.2","0.3.3","0.3.4","0.3.5","0.3.7","0.3.8","0.3.9","0.4.0-pre1","0.4.0-pre2","0.4.0","0.5.0","0.5.1","0.5.2","0.5.3","0.5.4","0.5.5","0.5.6","0.5.7","0.5.8","0.6.0","0.6.1","0.7.0-edge","0.7.0","0.7.1","0.7.2","0.7.3"]

Just moved to npm from Bower for my dependencies (because Gobble and Rollup rocks!), but Ractive doesn't have edge (0.8) on npm. :'(

Worked around using a git url git://github.com/ractivejs/ractive.git#edge. Still would be nice to have it published like in Bower.

Just moved to npm from Bower for my dependencies

Welcome to the light!

Worked around using a git url git://github.com/ractivejs/ractive.git#edge

Yeah, that's what I do as well (or I pick a specific commit hash from https://github.com/ractivejs/ractive/commits/build). The trouble is that even though npm allows you to tag releases as something other than latest (so npm i ractive doesn't install the edge version), it doesn't let you publish over an existing version, so it wouldn't be possible to install<EMAIL_ADDRESS>Maybe we could always update the version to be 0.8.0-[commithash] and then do npm publish --tag edge, so that you could do npm install ractive@edge? Does anyone knowledgable about npm know if that would work as expected, or do version numbers need to increase even you tag them?

You are totally on the fringe of knowledge on npm. ;)
I think the git url as a dep works fairly well and is consistent with
something that changes frequently. Getting npm i ractive@edge working may
be more trouble than the sugar is worth?
On Dec 26, 2015 10:44 AM, "Rich Harris"<EMAIL_ADDRESS>wrote:

Just moved to npm from Bower for my dependencies
Welcome to the light!
Worked around using a git url git://github.com/ractivejs/ractive.git#edge
Yeah, that's what I do as well (or I pick a specific commit hash from
https://github.com/ractivejs/ractive/commits/build). The trouble is that
even though npm allows you to tag releases as something other than latest
(so npm i ractive doesn't install the edge version), it doesn't let you
publish over an existing version, so it wouldn't be possible to install
<EMAIL_ADDRESS>Maybe we could always update the version to be 0.8.0-[commithash] and
then do npm publish --tag edge, so that you could do npm install
ractive@edge? Does anyone knowledgable about npm know if that would work
as expected, or do version numbers need to increase even you tag them?
—
Reply to this email directly or view it on GitHub
https://github.com/ractivejs/ractive/issues/2326#issuecomment-167348773.

I'll close this. The thought was nice back then. Now it doesn't seem to make sense. :smile: .


errors with new update

i got error that i cant find to resolve

strange, try to "rebuild solution" or redownload repo again


core-dropdown-menu yet to be updated to polymer 0.5.0

This issue was originally filed by @stevenroose

See this GitHub issue.
https://github.com/Polymer/core-dropdown-menu/issues/13#issuecomment-62636777

This issue has been moved to dart-lang/polymer-dart#338.


Velocyto result interpretation

Hi,
I ran velcoyto on a couple of samples and it is working really well. Thank you for your help. I have some questions regarding interpreting the results:

Is it possible to identify the 'source' and the 'sink' of the arrow-heads? To check the start and the beginning?
How to understand whether some cells are in transition phase?
Is it possible to plot the stable state ?

Many thanks!

Hi @somnathtagore
I have same questions, and wondered if you found any explanation or answers.
Thank you.


Permit to develop steampipe plugin on windows

Move OS Specific calls to specific packages (and ignore setRlimit on Windows)

@kaidaguerre , it seems the workflow failed due to hard-coded source repository => could you please re-approve the build.

@Etienne-Carriere - are you seeing the need for this change when running on Windows Subsystem for Linux? I just ask as we do not (yet) have native Windows support)
Or is it more of a preemptive change?

@kaidaguerre , I agree that Steampipe is not available on Linux but in our company we are developping in Windows (with Goland) so I would like to have it compile properly

@Etienne-Carriere sorry for the delay in getting back to you. Seems reasonable, merging!


Revert udevadm and udev facts from #292

Per discussion on the #voxpupuli slack channel and #314, it is clear that the udev fact is causing problems beyond merely triggering the default puppet agent max fact warning.
The short term plan is to migrate these facts into a dedicated module: https://github.com/voxpupuli/puppet-udevdb
Resolves #314

The fixed will be included in the #317 release.


Incorrect plural

model NotificationSettings generates a plural t.model.notificationSettingses() which is not correct.

This is related to nexus-prisma. I have moved this issue: https://github.com/prisma-labs/nexus-prisma/issues/549


Reflexive of edge of nodes disappears on click

See video:

This really confused me while debugging #1972 . I had the details panel statically open and I was expecting the edge to show up after applying my fix.
I am tentatively marking it as bug although it can be by-design.

Isn't this a dup of #1166?


Does "Even Better TOML" support Unicode-based keys, such as Chinese characters, parentheses, and underscores?

Hello,
I am using the "Even Better TOML" extension for Visual Studio Code and I have a question regarding its features. I would like to know whether the extension supports Unicode-based characters for keys within the TOML files. Specifically, I am interested in using Chinese characters, parentheses, and underscores in the keys.
For example, I would like to have a TOML file with the following content:
[title_*^)123]
服务器地址 = "localhost"
端口号_8080 = 8080
Could you please confirm if such usage is supported by the "Even Better TOML" extension and if there are any specific settings or versions I should use to ensure compatibility?
Thank you for your assistance and for the great work on the extension!

Hi, the extension tries to follow the TOML specification which only allows alphanumeric (and -_) characters. However you may use almost any character if you put the keys in quotes.
See here.


WIP: add statement about %gui qt magic

@agramfort @larsoner Here is an attempt at adding the suggestion of using the IPython magic %gui qt in Python 3 Jupyter notebooks. It wasn't clear where to put it so I added it to the Experimental Python 3.6 pulldown on the Python install page.

Turns out I needed %gui qt to get it to look like inline code

Might be worth adding this info to at least one tutorial that introduces 3d plotting (source estimation tutorials). BTW do you mean that %gui qt is not needed on python 2 (I'm py3-only)?

I'm also py3 and new to MNE so I can't speak to whether or not it is needed for py2. It made a huge difference for me which is why I wanted it in the docs.

I suppose it should be equally important for py2. In that case putting it in py3 env is not the best place. @larsoner?

I never had this pb myself. I cannot comment here.

@agramfort - you don't need %gui qt magic when running mayavi from the notebook? That's interesting, I was under the impression that it is necessary. Maybe its necessary only on windows? Might be worth checking if we are trying to document it.

@mmagnuski can you try the Python2 env (environment2.yml will do it) and check?

@larsoner Sure, I can check in the evening (CET).

I haven't needed it on OSX or Linux so yes we should probably make a .. note:: of it for Windows users. Thanks for looking into it a bit

I moved the comment about the %gui qt magic to a note on the python install page and addressed it to Windows rather than Python 3

Sorry for the delay, I can also confirm the same story is for py2 on windows.
Before running %gui qt the window opens but is non-responsive (and filled with background color only). Immediately after calling %gui qt the 3d scene appears and becomes interactive. The same happens in py3, as was previously stated.

Just a tiny nitpick from my side.
All looks good but I think we should condider mentioning this in the FAQ page.

"may" changed to "should"
statement added to FAQ
pull request title updated

To be consistent with FAQ entries I added a header (this makes it appear in the list at the top of the page) and moved it down a little bit. @mmagnuski feel free to merge if you're happy.

Great! Thanks @lneisenman! 🚀


[Question] Error when switching from gym to gymnasium

Question
Hi all,
I have a couple of gym environments that usually start with
from gym import Env
from gym.spaces import Discrete, Box, Tuple, MultiDiscrete

Now I would like to switch to gynmasium and for that I tried the following:
import gymnasium as gym

from gym import Env
from gym.spaces import Discrete, Box, Tuple, MultiDiscrete

But I get the error message "ModuleNotFoundError: No module named 'gym'".
I also tried the following suggestion form the website:
import gymnasium as gym
env = gym.make("GymV26Environment-v0", env_id="ALE/Pong-v5")
from gym import Env
from gym.spaces import Discrete, Box, Tuple, MultiDiscrete

But then I get the error message "gymnasium.error.DependencyNotInstalled: No module named 'gym' (Hint: You need to install gym with pip install gym to use gym environments". I also did what is mentioned in the Terminal of PyCharm "pip install gym" but I get the output "Requirement already satisfied".
Can anyone tell me how I can make my gym environments run with gymnasium?

For the GymV26Environment, you are required to have both gymnasium and gym installed.
To test could you do
import gym
import gymnasium

Ah okay, thanks a lot. The problem was, that gym was not correctly installed, altough pip told me that it was installed (this is generally kind of strange in python, that the package management is extremely confusing and highly errorprone).


Command permission level does not work

Commands do not appear if the command permission level is set to anything above visitor.

AvailableCommands has fully been implemented in b687e64aa286521382795024d834017bbd478ed3


Update vpn-about.adoc

Updating IPsec lifetimes based on new recommendations.

Changed the & to and.


dll not being found when executing .exe on WSL1

Environment
Windows build number: Microsoft Windows [Version 10.0.18362]
Your Distribution version: Linux version 4.4.0-18362-Microsoft<EMAIL_ADDRESS>(gcc version 5.4.0 (GCC) ) #836-Microsoft Mon May 05 16:04:00 PST 2020
Whether the issue is on WSL 2 and/or WSL 1: WSL 1

Steps to reproduce
sudo apt update
sudo apt upgrade
sudo apt install build-essential libtool autotools-dev automake pkg-config bsdmainutils curl git
sudo apt install g++-mingw-w64-x86-64
vi main.c
<contents>
#include <stdio.h>
#include <sys/time.h>
main() {
       struct timespec t;
       int res = (clock_gettime(CLOCK_MONOTONIC, &t) != 0);
       printf("Result %d.\n", res);
}
</contents>
x86_64-w64-mingw32-gcc -o main.exe main.c -lpthread
./main.exe

strace from failed execution of main.exe
execve("./main.exe", ["./main.exe"], 0x7fffd0df4910 /* 20 vars */) = 0
arch_prctl(ARCH_SET_FS, 0x293820)       = 0
set_tid_address(0x293858)               = 28751
brk(NULL)                               = 0x1709000
brk(0x170a000)                          = 0x170a000
sched_getaffinity(0, 128, [0, 1, 2, 3, 4, 5, 6, 7]) = 64
uname({sysname="Linux", nodename="DESKTOP-LLRVDLC", ...}) = 0
getpid()                                = 28751
getcwd("/home/billy/src/clockcheck", 4096) = 27
open("/dev/lxss", O_RDWR)               = 3
ioctl(3, _IOC(_IOC_NONE, 0, 0x2f, 0x22), 0x7fffcf6d8298) = 0
getcwd("/home/billy/src/clockcheck", 4096) = 27
getcwd("/home/billy/src/clockcheck", 4096) = 27
open("/proc/self/mountinfo", O_RDONLY)  = 5
readv(5, [{iov_base="", iov_len=0}, {iov_base="2 2 0:2 / / rw,noatime - lxfs ro"..., iov_len=1024}], 2) = 920
readv(5, [{iov_base="", iov_len=0}, {iov_base="", iov_len=1024}], 2) = 0
close(5)                                = 0
getcwd("/home/billy/src/clockcheck", 4096) = 27
open("/proc/self/mountinfo", O_RDONLY)  = 5
readv(5, [{iov_base="", iov_len=0}, {iov_base="2 2 0:2 / / rw,noatime - lxfs ro"..., iov_len=1024}], 2) = 920
readv(5, [{iov_base="", iov_len=0}, {iov_base="", iov_len=1024}], 2) = 0
close(5)                                = 0
ioctl(0, TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(1, TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(2, TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(0, TIOCGPGRP, [28748])            = 0
getpgid(0)                              = 28748
fstat(0, {st_mode=S_IFCHR|0660, st_rdev=makedev(0x4, 0x1), ...}) = 0
fstat(1, {st_mode=S_IFCHR|0660, st_rdev=makedev(0x4, 0x1), ...}) = 0
fstat(2, {st_mode=S_IFCHR|0660, st_rdev=makedev(0x4, 0x1), ...}) = 0
ioctl(0, TIOCGWINSZ, {ws_row=50, ws_col=211, ws_xpixel=0, ws_ypixel=0}) = 0
ioctl(0, SNDCTL_TMR_START or TCSETS, {B38400 -opost -isig -icanon -echo ...}) = 0
                                                                                dup(0)                                  = 5
                                                                                ioctl(4, _IOC(_IOC_NONE, 0, 0xb7, 0x22), 0x7fffcf6d8248) = 0
                                                                                ioctl(4, _IOC(_IOC_NONE, 0, 0xb7, 0x22), 0x7fffcf6d8248) = 0
                                 ioctl(4, _IOC(_IOC_NONE, 0, 0xb7, 0x22), 0x7fffcf6d8248) = 0
                                                                                write(4, "\0\0\0\0\376\0\0\0b\2\0\0\0\0\0\0c\2\0\0\0\0\0\0d\2\0\0\0\0\0\0"..., 254) = 254
                                                                                close(0)                                = 0
              close(1)                                = 0
                                                         close(2)                                = 0
                                                                                rt_sigprocmask(SIG_BLOCK, [INT WINCH], NULL, 8) = 0
                                                                                signalfd4(-1, [INT WINCH], 8, 0)        = 0
                                                                                poll([{fd=4, events=POLLIN}, {fd=0, events=POLLIN}], 2, -1) = 1 ([{fd=4, revents=POLLIN}])
                                                                         read(4, "\10\0\0\0 \0\0\0\0\0\0\0\0\0\0\0e\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 32) = 32
                                                                                ioctl(4, _IOC(_IOC_NONE, 0, 0xa3, 0x22), 0x7fffcf6d8268) = 0
     poll([{fd=4, events=POLLIN}, {fd=0, events=POLLIN}], 2, -1) = 1 ([{fd=4, revents=POLLIN}])
                                                                                read(4, "\6\0\0\0\f\0\0\0005\1\0\300", 32) = 12
                                                                                write(4, "\6\0\0\0\f\0\0\0005\1\0\300", 12) = -1 EPIPE (Broken pipe)
                                                                                close(1)                                = 0
                                          close(3)                                = 0
                                                                                close(4)                                = 0
                                                                                ioctl(5, SNDCTL_TMR_START or TCSETS, {B38400 opost isig icanon echo ...}) = 0
close(5)                                = 0
exit_group(-1073741515)                 = ?
+++ exited with 53 +++

Expected behavior
The expected result is:
$ ./main.exe
Result 0.

Actual behavior
A System Error Windows dialog box pops up stating The code execution cannot proceed because libwinpthread-1.dll was not found. Reinstalling the program may fix the issue.
This issue has cropped up for two different users attempting to build Bitcoin Core on WSL 1 Ubuntu VM's. For most users (including myself) the issue does not seem to occur. The problem occurs when running the autoconf scripts to build the BerkeleyDB dependency. More details are available in this issue and this issue.
I'm attempting to track down the problem and my immediate question is how do dll dependencies get located on WSL 1 when .exe programs are run?
On my WSL 1 install, which does not have this problem, the libwinpthread-1.dll is present:
$ sudo find / -path /mnt -prune -o -name libwinpthread-1.dll
/mnt
/usr/x86_64-w64-mingw32/lib/libwinpthread-1.dll

But the exact same dll is present in the exact same location on a WSL install that fails.
Any hints on further troubleshooting steps would be appreciated.

$ ./main.exe

Relative paths without indicating your PWD. But assuming you are somewhere in /mnt/c/Users/you when you executed main.exe, the fail is likely because libwinpthread-1.dll is not in your Windows %PATH%. Or more commonly, put all the dlls required side-by-side (sxs) with the COFF executable. WSL does not run Windows binaries. Windows has no idea libpthread-1.dll lives in /usr/x86_64-w64-mingw3/lib.

Regarding the Bitcoin Core compilation throwing the error, it was determined in that bug discussion (https://github.com/bitcoin/bitcoin/issues/17277) that prefacing the make command with sudo would work around the issue. So, @therealkenc's comment makes me wonder how just running a command with sudo inside the WSL would change anything about what Windows sees in its PATH. To be sure, I also mentioned in that bug discussion that, in isolation, manually putting a copy of libwinpthread-1.dll in the same directory as the executable would also work, but the problem is that the directory containing the executable is dynamically generated at compilation time, so the compilation code/instructions would need to be written to do this, which seems a bit kludgy if the problem only arises in WSL.

When using @sipsorcery's example, running ./main.exe gives the error he describes.
Running sudo ./main.exe does not end up with the System Error mentioning libwinpthread-1.dll, however it also does not produce the expected result of Result 0. (there is just no output).
@therealkenc: I am trying to run main.exe from /home/billy/src/clockcheck in WSL to produce the error @sipsorcery showed.

running ./main.exe gives the error he describes.

Yes, it does, for the aforementioned reason.

Running sudo ./main.exe ... (there is just no output).

Running a win32 binary as sudo is not well formed; Windows executables do not have Unix UID as a property. It appears in this case interop didn't even make it far enough along for the missing dll dialog to pop up on the windows side. One could, in the hypothetical, open a new issue along the lines "no output from win32 exe when running sudo". [Temporary work-around for the hypothetical new issue submission would be: don't run a win32 app as sudo.]

trying to run main.exe from /home/billy/src/clockcheck

"cp /usr/x86_64-w64-mingw32/lib/libwinpthread-1.dll ." solves here, surprisingly. Like, really surprisingly. I wouldn't recommend it; you want /mnt/c/Users/you for win32 executables.
It does not run as sudo, which is unsurprising.

Thanks, @billygarrison
To be sure, if I run the stripped down example from this thread, I get the error dialog pop up, but differently worded:
main.exe - Application Error
The application was unable to start correctly (0xc000007b).
Click OK to close the application.
Here is my system info:
Windows OS Version: 10.0.18363
Linux 4.4.0-18362-Microsoft x86_64 gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04)
Obviously, if I copy libwinpthread-1.dll to the same directory as main.exe, it follows the above expected behavior of Result 0.
And, like you said, sudo ./main.exe isn't an applicable thing to do.
Putting sudo before x86_64-w64-mingw32-gcc also doesn't change the main.exe behavior, however, I did notice that the resulting main.exe gets set as write protected when sudo prefaced its compilation (I tested doing a rm and compiling it with and without sudo multiple times to be sure the error dialog wasn't just left open, and it wasn't -- it seems to be a legitimate difference in the resultant file permissions).
Tangential, I don't know if it could be some sort of similar file permissions difference across the much more complicated compilation steps that might be at the heart of why the sudo workaround works with Bitcoin Core, but that's not relevant to this thread.

Thanks to @therealkenc for the additional information particularly about the sudo behaviour.
So the differences we are seeing when attempting to run the main.exe are not related to WSL at all and are down to differences  in our Windows environments (see launching Win32 apps from WSL). This does make
sense since one of the experiments was to do a fresh WSL1 install of Ubuntu 20.04 and then follow exactly the same steps to run the test program. We ended up with different results even though our WSL configurations should have been near identical.
I tracked down where my Windows was finding the missing dll and indeed it was getting it from a Strawberry Perl directory (which I suspect I installed at some point for use with vcpkg).

That still leaves an open question for cross compiling on WSL:

Is the ability to seamlessly execute Windows PE breaking autotools configure scripts which rely on attempts to run .exe files failing in order to set make file parameters?

One fix may be to disable the Windows PE hook on WSL using the command below but that needs more testing.
 sudo bash -c "echo 0 > /proc/sys/fs/binfmt_misc/status"
This latest question is unrelated to this issue so I'll close.

Thanks you for the follow up.

indeed it was getting it from a Strawberry Perl directory

Yes. An analogous situation causes about (made up number) 20% of the confusion with the NodeJS ("npm") crowd too. You can turn off interop in /etc/wsl.conf as the standard approach but that's a pretty big hammer. A better solution is to set appendWindowsPath=false and set the win32 $PATH to something sane in .profile. [I've tried (and mostly failed) to explain this over in the the npm issue submissions for several years.]
But the short is: "cross compiling is hard". The build script could probably use some better WSL awareness. Or put better, if a given xplat build script (any use-case) wants Linux perl then it could/should test for Linux perl with file(1) and fail or move on if it isn't the right perl. [No one ever goes to the trouble of course, because once you know, you know.]

particularly about the sudo behaviour.

Someone really could do a "interop sudo weirdness" submission if they were especially motivated. Just because running a win32 app sudo doesn't make much sense doesn't mean it couldn't just behave the same as "run as default user", instead of failing silently. [There is a dupe somewhere IIRC, but they keyword search is hopeless.] Or worst-case it could be documented better.


Could not find module 'SwiftUIX' for target 'x86_64-apple-ios-simulator'; found: arm64, arm64-apple-ios-simulator

Hi, automatic app preview not working with SwiftUIX, can someone help me please)

xCode has already resolved this issue. Similarly, other packages such as Pow have resolved this problem as an SPM package. However, SwiftUIx still encounters this problem during preview.

@liseami do you know why it may be occurring/what the fix is? Happy to make the required changes, I'm just not sure how to repro it.

same problem, have anyone resolved this problem?

@liuyongjiesail give me a repro.


Please increase max-len to something useful

My editor can easily handle lines with over 200 characters. Setting an arbitrary limit reminiscent of my old 286 with a Hercules screen is quite frustrating. The main issue is:
It reduces the readability of my code.
Restricting the number of characters per line significantly increases the total number of lines in my code. This not only looks unappealing (for example, calling the same constructor twice with different arguments can result in one initialization fitting on a single line while the other spans five lines), but it also diminishes the clarity of my code.
I typically design my functions and classes to fit within my screen, allowing me to read and follow the entire logic without scrolling. However, adding line breaks everywhere causes my screen to overflow, making it much harder to follow.
So please trust the programmer.
I will format my lines in a way that maximizes readability. I do not need a maximum line length for that.

For example, spreading the arguments of a function call over six lines does not enhance readability

In your opinion 🙂
In that case, a function call either receives too many unnamed parameters, or it's already using option objects.

Here a fictive example:
// bad 🔴
someFictiveFunction(true, 'my-label', someOtherVar, false, true, 50);

// also bad 🔴
someFictiveFunction(
  true,
  'my-label',
  someOtherVar,
  false,
  true,
  50
);

Named option parameters make it more readable, and yes, it won't fit on 1 line in most of those cases, but a "definition list" is often more readable like this.
// good ✅
someFictiveFunction({
  doSomething: true,
  label: 'my-label',
  initialValue: someOtherVar,
  retry: false,
  failOnError: true,
  timeout: 50,
});

Same with function parameters, especially when they are typed, containing generic, callbacks, return types, all on a single line. (even in github this gets horizontal scrolls :( )
// bad 🔴
export function loadText(urlOrText: string | Object | Promise<any>, callback: (text: string) => void, onProgress?: (progress: number) => void) {}

Having each param on a separate line makes it more clear to see how many parameters there are, what their names is, and how they are typed:
// good ✅
export function loadText(
  urlOrText: string | Object | Promise<any>,
  callback: (text: string) => void,
  onProgress?: (progress: number) => void,
) {}

Extreme example (set to max 80), but if you'd pass another loadShader in there, and/or your the init function contains 2 extra parameters, you'd get similar results.
// decent 🔴
Promise.all([loadShader(`${shaderName}.vs.glsl`), loadShader(`${shaderName}.fs.glsl`)]).then((shaderAssets) => {
  loadIncludes(shaderAssets, (textsWithIncludes: string[]) => {
    this.init(shaderName, textsWithIncludes[0]!, textsWithIncludes[1]!, callback);
  });
});

Personally I find the below more readable
// better ✅
Promise.all([
  loadShader(`${shaderName}.vs.glsl`),
  loadShader(`${shaderName}.fs.glsl`),
]).then((shaderAssets) => {
  loadIncludes(shaderAssets, (textsWithIncludes: string[]) => {
    this.init(
      shaderName,
      textsWithIncludes[0]!,
      textsWithIncludes[1]!,
      callback,
    );
  });
});

In my opinion, writing readable code is quite challenging and often subjective.

Exactly, that's why we have a formatter and a line length, to remove the subjective discussion.
If we didn't have this rule, and you and I would work on the same codebase, we'd constantly be re-formatting each other's code, because we have a different opinion on what's readable.
It might also be slightly different in that you are mostly working in your own code. You're reading code that you've already written. And you might be looking at (searching for) different things in your code. It's different when you have to read completely new and unfamiliar code.

Besides opinion, there's another aspect at play here. Time saved by not having to manually format code. I can't imagine where I would have to go back to manually adding or removing line breaks, or even having to think about wether I even want to add or remove them.
Of course, there are always exceptions, but (I quote):

Even if Prettier does not format all code 100% the way you’d like, it’s worth the “sacrifice” given the benefits.

Simply removing this restriction would provide complete freedom, which I also value.

As mentioned earlier, this is likely not going to happen. But again, feel free to disabled it in the projects you work solo on, or in the specific sub-folders you work in on your projects.

Therefore, setting the maximum line length to 120 characters would be a significant improvement.

This is something that can be discussed, or even tried out on a few projects first, or applied to the projects you work on if those teams agree.

This is something that can be discussed, or even tried out on a few projects first, or applied to the projects you work on if those teams agree.

Perfect and thank you, 120 set as max-len would be really nice.


MV3 web_accessible_resources not automatically converted to MV2 web_accessible_resources

web_accessible_resources not outputted MV2 compliant
When specifying the web_accessible_resources within wxt.config.ts the MV2 output is not compliant with the schema Expected by Firefox (tested on FireFox 115.5.0 and WXT 0.14.0)
Extension is invalid

Reading manifest: Error processing web_accessible_resources.0: Expected string instead of {"resources":["script.js"],"matches":["https://example.com/*"]}

To Reproduce

Specify web_accessible_resources within wxt.config.ts

manifest: {
    name: 'Extension name',
    description: "Extension description",
    version_name: "0.0.1",
    content_scripts: [
      {
        matches: ["*://*.github.com/*"],
        js: ['content-script.js'],
        run_at: "document_end"
      }
    ],
    web_accessible_resources: [
      {
        "resources": ["script.js"],
        "matches": ["https://example.com/*"]
      }
    ],
    permissions: ["storage", "tabs"],
  }
});

Build extension (wxt build -b firefox)

Review the produced manifest.json file within .output/firefox-mv2, which has web_accessible_resources not aligned with Firefox MV2 expectations

Verify that it's not accepted by attempting to load into Firefox, and receive the following error:

Extension is invalid

Reading manifest: Error processing web_accessible_resources.0: Expected string instead of {"resources":["script.js"],"matches":["https://example.com/*"]}

Expected behavior
Produces a MV2 manifest where web_accessible_resources value is an array containing string(s).
Environment
  System:
    OS: macOS 13.6.3
    CPU: (12) x64 Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
    Memory: 438.41 MB / 32.00 GB
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 18.17.1 - ~/.nvm/versions/node/v18.17.1/bin/node
    Yarn: 1.22.19 - ~/node_modules/.bin/yarn
    npm: 9.6.7 - ~/.nvm/versions/node/v18.17.1/bin/npm
  Browsers:
    Brave Browser: <IP_ADDRESS>
    Chrome: 120.0.6099.216
    Firefox: 115.5.0
    Safari: 17.2.1
  npmPackages:
    wxt: ^0.14.0 => 0.14.0

Hey @dboyd13 thanks for opening an issue. The manifest option isn't anything special - whatever you put there gets output verbatim to the final manifest. Attempting to migrate MV3 options into MV2 or vise-versa isn't something I plan on supporting in WXT.
Instead, use a function and specify the different formats manually. Here's one example:
const baseManifest = {
  name: 'Extension name',
  description: "Extension description",
  version_name: "0.0.1",
  content_scripts: [
    {
      matches: ["*://*.github.com/*"],
      js: ['content-script.js'],
      run_at: "document_end"
    }
  ],
  permissions: ["storage", "tabs"],
}
const webAccessibleResources = [
  {
    "resources": ["script.js"],
    "matches": ["https://example.com/*"]
  }
];

export default defineConfig({
  manifest: ({ manifestVersion }) => ({
    ...baseManifest,
    web_accessible_resources: manfiestVersion === 3
      ? webAccessibleResources
      : webAccessibleResources.flatMap(entry => entry.resources),
  })
});

Thanks for this. Works well.

In v0.16.4, I've added a feature to convert MV3 web_accessible_resources to MV2 when necessary. See #423 for an example, you don't need to use a function anymore for the manifest option.


Added support for workflow_run event triggered by other events

Current dependencies on/for this PR:

main

PR #403

PR #404

PR #405

PR #406

PR #407

PR #408

PR #409

PR #410

Current dependencies on/for this PR:

main

PR #403

PR #404

PR #405

PR #406

PR #407

PR #408

PR #409

PR #410


Cannot change layout at the top and second directory of Google Drive

Description
Layout mode cannot be changed from the default (Details) at the top (G:) and second directory (G:\My Drive) of Google Drive.
At the third and lower directory (G:\My Drive...), layout mode can be changed.
Steps To Reproduce

Open Google Drive ('G:')
Try to change layout mode

Expected behavior
Layout mode should be changed accordingly.
Files Version
Version: <IP_ADDRESS> OS Version: 10.0.22000.795
Windows Version
Windows 11 Pro 21H2 22000.795
Relevant Assets/Logs
debug_fulltrust.log
debug.log

Could you try changing it in the preview version https://files.community/download/preview

I confirmed that the problem is fixed in the preview version (<IP_ADDRESS>).
Thank you!


Direct Data Entry - Survey

Brief description:
This feature is used to test the data entry through surveys.
User spec:
https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/core/15_direct_data_entry_through_survey.spec
Feature link:
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature Tests/B/Direct Data Entry - Survey/B.3.15.100 - Enable Instrument as Survey.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature Tests/B/Direct Data Entry - Survey/B.3.15.200 - Survey Status.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature Tests/B/Direct Data Entry - Survey/B.3.15.300 - Survey Distribution Participant List.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature Tests/B/Direct Data Entry - Survey/B.3.15.400 - Open Survey from Form.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature Tests/B/Direct Data Entry - Survey/B.3.15.500 - Survey Alerts and Prompts.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature Tests/B/Direct Data Entry - Survey/B.3.15.800 - Edit Survey Responses.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature Tests/B/Direct Data Entry - Survey/B.3.15.900 - Survey Response Status.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature Tests/B/Direct Data Entry - Survey/B.3.15.1000 - Survey Participant List.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature Tests/B/Direct Data Entry - Survey/B.3.15.1100 - Survey Response Tracking.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature Tests/B/Direct Data Entry - Survey/B.3.15.1200 - Disabled Survey Behavior.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature Tests/B/Direct Data Entry - Survey/B.3.15.1300 - Public Survey Link.feature
Pre review:

[ ] Script(s) targets the correct feature sufficiently
[ ] The user requirements are met

Post review:

[ ] Script(s) targets the correct feature sufficiently
[ ] Script(s) appropriately tests the feature

ATS team accepted the changes

B.3.15.1200 - Disabled Survey Behavior

Added "I should see 'text_validation_timestamp'" and deleted table view of participant list
Script modified and pushed to MX_v13.1.37


Press Kit page

At this stage do we need a separate Press Kit page, or would it end up largely being a copy of the main page? I think we will need it, but not yet.
Here is a standard outline:
1.	Press contact
2.	Company data
3.	Company story
4.	Media coverage
5.	Downloadable images (logos, fodder for featured images)
6.	Press releases and blog posts

CPG_Brand_Assets (2).zip

I added the CPG brand assets, that's good enough for now.


Make the rule set configurable with plugins

Currently, the default ruleset is hard-coded. Refactor the FSD plugin to instead export a plugin (see https://github.com/feature-sliced/steiger/discussions/53#discussioncomment-9980110 for the type definition) and make Steiger register rules from plugins.
Make sure to alert about collisions in rule names — they must be unique. To that end, rename all existing rules in the FSD plugin to include an fsd/ prefix in the rule name.
The default config should include the FSD plugin and enable all of its rules. Create configs.recommended with all rules enabled

@illright
Could you assign this task to me?
Also, is it reasonable to release what we've added in the last two weeks? Because it looks like this configuration epic will take some time

@daniilsapa done. As for releasing — sure, once we merge your PR, we can release


Drift Detected: "Changed the vector extension" error without changes to Prisma Schema/DB

Bug description
We are using Prisma + PostgreSQL (hosted on GCP, PostgreSQL version 15.5) + pgvector (& ts_rank). We did not update our prisma schema or changed the DB but since yesterday we are experiencing the following error in all our databases:
When running: npx prisma migrate dev
We get the error:
Drift detected: Your database schema is not in sync with your migration history.

The following is a summary of the differences between the expected database schema given your migrations files, and the actual schema of the database.

It should be understood as the set of changes to get from the expected schema to the actual schema.

**[*] Changed the vector extension**

✔ We need to reset the schema ...

We neither touched our Prisma schema nor changed the SQL DB in any other way (e.g. through SQL code).
We also ran:
npx prisma db pull
npx prisma generate
npx prisma migrate status
npx prisma migrate dev
And still run into the same error message as above.
Can this be related to the PostgreSQL update released on 8th February? Given our Prisma Schema and DB are out of sync, we cannot make any updates to our DB via Prisma.
How to reproduce
Without updating the Prisma Schema we run:
npx prisma migrate dev
Expected behavior
Given that we did not make any changes in the database we would expect to get a message saying that the DB is up to date with the schema.
Environment & setup

OS: macOS
Database: PostgreSQL

Prisma Version
prisma                  : 5.5.2
@prisma/client    : 5.5.0

+1 I'm having the same error!!!

1

Same - does it refer to the new PSQL update?

It must be related to this same issue. Several people in the thread mentioned the same error as yours.
https://github.com/prisma/prisma/issues/18442

also facing this, working on Ubuntu 20.04 LTS

Same here

Still having this issue

I was able to temporarily resolve the issue by commenting out:
  // previewFeatures = ["postgresqlExtensions"]

and
// extensions = [vector]

Same issue here

Solved it for my case. Idk how the prisma shadow db works but I had a feeling this had to with extensions versions. So I wrote my own migration like this:
CREATE EXTENSION IF NOT EXISTS vector;
ALTER EXTENSION vector UPDATE TO '0.5.0';

Because I knew my version was 0.5.0 by doing:
SELECT * from pg_extension;

Then I got this error messaage:
Migration `0_init` failed to apply cleanly to the shadow database.
Error:
ERROR: extension "vector" has no update path from version "0.5.1" to version "0.5.0"
   0: schema_core::state::DevDiagnostic
             at schema-engine/core/src/state.rs:267

So it did seem like a version problem. So I went into my db and did
ALTER EXTENSION vector UPDATE TO '0.5.1';

And there it was, drift is gone.

For people that still have an issue not related to versions, another issue can be that the introspected databases declared the extensions on particular schemas, for example, i had an issue with citext :
[*] Changed the `citext` extension

My initial migration was generating :
CREATE EXTENSION IF NOT EXISTS "citext";

I decided to pg_dump the original database :
CREATE EXTENSION IF NOT EXISTS "citext" WITH SCHEMA "pg_catalog";

I just replaced the line in my 0_init migration, the warning was gone and my schema in sync 🍾


cesium unity ar geospatial

i got this alirt pleace help me

We can't help you without more information. What versions of Unity Editor and Cesium for Unity are you using? How did you set this project up? Walk us through what you did, step-by-step, so we can reproduce the error.

Please post the further information @j9liu requested to the community forum. We use GitHub for confirmed bugs and concrete feature requests.

versions of Unity Editor 2021.3.30f
and Cesium for Unity 1.3.0
How did iset this project up :

Open the AR project.

Add an AR extension.

Add the Cesium package.

In the Unity hierarchy, add the AR GeoSpatialOrigin.

In the Inspector and under Edit > Project Settings > XR Plug-in Management > ARCore Extensions > Android Authentication Strategy, add the Android API key.

Check the Geospatial option under Edit > Project Settings > XR Plug-in Management > ARCore Extensions > Optional Features > Geospatial.

Add a 3D object and attach the ARGeoSpatialAnchorCreator component to it.

Add the CesiumGeoreference component to the Unity hierarchy.

Add the Cesium Camera Controller, Cesium Origin Shift, and Cesium Global Anchor to the AR camera in the Unity hierarchy.
And also, I added Cesium World Terrain because Cesium 3D Tileset didn't work, so I kept both.
@j9liu

Please try upgrading to the latest version (v1.6.4). v1.3.0 is quite old, and v1.3.1 in particular fixed a problem on iOS that may be what you're seeing above.
If you still have trouble after upgrading, please post to the community forum and include as much detail as you can about what is going wrong. Warnings in the Console are not necessarily a problem, unless they're also causing something else to break.

this what i git after adding the Cesium for Unity v1.6.4

How did you add it? It looks like you might have added the source code from GitHub rather than the built package.


Isolate hypervisor process with cgroups

The hypervisor process is responsible of taking care of the VMs, and if a security breach was related to the hypervisor itself, it could give a way for a VM to escape.
In order to increase the security, we should constraint the hypervisor process inside using cgroups as much as possible.
For instance, the CPU cgroup can be a simple sum of the number of CPUs needed by the containers running inside the VM.

Relates to https://github.com/kata-containers/runtime/issues/168

Good issue!
And besides this, should we do this like what libvirt does: put vcpu thread and emulator thread  into different sub cgroups path.
And maybe we need a good cgroups operation pkg ,if we want to implementation features.
What do you think? @sboeuf  :-)

@jshachm can we get this granularity (I mean identifying the threads) given that we are using the Qemu command line and not the libvirt package in our case ?

@sboeuf
Yep, AFAIK, vcpu thread has some characteristics like  /proc/xxx/task/comm contains vcpu etc.
We can use these to split them.
Talking about cgroups control pkg. Can we use containerd/cgroups  since it is a native cgroups pkg used in containerd.
cc\ @WeiZhang555   @egernst  @jingxiaolu

Discussed with @jshachm @WeiZhang555 offilined, we can work on this issue.
I do agree with @jshachm that we should introduce a pkg to maintain cgroup handlings in runtime :-)

A global package sounds like a good idea. About the step to approach this issue, I think we can split into sub issues, with first constraining the qemu process into some cgroups, and as a second step, use a finer granularity and identify specific threads as suggested by @jshachm.

Let's also be careful to make the code generic enough to handle isolating any hypervisor, not just qemu :)
Further, we need to ensure that we can unit test this fully by launching a fake hypervisor which runs the equivalent of the following so we can check to ensure the code dtrt:
$ (ls -l /proc/self/ns; cat /proc/self/cgroup)

Refactoring cgroup handling in runtime is almost ok, I hope a draft can be sent to you in next few days :-)
What I've done:

use runc/libcontainer/cgroups instead of containerd/cgroups for better input validation
add a cgroup manager to sandbox for handling cgroups
put cgroup handling in sandbox level

Thanks for you guys :-)

Thanks @jingxiaolu, looking forward to the draft :)

@kata-containers/runtime This issue should be looked at in order to increase security around the VM process. Please assign it to yourself if interested in it.

Sorry for leaving long time for paternity leave, I'll speed up on this issue.


Question about model's input

Hi juho-lee,
I have many sets, each of which has a different size. I want to take some sets as a  mini-batch for set-transformer model. But I find that every set in a mini-batch must have same size. Have you ever face this problem? How did you deal with it? Padding or other methods?
thank you!

Hi,
You can actually process varying set sizes within a batch via masking attention (I have been using it personally so far).
The masking functionality is not included in the current code, but the implementation is pretty straightforward.
You can instead use an official PyTorch implementation of multi-head attention which provides masking (https://pytorch.org/docs/stable/generated/torch.nn.MultiheadAttention.html).
Best wishes,
Juho

Thanks for your prompt reply!

Hi,
I have the same question. If I have the input matrix and the matrix masking, how could I send them into SetTransformer? Could you please give an exmaple?

Hi,
I have the same question. If I have the input and I have padded the input to a matrix with the shape (batch_size, length, dim_input), how do I mask the input and send them to SetTransformer? Could you please explain more? Thank you very much.
Best regards,
Sirui

Hi Sirui,
You should pass the padding_mask position of your input to the forward function of nn.MultiHeadAttention. You can refer to the key_padding_mask of nn.MultiHeadAttention .(https://pytorch.org/docs/stable/generated/torch.nn.MultiheadAttention.html)
Best wishes,
Qiu

Hi Qiu,
Thanks for the reply. But I did not find nn.MultiHeadAttention in your code. Does it mean that I need to preprocess my data first and then send the input data to SetTransformer?

I think you need modify MAB of the source code when you use it.

Thanks for reopening the issue, Qiu. Hope the developer will answer our questions.

I implemented the MAB module using the PyTorch multi-head attention.  My implementation looks like:
class MAB(nn.Module):
    def __init__(
        self,
        embed_dim: int,
        num_heads: int,
        key_padding_mask: Optional[torch.Tensor] = None,
        attn_mask: Optional[torch.Tensor] = None,
        ln: bool = False,
    ):
        super(MAB, self).__init__()
        self.embed_dim = embed_dim
        self.num_heads = num_heads
        self.key_padding_mask = key_padding_mask
        self.attn_mask = attn_mask
        self.multihead_attn = nn.MultiheadAttention(embed_dim, num_heads)

        if ln:
            self.ln0 = nn.LayerNorm(embed_dim)
            self.ln1 = nn.LayerNorm(embed_dim)

        self.fc_o = nn.Linear(embed_dim, embed_dim)

    def forward(self, X, Y):
        H = X + self.multihead_attn(
            X, Y, Y, key_padding_mask=self.key_padding_mask, attn_mask=self.attn_mask
        )
        H = H if getattr(self, 'ln0', None) is None else self.ln0(H)
        O = H + F.relu(self.fc_o(H))
        O = O if getattr(self, 'ln1', None) is None else self.ln1(O)
        return O

please comment if you see any errors or possible performance improvements

although the mask should probably be passed into the forward function like so:
class MAB(nn.Module):
    def __init__(self, embed_dim: int, num_heads: int, ln: bool = False):
        super(MAB, self).__init__()
        self.embed_dim = embed_dim
        self.num_heads = num_heads
        self.multihead_attn = nn.MultiheadAttention(embed_dim, num_heads)

        if ln:
            self.ln0 = nn.LayerNorm(embed_dim)
            self.ln1 = nn.LayerNorm(embed_dim)

        self.fc_o = nn.Linear(embed_dim, embed_dim)

    def forward(
        self,
        X,
        Y,
        key_padding_mask: Optional[torch.Tensor] = None,
        attn_mask: Optional[torch.Tensor] = None,
    ):
        H = X + self.multihead_attn(
            X, Y, Y, key_padding_mask=key_padding_mask, attn_mask=attn_mask
        )
        H = H if getattr(self, 'ln0', None) is None else self.ln0(H)
        O = H + F.relu(self.fc_o(H))
        O = O if getattr(self, 'ln1', None) is None else self.ln1(O)
        return O

@juho-lee is the above about what you do within your scripts?

Yes, it is. Thanks.

Okay great!  I appreciate the follow-up.  I would think this issue could be closed (as it solves the original problem being asked for the issue?)

I think there was a mistake, self-attention with mask is only permutation invariance at the very first layer! Eg. in the ISAB, the first MAB is PI but the second MAB is not PI anymore.


[UI] Zone Wizard - fix secret property when setting RBD primary storage

Description
This PR fixes the error caused by missing Secret property when setting up RBD Primary Storage in Zone Wizard.
(Related by #5167)

Types of changes

[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] New feature (non-breaking change which adds functionality)
[x] Bug fix (non-breaking change which fixes an issue)
[ ] Enhancement (improves an existing feature and functionality)
[ ] Cleanup (Code refactoring and cleanup, that may add test cases)

Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale

[ ] Major
[x] Minor

Bug Severity

[ ] BLOCKER
[ ] Critical
[ ] Major
[x] Minor
[ ] Trivial

Screenshots (if appropriate):
How Has This Been Tested?

@acs-robot a Jenkins job has been kicked to build UI QA env. I'll keep you posted as I make progress.

UI build: :heavy_check_mark:
Live QA URL: http://qa.cloudstack.cloud:8080/client/pr/6407 (SL-JID-1612)


2.x Codepush Android Race Condition Error

Using latest ionic webview + lastest code-push plugins results in updates not persisting after close.
I did some digging and I couldn't find a real solution. What I did find though is the following block of code in IonicWebViewEngine.java causes the issue:
@Override public void onPageStarted(WebView view, String url, Bitmap favicon) {
      super.onPageStarted(view, url, favicon);
      String launchUrl = parser.getLaunchUrl();
      if (!launchUrl.contains("http") && url.equals(launchUrl)) {
         view.stopLoading();
         view.loadUrl(CDV_LOCAL_SERVER);
      }
    }

The code above basically kills the load of the code-pushed index.html page and results in a reload of the app home screen.  To work around it I commended out the stop loading and load url lines.
Needs a better fix, and I am not sure what that is. The request that causes this to run happens before the code-push page is loaded. I couldn't capture if I was trying to load a code-push page first and then prevent this code from running.

Yep, but for me this workaround results in static files (for example images) loading issue - they stopped to load.


[WIP] package first release of shellbot

on-going work aiming to release the first version of shellbot:

push code on GitHub
automate local unit testing
automate doc generation (to ReadTheDocs)
automate PyPi release

all of these now work as expected:

make test
make coverage
make dist
make docs
make release

Life is good!


[Documentation] Do not advertise James 2.3.2 on james.apache.org

cf<EMAIL_ADDRESS>

Resolve conflicts please


Support custom rulesets and reporters on Java 9+

This PR is pretty much a rebase on current master of the first commit in https://github.com/pinterest/ktlint/pull/351. The idea is to reduce the scope so that we can merge and get a release as fast as possible, as I need ktlint to support Java 9+.

Hey maintainers! Thanks for the effort you've invested so far in building and taking care of this library. May I ask for feedback on this PR, please? Many apologies for putting pressure on you.

Are there tests that can verify this change?

Are there tests that can verify this change?

The original PR (https://github.com/pinterest/ktlint/pull/351) included some tests, but in order to achieve that it refactored significant portions of the code to improve testability, something which I gather the maintainers didn't like. Please let me know if you think it's possible to add tests while avoiding the refactoring!

#351

I think the only question about your previous PR was that it included some gradle upgrades, which seemed outside the scope of the classloader change.

I think the only question about your previous PR was that it included some gradle upgrades, which seemed outside the scope of the classloader change.

Oh, if that's the case, then I will rebase some more commits by @marschwar on top of current master, but I will exclude the ones that update gradle or modify the build!

Oh, if that's the case, then I will rebase some more commits by @marschwar on top of current master, but I will exclude the ones that update gradle or modify the build!

This happened! Some updates were necessary, but most of @marschwar's code is there. I couldn't find a way to preserve the following test (https://github.com/marschwar/ktlint/blob/78b63624c1d6f0767d321727452c0207e5d8f09a/ktlint/src/test/kotlin/com/github/shyiko/ktlint/internal/RuleSetLoaderKtTest.kt#L26-L38) because I couldn't find a ruleset published on Maven compatible with 0.34.0. On the other hand, it's not very important, because this feature (remote resolving of dependencies) will be gone once https://github.com/pinterest/ktlint/issues/451 is fixed.

Hi @shashachu ! Sorry to bother you again, but we'd really love to use the custom ruleset feature on Java 9+. The fact that this PR adds code to the deprecated MavenDependencyResolver isn't ideal, but I see a path to fix https://github.com/pinterest/ktlint/issues/451 once this PR is merged: we could still benefit from a DependencyResolver class that contains the common resolution logic shared by the loading of rulesets and reporters.

Hi @shashachu ! Sorry to bother you again, but we'd really love to use the custom ruleset feature on Java 9+. The fact that this PR adds code to the deprecated MavenDependencyResolver isn't ideal, but I see a path to fix #451 once this PR is merged: we could still benefit from a DependencyResolver class that contains the common resolution logic shared by the loading of rulesets and reporters.

Hi! I am actually planning on removing the MavenDependencyResolver for 0.35.0. Once that PR is up, we can revisit this. Sorry for the thrash.

As expected, merging https://github.com/pinterest/ktlint/pull/566 caused conflicts for this PR. Now, do you like the solution that I proposed in https://github.com/pinterest/ktlint/pull/495#issuecomment-516442287 (adding a DependencyResolver class containing the common resolution logic), or would you prefer to see something different?

As expected, merging #566 caused conflicts for this PR. Now, do you like the solution that I proposed in #495 (comment) (adding a DependencyResolver class containing the common resolution logic), or would you prefer to see something different?

I don't have a problem with it assuming there's still enough code left to warrant a separate class. Making the code cleaner never seems like a bad idea.

I may be wrong, but only problem to support Java 9+ seems to be this hack to load 3rd party jars: https://github.com/pinterest/ktlint/blob/b63cd7f4ee26e32d2bf92fad5ae761382f77f0ba/ktlint/src/main/kotlin/com/pinterest/ktlint/Main.kt#L512
Most probably, using this (picked from your changes, replace RuleSet with Reporter when required):
val rulesetClassLoader = URLClassLoader(urls.toTypedArray(), RuleSet::class.java.classLoader)

would solve the problem.

I may be wrong, but only problem to support Java 9+ seems to be this hack to load 3rd party jars

It blows up a little earlier, when trying to cast the system class loader as a URLClassLoader. But I think you put me on a promising track: WDYT of https://github.com/jacquerie/ktlint/commit/032670cbd7fbc309a795b466dc88d35d8d68e3c5 ?

It blows up a little earlier, when trying to cast the system class loader as a URLClassLoader. But I think you put me on a promising track: WDYT of jacquerie@032670c ?

I am not an expert in classloaders, but seems it is the right way to go.


Roblox is totally down

Incident Status
Service Disruption
Components
User, Player, Creator
Locations
Website, Mobile App, Xbox App, Games, Studio, Asset Delivery, Data Store, Game Join, Avatar
October 28, 2021 4:00PM PDT[Investigating] Many player experience are impacted.
stay tuned.
October 28, 2021 8:44PM PDT[Identified] We identify the root cause as internal system issue and work on the fix.
October 29, 2021 7:21AM PDT[Identified] We are actively working on recovery. Some users started to have limited access.
October 29, 2021 12:48PM PDT[Identified] The team continues active work on full site recovery.

This is a legacy tool. Please continue using Status+ on Discord while I develop a new backend and website.


Renaming a field may of a @Value may break code

Renaming a field of a @Value class may break code
Renaming a field of a @Value class may refactor code using the field via a getter to incorrect code.
This happens if the field is accessed in a class, not via 'this' and it's using the getter, "o.getId()" for a field 'id' -- this may change to "this.getIdRenamed()" when id is renamed.
Version information

IDEA Version: 2018.1 and 2018.2
JDK Version: 1.8.0_162
OS Type & Version: MacOSX 10.13.6
Lombok Plugin Version: 0.19-LATEST
Lombok Dependency Version: 1.18.0

Steps to reproduce
Point at "Tile tile" and rename 'tile' to 'xyz'.
The line 'o.getTile()' will be replaced incorrectly with 'this.getXyz()'
package com.tomtom.speedtools.geometry;

import com.google.common.collect.ComparisonChain;
import lombok.NonNull;
import lombok.Value;

class Test {
    class Tile {
        int id;

        int getId() {
            return id;
        }
    }

    @Value              // <-- This needs to be Lombok supplied
    private static class TileIdFormatAndBaseLevel implements Comparable<TileIdFormatAndBaseLevel> {
        @NonNull
        Tile tile;      // <-- If you rename this 'tile' to 'xyz', the o.getTile() below becomes this.getXYZ()

        @Override
        public int compareTo(@NonNull final TileIdFormatAndBaseLevel o) {
            return ComparisonChain.start()
                    .compare(o.getTile().getId(), tile.getId())
                    .result();
        }
    }
}

Can you verify with current new version (0.20.) of plugin? It contains some improvements for "Find Usages" already..


Index all incremental dumps created since the most recent full dump

This would ideally happen as part of the full dump task, but if all the dump files are backgrounded we don't want to risk any of the incrementals running before the fulls so that may not work.
Make sure to update indexing documentation as part of this.

Yeah we can't have one incremental run before another either. To handle this I think we'd have to either check to make sure there aren't started DumpFiles from an earlier dump enqueued or have some sort of managing coordinator in the database.

Hm. A managing coordinator in the database seems tricky when you want to manage building a new index on catalog-alma-rebuild. A given incremental file may have been indexed into the live prod index but not into the rebuild index, or vice-versa.

Here's a proposal for an IndexManager to coordinate indexing alma full and incremental dumps.
class IndexManager < ActiveRecord::Base
  solr_collection string
  dump_in_progress foreign key
  dumps_complete [foreign key]
  active boolean

  # returns the active IndexManager for the given collection
  def self.current(solr_collection)

  # finds and indexes the next incremental dump. no-op if there's a dump_in_progress.
  def next_incremental

Running a new full index on catalog-alma-rebuild:

Set current rebuild manager to active:false
empty the rebuild index via the solr API
create a new IndexManager for the rebuild collection and set it to active
queue up the initial full dump
when a full dump finishes, it calls IndexManager.current(collection).next_incremental

the full dump index jobs will have to store variable for the collection they're going into for this to work.
sidekiq batches make an action like this possible via the batch callback

Ensuring all incrementals get indexed, and in the correct order

When a new incremental file gets transferred from sftp, call next_incremental on the configured primary SOLR_COLLECTION
When any incremental file finishes indexing, call next_incremental on the collection it indexed into

sidekiq batches make an action like this possible via the batch callback

Instead of configuring SOLR_URL and SOLR_REINDEX_URL in env, we configure SOLR_BASE_URL, SOLR_COLLECTION, and SOLR_REINDEX_COLLECTION.

Proposal:
See sidekiq batch example: https://github.com/mperham/sidekiq/wiki/Really-Complex-Workflows-with-Batches
Create a "super-batch" for each indexing operation.
When a Dump completes, look for any dumps after that dump and add it to the batch.
If another super-batch tries to enqueue, just fail out if one exists already.

Started playing with the batch implementation - a problem that happens is you need to keep track of which Dumps are indexed into which core to do start-stop indexing.

Not sure what stop-start indexing is, but yes. And a dump may have been indexed into a core but then that core may have been wiped, meaning it would need to be indexed again.

The description has been updated with the current plan; we'll keep it updated there.


CMake cannot find X11

I've been building Aseprite/laf successfully on my Ubuntu-based Linux distros, but I just tried building the latest version and it fails during the CMake stage in laf/os/CMakeLists.txt on this line:
find_package(X11 REQUIRED)
with the error:
CMake Error at ~/dev/tools/cmake-v3.18.4/share/cmake-3.18/Modules/FindPackageHandleStandardArgs.cmake:165 (message):
  Could NOT find X11 (missing: X11_X11_LIB)
Call Stack (most recent call first):
  ~/dev/tools/cmake-v3.18.4/share/cmake-3.18/Modules/FindPackageHandleStandardArgs.cmake:458 (_FPHSA_FAILURE_MESSAGE)
  ~/dev/tools/cmake-v3.18.4/share/cmake-3.18/Modules/FindX11.cmake:414 (find_package_handle_standard_args)
  laf/os/CMakeLists.txt:126 (find_package)

this is happening on all of the Ubuntu-based linux distros that I've tried:

Ubuntu 20.04
Linux Mint 20.04
Pop!_OS 20.10

Any idea how to fix it?  Note that I have all of the Linux packages installed that are recommended in the Aseprite INSTALL.md file, as well as the recommended CMake command.  I have been building Aseprite for a number of years now, have not seen this error before, and have all of the relevant x11 packages installed on my system almost surely.

Sorry it turns out this was due to a problem in my environment, closing.


try -fopenmp-cuda-mode flag

memo:

Clang supports two data-sharing models for Cuda devices: Generic and Cuda modes. The default mode is Generic. Cuda mode can give an additional performance and can be activated using the -fopenmp-cuda-mode flag. In Generic mode all local variables that can be shared in the parallel regions are stored in the global memory. In Cuda mode local variables are not shared between the threads and it is user responsibility to share the required data between the threads in the parallel regions.

https://clang.llvm.org/docs/OpenMPSupport.html#basic-support-for-cuda-devices

with option
func    prec    size    iter    time[sec]       time/iter[sec]
CG(none,CRS)    float   500     1000    4.70915 0.00470915
CG(none,CRS)    float   1000    1000    6.28332 0.00628332
CG(none,CRS)    float   1500    1000    6.45597 0.00645597
CG(none,CRS)    float   2000    1000    7.16501 0.00716501
CG(none,CRS)    double  500     1000    4.03438 0.00403438
CG(none,CRS)    double  1000    1000    6.47584 0.00647584
CG(none,CRS)    double  1500    1000    7.15447 0.00715447
CG(none,CRS)    double  2000    1000    7.84225 0.00784225

without option
func    prec    size    iter    time[sec]       time/iter[sec]
CG(none,CRS)    float   500     1000    4.38381 0.00438381
CG(none,CRS)    float   1000    1000    5.96086 0.00596086
CG(none,CRS)    float   1500    1000    6.16371 0.00616371
CG(none,CRS)    float   2000    1000    6.96616 0.00696616
CG(none,CRS)    double  500     1000    3.90027 0.00390027
CG(none,CRS)    double  1000    1000    6.31521 0.00631521
CG(none,CRS)    double  1500    1000    7.07398 0.00707398
CG(none,CRS)    double  2000    1000    7.96718 0.00796718

???
it is not good..?

done


Prevent duplicate golden file test names

Description
This PR adds a check to prevent the creation of duplicate file names for golden file testing. If a duplicate name is found, the test will fail and notify the user of the collision.
When #33688 lands and golden testing moves to Skia Gold, images will not be siloed into library specific folders like flutter/goldens, making it easier to run into naming collisions, and messy if not prevented. One such issue was already corrected through #33804.

[ ] Update wiki

Related Issues
Fixes #33806
Tests
Updated in flutter/test/widgets/widget_inspector_test.dart:

ext.flutter.inspector.screenshot

This was the only test in the framework that broke with this change due to the intentional re-use of 3 golden file names.

Updated in flutter_test/test/matchers_test.dart:

Does not match if comparator returns false
Does not match if comparator throws
Does not match if finder finds no widgets
Does not match if finder finds multiple widgets
Calls update on comparator if autoUpdateGoldenFiles is true

These 'tests for the tests' were making use of the same golden name, 'foo.png', and so were updated to use unique names.

Added in flutter_test/test/matchers_test.dart:

Updates goldenTestNames
Notifies for duplicate test name

Checklist
Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes ([x]). This will ensure a smooth and quick review process.

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I signed the CLA.
[x] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[x] I updated/added relevant documentation (doc comments with ///).
[x] All existing and new tests are passing.
[x] The analyzer (flutter analyze --flutter-repo) does not report any problems on my PR.
[x] I am willing to follow-up on review comments in a timely manner.

Breaking Change
Does your PR require Flutter developers to manually update their apps to accommodate your change?

[x] Yes, this is a breaking change (Please read Handling breaking changes).

Link to breaking change announcement

For #33688, we will need to make sure file names are unique.

This could be accomplished this way, which would be a breaking change that affects other users of matchesGoldenFile.
Or,
I could move the enforcement of unique naming into the Flutter framework-specific golden file tests, via the FlutterGoldenFileComparator. It won't break other users, but it also will make this feature unavailable to them.

What's an example use case of needing to use the same key twice?  I'm wondering if we could just say that's not supported.

I found one case in the framework where the same key is used twice on purpose:
here and then here in the widget inspector tests - the use case being that there is some interaction between tests (here a screenshot is taken), and the second use of the key is to make sure the interaction has not changed the rendering of the widget.

cc/ @goderbauer, we discussed this a fair bit offline.

here and then here in the widget inspector tests - the use case being that there is some interaction between tests (here a screenshot is taken), and the second use of the key is to make sure the interaction has not changed the rendering of the widget.

I wonder if in that case, they should be reading the file bytes from disk once, constructing an Image, then using matchesReferenceImage() instead of matchesGoldenFile().
Where I'm going with this is that it's a an anti-pattern to have state from one test affect another test, so building up a list of golden file names we've seen so far feels wrong.  Also keep in mind that we're liable to run different tests in different processes, which would circumvent this check.
What's the manifestation of a file name collision when it gets to Skia Gold?

The golden file on disk is global state that currently leaks between tests, though. The check is there to ensure that you do not share that state (the same golden file) between tests. (Granted, it only catches the problem if you're running in the same process as we currently do).

I've checked by file, library, and globally. There is a unique process for each test file, so this will not work as intended.
For right now, I think incorporating library prefixes in Skia Gold will work well to prevent most cases of duplication. As this has existed before now and only resulted in one case of conflict across libraries, I think I can come back to this once Gold has landed.
There could be a solution to this through utilizing the analyzer to parse all tests for duplicate names. I am going to close this in favor of another attempt.


Split FIELDS and SPEC in mandatory fields - 2015

[Auto generated]
Number: [#2015]

openshift-python-wrapper[pull_request][5898-11ef-8462-5d6e0e4c1d7e][PR 2015]: Closing issue for PR: Split FIELDS and SPEC in mandatory fields.
PR was closed.


Remove low_is_good switching logic

Now we always phrase everything as low_is_good (or null), we can remove lots of the inversion logic in the code.

Can this be closed @sebbacon ?

Sadly not

What's this about @sebbacon?

Measure definitions all contain this which is no longer needed because we now always create measures so that low is good (or they're neutral which is a separate switch):

@HelenCEBM What is this separate switch?

Ah sorry there isn't one, in fact we use "null" here...

But presumably there's more back-end code that uses this line to order measures appropriately etc.

Ah sorry there isn't one, in fact we use "null" here..

OK, just checking -- this is what I used to fix #1177.

Ah sorry there isn't one, in fact we use "null" here..

OK, just checking -- this is what I used to fix #1177.


Add Last Modified date

When checking this site for the EOL information for a given tool, it's unclear when the page was last modified and thus if the information is current or out of date which seems somewhat antithetical to the purpose of this project.
Ideally the Last Modified date would be generated programmatically, but at the very least could be hard coded on each page and made a requirement for merging any pull request that updates a tool's info.

@captn3m0 Why hasn't this been done yet? I am with the second option. The PR will only be merged if the date has been updated in cases where it should be.

The last release on RubyGems is last year (1.3.0), it's just not tagged on GitHub: https://rubygems.org/gems/jekyll-last-modified-at/versions/1.3.0

Which of this two options is the preferred way?

I wrote a long comment here for a dual-approach (use the highest latestReleaseDate, and fallback to the last updated date for the page). But then realized that if a new release is ever made, the corresponding page is also updated automatically due to how our automation works. So we can just use the latter.
As an example, Angular released 14.2.8 on 2022-10-26. But the corresponding angular.md page was updated the next day (27th Oct): https://github.com/endoflife-date/endoflife.date/commit/69acc0d6d626416f87bdcd58cc42b8c008f1cdbb for this new release.
Even our sitemap uses the latter automatically: https://endoflife.date/sitemap.xml
<url>
  <loc>https://endoflife.date/angular</loc>
  <lastmod>2022-10-27T12:32:58+00:00</lastmod>
</url>

As a result, we can just use the last_modified_at date, which is already set by Jekyll. You can see the sitemap as a reference.
This still has the issue that I'd mentioned above:

One issue with doing it programatically (from git commit date for eg) is that minor edits (such as typo fixes) will also bump the date and make the page appear fresher than it is.

But looking at history of popular pages, I think it's okay for us to use this data as-is, and not worry about minor bumps being annoying - the data is mostly used by search engines. Such changes are not that often made to stable pages, and many of them will actually be relevant (such as policy or changelog changes).
2 Additional Requirements:

Last Updated should link to the corresponding history page on GitHub: https://github.com/endoflife-date/endoflife.date/commits/master/products/angular.md
The Last Updated should also be set similarly in the page meta tags as how it is set in the sitemap.

For confirmation's sake, I checked the latestReleaseDate for all pages (wherever available). This is the data:

Table of products with the latestReleaseDate

Newest Release was how many days ago
Page Last Modified Date
Product

4
3
composer

4
3
ffmpeg

4
3
ios

4
3
ipados

5
2
linuxkernel

5
3
firefox

5
3
nomad

5
4
amazon-linux

5
4
angular

5
4
couchbase-server

6
12
kdeplasma

6
5
docker-engine

6
5
elasticsearch

6
5
laravel

6
5
nodejs

6
5
php

7
6
drush

7
6
gitlab

7
6
macos

7
6
python

7
6
watchos

7
7
apache-airflow

8
7
apache-cassandra

11
10
perl

11
10
powershell

11
10
ubuntu

12
11
electron

12
11
nginx

12
11
terraform

12
5
consul

13
12
rabbitmq

13
12
wagtail

14
13
emberjs

14
13
wordpress

17
14
vue

18
12
libreoffice

18
14
ansible

18
14
nutanix-prism

19
14
kubernetes

19
14
numpy

19
14
nutanix-aos

19
14
symfony

20
13
ansible-core

20
14
mssharepoint

20
19
typo3

20
1
dotnet

20
1
openssl

20
8
vmware-esxi

20
8
vmware-srm

20
8
vmware-vcenter

21
14
postgresql

21
1
hashicorp-vault

21
20
elixir

23
21
postfix

24
21
api-platform

25
23
drupal

25
23
nextcloud

26
15
blender

27
19
mongodb

27
23
django

27
23
go

28
19
tomcat

28
23
bootstrap

28
23
openzfs

28
5
telegraf

29
23
redmine

30
7
cakephp

31
23
opensearch

31
23
tarantool

32
23
mediawiki

33
14
nutanix-files

33
14
twig

33
23
godot

33
23
haproxy

33
23
qt

35
23
kotlin

40
12
eks

40
23
redis

40
23
zabbix

41
19
mysql

42
23
mariadb

46
21
nix

46
21
varnish

46
23
spring-framework

48
23
log4j

51
23
debian

51
6
moodle

52
14
ruby-on-rails

54
23
splunk

60
23
pan-gp

61
6
hbase

66
23
jquery

83
18
msexchange

83
23
alpinelinux

91
23
magento

98
15
roundcube

99
6
pan-xdr

109
23
rockylinux

117
23
oraclelinux

122
15
cfengine

136
23
solr

136
23
unrealircd

139
23
eurolinux

139
23
react

155
23
zookeeper

158
23
almalinux

167
21
redhat

174
14
fedora

202
23
ruby

246
21
pan-os

382
1
devuan

891
21
ros

This is now done with #2061


Computer Vision v3.1

Computer Vision 3.1 Release.

No API surface area changes
Improvements to the backend model for /describe (and /analyze when asking for Description) which may produce different results from v3.0

Contribution checklist:

[x] I commit to follow the Breaking Change Policy of “no breaking changes
[x] I have reviewed the documentation for the workflow.
[x] Validation tools were run on swagger spec(s) and errors have all been fixed in this PR. How to fix?

If any further question about AME onboarding or validation tools, please view the FAQ.
ARM API Review Checklist

[ ] Ensure to check this box if one of the following scenarios meet updates in the PR, so that label “WaitForARMFeedback” will be added automatically to involve ARM API Review. Failure to comply may result in delays for manifest application. Note this does not apply to data plane APIs, all “removals” and “adding a new property” no more require ARM API review.

Adding new API(s)
Adding a new API version
Adding a new service

[ ] If you are blocked on ARM review and want to get the PR merged with urgency, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.

Breaking Change Review Checklist
If there are following updates in the PR, ensure to request an approval from API Review Board as defined in the Breaking Change Policy.

[ ] Removing API(s) in stable version
[ ] Removing properties in stable version
[ ] Removing API version(s) in stable version
[ ] Updating API in stable version with Breaking Change Validation errors
[ ] Updating API(s) in preview over 1 year

Please follow the link to find more details on PR review process.

/azp run automation - sdk

/azp run automation - sdk

/azp run automation - sdk

/azp run automation - sdk


do NOT use this package for id@xbox features!

They are not implemented!
To save your ass, PLEASE use one of package from Microsoft.Xbox.Live.SDK.WinRT.UWP.
// sign in
object dispatcher = null;
#if ENABLE_WINMD_SUPPORT
dispatcher = Windows.ApplicationModel.Core.CoreApplication.MainView.CoreWindow.Dispatcher;
#endif
var user = new XboxLiveUser();
var result = await user.SignInSilentlyAsync(dispatcher);
if (result.Status == SignInStatus.UserInteractionRequired)
    await user.SignInAsync(dispatcher);

// create xbox live context
var context = new XboxLiveContext(user);

// achievement
var result = await context.AchievementService.GetAchievementsForTitleIdAsync(
    xboxUserId: context.User.XboxUserId,
    titleId: context.AppConfig.TitleId,
    Microsoft.Xbox.Services.Achievements.AchievementType.All,
    unlockedOnly: false,
    orderBy: AchievementOrderBy.Default,
    skipItems: 0,
    maxItems: 100 // do NOT use MaxValue!
);

use VS2015 to build your UWP project

create and put a XboxServices.config into your UWA project
{
  "PublisherId": "CN=XXXXXXXXX",
  "PublisherDisplayName": "XXXX",
  "PackageIdentityName": "XXXX",
  "DisplayName": "XXXX",
  "AppId": "XXXX",
  "ProductFamilyName": "XXXX",
  "PrimaryServiceConfigId": "00000000-0000-0000-0000-0000XXXXXX",
  "TitleId": XXXXXX,
  "Sandbox": "XXXXX"
}

associate your project to the correct store app and create cert

in order to connect script debugger, you also have to give private network privilege in capabilities of appxmanifest

Hi there - I'm signed up with id@xbox but am publishing via UWP on Unity because I can't afford their required Unity Pro Licence right now. Microsoft have no problem with that so that's not a concern.
Is there anyway at you you can explain to me in a simple guide how to implement Xbox Live, Achievements and Cloud Saving? I simply can't seem to grasp it at all.
Any help here would be great as I've been ripping my hair out for 3 weeks now :(


Using Boost in clSPARSE

Currently, we use the boost library in our benchmark and our testing applications.  I've seen a few places now in our library where boost would be nice to have: for instance the filesystem library.  The filesystem library in the compilers implementation are not standard yet, some use filesystem v2 and others use filesystem v3.  Using boost would remove the compiler dependency on the implementation.
How would users feel about requiring boost to build the library proper?  I feel like Boost is an 'pseudo' c++ standard that the only negative is that it doesn't ship with the compiler. Cmake removes almost all of the pain of building boost, but I've run into users that just hate external dependencies on principle.

@kknox, Your version of mtx readers are very good at the moment. We tested them with plenty of matrices. We support the types of matrices we want. Do we still want to include boost into the internal part of the clSPARSE?
Im very happy with the way how the boost is included in the build, test and benchmarks infrastructure. I think that we shouldn't include boost into internal code. If you agree with me I think we can close this discussion. :smile:

@jpola
I've never been able to make a final decision; it would be hard to remove boost from the library if we decided to start using it.  However, the reverse is not true; it would be easy to use boost at any time once we had a real need for it.
My big hesitation is that we did not have a BIG need for it, just a few lines in the mtx reader would benefit to verify file extensions.  I think I am good to close this issue, with the option to re-evaluate in the future if there is some killer feature in boost that would make the library easier to develop/maintain.


adding scroll driven animations for quotes

I would like to add scroll driven animation for quote block element only when its scrolled by only using css.
I hope you like these animations.
Thank you

I forgot mention that this is the PR for #113 issue