Add support for setgeopoint

after or during #577
Documentation: https://github.com/opendatakit/xforms-spec/pull/198

One big challenge/opportunity in this ecosystem is that there are wildly different usage patterns. I imagine that getting background location is most desirable in an enumerator-mediated context where there are dedicated data collectors and the project designers want to get location for each record without distracting those data collectors or to validate that the data collectors are doing the right thing. I wouldn't imagine it being useful in a self-report context where a form is blasted to a bunch of people. In an enumerator-mediated context, devices are more likely to be set up proactively by an IT team or are managed by a data collection staff that can be trained and is incentivized to do the right thing (they can be told they don't get paid if their location is off, e.g.). I'm interested to hear what @MartijnR thinks but it would seem ok to me for the feature to only be guaranteed to work as expected when certain conditions are met (and this would need to be documented).

This is really helpful context, thank you! Also looking forward to what Martijn thinks.

This is really what people want so I think it's worth trying. I'm only speculating about what browsers might do, I have no idea. The warning might also be related to the way location is accessed currently and maybe you're right that there's a way to do it on load without the warning.

This also helps. It's also helped me realize that I started working on this in earnest, but in so doing I skipped some of my normal working process. I went into "task" mode without really gathering more information about user intent. Is there somewhere that actual user stories are tracked, or a similar mapping between a given issue and how it corresponds to user feedback?

I wanted to check in on my progress before the weekend, which isn’t much to show and probably isn’t even worth pushing up (though I can next time I’m at my desk if that helps). But it does feel like I’ve made some progress getting familiar with the transformer/core projects.
My approach (in enketo-transformer) so far has been:

Copy setvalue.xml and modify it to fit the more limited use case for setgeopoint. In this process I have renamed several of the referenced nodes, mostly for my own benefit to understand what they’re expected to test or set up for testing. Should any of this make its way into a PR, I’ll understand if it doesn’t fit with the project preferences but it was easier for me to keep track of explicit names than references to a, b, etc.
Copy the setvalue tests and adapt them accordingly. I think I no longer have an open question about parameterizing tests. Even at the transform level, the restriction against providing a value makes many of the tests significantly different.
Make relevant changes to the XSL and JS transforms to pass those tests. The good news is... I got one to pass! I’m successfully transforming the hidden input case. I spent some time applying what I learned from that to the other test cases, but I ran out of steam and will have to revisit next week.

I’ll also probably want to reconsider some of the XSL approach I discussed with @MartijnR. While there are some cases the overlap with setvalue seem to warrant sharing XSL declarations, doing so generally made many of them harder to read or follow.
This is of course coming from a perspective where I’m using all of the relevant standards for the first time. It’s possible there are ways to abstract these similar cases with XSL semantics which I have yet to encounter without harming readability and maintenance. But absent some direction on that, my instinct is to share the attributes transform and copypasta the much smaller bits, adding comments to indicate where similar changes should be applied. I’m not sure that’s the right instinct! Just the one that feels more likely to be productive approaching several new-to-me  APIs.

I don’t think I have bandwidth for new material this weekend, but for when I do: I’d welcome any reading material that might help XForms feel less like a huge sprawling standard which looks like it shares semantics with HTML but really doesn’t. W3C has an exceptional documentation structure if you know what you’re looking for. But it can be impenetrable if you don’t.

Some background:

I would generally not advise going to the W3C XForms spec unless you're looking for something very specific. ODK XForms is heavily subsetted. And as we discussed, most users use XLSForm to build their forms which exposes an even narrower subset. For example, only setgeopoint triggered by odk-instance-first-load is exposed.
Collect documentation - it was good for me to read through and refresh my memory as well because we have a couple of background GPS features. For this one, we don't do any blocking of the form when location is unavailable, the value is just blank.
Forum features thread - typically forum features threads have a lot of background on how the feature will be used. This one is kind of meandering because it was started by someone who already had an implementation (but did not end up contributing it). If you look at some of the linked threads you'll get more context on usage.

I'm interested to hear what @MartijnR thinks but it would seem ok to me for the feature to only be guaranteed to work as expected when certain conditions are met (and this would need to be documented).

Yes, that's fine, I think. The geo-widgets have two features that rely on this permission as well:

Centering map on current location
Record current location with crosshairs button

Actually, I just now got confused when trying to verify these features on https://enke.to/widgets and thought they were both broken until I realized I had to go into the Mac OS security and privacy settings to enable location services on Chrome. For these 2 and the new setgeopoint we'll need some user permission request feature, but that can wait.

I opened https://github.com/enketo/enketo-transformer/pull/101 which I believe should handle the transform portion of this. I'm currently depending on it as a local file: but I'd assume it will need to be reviewed and released before the enketo-core work can be fully resolved.

Now that I'm working on that, I have a question about the ODK spec. [How] does the geopoint type account for partial values?

Space-separated list of valid latitude (decimal degrees), longitude (decimal degrees), altitude (decimal meters) and accuracy (decimal meters)

In my local environment, the altitude value returns null. I don't see any mention of null/undefined values in ODK XForms. Because the data type is specified as a space separated list, I worry that simply omitting a middle value might be ambiguous and cause mistakes.

In my local environment, the altitude value returns null.

Fascinating! What we do with manually-provided points which don't have an accuracy is set the accuracy to 0.0. I think it makes sense to do the same for any other missing values. While it's theoretically possible to get real values of 0.0, it's vanishingly unlikely so it's a pretty good indicator of a missing value. We could do a negative (impossible) altitude but I think that would have more downstream side effects.

I asked @lognaturel on Slack about possibly using -0 as a sentinel here, as it's a valid number but shouldn't occur in a real geolocation lookup. But since there's already a convention to use 0.0 for missing accuracy values, it sounds like that may be a better solution for now.

negative altitude is possible

Was about to defend my place of birth at about -6m altitude ;)

I think I'm getting very close on this, but I'm running into an issue that I don't really understand. I have this form (largely adapted from setvalue.xml):
<?xml version="1.0"?>
<h:html xmlns="http://www.w3.org/2002/xforms"
    xmlns:ev="http://www.w3.org/2001/xml-events"
    xmlns:h="http://www.w3.org/1999/xhtml"
    xmlns:jr="http://openrosa.org/javarosa"
    xmlns:odk="http://www.opendatakit.org/xforms"
    xmlns:orx="http://openrosa.org/xforms"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <h:head>
        <h:title>setgeopoint</h:title>
        <model>
            <instance>
                <data id="setgeopoint">
                    <hidden_first_load/>

                    <visible_first_load/>

                    <repeats>
                        <first_load/>
                        <changes/>
                        <changed_location/>
                    </repeats>

                    <changes/>
                    <changed_location/>

                    <meta>
                        <instanceID/>
                    </meta>
                </data>
            </instance>

            <bind nodeset="/data/hidden_first_load" type="geopoint"/>
            <bind nodeset="/data/visible_first_load" type="geopoint"/>

            <bind nodeset="/data/changes" type="int"/>
            <bind nodeset="/data/changed_location" type="string"/>

            <bind nodeset="/data/repeats/first_load" type="geopoint"/>

            <bind nodeset="/data/repeats/changes" type="string"/>
            <bind nodeset="/data/repeats/changed_location" type="string"/>

            <odk:setgeopoint event="odk-instance-first-load" ref="/data/hidden_first_load"/>
        </model>
    </h:head>
    <h:body>
        <odk:setgeopoint event="odk-instance-first-load" ref="/data/visible_first_load"/>
        <input ref="/data/visible_first_load">
            odk-instance-first-load
        </input>

        <select1 ref="/data/changes" appearance="minimal">
            xforms-value-changed
            <odk:setgeopoint event="xforms-value-changed" ref="/data/changed_location"/>
            <item>
                10
                <value>10</value>
            </item>
            <item>
                11
                <value>11</value>
            </item>
        </select1>
        <input ref="/data/changed_location"/>

        <repeat nodeset="/data/repeats">
            <odk:setgeopoint event="odk-new-repeat odk-instance-first-load" ref="/data/repeats/first_load"/>
            <input ref="/data/repeats/first_load">
                odk-instance-first-load
            </input>

            <trigger ref="/data/repeats/changes">
                xforms-value-changed

                <odk:setgeopoint event="xforms-value-changed" ref="/data/repeats/changed_location"/>
            </trigger>
            <input ref="/data/repeats/changed_location"/>
        </repeat>
    </h:body>
</h:html>

Each case works except the first instance of <odk:setgeopoint event="odk-new-repeat odk-instance-first-load" ref="/data/repeats/first_load"/> (but adding new repeat rows works). In the first instance, this appears to be because its control isn't rendered in the DOM, it's in a structure like div.or-repeat > .question > input[data-setgeopoint].
What's odd is that <setvalue event="odk-new-repeat odk-instance-first-load" ref="/data/repeats/first_load"/> does not reproduce the problem (failure to set the first repeat's input on load), but does reproduce what seems to be the cause (its control is similarly not rendered in the DOM).
I have to run for the evening, but I'll push my branch up (mess of debugging that it currently is) tomorrow if that helps.

Coming back to this with a fresh brain, I suspect this is what's happening: setvalue, and now odk:setgeopoint, is operating on a control in the repeat's template DOM fragment, and the difference in behavior is caused by the fact that odk:setgeopoint is asynchronous. So the setvalue assignment blocks cloning the template, and the value is already assigned before the clone is rendered, but the odk:setgeopoint assignment occurs after the clone and essentially goes into the memory hole.
I'm a little stumped how to proceed, and it's not clear to me whether it's intended to operate on the template or just happens to work for setvalue by lucky accident.

Feels to me like supporting setgeopoint in repeats could be a separate issue handled at some later time. There's no XLSForm support for it yet so it's not likely to be used (it's very powerful, though, and I do hope we can expose it sooner than later). I can see how it would add a whole set of other concerns.

I’m open to that if the repeat isn’t an expected part of the scope (which goes back to my earlier question about user stories).
But it does seem like the underlying issue may cause future problems if other data types need to be set asynchronously. I think it would be good to clarify whether the current behavior (controls selected for odk-instance-first-load events within a repeat are in the template rather than the first instance) is expected. If so it would be helpful to document it, if not I could file an issue to resolve that separately.
Debugging this took more time than I’d have liked, and knowing my brain I wouldn’t be surprised if I get tripped up on it again in the future (or if other new contributors would too).


Preview not working on v5

Versions

gatsby-source-prismic: ^5.0.0-next.11
gatsby-plugin-prismic-previews: ^5.0.0-next.10
node: v16.3.0

Reproduction
If you click preview icon on prismic website, it opens localhost and goes to /preview URL first. After that it goes to the specific page but it loads a lot of data from search query. After a while, it shows error to me.

gatsby-config.js

    {
      resolve: 'gatsby-source-prismic',
      options: {
        repositoryName: repositoryName,
        accessToken: `${process.env.GATSBY_PRISMIC_API_KEY}`,
        linkResolver: doc => linkResolver(doc),
        schemas: {
          page: require('./src/schemas/page.json'),
          post: require('./src/schemas/post.json'),
          author: require('./src/schemas/author.json'),
          news_links: {},
        },
      },
    },
    {
      resolve: 'gatsby-plugin-prismic-previews',
      options: {
        repositoryName: repositoryName,
        accessToken: process.env.GATSBY_PRISMIC_API_KEY,
        toolbar: 'new',
      },
    }

What is actually happening?
I created a new content type new_links and added a document there. Right now, we are not using this content type so I add it to the schemas in gatsby-config.js like this.
When the preview happens, it compares the response with content type but the response is a valid object and content type is defined as an empty object {}. Because of this unmatched case, we are getting the error.
Of course, I believe this issue can be resolved if I use the automatic content type method using customTypesApiToken.
    {
      resolve: 'gatsby-source-prismic',
      options: {
        repositoryName: repositoryName,
        accessToken: `${process.env.GATSBY_PRISMIC_API_KEY}`,
        linkResolver: doc => linkResolver(doc),
        schemas: {
          page: require('./src/schemas/page.json'),
          post: require('./src/schemas/post.json'),
          author: require('./src/schemas/author.json'),
          news_links: {},
        },
      },
    },

Error: No type for path: news_links.data. Did you register the Custom Type model?
./node_modules/gatsby-source-prismic/dist/index.cjs:369
  367 |   const type = config.getTypePath(config.path);
  368 |   if (!type) {
> 369 |     throw new Error(`No type for path: ${config.path.join(".")}. Did you register the Custom Type model?`);
  370 |   }
  371 |   switch (type.type) {
  372 |     case exports.PrismicSpecialType.Document: {

Hey @marcomiduri, schemas should always match what is present in Prismic. The empty object schema is supported only for Custom Types that have been deleted.
You can copy the JSON file in the project and require() it like the others. If you use the Custom Types API via customTypesApiToken, this will be done for you automatically.
I recommend using the Custom Types API as it will always have the latest content models automatically.
I'm going to close this issue since this is working as expected, but we can continue the discussion here and reopen it if necessary. Thanks!


Type mismatch, cannot assign value

After the BenchmarkTime definition is modified, the return value type of the bench_start() function called in the tree_bench.c and dict_dench.c files does not match, and the following error occurs.
../src/v0.4.2-a17f373b9a/benchmark/tree_bench.c(90): error C2440: 'initializing': cannot convert from 'BenchmarkTime' to 'timespec'
../src/v0.4.2-a17f373b9a/benchmark/tree_bench.c(102): error C2440: 'initializing': cannot convert from 'BenchmarkTime' to 'timespec'

Please fix the definition type of the variable that receives the return value.

? This doesn't make sense on several levels at once.
The result of bench_start() is always assigned to a BenchmarkTime variable.  This change was made before the type change you're referring to.
You seem to have applied a broken patch for an older commit (https://github.com/microsoft/vcpkg/blob/bdcf0c2dabd9c9081e3e1d6c662983580083b4bd/ports/zix/fix-win32.patch).  I'm not sure exactly what you've applied it to though, since the git history must have also been messed with somehow: judging by the line number, the version of tree_bench.c you're building can't be newer than 0d200a5, which is well before the BenchmarkTime change.  In other words, there is no commit in zix where these errors are possible, even with changes to bench.h.
Please don't file upstream issues for things you broke.


as talked to dkowalcz-sec Dawid Kowalczyk months ago, this is the tut…

…orial to get ONA sensor to work in ARM7/8 Raspiberry PI4. Added a note into README.md

wrong branch


URL was not found on server

I'm new to TM1py (just downloaded it yesterday) and attempting to test connectivity by following the 'get version' example. We use PA on the Cloud (version <IP_ADDRESS>). I am receiving "The requested URL was not found on this server" message (see attached). Here is the url I'm using:   base_url='https://paradiesdev.planning-analytics.ibmcloud.com/tm1/', . I'm also using our non-interactive account and password. I have been successful using the following in Git Bash: curl --location --request GET 'https://paradiesdev.planning-analytics.ibmcloud.com/tm1/api/CPM/api/v1/Dimensions('''Store%20SAP%20v2''')/Hierarchies('''Store%20SAP%20v2''')/Members?select=Name,Ordinal,Weight&$expand=Parent($select=Name),Level($select=Number),Element($select=Name,Type,Attributes)' --header 'Authorization:
TM1py Test errors.txt
Any suggestions would be greatly appreciated.
Thanks!

Hi @richenners,
If you initiate TM1Service like in the sample below, it should just work.
with TM1Service(
        base_url='https://paradiesdev.planning-analytics.ibmcloud.com/tm1/api/CPM/',
        user="non_interactive_user",
        namespace="LDAP",
        password="U3lSn5QLwoQZY2",
        ssl=True,
        verify=True,
        async_requests_mode=True) as tm1:
    print(tm1.server.get_product_version())


Update CallTracker-test.js

We always appreciate the effort of creating pull requests, but in this case the changes don't match the rest of the project and offer no major benefit. This pull request will be closed.


gearpump yarnclient needs to be able to read/write from kerberos enabled HDFS

Hi Kam, what kind of data do you want to write to HDFS? Since Gearpump can already be launched in kerberos-enabled Yarn, which means the client side's configuration file is successfully uploaded to secured HDFS.

@kkasravi Hi Kam, any update on this issue?

yes this works so closing.


Mode as enum for pooling and roi_align

Changed the pooling values for two structures from strings to specialized enum classes.  Many test and operator parsing changes to support this.  Introduces one new source file, op_enums.cpp.
Parsing may be error prone even after this change since both parsing and string conversion of the enums is still coupled to hard-coded strings.
This answers issue 983

I am not sure why test_avg_pooling_ceil_3d is failing on the clang ASAN pass. You might want to look into that.

Looks like the formatting version problem (PR #4942 should fix it)


Installer hash does not match; this cannot be overridden when running as admin

Please confirm these before moving forward

[X] I have searched for my issue and not found a work-in-progress/duplicate/resolved issue.
[X] I have not been informed if the issue is resolved in a preview version of the winget client.

Category of the issue
Installation issue.
Brief description of your issue
Installer hash does not match; this cannot be overridden when running as admin
Steps to reproduce
When I have tried to install the following packages :
winget install --id=Google.Chrome -e; winget install --id=Ubisoft.Connect -e;  winget install --id=Viber.Viber -e; winget install --id=ElectronicArts.EADesktop -e; winget install --id=GOMLab.GOMPlayer
Actual behavior
Installer hash does not match; this cannot be overridden when running as admin
Expected behavior
To be installed successfully
Environment
PS C:\Users> winget --info
Windows Package Manager v1.7.10861
Copyright (c) Microsoft Corporation. All rights reserved.

Windows: Windows.Desktop v10.0.22631.3374
System Architecture: X64
Package: Microsoft.DesktopAppInstaller v1.22.10861.0

Winget Directories
-------------------------------------------------------------------------------------------------------------------------------
Logs                               %LOCALAPPDATA%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\DiagOutputDir
User Settings                      %LOCALAPPDATA%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\settings.json
Portable Links Directory (User)    %LOCALAPPDATA%\Microsoft\WinGet\Links
Portable Links Directory (Machine) C:\Program Files\WinGet\Links
Portable Package Root (User)       %LOCALAPPDATA%\Microsoft\WinGet\Packages
Portable Package Root              C:\Program Files\WinGet\Packages
Portable Package Root (x86)        C:\Program Files (x86)\WinGet\Packages
Installer Downloads                %USERPROFILE%\Downloads

Links
---------------------------------------------------------------------------
Privacy Statement   https://aka.ms/winget-privacy
License Agreement   https://aka.ms/winget-license
Third Party Notices https://aka.ms/winget-3rdPartyNotice
Homepage            https://aka.ms/winget
Windows Store Terms https://www.microsoft.com/en-us/storedocs/terms-of-sale

Admin Setting                             State
--------------------------------------------------
LocalManifestFiles                        Disabled
BypassCertificatePinningForMicrosoftStore Disabled
InstallerHashOverride                     Disabled
LocalArchiveMalwareScanOverride           Disabled
PS C:\Users>

Screenshots and Logs
No response

Validate these manifests in GitHub Workflows again:

✅ Google Chrome: See logs
⚠ Ubisoft Connect: See logs
⚠ Viber: See logs
⚠ EA Desktop: See logs
⚠ GOMPlayer: See logs

It seems all above 5 packages are using vanity URL. Do they provide correct hash on their download site?

possible duplicate of yours #137039 ?

possible duplicate of yours #137039 ?

Similar packages, but not entirely duplicate. I'll submit the updates which should resolve them both though

Similar packages, but not entirely duplicate. I'll submit the updates which should resolve them both though

Yeah, I just noticed that you've struggled with the ElectronicArts.EADesktop error since January :)

Hi, still getting this, isn't the PR merged?
Thank you

Hi, still getting this, isn't the PR merged? Thank you

Hi @remidebette,
I'm guessing that the issue hasn't relapsed, but reoccurred. The InstallerUrl is what we frequently call a "vanity URL" as it's used more often for marketing and promotions than for archival and historical record - it always has the latest version of the software package. The problem is that it's newer than the version described in our repo. The fix is the same as before - have a PR submitted and approved to update the manifest with the new hash. We have an automated system that checks some of these vanity URLs every day, but unfortunately not all of them.

Thanks for the response.
In the case of EADesktop, or Discord, my understanding is that the apps are evergreen and automate without an issue.
Couldn't there be a parameter in the manifest to remove the need to upgrade those through winget like brew does?

@remidebette - The main issue is that the self-updaters for these apps don't write the new version information to the registry. This means if you installed version <IP_ADDRESS>79, and it later auto-updated itself to <IP_ADDRESS>12, all applications within windows (Control Panel, Apps & Features in Settings, WinGet. . .)  will still detect it as <IP_ADDRESS>79.
There isn’t a way to fix this in the manifest - since the manifest simply contains information about a version. The only way to truly fix this is for the publishers of the applications to fix their self-updaters to write the newly installed version into the registry
What you can do, though, is run winget pin add <id> on your machine to pin the application. This will exclude it from winget upgrade --all by default

What would be needed is basically an UpgradeBehavior named something like UpgradesSelf, which would tell the package manager to usually skip this package unless there were an issue or override. But that doesn't currently exist, and would need to be a feature request.
The closest that currently exists would be UpgradeBehavior: deny

If the package should not be upgraded through WinGet, the "deny" value should be specified.

https://github.com/microsoft/winget-pkgs/blob/master/doc/manifest/schema/1.6.0/installer.md (under UpgradeBehavior)

But deny might be heavy-handed for auto-updating applications, as it seems like it would prevent all updating.  Unless it has an override option?

What would be needed is basically an UpgradeBehavior named something like UpgradesSelf, which would tell the package manager to usually skip this package unless there were an issue or override. But that doesn't currently exist, and would need to be a feature request.
The closest that currently exists would be UpgradeBehavior: deny

If the package should not be upgraded through WinGet, the "deny" value should be specified.

https://github.com/microsoft/winget-pkgs/blob/master/doc/manifest/schema/1.6.0/installer.md (under UpgradeBehavior)

But deny might be heavy-handed for auto-updating applications, as it seems like it would prevent all updating. Unless it has an override option?

winget install --force will override the deny behavior

Should UpgradeBehavior: deny be used for self-updating applications whose updater doesn't also update the Registry?

Should UpgradeBehavior: deny be used for self-updating applications whose updater doesn't also update the Registry?

It depends. Usually, RequireExplicitUpgrade is enough for that case. Discord has it set to deny because using the installer to update the existing installation will wipe out some usernsettings


Switch to inline View in the git view doesn't persist

VSCode Version: Code 1.10.2 (8076a19fdcab7e1fc1707952d652f0bb6c6db331, 2017-03-08T14:02:52.799Z)
OS Version: Windows_NT ia32 10.0.14393
Extensions:

Extension
Author
Version

code-gnu-global
austin
0.2.1

vscode-markdownlint
DavidAnson
0.7.0

githistory
donjayamanne
0.2.0

CppSnippets
hars
0.0.7

cpptools
ms-vscode
0.10.4

csharp
ms-vscode
1.8.0

mono-debug
ms-vscode
0.15.3

Theme-MarkdownKit
ms-vscode
0.1.1

better-merge
pprice
0.5.1

Spell
seanmcbreen
0.9.1

code-spell-checker
streetsidesoftware
1.0.1

spellchecker
swyphcosmo
1.2.9

vscode-open-in-github
ziyasal
1.2.3

Steps to Reproduce:

open VS code any github cloned folder and change a couple of files
click on the "Git" icon or Ctrl+Shift+G
click on one of the modified files to see the changes diff
you will get side-by-side diff windows
click on the "..." located in the top right corner to open the menu and then select "Switch to inline View" and you'll see the view will be correctly switched to inline view
click on other file to see the diff. we'll get the side-by-side view again which I don't expect
click on the previous viewed file and you see side-by-side view again will have to go and change it again to inline view from the menu.

Also I didn't find a global setting item allow me to force the inline view to be the default option

@bpasero Wasn't this fixed in #19287?

I can no longer reproduce, so I assume it was fixed in insiders.
@tarekgh You can give our preview releases a try from: http://code.visualstudio.com/Download#insiders

I can confirm the issue is fixed in the insider build. thank you.
One last ask, I would like to see a global settings to control this git diff views so I don't have to switch evey time I open VS code. could you please track this as a feature request?

@tarekgh there is "diffEditor.renderSideBySide"

Excellent. the settings search didn't show it when I search with word "side". but now I can find it when searching with  "renderSideBySide" and everything work fine. thanks for your help.


Blocks created in Fiber are not garbage collected

When creating a block inside a Fiber.new block and resuming, it doesn't appear the block is garbage collected.

Comparing the number of objects before and after, there always seems to be T_ENV objects left over.

The number of T_ENV objects after an even and odd number of garbage collections initiated adds up to the total number that would have been created.

It looks similar to #3998, but the workaround GC.generational_mode = false didn't make a difference with the issue.
GC.generational_mode = false
$start_counts = ObjectSpace::count_objects

#GC.disable

1000.times {
  fib = Fiber.new {
    1.times {}
  }
  fib.resume
}

#GC.enable

GC.start
GC.start
GC.start
#GC.start

$stop_counts = ObjectSpace::count_objects

puts("objspace diff #{$stop_counts.merge($start_counts) { |k, v1, v2| v1 - v2}}")

Output for running garbage collection 3 and 4 times
objspace diff {:TOTAL=>5120, :FREE=>4203, :T_OBJECT=>0, :T_CLASS=>0, :T_MODULE=>0, :T_ICLASS=>0, :T_SCLASS=>0, :T_PROC=>0, :T_ARRAY=>0, :T_HASH=>1, :T_STRING=>0, :T_EXCEPTION=>0, :T_ENV=>916, :T_DATA=>0}
objspace diff {:TOTAL=>5120, :FREE=>5033, :T_OBJECT=>0, :T_CLASS=>0, :T_MODULE=>0, :T_ICLASS=>0, :T_SCLASS=>0, :T_PROC=>0, :T_ARRAY=>0, :T_HASH=>1, :T_STRING=>0, :T_EXCEPTION=>0, :T_ENV=>86, :T_DATA=>0}

I tried this on the stable version of 1.4.1 and the latest development version (mruby-mruby-1.4.1-292-gb3a181a).

Ah, we forget to mark freed env objects as MRB_TT_FREE.


Please add a way (or document it) to download monaco releases for specific TypeScript versions

In https://github.com/iobroker/iobroker.javascript we use the monaco editor to power the JS and TS editing experience. I'd like to keep a bit more up to date with TypeScript, but to me the versions of monaco-editor are a bit like a black box. Is there any way to get working monaco builds for a specific TS version, say 3.7.x?
The TypeScript team seems to be able to, since their bot can now create links to playgrounds with prerelease versions in their PRs.

We have a key store of monaco versions to their typescript releases (note that you are getting older monaco versions for older TS versions:
const versions = {
  Nightly: { monaco: 'next', module: '@typescript-deploys/monaco-editor' },
  '3.7.5': { monaco: '3.7.5', module: '@typescript-deploys/monaco-editor' },
  '3.8-Beta': { monaco: '3.8.0-beta', module: '@typescript-deploys/monaco-editor' },
  '3.7-Beta': { monaco: '3.7.2', module: '@typescript-deploys/monaco-editor', hide: true },
  '3.6.3': { monaco: '0.18.1', module: 'monaco-editor' },
  '3.5.1': { monaco: '0.17.1', module: 'monaco-editor' },
  '3.3.3': { monaco: '0.16.1', module: 'monaco-editor' },
  '3.1.6': { monaco: '0.15.6', module: 'monaco-editor' },
  '3.0.1': { monaco: '0.14.3', module: 'monaco-editor' },
  '2.8.1': { monaco: '0.13.1', module: 'monaco-editor' },
  '2.7.2': { monaco: '0.11.1', module: 'monaco-editor' },
  '2.4.1': { monaco: '0.10.0', module: 'monaco-editor' },
}```

Given that we need more monaco releases (we do daily and PR builds etc) then there's a lot more TS-oriented infra which you can read about here: https://github.com/orta/make-monaco-builds/

I'll go with downloading the relevant tarball for @typescript-deploys/monaco-editor from npm for now - seems like the easiest way to do.
Thanks!


[Cosmetic] Replace the term "XDAG Wallet" by "XDAG-Pro" + misc text improvments

In the screens below, the red frames should be replaced by "XDAG-Pro" :

On the other hand, the order in which the 2 documents are cited should be the same as the order in which they are displayed on the screen below. So it should read "Please review XDAG-Pro Privacy Policy and Terms of Use."

Click must be replaced by press.

No -> Any. Btw, if zero transaction, not plural => without "S" for transaction.

Settings with "s" (plural).

Perfect !
Be careful :
legals/privacy_policy.html line 56<EMAIL_ADDRESS>(not XDAG-Pro.io).
legals/terms_of_use.html line 45 : same


Error 500 when duplicating decks

Hi,
As of today, when trying to duplicate decks on my account, I get this error:
Oops! An Error Occurred
The server returned a "500 Internal Server Error".
Something is broken. Please let us know what you were doing when this error occurred. We will fix it as soon as possible. Sorry for any inconvenience caused.

I have tried doing it on multiple devices using different browsers. It also happens when I try to click on a lot of different other things. Listing the resulting URLS, so I get the same error when clicking to get to any of these locations:
https://netrunnerdb.com/en/deck/duplicate/1074604
https://netrunnerdb.com/en/search
https://netrunnerdb.com/en/deck/save
https://netrunnerdb.com/en/reviews
https://netrunnerdb.com/en/faction/criminal
I think there is something wrong with the data associated with my account, as before logging in, there was no problem. Also, it does not seem possible to log out, when I click the symbol to the right I get no drop down.

I'm also getting a 500 error when I try to access the faction tabs or search by an included card.

I am getting this error when I try to create a new Runner or Corp deck.
I am running Chrome on Windows 10. I switched over to the Edge browser to make sure it wasn't Chrome acting up. No luck.
I am also unable to access my profile.
Accessing from Comcast in Portland, Oregon USA.
Bryan "Saracenus" Blumklotz

I can confirm this as well. Chrome Version 64.0.3282.186, Comcast from Illinois USA. It appears I can access My Decks just fine, including grabbing Jinteki.net format and all that, but if I try to make a new corp or runner deck it slaps me with the 500 internal server error. Hope this helps.

I believe these issues were resolved at the time, please let us know if you are still experiencing them.


[1]Starboard: Set sane value for OPERATOR_VULNERABILITY_SCANNER_REPORT_TTL

Is your feature request related to a problem? Please describe.
Please set a sane default value for OPERATOR_VULNERABILITY_SCANNER_REPORT_TTL. The default value should trade two conflicting goals:

Ensure that the Kubernetes cluster is not "littered" with vulnerability reports.
Ensure that the vulnerability dashboards have something to report on.

Describe the solution you'd like
A value which is large enough to ensure the vulnerability dashboard always works, e.g., 2x frequency of scanning. Unfortunately, I have been unable to determine at a glance how often starboard does scanning.
Describe alternatives you've considered

Manually remove vulnerability reports during every maintenance window. Undesirable, since it adds unnecessary admin burden.

Additional context

https://github.com/elastisys/compliantkubernetes-apps/pull/844

Definition of done:

starboard.vulnerabilityScanner.reportTTL in defaults/common-config.yaml is changed from "" to something like XXd.

It seems like 30 days (720h) is a good retention period for vulnerability reports and I see that the older reports are not deleted automatically, (the controller responsible for automatic deletion looks for an annotation report-ttl), as the older reports don't have the annotation. They wanted the admins to delete the reports.
So it's a bit of work for admins during the maintenance window. but I think It is only done once.
https://github.com/aquasecurity/starboard/pull/879
https://github.com/aquasecurity/starboard/pull/863
https://github.com/aquasecurity/starboard/commit/ab3974f34d367bd5fc311e8832be289430650f25#diff-d3f7d7d560e713a8e799f56e1c0316a5f024a0957d58814fde1802453266ad07R20


Error when trying to run TWINT

This line of code
twint.run.Search(c) doesn't run, here's my Traceback

RuntimeError                              Traceback (most recent call last)
 in ()
7 c.Translate = True
8 c.TranslateDest = "it"
----> 9 twint.run.Search(c)
3 frames
/usr/lib/python3.7/asyncio/base_events.py in _check_runnung(self)
521     def _check_runnung(self):
522         if self.is_running():
--> 523             raise RuntimeError('This event loop is already running')
524         if events._get_running_loop() is not None:
525             raise RuntimeError(
RuntimeError: This event loop is already running
Environment Details

Running on Colab

import nest_asyncio
nest_asyncio.apply()

Try this before twins.run.Search
This worked for me


Chill Button On The Home Page Needs To Be Fixed With Red Color.

Chill Button On The Home Page Needs To Be Fixed With Red Color.

Please assign me this issue I would like to work on the issue.

No need it's fine.


kevm foundry-kompile fails if a test file test/*.t.sol contains a contract not deriving from Test

Assume we have a Foundry test in file test/MyTest.t.sol:
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.13;

import "forge-std/Test.sol";

contract F { }

contract MyTest is Test { }

If we run
forge build
kevm foundry-kompile out/ \
    --require lemmas/int-simplification.k --module-import INT-SIMPLIFICATION \
    --require lemmas/lemmas.k --module-import LEMMAS

the following error is generated:
[Error] Inner Parser: Parse error: unexpected token 'F' following token '('.
        Source(/home/david/RV/evm-semantics/.build/usr/lib/kevm/include/kframework/lemmas/int-simplification.k)
        Location(115,48,115,49)
        115 |       rule (E *Int A) +Int B +Int C +Int D +Int (F *Int A) => ((E +Int F)
*Int A) +Int B +Int C +Int D [simplification]
            .                                                  ^
[Error] Compiler: Had 1 parsing errors.

...

However, if we move the definition of contract F into its own file under src/ then the error disappears.

This is actually because of the contract named F, not because of he missing Test inheritance. foundry-kompile generates a K definition, with syntax Contract ::= "F", and then when parsing the listed rule, the K parser is confused because it is not sure if F is a variable or the declared constant.
I think in this case, K's parser should be able to figure this one out. https://github.com/runtimeverification/k/issues/2867


Is it still possible to build for Unity?

I was seeing if I could update our Unity dll of lidgren and after fixing the issue posted here https://github.com/lidgren/lidgren-network-gen3/issues/107 I still had errors building with stuff like MapToIPv6 and DualMode... has anyone resolved this or not possible in the current state?

Our fork should build on NS2.1, which should be fine for Unity if you're using a modern version. I can't say I've tested it though.

Our fork should build on .NET Standard 2.1, which should be fine for Unity if you're using a modern version. I can't say I've tested it though since I don't use Unity.

Ah cool, is your fork in production use and stable? Could definitely check it out.

We use it for our game/engine. Not the most professionally made project but ah well.


requirements.txt installation so sccmhunter can be installed with pipx

If installing with pipx currently (pipx install git+https://github.com/garrettfoster13/sccmhunter/), an error occurs, as the requirements aren't installed automatically

This change reads the requirements.txt file and installs it automatically in setup.py

Fixes #80 nice, thanks for taking the time to add the support!


Patch docker image

https://quay.io/repository/deisci/workflow-e2e/image/eedb3141e3a08be985deb4707e86672259a0d4522ea57c56372cdc0f99c7d10d?tab=vulnerabilities

The workflow-e2e image is alpine-based now, so for better or worse that scan report is no longer actionable.


Feature request: add properties and onChange and onSave methods to report list of chips

Hello,
I'd like to request the following feature improvement.
Business driver
Having a widget that allows the data entry of multiple chips but where the widget takes an input/output of a single String value seems at odds with the most expected use case.
As the widget is being used to capture the input of multiple chips,  the expectation would be that the 'initialValue' and 'onSaved' properties would be anchored around a "List" rather than a String.
Suggested improvement:
Add new properties to support the widget as a collector for a list of chip strings.
New property:
List<String> initialChips;
New event handlers:
onValidateChips: Function(List<String>)
onChangedChips : Function(List<String>?>
onSavedChips: Function(List<String>?)

Widget parameter validation:
Throw an exception if both 'initialValue' and 'initialChips' are both set
Throw an exception if both 'onSaved' and 'onSavedChips' are both set
Throw an exception if both the 'onChanged' and 'onChangedChips' are both set.

I see that you have made the request feature change.  When is this going live on pub.dev?

I just published version 1.2.1. Thank you for your feature request.


Fixed the load_from_checkpoint path detected as URL bug

What does this PR do?
This PR fixes #2243 by both checking if string is a local file and parsing string to see if it's an URL.
Before submitting

[X] Was this discussed/approved via a Github issue? (no need for typos and docs improvements)
[X] Did you read the contributor guideline, Pull Request section?
[X] Did you make sure your PR does only one thing, instead of bundling different changes together? Otherwise, we ask you create a separate PR for every change.
[ ] Did you make sure to update the documentation with your changes?
[ ] Did you write any new necessary tests?
[ ] Did you verify new and existing tests pass locally with your changes?
[ ] If you made a notable change (that affects users), did you update the CHANGELOG?

PR review
Anyone in the community is free to review the PR once the tests have passed.
If we didn't discuss your PR in Github issues there's a high chance it will not be merged.
Did you have fun?
Make sure you had fun coding 🙃

@yukw777 I'll try my hand at it


[ci] Configure docker for Vulkan on NVIDIA and use it in Kokoro

This commit adds a Dockerfile for packing the NVIDIA driver and
Vulkan SDK inside a docker image and redirects the CMake tests
to use this docker image to enable testing Vulkan HAL backend.

Note that this is expected to fail given that we need to install the Vulkan driver and SDK on the GCP instance behind Kokoro, push the docker image to iree-oss. After that, there is still a failing Vulkan test that need to be fixed.

[02:16:41 UTC] docker run --volume /tmpfs/src/github/iree:/tmpfs/src/github/iree --workdir=/tmpfs/src/github/iree --rm --gpus all gcr.io/iree-oss/cmake-nvidia:prod kokoro/gcp_ubuntu/cmake/build.sh
unknown flag: --gpus
See 'docker run --help'.

It looks like Kokoro's Docker version is probably < 19.3. Could you try logging the version and updating it? Hopefully the update doesn't take too much time, because from what @GMNGeoffrey has said, we probably don't want to update the Kokoro VM image to have it.

It looks like Kokoro's Docker version is probably < 19.3. Could you try logging the version and updating it? Hopefully the update doesn't take too much time, because from what @GMNGeoffrey has said, we probably don't want to update the Kokoro VM image to have it.

Updating the Kokoro VM image is a PITA, but may be necessary here :-/

Yeah from what I can tell using Docker >= 19.03 is required: https://github.com/NVIDIA/nvidia-docker#quickstart. The world around GPUs can be quite fragile so I'd suggest we go with the version bump instead of trying to figure out ways to solve it by ourselves. ;-P
I'm a bit confused here: I thought Kokoro is just a coordinator for distributing jobs to those workers in GCP and the real Docker containers are run by GCP instances? I've tried setting up some toy GCP instances and install the newest Docker following https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-18-04. It works there. I'd assume we can also use the same package source there and update to the newest version? But I might miss something here.

Blocked by #2500.

Yeah from what I can tell using Docker >= 19.03 is required: NVIDIA/nvidia-docker#quickstart. The world around GPUs can be quite fragile so I'd suggest we go with the version bump instead of trying to figure out ways to solve it by ourselves. ;-P
I'm a bit confused here: I thought Kokoro is just a coordinator for distributing jobs to those workers in GCP and the real Docker containers are run by GCP instances? I've tried setting up some toy GCP instances and install the newest Docker following digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-18-04. It works there. I'd assume we can also use the same package source there and update to the newest version? But I might miss something here.

Yeah the issue is that Kokoro has some provided VM images that have the software necessary for Kokoro. In the past we had to use custom images forking from those that added any new required software. Updating those is a PITA. They're not well maintained at all and are basically an image frozen with the software at the point that the team gave up on trying to provide an image that had everything that everyone needed. Past attempts to update them have sometimes resulted in mysterious errors. Like when we tried to upgrade the Python version and that somehow resulted in the build directory getting deleted halfway through the build (https://github.com/google/iree/issues/1346). With the move to docker, we have all the dependencies we need installed in the container instead which means we're back on the standard Kokoro images. It looks like this will actually require an image change. Not the end of the world. Just kind of unfortunate. I'll have to restore the documentation page on how to update these images

Oh I see. Thanks for the explanation! Gah, that is painful.

Note I added a couple commits here 55bccf5 makes these scripts use the latest tag so we can test them out without pushing something with the prod tag. It should be dropped before submitting. I also updated the Python script that builds and pushes the docker images to include this one because I had to do that anyway to push a new image for testing

Test invocation is at https://source.cloud.google.com/results/invocations/2bae146f-c58f-4f51-9b53-c86a1743a4ac/targets (still running right now).

Test invocation is at source.cloud.google.com/results/invocations/2bae146f-c58f-4f51-9b53-c86a1743a4ac/targets (still running right now).

All the actual builds passed and then this...

[01:14:00 UTC] sudo rm -rf /tmpfs/src/github
sudo: no tty present and no askpass program specified

Probably another issue with the image. sigh If you want to remove the rm -rf line for now, that's fine.  I can iterate on getting it working.

Done. I think we just need to tag a docker image as prod now?


Attachments fail to download

I'm getting error messages when attempting to download some attachments using the latest release for macOS (1.0.21). Specifically, I get the following:

I have checked my network connection (it is fine, and fast), and using another mail client I am easily able to download the attachment.

thanks for the report!


Escape the regexp in the autocomplete match highlighting

Closes #184

I have a feeling this is not exactly what you had in mind, but I don't see a reason or a way to document this in the AutocompleteOption


Should interfaces and their properties be implicitly readonly?

With the readonly-keyword rule, Interfaces throw errors if their properties don't have the keyword. Should interfaces and their properties be implicitly readonly?
// Error
export interface IUserAuthenticationResponse {
  result: boolean;
  data: any;
  errors: any[];
}

// Happy
export interface IUserAuthenticationResponse {
  readonly result: boolean;
  readonly data: any;
  readonly errors: any[];
}

// Error
readonly export interface IUserAuthenticationResponse {
  result: boolean;
  data: any;
  errors: any[];
}

I don't think you can put the readonly modifier directly on an interface like that?
If I compile your last example I get this:

error TS1024: 'readonly' modifier can only appear on a property declaration or index signature.

Right, but that's what I'm asking. Should that be the case? When are people mutating interfaces? They aren't instantiated by other instances. They're just adhered to within typed entities.

Sure, if you ask me interfaces (and everything else) should be immutable by default in typescript :-).
However if I understand what you are asking correctly this is nothing we can change within the scope of tslint-immutable. Perhaps this discussion should be moved to the typescript repo?

I'm closing this as I cannot see any action we can take but feel free to continue with the discussion.

If anyone stumbles upon this, an ignore-interfaces option has been added to the readonly-keyword rule. https://github.com/jonaskello/tslint-immutable#using-the-ignore-interface-option


can-value on selects doesn't pick currently default

If I have a map like map = new can.Map().
And a template like:
<select can-value="{map.value}">
  <option value="SOMETHING">SOMETHING</option>
</select>

Should map.value be set to "SOMETHING" even if the user does nothing?

This kinda makes me nervous... I don't think placing can-value on an element should cause it to update the view model upon insertion. Two-way binding already gets hate for the confusing side effects it can cause developers, and this would add an additional layer of complexity.
Some modules like bit-panel update the parent view model of a bit-tab when inserted but that is an example of two components specifically designed to work together, whereas can-value is generic so it's probably better to avoid this behavior.
The top-down approach still works so the only advantage this provides is that you don't have to define a default in the view model which I don't think is a good trade-off.

@dylanrtt Thanks for your input!
It's confusing in my opinion if we don't do this. It took me a few minutes to understand why my model attribute wasn't set when I did something like:
<select can-value="{game.round}">
  <select value="1">1</select>
  <select value="2">2</select>
  <select value="3">3</select>
  <select value="4">4</select>
</select>

Sometimes, because I wasn't selecting a value, game.round would be undefined.  But when I did select 2, 3, 4, suddenly my game had a round.
If you looked at the form I was submitting, it certainly looked like the game should be round 1 to the user.
Two way binding does get hate for confusing side effects, however, I think the 2 way-ness of 2-way binding is something we should maintain.  If the value of the  is 1, so should game.round.  This way it's actually doing 2-way binding.

Btw, you can see my form here: https://bitballs.herokuapp.com/#!&tournamentId=1
I think that form, when submitted, should have round = 1 and court = 1.

If the property is undefined, the <select> should probably not display the first option as being selected. As far as I can tell, that's how it worked before so you might have accidentally changed it recently when fixing live binding with dynamic select menus (#1762).
Here it is in 2.2.6 with no displayed selected value:
http://jsbin.com/mogocoteje/edit?html,js,output
If the blank option is not desirable then the developer should define a default and problem solved.

Ah. The first option should not be displayed. Thanks!
Sent from my iPhone

On Aug 10, 2015, at 7:05 PM, dylanrtt<EMAIL_ADDRESS>wrote:
If the property is undefined, the  should probably not display the first option as being selected. As far as I can tell, that's how it worked before so you might have accidentally changed it recently when fixing live binding with dynamic select menus (#1762).
Here it is in 2.2.6 with no displayed selected value:
http://jsbin.com/mogocoteje/edit?html,js,output
If the blank option is not desirable then the developer should define a default and problem solved.
—
Reply to this email directly or view it on GitHub.

Updated the title and issue description to reflect what we should do (which is the 2.2.6 behavior).

do not get the problem...
so i created a jsbin
http://jsbin.com/xehapumixe/2/edit?html,js,console,output
@dylanrtt  can you explain the problem at the example?
btw:
there is a difference behaviour on firefox and chrome

in chrome the select-element is blank at the first time
in firefox the select-element shows the first option-element

@pYr0x thanks for pointing that out.  I will fix this.

I'm going to close this and move into #2027.  In short, I'll try to make can-value work the way it used to (not updating the scope).
However, in 2.3, using {(value)}="key" will update key.
@dylanrtt I know you dislike this, and for reasonable reasons.  Perhaps we can come up with another syntax that avoids this?  Created an issue for discussing it here: https://github.com/canjs/canjs/issues/2050


Pact property checker

This is the pact property checking system that @joelburget and I have been working on. Here are the work-in-progress docs for some more context:
https://github.com/kadena-io/pact/blob/analyze/docs/pact-properties.md
Basically we operate on Pact's inlined/typechecked AST, compiling both that and a new Prop AST (for expressing properties; for now, on function definitions) down to Z3 (via the sbv library.) This property checking system also allows adding invariants to columns on schemas, e.g. (> balance 0). At the moment these invariants are only checked by property checking system, and not enforced at runtime (i.e. on the blockchain.)
As Stu knows, this covers a good deal of the Pact, but not yet every corner of the language.
Docs aside, this initial release of the property checker should be pretty ready to go -- we've made very minimal modifications to Pact's existing implementation, and our features are enabled by new concrete syntax.
Inclusion of the property checking system means that we will have to require Z3, or package it with the language in the future. If you install Z3 to be able to run the test suite, we recommend installing a nightly package because we've hit a bug in the 4.6 release.

 So that is doable.
But there are some changes in the history that it would be really nice to have out in the open over time. E.g. for now, we've decided against taking on the complexity of non-statically-known strings in some cases of the language (e.g. for columns), but we've already done some non-trivial work there if we'd like to use that again/not re-implement it in the future. We'd be able to do that by reverting a commit or two in the history. Also if there is something a little puzzling/off in the code that someone wants to dig into, the history might be pretty helpful there. We have a few tmp or wip commits here and there (and we could clean those up/squash those), but most of the history is pretty clean.
Thoughts?

Keeping only some of the history was too hard, with commits having originated in another repo. We squashed the commits.

FYI addressed all comments so far

Waiting for at least Mac build to pass


Unexpected results I am getting. BUG in the CUDA Simulator.

Reporting a bug

I am using the version 0.38 of Numba
I have included below a minimal working reproducer.

There is an enexecpted result I am getting when using the CUDA simulator. I write the code on my macbook, use the simulator to debug, then deploy on a linux server with NVIDIA chip.
import numpy as np
from numba import cuda, float64

local_array_size = 1

def update_size(size):
    global local_array_size
    local_array_size = size

@cuda.jit('void(float64[:])')
def kernal(array):
    x = cuda.grid(1)
    local_array = cuda.local.array(local_array_size, dtype=float64)
    for i in range(local_array_size):
        local_array[i] = i
    array[x] = local_array[local_array_size-1]

d_array = cuda.device_array(32, np.float64)
threadsperblock = 32
blockspergrid = 1
update_size(10)   # <-- this produces the error

kernal[blockspergrid, threadsperblock](d_array)

print(d_array.copy_to_host())

On my macbook (no NVIDIA GPU) with NUMBA_ENABLE_CUDASIM=1. The result is the following:
[ 9.  9.  9.  9.  9.  9.  9.  9.  9.  9.  9.  9.  9.  9.  9.  9.  9.  9.  9.  9.  9.  9.  9.  9.  9.  9.  9.  9.  9.  9.  9.  9.]

On a linux server with NVIDIA GPU and with NUMBA_ENABLE_CUDASIM=1. The result is the following:
[ 9.  9.  9.  9.  9.  9.  9.  9.  9.  9.  9.  9.  9.  9.  9.  9.  9.  9.  9.  9.  9.  9.  9.  9.  9.  9.  9.  9.  9.  9.  9.  9.]

On a linux server with NVIDIA GPU and not simulating. THe result is the following:
[ 0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0. ]

Therefore, the simulator has some issues. The result of the simulator does not match the result running on a real GPU.
I am doing this because I want the size of cuda.local.array to be different from time to time. This seems impossible, because the documentation says that the size of cuda local array must be a simple constant expression. Is there a way to workaround?

This is not so much a CUDA simulator bug as a general discrepancy between Numba and Python:
https://numba.pydata.org/numba-doc/dev/user/faq.html#numba-doesn-t-seem-to-care-when-i-modify-a-global-variable
Numba freezes global values at compile time, and your example triggers compilation before update_size() is called by giving an explicit signature (void(float64[:])) on the @cuda.jit decorator.  This causes the value of local_array_size to be captured in the compiled CUDA function as 1.  The CUDA simulator is intended to allow you to check program logic using print and pdb, so the code is not compiled at all.  We have plans (thanks to improvements in Python 3.6) for how to get the Numba behavior to match Python, but this will take a little while to get to on the roadmap.
Until then, you should avoid using global variables with Numba (CPU or GPU) unless they are constants.

Thanks.

Closing as resolved and #3267 covers the fundamental issue.


[release-1.7][kiali] use the new kiali server helm chart (#26163)

(cherry picked from commit f03d473014b78797700f12a2f91b7bffa7fc3572)
 # Conflicts:
 #	manifests/addons/values-kiali.yaml
 #	samples/addons/kiali.yaml

@jmazzitelli: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

release-notes_istio_release-1.7
ffd3c96208a9ec273166cca13d7d1dc575336048
link
/test release-notes_istio_release-1.7

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test release-notes_istio_release-1.7


Fix word cutting logic (C-w)

Hi,
Thanks for creating an awesome project.
Current implementation of (C-w) does not correctly cut a word when the word is followed by some space characters. For example, suppose we have a line with 10 characters: aaa bbb ccc, and the cursor is located at the end. When we press (C-W), we will cut the word ccc correctly for the first time, but the next time we press (C-W), Readline will fail to delete the word bbb, because there is a space char followed by the word.
This PR fixes this issue.

FYI I ended up creating my own solution written in F#, because I wanted to implement several other features too. Thanks anyways for creating this awesome project.
Just in case for those people who may be interested in readline implementation in F#: https://github.com/B2R2-org/FsReadLine


Extract classes common across component variants

I'd like it if the set of classes common across the variants of a component were pulled into something like a common_classes method. Take PhlexUI::Link, where each of the variants list of classes includes whitespace-nowrap, inline-flex, items-center, justify-center, rounded-md, font-medium, transition-colors, focus-visible:outline-none, focus-visible:ring-1, focus-visible:ring-ring, disabled:pointer-events-none, disabled:opacity-50. If these were broke up I could better see what the actual differences are.

I wonder how this could actually be maintained other than just like... as a policy as you write components. Some kinda custom cop? That seems like. lot. Maybe this isn't an issue but a like, discussion topic?


Fixes invalid module field in package.json

module referred to src/index.js, which does not exist. Point to lib/index.js instead.
Without fixing this, tools like rollup would give an error when trying to include as part of
a bundle. Alternatively, could probably just remove the module field entirely (since it is
the same as main in this case)

您好，我最近比较忙，无法亲自回复您的邮件。我如果我看到您的邮件，我会尽快给您回复。


Studio crashing when deleting document with documents pane open

I have found that the Studio crashes when you delete a document while a documents pane/tab is being shown.

Fixed in 1.0.5


feat: Origin of agent webpack chunks now changeable

This is part of an effort to allow the agent to operate through a proxy. The agent needs to be able to fetch its source code and send analytics to a different domain, and this solves the former. NPM is not affected.

Overview
In support of NR-152264 / Proxy Support, a configuration property assetsPath of info block has been exposed that will change where the agent chunk is loaded from. In context, our default domain js-agent.newrelic.com is on many ad blocker list today which prevent us from collecting data from end users. The use case here is to circumvent that block by using a proxy to fetch agent assets. (The beacon can also be changed so that analytics data flow throw another--or the same--proxy server via the beacon and errorBeacon properties.)
Note that this applies to agent pulled from the CDN (installation methods: copy+paste or APM-injected). Agent installed via NPM should not be affected by this change, as it's irrelevant.
Related Issue(s)
NR-149705
Testing
Existing CDN / NPM agent tests ensure new code does not break default functionality. New e2e has been added that tests the chunk source switching behavior.
Limitation note: clients running IE(11) and Safari v14- will not be able to take advantage of this feature due to URL API.

I think we need to regroup on the config values and implementation of this.  We will likely actually need a new property for both values (something like init.proxy.beacon, init.proxy.assets) instead of overwriting beacon/errorBeacon.  This will be necessary for compatibility/sanity with customers reverting back to the standard beacon values in the DB (once those have been changed to a custom value, theres no easy way to get the initial value back for the customer).
I also can't help but feel in combination with #673 that we may be over-engineering all these url checks.  The combo of those 2 PRs is growing the lite build by more than 5%, for something that should be relatively benign (just adding a property and overwriting the beacon and asset values if set) and unused by the large majority of customers.  Validating the url could likely be accomplished by good docs to follow and less by hard-coding checks and parsing all over the agent so we should circle back on this as well.

I think we need to regroup on the config values and implementation of this. We will likely actually need a new property for both values (something like init.proxy.beacon, init.proxy.assets) instead of overwriting beacon/errorBeacon. This will be necessary for compatibility/sanity with customers reverting back to the standard beacon values in the DB (once those have been changed to a custom value, theres no easy way to get the initial value back for the customer).
I also can't help but feel in combination with #673 that we may be over-engineering all these url checks. The combo of those 2 PRs is growing the lite build by more than 5%, for something that should be relatively benign (just adding a property and overwriting the beacon and asset values if set) and unused by the large majority of customers. Validating the url could likely be accomplished by good docs to follow and less by hard-coding checks and parsing all over the agent so we should circle back on this as well.

Reworked: validations removed and the input moved to a new object in the init config.