ModuleConcatenationPlugin: Unexpected token

Do you want to request a feature or report a bug? bug

What is the current behavior?
When I include the ModuleConcatenationPlugin I get following error:
ERROR in chunk main [initial]
[name].[chunkhash].js
Unexpected token (61:45)

Without the plugin everything works fine.
If the current behavior is a bug, please provide the steps to reproduce.
I created a Gist that shows my webpack.config.js

What is the expected behavior?
It should build without errors.
Please mention other relevant information such as the browser version, Node.js version, webpack version and Operating System.
Node 8.1.4
webpack 3.3.0
macOS sierra

I need to info to address this. What's in line 61 of the output file?

My main bundle will not be generated so I can't tell you what's in line 61:
Hash: 98fccd7c07eedd1d2c06
Version: webpack 3.3.0
Time: 13979ms
                                    Asset       Size  Chunks                    Chunk Names
     34aa91b8b2a3677f3d168feed62deffb.svg    5.48 kB          [emitted]
                0.f16762b43f6758949a36.js     260 kB       0  [emitted]  [big]
                1.18fe110d1a6f16779c87.js    4.16 kB       1  [emitted]
           vendor.b4bcbda5132dfa0e9d87.js     296 kB       2  [emitted]  [big]  vendor
         manifest.9d174e32da288a654e18.js    1.47 kB       4  [emitted]         manifest
561f831e12acf14208223d59c171bb60.main.css    1.94 kB       3  [emitted]         main
                               index.html  590 bytes          [emitted]
   [8] ./src/shared/styles/colors.ts 2.25 kB {3} [built]
   [9] ./src/shared/styles/distances.ts 1.1 kB {3} [built]
  [17] (webpack)/buildin/global.js 509 bytes {2} [built]
  [19] ./node_modules/react-redux/es/index.js + 14 modules 37.6 kB {2} [built]
  [32] ./node_modules/redux/es/index.js + 6 modules 21.1 kB {2} [built]
  [34] ./src/shared/types/travelPeriod.ts 2.29 kB {3} [built]
  [44] (webpack)/buildin/module.js 517 bytes {2} [built]
  [45] ./src/shared/services/travelPeriodService.ts 5.82 kB {3} [built]
  [65] ./node_modules/lodash-es/isPlainObject.js + 8 modules 5.71 kB {2} [built]
  [67] ./src/shared/services/durationService.ts 1.18 kB {3} [built]
 [117] multi ./src/index 28 bytes {3} [built]
 [118] ./src/index.tsx + 53 modules 101 kB {3} [built]
 [230] ./src/assets/css/normalize.css 41 bytes {3} [built]
 [239] ./src/shared/ui/hc-logo/hc-logo-wb.svg?asPath 82 bytes {3} [built]
 [375] ./node_modules/css-loader!./src/assets/css/normalize.css 2.11 kB [built]
    + 361 hidden modules

ERROR in chunk main [initial]
[name].[chunkhash].js
Unexpected token (61:45)
Child html-webpack-plugin for "index.html":
       [0] ./node_modules/html-webpack-plugin/lib/loader.js!./src/index.html 665 bytes {0} [built]
       [2] (webpack)/buildin/global.js 509 bytes {0} [built]
       [3] (webpack)/buildin/module.js 517 bytes {0} [built]
        + 1 hidden module
Child html-webpack-plugin for "index.html":
       [0] ./node_modules/html-webpack-plugin/lib/loader.js!./src/index.html 665 bytes {0} [built]
       [2] (webpack)/buildin/global.js 509 bytes {0} [built]
       [3] (webpack)/buildin/module.js 517 bytes {0} [built]
        + 1 hidden module
Child extract-text-webpack-plugin /Users/me/development/project/node_modules/extract-text-webpack-plugin/dist /Users/me/development/project/node_modules/css-loader/index.js!/Users/me/development/project/src/assets/css/normalize.css:
       [0] ./node_modules/css-loader!./src/assets/css/normalize.css 2.11 kB {0} [built]
        + 1 hidden module
make: *** [build] Error 2
error Command failed with exit code 2.

Could you try running with --display-error-details resp. stats: { errorDetails: true }

ERROR in chunk main [initial]
[name].[chunkhash].js
Unexpected token (61:45)
SyntaxError: Unexpected token (61:45)
    at Parser.pp$4.raise (/Users/me/development/project/node_modules/webpack/node_modules/acorn/dist/acorn.js:2610:13)
    at Parser.pp.unexpected (/Users/me/development/project/node_modules/webpack/node_modules/acorn/dist/acorn.js:637:8)
    at Parser.pp$3.parseExprAtom (/Users/me/development/project/node_modules/webpack/node_modules/acorn/dist/acorn.js:2094:10)
    at Parser.pp$3.parseExprSubscripts (/Users/me/development/project/node_modules/webpack/node_modules/acorn/dist/acorn.js:1955:19)
    at Parser.pp$3.parseMaybeUnary (/Users/me/development/project/node_modules/webpack/node_modules/acorn/dist/acorn.js:1932:17)
    at Parser.pp$3.parseExprOps (/Users/me/development/project/node_modules/webpack/node_modules/acorn/dist/acorn.js:1874:19)
    at Parser.pp$3.parseMaybeConditional (/Users/me/development/project/node_modules/webpack/node_modules/acorn/dist/acorn.js:1857:19)
    at Parser.pp$3.parseMaybeAssign (/Users/me/development/project/node_modules/webpack/node_modules/acorn/dist/acorn.js:1832:19)
    at Parser.pp$3.parseExprList (/Users/me/development/project/node_modules/webpack/node_modules/acorn/dist/acorn.js:2528:20)
    at Parser.pp$3.parseExprAtom (/Users/me/development/project/node_modules/webpack/node_modules/acorn/dist/acorn.js:2073:26)
    at Parser.pp$3.parseExprSubscripts (/Users/me/development/project/node_modules/webpack/node_modules/acorn/dist/acorn.js:1955:19)
    at Parser.pp$3.parseMaybeUnary (/Users/me/development/project/node_modules/webpack/node_modules/acorn/dist/acorn.js:1932:17)
    at Parser.pp$3.parseExprOps (/Users/me/development/project/node_modules/webpack/node_modules/acorn/dist/acorn.js:1874:19)
    at Parser.pp$3.parseMaybeConditional (/Users/me/development/project/node_modules/webpack/node_modules/acorn/dist/acorn.js:1857:19)
    at Parser.pp$3.parseMaybeAssign (/Users/me/development/project/node_modules/webpack/node_modules/acorn/dist/acorn.js:1832:19)
    at Parser.pp$3.parseExpression (/Users/me/development/project/node_modules/webpack/node_modules/acorn/dist/acorn.js:1803:19)
    at Parser.pp$1.parseReturnStatement (/Users/me/development/project/node_modules/webpack/node_modules/acorn/dist/acorn.js:916:31)
    at Parser.pp$1.parseStatement (/Users/me/development/project/node_modules/webpack/node_modules/acorn/dist/acorn.js:764:35)
    at Parser.pp$1.parseSwitchStatement (/Users/me/development/project/node_modules/webpack/node_modules/acorn/dist/acorn.js:952:34)
    at Parser.pp$1.parseStatement (/Users/me/development/project/node_modules/webpack/node_modules/acorn/dist/acorn.js:765:35)
    at Parser.pp$1.parseBlock (/Users/me/development/project/node_modules/webpack/node_modules/acorn/dist/acorn.js:1076:23)
    at Parser.pp$3.parseFunctionBody (/Users/me/development/project/node_modules/webpack/node_modules/acorn/dist/acorn.js:2466:22)
    at Parser.pp$1.parseFunction (/Users/me/development/project/node_modules/webpack/node_modules/acorn/dist/acorn.js:1177:8)
    at Parser.pp$3.parseExprAtom (/Users/me/development/project/node_modules/webpack/node_modules/acorn/dist/acorn.js:2082:17)
    at Parser.pp$3.parseExprSubscripts (/Users/me/development/project/node_modules/webpack/node_modules/acorn/dist/acorn.js:1955:19)
    at Parser.pp$3.parseMaybeUnary (/Users/me/development/project/node_modules/webpack/node_modules/acorn/dist/acorn.js:1932:17)
    at Parser.pp$3.parseExprOps (/Users/me/development/project/node_modules/webpack/node_modules/acorn/dist/acorn.js:1874:19)
    at Parser.pp$3.parseMaybeConditional (/Users/me/development/project/node_modules/webpack/node_modules/acorn/dist/acorn.js:1857:19)
    at Parser.pp$3.parseMaybeAssign (/Users/me/development/project/node_modules/webpack/node_modules/acorn/dist/acorn.js:1832:19)
    at Parser.pp$3.parseExprList (/Users/me/development/project/node_modules/webpack/node_modules/acorn/dist/acorn.js:2528:20)

hmm... Could you add Error.stackTraceLimit = 1000; to your webpack.config.js, to get a longer stack trace.

Unfortunately that didn't change anything.
I set Error.stackTraceLimit = 1000; at the top of my file like
const BundleAnalyzerPlugin = require('webpack-bundle-analyzer')
  .BundleAnalyzerPlugin;
const CleanWebpackPlugin = require('clean-webpack-plugin');
const DashboardPlugin = require('webpack-dashboard/plugin');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const merge = require('webpack-merge');
const path = require('path');
const webpack = require('webpack');
const ExtractTextPlugin = require('extract-text-webpack-plugin');

Error.stackTraceLimit = 1000;
const isDev = process.env.NODE_ENV !== 'production';

const common = {
  // ...
}

Is this correctly added by my side?


RDS input option

Allow reading rds file as input (apart from tsv/mat) to save time and memory

Tested with NYG data:
https://github.com/genieus/NYG_1to5_2022/blob/main/6_DAS/Differential_alt_splicing_SUPPA2.Rmd


[Bug] editor.setValue crash in vue3 + vite

Reproducible in vscode.dev or in VS Code Desktop?

[X] Not reproducible in vscode.dev or VS Code Desktop

Reproducible in the monaco editor playground?

[X] Not reproducible in the monaco editor playground

Monaco Editor Playground Code
No response
Actual Behavior
When I call setValue, the web page crashed and not responsed.
OS: MacOS12.4
Browser: chrome102
Expected Behavior
I can set the content of editor by call editor.setValue(newContent).
Additional Context
Reproduce:

gir clone git@github.com:tjx666/vue-vite-monaco-issue.git
pnpm install
pnpm start
open http://localhost:3000,
page will crash after 3 seconds

core code:
const editorContainer = ref<HTMLDivElement | null>(null);
const editor = ref<Editor | null>(null);

onMounted(() => {
    editor.value = monaco.editor.create(editorContainer.value!, {
        value: source.value,
        language: language.value,
        theme: 'vs-dark',
        minimap: {
            enabled: false,
        },
    });
});

watch(source, (newSource, oldSource) => {
    if (newSource !== oldSource) {
        console.log('change value');
        editor.value?.setValue(newSource);
    }
});

@alexdima

Don’t let your editor instance be a reactive variable, but as an ordinary variable change const editor = ref<Editor | null>(null); to let editor:monaco.editor.IStandaloneCodeEditor|null = null

You are right!

您好，我已经收到您的来件，我会尽快处理的。祝您工作生活愉快。                                              ——BastogneYu

您好，我已经收到您的来件，我会尽快处理的。祝您工作生活愉快。                                              ——BastogneYu


AAD-Pod-Identity exception

https://github.com/Azure/aad-pod-identity/blob/master/deploy/infra/mic-exception.yaml
If the cluster has aad-pod-identity enabled, Node Managed Identity (NMI) pods modify the nodes' iptables to intercept calls to the Azure Instance Metadata endpoint. This configuration means any request made to the Metadata endpoint is intercepted by NMI even if the pod doesn't use aad-pod-identity. AzurePodIdentityException CRD can be configured to inform aad-pod-identity that any requests to the Metadata endpoint originating from a pod that matches labels defined in CRD should be proxied without any processing in NMI. The system pods with kubernetes.azure.com/managedby: aks label in kube-system namespace should be excluded in aad-pod-identity by configuring the AzurePodIdentityException CRD. For more information, see Disable aad-pod-identity for a specific pod or application. To configure an exception, install the mic-exception YAML.

The exception for mic is created by default in the namespace the helm chart is installed:
apiVersion: "aadpodidentity.k8s.io/v1"
kind: AzurePodIdentityException
metadata:
  name: mic-exception
  namespace: default
spec:
  podLabels:
    app: mic
    component: mic

From cluster:
kubectl -n aad-pod-identity describe AzurePodIdentityException
Name:         mic
Namespace:    aad-pod-identity
Labels:       app.kubernetes.io/managed-by=Helm
Annotations:  meta.helm.sh/release-name: aad-pod-identity
              meta.helm.sh/release-namespace: aad-pod-identity
API Version:  aadpodidentity.k8s.io/v1
Kind:         AzurePodIdentityException
Metadata:
[...]
Spec:
  Metadata:
    Creation Timestamp:  <nil>
  Pod Labels:
    App:                          mic
    app.kubernetes.io/component:  mic
    Component:                    mic
Status:
  Metadata:
    Creation Timestamp:  <nil>
  Status:
Events:                  <none>

The exception for kube-system seems only to be needed when using addons from AKS that need their own MSI:
apiVersion: "aadpodidentity.k8s.io/v1"
kind: AzurePodIdentityException
metadata:
  name: aks-addon-exception
  namespace: kube-system
spec:
  podLabels:
    kubernetes.azure.com/managedby: aks

Skipping this for now.


Support loading dll at runtime

Sorry if this is out of scope, but it's a cool idea I had: It'd be nice if windows-rs provided a way to generate stubs that load the dlls at runtime and call the function indirectly (using LoadLibraryEx/GetProcAddress), returning an error if the function does not exist.
This would provide an easy way to target older versions of Windows. I imagine the API would look similar to what windows-dll provides.

I plan to add an option to use this crate in windows-dll under the hood at some point, I'm not sure how much if any extra work it would be to generate windows-rs compatible function signatures though.

I plan to add an option to use this crate in windows-dll under the hood at some point, I'm not sure how much if any extra work it would be to generate windows-rs compatible function signatures though.

Thanks for the suggestion @roblabla! We could certainly add an option to generate delay load wrappers, perhaps as an option in the build macro for all or select functions.

Thanks for the suggestion @roblabla! We could certainly add an option to generate delay load wrappers, perhaps as an option in the build macro for all or select functions.

Would love to see this too. It even seems windows-rs already does this internally for some functions using the demand_load! macro.
For performance reasons, I think it would make sense to have it limited to a selected set of functions. Does https://github.com/microsoft/win32metadata also include data on the Windows version in which the corresponding API was introduced? If so, this could potentially be done automatically using a minimum version parameter.

Does https://github.com/microsoft/win32metadata also include data on the Windows version in which the corresponding API was introduced? If so, this could potentially be done automatically using a minimum version parameter.

It seems it does in form of SupportedOSPlatform:

Yep, I'm planning to find some way to use the SupportedOSPlatform attribute to conditionally delay load. It's very tailored to C# but I'm hopeful I can make it work.

Yep, I'm planning to find some way to use the SupportedOSPlatform attribute to conditionally delay load. It's very tailored to C# but I'm hopeful I can make it work.

In the Win32 metadata file we're looking at here, are there any of these version strings that aren't just a version (series of numbers separated by dots) prefixed by "windows"? From a cursory look in ILspy, I couldn't find any, but that wasn't an exhaustive check. I did find several functions that lacked the appropriate metadata, though 😕

Yes, this is a .NET invention that I'll have to parse. Looks like a reasonably closed set of possibilities.

Just circling back to this issue. Any thoughts on using delay loading? That seems to be a simpler solution.

Heh, since opening this issue, we've actually started using delay loading. But the ergonomics aren't great. We have to remember each time we call a function to check whether it is supported uniformly on all versions of windows we target, and version-gate all calls to it if they aren't (usually I do this by providing my own wrapper function that internally does the version check).
Also, I'm not 100% sure it works properly when you need to load the DLL anyways for other symbols. Take kernel32 for instance: you may want to call GetProcessDefaultCpuSets on win10+. I didn't test, so I may be totally off-base, but wouldn't this still cause an issue on win8.1 as soon as kernel32.dll is loaded, due to trying to link to a symbol that doesn't exist on that windows version? Or are the symbols resolved lazily when you call it?

That works. Each delay load function has a unique thunk is only replaced the first time you call that function.

Just circling back to this issue. Any thoughts on using delay loading? That seems to be a simpler solution.

A big disadvantage is that it wouldn't work work on any of the *-windows-gnu targets, right? Furthermore, if there is no simple, consistent way to check availability (Do we have to implement our own Windows version checks? Can this be automated? Same for knowing which API set to check with IsApiSetImplemented) and no clean way to recover from delay load errors, this seems more complex to use than the runtime loading approach

Unfortunately, with pre-packaged bindings for the windows and windows-sys crates it's not really practical to build delay loading directly in as that would impact everyone. Typically, a project only needs a handful of functions delay loaded. If you can't use MSVC's delay loading support, then I'd suggest calling LoadLibrary/GetProcAddress directly.

Going to close this issue as there's no actionable work here that I can tell. Feel free to reopen or create a new issue if I missed something.


Registering Microsoft.Security on subscriptions does not start secure score retrieval

I work for a CSP provider with 1000+ customers. We want to activate Microsoft Defender for Cloud on all subscriptions in order to monitor and enhance their secure score.
We use the API to activate the Microsoft.Security provider on all subscriptions. This activation works as expected and the provider gets registered.
BUT the Secure Score assessment does not start until someone logs on to the portal and clicks on the Microsoft Defender for Cloud blade
To Reproduce
Steps to reproduce the behavior:

Activate Microsoft.Security on a subscription in a tenant that has not opened the Microsoft Defender for Cloud blade before
Wait up to 48 hours
Try to retrieve SecureScores via the API
This is error occours:

{"Error":{"Code":"ResourceNotFound","Message":"Secure score 'ascScore' does not exist in scope 'SubscriptionGuid'"}}

Expected behavior
ascScore should have started within the 48 hours and have delivered something like:
id         : /subscriptions/SubscriptionGuid/providers/Microsoft.Security/secureScores/ascScore
name       : ascScore
type       : Microsoft.Security/secureScores
properties : @{displayName=ASC score; score=; weight=0}

Additional context
I have tested on several tenants, that logging on to the tenant and clicking the Microsoft Defender for Cloud is required before ascScore retrieval is triggered. I still have 1000+ tenants with several subscriptions each, where the Microsoft.Security provider has been registered for 30+ days, but ascScore has no secure scores generated.
I made a MS support case on the issue, and this is what they answered:

According to that statement, logging on to the portal once a month is required to get continuous generation of Secure Score.
Is there any way to trigger the portal logon to Microsoft Defender for Cloud so we don't have to do this logon manually.

Hi,
This behavior is for free customers only. Paying customers will always have fresh data.
We've deployed a fix for this where all new registrations will have their activity status reset.
For existing free customers who are already registered, you can try setting the pricing tier  to its existing state to reset activity status, or querying securityStatuses API
For example:
PUT https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Security/pricings/{pricingName}?api-version=2023-01-01
{
"properties": {
"pricingTier": "Free"
}
}

@chshum Thanks for your reply. That is much appreciated!
Does: "We've deployed a fix for this where all new registrations will have their activity status reset." mean, that customers on the free tier will also get the basic securescores if we "reset" their pricing tier as described?

I have tested on several tenants, that logging on to the tenant and clicking the Microsoft Defender for Cloud is required before ascScore retrieval is triggered.

I think there is really simple but hard to notice explanation for this. Some action, e.g. opening Defender UI, triggers background processes.
E.g. Microsoft cloud security benchmark policy initiative  is being assigned automatically on subscription when TBD is done on portal.
Exact action seen in the brand new subscription activity log:

Windows Azure Security Resource Provider registers Microsoft.GuestConfiguration
Windows Azure Security Resource Provider registers Microsoft.PolicyInsights
Windows Azure Security Resource Provider creates policy inititative assignment:

"requestbody": "{\"id\":\"/subscriptions/x-x-x-x-x/providers/Microsoft.Authorization/policyAssignments/SecurityCenterBuiltIn\",\"name\":\"SecurityCenterBuiltIn\",\"type\":\"Microsoft.Authorization/policyAssignments\",\"sku\":{\"name\":\"A1\",\"tier\":\"Standard\"},\"properties\":{\"parameters\":\"******\",\"description\":\"This is the default set of policies monitored by Azure Security Center. It was automatically assigned as part of onboarding to Security Center. The default assignment contains only audit policies. For more information please visit https://aka.ms/ascpolicies\",\"displayName\":\"ASC Default (subscription: 731f3bda-584f-4578-a54e-addf20109a8e)\",\"scope\":\"/subscriptions/731f3bda-584f-4578-a54e-addf20109a8e\",\"policyDefinitionId\":\"/providers/Microsoft.Authorization/policySetDefinitions/1f3afdf9-d0c9-4c3d-847f-89da613e70a8\",\"metaData\":\"******\"}}"

Afaik Defender plans have really minimal effect on secure score if any.

Ps.  Assignment of the policy initiative is part of the some landing zones: https://github.com/search?q=repo%3AAzure%2FALZ-Bicep %2F1f3afdf9-d0c9-4c3d-847f-89da613e70a8%2F&type=code

Closing as a solution was provided


Any interaction with an input field causes dropdown to close

I seem to be having some issues with implementing something similar to the "Search Filter" demo. When you click or interact with the input field it wants to close the dropdown.
I tried downloading and running the example locally without the forced "open" and was able to reproduce the it locally with the example. Does the input field within the "Search Filter" only work when you are manually controlling when the dropdown will open or close?

You have to use Dropdown.MenuWrapper to wrap Dropdown.Menu. I just fixed the sample code in e6b672713115d74f52766cc0ffd4416629d22669.
<Dropdown onToggle={() => {}}>
    <Dropdown.Toggle title="Sample" />
    <Dropdown.MenuWrapper>
        <YourSearchFilter />
        <Dropdown.Menu>
            <MenuItem>first item</MenuItem>
            <MenuItem>second item</MenuItem>
        </Dropdown.Menu>
    </Dropdown.MenuWrapper>
</Dropdown>

Works great! Thank you for the speedy fix/response.


[Rust] [DataFusion] [Experiment] Blocking threads filter

The motivation behind this PR is that Tokio does not really like blocking (e.g. cpu-intensive) operations, because (by definition) it forbids the scheduler from switching to other tasks. Because of this, tokio recommends (throughout its documentation, but most notably here) to use spawn_blocking or rayon to handle blocking tasks.
This PR is just an experiment / proposal / idea of how we could handle this within tokio. Specifically, it is using spawn_blocking to spawn a thread on tokio's "blocking-dedicated" thread pool to handle a blocking operation, thereby avoiding starving the "async-dedicated" thread pool.
I do not expect this code to have much difference in performance, as filter is not such a blocking operation compared to e.g. a group by. However, I think that this idea could address performance issues when we have multiple stages (as one stage currently blocks the whole thread pool due to how we perform blocking ops inside async code).
@andygrove @alamb @Dandandan , I have been looking at DataFusion's code and tokio's documentation, and I hypothesize that this is would be one way to follow tokio's recommendations for our use-case, but I would really like to get your opinions.

Codecov Report

Merging #9086 (c1702e2) into master (86cf246) will decrease coverage by 0.00%.
The diff coverage is 64.70%.

@@            Coverage Diff             @@
##           master    #9086      +/-   ##
==========================================
- Coverage   82.60%   82.60%   -0.01%
==========================================
  Files         204      205       +1
  Lines       50175    50180       +5
==========================================
+ Hits        41447    41451       +4
- Misses       8728     8729       +1

Impacted Files
Coverage Δ

rust/datafusion/src/physical_plan/mod.rs
86.00% <ø> (ø)

rust/datafusion/src/physical_plan/sized_stream.rs
50.00% <50.00%> (ø)

rust/datafusion/src/physical_plan/filter.rs
76.11% <77.77%> (+1.83%)
:arrow_up:

...t/datafusion/src/physical_plan/coalesce_batches.rs
89.21% <0.00%> (+0.98%)
:arrow_up:

Continue to review full report at Codecov.

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

Codecov Report

Merging #9086 (c1702e2) into master (86cf246) will decrease coverage by 0.00%.
The diff coverage is 64.70%.

@@            Coverage Diff             @@
##           master    #9086      +/-   ##
==========================================
- Coverage   82.60%   82.60%   -0.01%
==========================================
  Files         204      205       +1
  Lines       50175    50180       +5
==========================================
+ Hits        41447    41451       +4
- Misses       8728     8729       +1

Impacted Files
Coverage Δ

rust/datafusion/src/physical_plan/mod.rs
86.00% <ø> (ø)

rust/datafusion/src/physical_plan/sized_stream.rs
50.00% <50.00%> (ø)

rust/datafusion/src/physical_plan/filter.rs
76.11% <77.77%> (+1.83%)
:arrow_up:

...t/datafusion/src/physical_plan/coalesce_batches.rs
89.21% <0.00%> (+0.98%)
:arrow_up:

Continue to review full report at Codecov.

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

@jorgecarleitao
This is really cool, thanks for creating this experiment!
I am not very deep yet into the Rust way of doing parallelism, the documentation of tokio makes sense to me.
Some ideas:

In general, I think it is best if the parallelism is on a high level as possible to reduce the amount of overhead related to scheduling / context switching, etc.

But in order to utilize parallelism best it should be fine-grained enough.

I think there is some balance between total control of large amount of control control over parallelism. I think Spark concurrency via partitions is an example where you can have a larger amount of control over it. It is not always fine-grained enough, e.g. if you have one 1  / a couple of files as input.

I think filtering batches is relatively fine-grained, so I am wondering if this a good level for parallelism.

Tokios default config max_blocking_threads is 512, this is I think very large for CPU intensive work (and would have a negative effect on performance) https://docs.rs/tokio/1.0.1/tokio/runtime/struct.Builder.html#method.max_blocking_threads. Maybe if using different "scopes" it makes sense to use a different runtime for CPU-intensive work where you use a different max_blocking_threads config?

Tokio's documentation seems to hint that Rayon would be a better choice for CPU intensive work?

In the ParquetExec thread::spawn is being used. task::spawn_blocking seems a better choice there as it handles errors in a better way and can limit the nr. of threads compared to  thread::spawn` I guess?

I think just as the statistics @andygrove started to add for Execs it would be good to have something here as well to debug issues and make sure we are not doing things in an inefficient way

@jorgecarleitao
This is really cool, thanks for creating this experiment!
I am not very deep yet into the Rust way of doing parallelism, the documentation of tokio makes sense to me.
Some ideas:

In general, I think it is best if the parallelism is on a high level as possible to reduce the amount of overhead related to scheduling / context switching, etc.

But in order to utilize parallelism best it should be fine-grained enough.

I think there is some balance between total control of large amount of control control over parallelism. I think Spark concurrency via partitions is an example where you can have a larger amount of control over it. It is not always fine-grained enough, e.g. if you have one 1  / a couple of files as input.

I think filtering batches is relatively fine-grained, so I am wondering if this a good level for parallelism.

Tokios default config max_blocking_threads is 512, this is I think very large for CPU intensive work (and would have a negative effect on performance) https://docs.rs/tokio/1.0.1/tokio/runtime/struct.Builder.html#method.max_blocking_threads. Maybe if using different "scopes" it makes sense to use a different runtime for CPU-intensive work where you use a different max_blocking_threads config?

Tokio's documentation seems to hint that Rayon would be a better choice for CPU intensive work?

In the ParquetExec thread::spawn is being used. task::spawn_blocking seems a better choice there as it handles errors in a better way and can limit the nr. of threads compared to  thread::spawn` I guess?

I think just as the statistics @andygrove started to add for Execs it would be good to have something here as well to debug issues and make sure we are not doing things in an inefficient way

@jorgecarleitao
What is the status of this PR?
As part of trying to clean up the backlog of Rust PRs in this repo, I am going  through seemingly stale PRs and pinging the authors to see if there are any plans to continue the work or conversation.

@jorgecarleitao  I am closing this PR for the time being to clean up the Rust/Arrow PR backlog.  Please let me know if this is a mistake


transfering quite a lot unnecessary data to SUT

While a test is being scheduled whole its git repository is copied over to the SUT. There's no need to copy there everything while it is not needed at all. Only the required parts should be there (the executed tests and their requirements). The same applies to the repositories holding more libraries, like https://github.com/beakerlib/distribution.
E.g. if I want to run one test for fapolicyd all tests in the repo (e.g. rsyslog) are copied.

It also eats up a lot of disk space over time.

This is unsustainable mainly on a Jenkins machine where a lot of such jobs may run.

This seems to be quite an important issue. Proposing for 1.5.

Trying to look into this. The problem is that it conflicts a bit with what was implemented in https://github.com/psss/tmt/pull/657/files but I think there could be a way around it. I will hopefully have a proposal somewhat soon

you can test this using e.g. https://github.com/RedHat-SP-Security/tests/blob/master/sudo/Sanity/sudo-python-plugin-examples


Option to keep the original file name intact

Is your feature request related to a problem? Please describe.
There needs to be a way to keep the original file name intact and simply append or prepend
Describe the solution you'd like
An option to leave the original file name as part of the rename
Describe alternatives you've considered
I'm looking for a plugin to do this
Additional context
N/A

Plugin no longer in use, so feature request is being closed


Tree selection and navigation is inconsistent

Testing ##52859

Click on Commonly Used entry in the tree
Use up and down arrow to navigate. It navigates in the content to the right
Click on Commonly Used entry again in the tree
Use up and down arrow to navigate. It navigates now in the tree.

Either it should navigate always in the tree or in the content

I just realised that jumping from TOC to contents when an item is focussed and selected in TOC is driving me nuts. I expect that if an item in TOC is focussed and selected and typing up and down arrow should navigate TOC


Async APIs for running actions

 Issue by fabioz
Friday Jan 19, 2024 at 16:45 GMT
Originally opened as https://github.com/robocorp/robocorp/issues/177

Description
The action server currently only has one API to run the actions which is synchronous. Ideally we'd like APIs which allow the action server to start running and then poll for the result (a 2nd step would be issuing a callback when it finishes).

 Comment by tonnitommi
Tuesday Jan 23, 2024 at 12:02 GMT

Initially, the recommendation for long-running actions is to revert to Robocorp's Process and Control Room stack, which provides async API, webhooks and the ability to poll the results.
We might revisit the relation between Actions and Processes later.


exe file not updated with given icon

Hi,
When building using electron-forge, the Windows application exe icon is not changed.
Command used to make: ./node_modules/.bin/electron-forge.cmd make
config.forge.electronPackagerConfig in package.json:
"electronPackagerConfig": {
    "icon": "./assets/img/icon.ico",
    "electronVersion": "1.4.4",
    "asar": true
},
"electronWinstallerConfig": {
    "name": "eapp",
    "setupExe": "eapp-0.0.2.exe",
    "description": "EApp Application",
    "loadingGif": "./assets/img/install-splash-anim.gif",
    "iconUrl": "http://manikanta.com/favicon.ico",
    "setupIcon": "./assets/img/icon.ico",
    "noMsi": true
}

Note: Setup exe is getting generated with correct icon, mentioned in config.forge.electronWinstallerConfig
But if I run the electron-packager manually, icon is changed:
.\node_modules\.bin\electron-packager ./ --asar=true --icon=./assets/img/icon.ico --electron-version=1.4.4
Even some other config params of electron-packager are not being picked up from package.json as described in electron-packager api. For example, even though I've specified author in package.json, I've to specify that in config.forge.electronPackagerConfig.win32metadata.
Stack: Windows 8.1 x64, electron-forge: 2.6.0, electron-prebuilt-compile: 1.4.4
Is this a bug with electron-forge? or, am I missing something? Thanks.

Can you try changing
{
  "icon": "./assets/img/icon.ico",
}

to
{
  "icon": "assets/img/icon.ico",
}

It didn't worked. Still Electron's default icon.
It is not an issue with the path as I m using the same path for electronWinstallerConfig and setup exe is generated with correct icon. In fact, I've tried by giving absolute path of the icon file too (ex: c:/eapp/assets/img/icon.ico)

Maybe an issue with electron-packager path resolution @malept ?
@manikantag Can you temporarily try using an absolute path for that icon to verify if that is the issue?

Maybe an issue with electron-packager path resolution?

The only reason I can see that it might not work in Forge but it works in Packager is if Forge is setting the CWD somewhere other than the project root, but I don't recall any code that does that.

For example, even though I've specified author in package.json, I've to specify that in config.forge.electronPackagerConfig.win32metadata.

I don't remember adding that one as a mapping. Implementing that default mapping is kind of difficult, because people fields can be either JSON objects or strings, and also I don't know what kind of character restriction may be on the equivalent win32metadata field.

@MarshallOfSound I tried with absolute path too. But same issue.
@malept It is not just an issue with author, but may other. For example if I didn't specify the electronWinstallerConfig.name or electronWinstallerConfig.description, even then they are not defaulting to as mentioned in electron-winstaller doc.

This is actually the question I was going to ask. I can't figure out why or where this cahche is being saved. I tried deleting C://users/myprof/.electron
That did not work either. I tried making my app all captials so -> app went to APP and even this would not update

For example if I didn't specify the electronWinstallerConfig.name or electronWinstallerConfig.description, then they are not defaulting to as mentioned in electron-winstaller doc.

@manikantag that sounds like a bug in electron-winstaller itself or its docs.

I can't figure out why or where this cache is being saved.

@AhadCove the cache is likely a built-in Windows icon cache, not the prebuilt Electron cache. You'd need to research whether such a thing exists, and if so, how to flush it.

I think the isuue is slightly side tracked now. Problem is with my extra comments only.
The actual issue reg the exe file icon is still the same.

Seems it is working fine with 2.7.1. Is it fixed?

No direct changes in Forge between 2.7.0 and 2.7.1 caused this, to my knowledge. If it works for you, I am happy to close this issue.

I've seen this issue till 2.6.0, and then today I've upgraded to 2.7.1 and is working. I've not tested in 2.7.0.

FWIW, the same thing I said about the changes between 2.7.0 and 2.7.1 also apply to the changes between 2.6.0 and 2.7.0.

Closing this as it's working with 2.7.1 version

What is usage of loadingGif?
Its not working in my app...

See https://github.com/electron/windows-installer#usage

I am facing the same problem in 6.0.0
Electron forge is not updating the icon. It uses the default electron icon.

@dephraiim this kind of comment isn't particularly actionable. The best kind of comment has a minimal testcase ready for someone to clone a git repo and run.
I can successfully set all three icon config options for Windows/Squirrel:

Forge config
Built installer via GitHub Actions

solution: ie4uinit -show
It may be updated.
Windows cache all icons. So try this: ie4uinit -show in cmd. It'll revalidate all cached icons.

"ie4uinit -show" did not work for me.
Instead I just had to move the whole (!) folder, which has the .exe inside, somewhere else. e.g. i moved the "my-app-win32-x64" folder into the windows download folder. After that the .exe icon updated from the electron default to my icon.
I have to do that every time after i run "electron-forge package".

Added @maifeeulasad's workaround to the docs, by the way: https://github.com/electron-forge/electron-forge-docs/commit/89e2a76a2e342bf55064f4ef49f73095876e7f6b

ie4uinit.exe -show this worked for me

Thanks @erickzhao, really appreciate it. Hope it helps other.
Happy to help @sridharkalaibala
Have a good day!


Set up a CI

Would like to attach travis-ci or circleci or simlar to the project. Need to figure out if/how they support running go code on Windows.

travis-ci support for windows seems to be in beta/non-working.
https://www.appveyor.com/ offers windows CI

appveyor added: https://ci.appveyor.com/project/martinlindhe/wmi-exporter


Fix code style for the naming of variables.

The naming of checkpointMetaData and checkpointMetadata is confusing.

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

Thank you @turboFei for your PR!

@turboFei Thanks for your contribution. I have merged your PR to master.


[China Network] Update DNS options

Summary

Screenshots (optional)

Documentation checklist

[ ] The documentation style guide has been adhered to.
[ ] If a larger change - such as adding a new page- an issue has been opened in relation to any incorrect or out of date information that this PR fixes.
[ ] Files which have changed name or location have been allocated redirects.

@pedrosousa - would you please review this pull request for China Network?

Hey Bill - requested a few changes to align with our style guide. Will approve once they're addressed!

Thank you Claire! All suggestions are accepted.


Add missing doc comments

Review and add missing doc comments to improve our developer experience using the SDK.

Add comments to all classes, methods, and fields where comments are missing
Includes descriptions of parameters, return values, and exceptions thrown where applicable
Include minimum and maximum values

Ongoing research to elicit the files for changes.


ARROW-8931: [Rust] add lexical sort support to arrow compute kernel

In preparation for datafusion sort expression support.

For those who are interested, here is the datafusion sort expression support commit, which depends on this PR: https://github.com/houqp/arrow/commit/3fbe393c6b6718a70028d311d659e506415666db

For those who are interested, here is the datafusion sort expression support commit, which depends on this PR: houqp@3fbe393

This looks great, especially the concat kernel. I'll merge this PR tomorrow if there isn't another review, we can always address feedback in subsequent JIRAs.
I also updated the float-sort in #7193, may you please also look at it and see if we'd need to change anything to support floats in lexsort?

I also updated the float-sort in #7193, may you please also look at it and see if we'd need to change anything to support floats in lexsort?

Based on your implementation in #7193, looks like it should be pretty straight forward to add float support to lexsort. We can implement the unwrap to Greater logic in cmp_value and relax the Ord constraint for OrdArray. Alternatively, we can change OrdArray into PartialOrdArray that returns Option<Ordering>, then add the default to Greater logic into lexsort function. Either way will work with minimal code change.


elasticsearch index

hello
I was wondering which is better to use :

rotate index by day or week
fixed index

what i will have in heroic will stay inside for years AND i want to be able to query heroic over 10 years of data ...
any advice will be appreciate
thanks
Lucile

hi @lucilecoutouly
At Spotify we rotate the index weekly and keep 2 indexes. The API is configured to query both indexes for reads. The reason for the weekly rotations is mostly because of the size of the data in ES.
The size of the ES cluster for suggestions is around 1 TB  for the index and 2B+ documents!
The size of the ES cluster for metadata is around 40GB for the index and 160M+ documents.
We have talked about potentially keeping more metadata indexes around to allow older time series to still be accessed but it might be confusing without suggestions.
If you are able to store the amount of data in a single index I would go for that option.


TypeError: gql is not a function

Hello,
Thank you for releasing Pal.js v2.12.1, that fixed the code generation issue.   Though I have upgraded @paljs/plugins and @paljs/cli to v2.12.1, I am now getting the following compilation error.
C:\a\Work\oss\node_modules\@paljs\plugins\src\sdlInputs.ts:129
[0]   return gql`
[0]          ^
[0] TypeError: gql is not a function
[0]     at sdlInputs (C:\a\Work\oss\node_modules\@paljs\plugins\src\sdlInputs.ts:129:10)
[0]     at Module../apps/api/src/app/graphql/prisma/typeDefs.ts (C:\a\Work\oss\dist\apps\api\webpack:\apps\api\src\app\graphql\prisma\typeDefs.ts:16:12)

I suspect it is how you are requiring graphql-tag:
https://github.com/paljs/prisma-tools/blob/cf970a1ec1f789c42cf1079d36a3ed7229fc1132/packages/plugins/src/sdlInputs.ts#L128
Should be
const gql = require('graphql-tag'); // without the parameter destructuring

Thanks again @AhmedElywa

Fixing this issue with version 2.12.2


Feature: Add example scan

Please note that I am not a python developer, so please feel free to edit for style/file location/etc.  While trying to debug a zone scanning feature, I thought it would be good to have access to the 'example' that is in your Readme.md.  When I created the file, I attempted to make it more verbose and robust, but it is probably a 'first pass' rather than something great.

@glenharris thanks for the PR. I've updated the example to align with the project linting config and simplified it a little bit around discovery etc so that it is a little easier to follow for example purposes.


Added simple image classification on CIFAR10

@charnger Thanks for opening this pull request. Please add MLproject and README.md files to your contribution.

Added the metadata, updated from master.


JUnit results file missing on MacOS when code coverage collector is used

When running a dotnet test command using --logger "jUnit", a  TestResults.xml file will be created. However, when adding the --collect "Code Coverage" option, the TestResults.xml file will no longer be created. This happes on MacOS. On Windows the file will be created as expected.
I created a sample project here: https://github.com/ablok/JunitLoggerExample

@ablok I don't have access to a MacOS box. I can validate that TestResults.xml is created on Linux.
Would it be possible to share a trace log? https://github.com/microsoft/vstest/blob/main/docs/diagnose.md#collect-traces-using-command-line

Here is the output from the dotnet test command while adding the --diag:log.txt option.
log.datacollector.24-02-09_13-09-43_24858_5.txt
log.host.24-02-09_13-09-44_80011_5.txt
log.txt

Thanks @ablok, the logs helped! I think we need to apply a fix to exclude all Spekt* assemblies from code coverage, the Code Coverage instrumentation is messing up test result callbacks and hence we never get a call back to save the run results.
Workaround
test.runsettings.txt

Copy above file as test.runsettings
Try this command:
dotnet test Example.sln --results-directory "./output" --logger "jUnit" --collect "Code Coverage" --settings test.runsettings

Fix released with https://www.nuget.org/packages/JunitXml.TestLogger/3.1.12


Avoid reset of table widget to page 0 when not necessary

This reduces the number of spurious reset of a table widget to page 0.
Page is reset to 0 only when the total number of rows change.
Before, page was reset to 0 at every change of mask, viewport (scrolling) or setting of other widgets.
I think this improves the UX but the true need behind this change is that with remote table widget support the isSourceReady variable is always true and it's impossible to reset the page to 0 when, for example, the viewport change and the number of pages decreases, leaving the widget in an inconsistent, no data state.
It could even be improved by resetting to page 0 only in case the total number of pages decreases below the current page, but I was not able to implement it. 😅
But I can improve it further by resetting when number of pages changes, not number of rows.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 72.022%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
2046

Relevant Lines:
2616

💛  - Coveralls


Add translation for missing image error

Add a translation for editListing.errors.unableToLoadImagesBody
Suggested translation:
"Your image can not be uploaded. It may have a file name or format issue. |||| One or more of your images cannot be uploaded. The image or images that cannot be uploaded may have a file name or format issue."

The bug is that the incorrect translation is being used, it should be using 'unableToLoadImages' which is just for the title and the actual body comes from the server. The error handling from the server is somewhat abstracted.
If this is not getting to the server, then that's a slightly different issue we could look into.
I'm going to close this issue in liu of #310


Time difference error does is not clear when the time difference is less than 1s

Example of comparing two dates that differ by less than 1 second: expect(actualUTCDate).to.equalTime yesterdayStartOfDayUTC
Output (indented for clarity):
AssertionError: expected
Mon Mar 23 2015 11:00:00 GMT+1100 (AUS Eastern Daylight Time) to equal
Mon Mar 23 2015 11:00:00 GMT+1100 (AUS Eastern Daylight Time)

It would be nice if the time difference found between two different dates could be given to avoid confusion.

@kayhadrin thanks for the feedback. I'll look into some ways to include and format this information.

Cheers.
I've also tried to use this plugin with chai-as-promised but it seems not to work properly yet.
Have you tried using it with it before?

@kayhadrin I have never used chai-as-promised before. Would you mind filing a separate issue with some more information so I can look into it?

@kayhadrin does @ktornwall's PR #22 help with your issue? I know you asked to see the difference between the times, but I think @ktornwall's solution is simpler and solves the problem.

That'd be just fine for me indeed :-)


Apple notrization requirement

The apple notarization requirement deadline is quickly coming up.
Continuation from #7747

@aaomidi when is the deadline?

@chlafreniere Around January


pyopae: Add negative tests

Add negative tests for:

fpga.open with null token
call handle.reset after closing handle
calling csr routines after closing handle

Running coverage-gtapi-mock-drv.sh gives a syntax error on line 22:
./scripts/coverage-gtapi-mock-drv.sh: line 22: [: : integer expression expected

Closing this and reopening another with just the negative tests.


Html is corrupted when rendered in quill editor

When I set some html as initialValue to quill, why is it changing the original format?

I am running into this as well.  It triggers an onChange from the API and alters it.  I would really like to keep this from happening as there is bugs with what it is trying to do.  For instance, If I have a string with consecutive html tags, it removes spaces between them.
So if initial value is "Hey there"
It changes it so there is no space between Hey and there.
It does something similar when trying to be smart about consolidating the value.
if initial value is "Hey there George"
it combines them into one  tag but removes all the spaces. so result is "HeythereGeorge"
This is going to cause me to move away from this editor unfortunately.. unless I can find a way to keep this from happening.  it only happens on initial Value loading.


Issues using TrajectoryCollection on my csv dataframe.

Hi,
I have been following the tutorials with no issues, however, after finishing them all, I have tried to use hvplot to plot the TrajectoryCollection made from my dataframe, however I found that it was not returning any sort of graph:

Using len(traj_collection) shows it has a length of 0, so no trajectories are being made for some reason but I am not sure why, I have followed exactly as is shown in the tutorials?
Thanks,
Jacob

I also seem to get this error in the console:
IPKernelApp No such comm: hv-extension-comm
Looking online, it seems that this error is harmless, so it is likely not relevant.

Hi Jacob, please share a few lines of your csv, so I can attempt to reproduce the issue.

Hi,

Thanks a lot for the help regardless,
Jacob

LocalTime is just a timestamp, you need to take care to first create a column with datetimes, combining both date and time.

LocalTime is just a timestamp, you need to take care to first create a column with datetimes, combining both date and time.

Okay, I'll give it a try, thanks for the help.

Like so ? I am still getting no trajectories it seems.

If you post the data and code as text, I can give it a try.

The ID of row 1 is different than row 0. Are there more positions with the same object ID later on? Trajectories with one point only will be silently discarded.

No, they all have unique objectID's, if that is the case then that may be the issue I am having.

I'll have to get permission from my university to share the data, is it fine to email you ?

No need. It's certainly the ID issue.

Have you been able to figure it out? Can we close this issue?

Yes, that was the issue, thanks for the help, appreciate it!


[SNS] Mock sending directly SMS

Proper behaviour when publishing to PhoneNumber is sending
message directly to this number, without any topic or
previous confirmation.
https://docs.aws.amazon.com/sns/latest/dg/sns-mobile-phone-number-as-subscriber.html
Fix #2198 and duplicated #3251

Coverage decreased (-0.3%) to 94.092% when pulling af76974de60f35e427c99581e91bb04ad11b7a66 on kam193:sns/send_sms into 0317602ae503ab384a56a3c04a1d36e919b99e39 on spulec:master.

Hi @bblommers! I rebased the PR earlier today. The fail was caused by my fault - in test I try to check local backend, also when tests run in server mode. I hope now it should pass


Support for ROW, ARRAY, MAP types

ARRAY, MAP and ROW datatypes are now supported. At the moment they work only with simple inner types. See an example in Readme file. I decided to keep the idea of storing and passing only strings, so to store complex types as strings I used \t and \n characters as delimiters. This solution assumes that the generated content does not contain these characters. If we want the solution to be more general, we should pass objects (array, map, row, etc.) instead of strings - it is possible, but it would make the logic more complex.

For convenience this is the DDL approach @anora10 has added support for demonstrated for maps:
CREATE TEMPORARY TABLE hp
  `character-with-age` MAP<STRING,INT>,
  `location` STRING,
  `spells` ARRAY<STRING>,
  `house-points` ROW<`house` STRING, `points` INT>
) WITH (
  'connector' = 'faker',
  'fields.character-with-age.key.expression' = '#{harry_potter.character}',
  'fields.character-with-age.value.expression' = '#{number.numberBetween ''10'',''100''}',
  'fields.character-with-age.length' = '2',
  'fields.location.expression' = '#{harry_potter.location}',
  'fields.spells.expression' = '#{harry_potter.spell}',
  'fields.spells.length' = '3',
  'fields.house-points.house.expression' = '#{harry_potter.house}',
  'fields.house-points.points.expression' = '#{number.numberBetween ''10'',''100''}'
);

This addresses most of #4.

Thank you for your remarks and comments, I corrected them.
MULTISET is now supported, I handled it as a MAP<OBJECT,INT> (a map counting the occurrences of its keys) because the RowData class also handles multisets as a map. In the sql query a multiset type field can be given with an expression type and a length, but feel free to tell me if you would prefer another way of declaration.
This version still uses string delimiters, but next week I will work on a more generic solution.

I omitted the string delimiters by passing arrays of strings instead of strings. This solves the problem of fragility. By simple types it means passing a one-element array (like {"apple"} instead of "apple"). Arrays, multisets and rows are stored and passed as string arrays with the corresponding number of elements. In the case of maps the string array is twice as long, containing keys and values (i.e. for a map of {"apple":15, "pear":10} the array is {"apple", "15", "pear", "10"}).
The query syntax stayed the same.


Amplify build issue when deploying TEAM in delegated admin account

Describe the bug
There is an ongoing issue when deploying TEAM in a delegated admin account. The issue is caused by a failure in creating a cloudtrail lake event datastore as part of the initial build even though the amplify role has the right permissions.
The build error is shown below:
2024-04-30T00:47:12.142Z [INFO]: CREATE_IN_PROGRESS myEventDataStore                                                 AWS::CloudTrail::EventDataStore Tue Apr 30 2024 00:47:08 GMT+0000 (Coordinated Universal Time)                                  CREATE_FAILED      myEventDataStore                                                 AWS::CloudTrail::EventDataStore Tue Apr 30 2024 00:47:09 GMT+0000 (Coordinated Universal Time) Resource handler returned message: "Invalid request provided: User: arn:aws:sts::xxxxxxxx:assumed-role/TEAM-IDC-APP-AmplifyRole-8ABQF4FsKQN2/BuildSession is not authorized to access this resource (Service: CloudTrail, Status Code: 400, Request ID: ec49a0a9-56ab-4eb5-b549-b53a90f29419)" (RequestToken: 7ee30e5b-6baa-5ca2-cc38-1a8dfb1a2733, HandlerErrorCode: InvalidRequest)                                  CREATE_FAILED      amplify-teamidcapp-main-04403-customcloudtrailLake-1M9T6PQ9GXKSF AWS::CloudFormation::Stack      Tue Apr 30 2024 00:47:09 GMT+0000 (Coordinated Universal Time) The following resource(s) failed to create: [myEventDataStore].
We are currently investigating this issue with the service team and would provide updates accordingly.
As a workaround, create the Cloudtrail lake event datastore in the delegated admin account outside of TEAM and pass the ARN to the parameter.sh file as described below:

Is there update on this issue? What's the ETA?

We are also facing this issue

I am trying to deploy the above solution for the org having ~300 active users but not able to because of the above error.
when can we have the above bug fixed ?
Thanks

I hit this issue and was able to use the workaround.
My manually created CloudTrail event data store used mostly default settings - i.e. management read and write events. I had to run ./destroy.sh, update the parameters.sh with the arn and then run ./deploy.sh again as the Amplify app was in a state where it could not be updated or redeployed.

Still working internally to resolve this issue. It looks like it is related to some recent changes in the cloudformation service and I am working with the team to get a resolution.
@robbycuenot  see the workaround described above

Thanks for linking me here @tawoyinfa , this workaround worked for me

I hit this issue and was able to use the workaround. My manually created CloudTrail event data store used mostly default settings - i.e. management read and write events. I had to run ./destroy.sh, update the parameters.sh with the arn and then run ./deploy.sh again as the Amplify app was in a state where it could not be updated or redeployed.

Could you please provide more information about updating the parameters.sh with the arn?
Thank you!

Could you please provide more information about updating the parameters.sh with the arn? Thank you!

Sure. In the parameters.sh file there is a parameter like this:
CLOUDTRAIL_AUDIT_LOGS=read_write

After you manually create your CloudTrail event data store, you need to grab its ARN from the console (https://us-east-1.console.aws.amazon.com/cloudtrailv2/home?region=us-east-1#/lake/eventDataStores and then click to open your event data store) and then use it as the value to the parameter instead of read_write (below, I've used a dummy value, based on the template TEAM_ACCOUNT and REGION parameters):
CLOUDTRAIL_AUDIT_LOGS="arn:aws:cloudtrail:us-east-1:123456789101:eventdatastore/gs3d5r3s-d113-v0f9-d8a0-wsi99aq20d"

Could you please provide more information about updating the parameters.sh with the arn? Thank you!

Sure. In the parameters.sh file there is a parameter like this:
CLOUDTRAIL_AUDIT_LOGS=read_write

After you manually create your CloudTrail event data store, you need to grab its ARN from the console (https://us-east-1.console.aws.amazon.com/cloudtrailv2/home?region=us-east-1#/lake/eventDataStores and then click to open your event data store) and then use it as the value to the parameter instead of read_write (below, I've used a dummy value, based on the template TEAM_ACCOUNT and REGION parameters):
CLOUDTRAIL_AUDIT_LOGS="arn:aws:cloudtrail:us-east-1:123456789101:eventdatastore/gs3d5r3s-d113-v0f9-d8a0-wsi99aq20d"

Thank you so much! I'm going to give it a try.

Hi,
I would like some clarification regarding where to create the CloudTrail Lake organization event datastore.
In the documentation, it suggests that the event datastore should be created in the TEAM account, but another section mentions creating it in the delegated admin account outside of TEAM. Could you please confirm if the datastore should be created in the organization’s master account, or if it can be created in the TEAM account?
Additionally, I have already deployed the application and created the event datastore in the TEAM account, but I am not seeing any logs. If the correct approach is to create the datastore in the master account, do I need to delete everything and redeploy the entire application? Or is there a way to update the parameter.sh file with the new CloudTrail Lake organization event datastore ARN from the master account without redeploying the entire application?
Thank you for your assistance.

atastore should be created in the TEAM account, but another section mentions creating it in the delegated admin account outside of TEAM. Could you please confirm if the datastore should be created in the organization’s master account, or if it can be created in the TEAM account?

I am also running into this issue would be good to get some more clarification

atastore should be created in the TEAM account, but another section mentions creating it in the delegated admin account outside of TEAM. Could you please confirm if the datastore should be created in the organization’s master account, or if it can be created in the TEAM account?

I am also running into this issue would be good to get some more clarification

It needs ti be created in the Master. I tested it.

atastore should be created in the TEAM account, but another section mentions creating it in the delegated admin account outside of TEAM. Could you please confirm if the datastore should be created in the organization’s master account, or if it can be created in the TEAM account?

I am also running into this issue would be good to get some more clarification

It needs to be created in the Master. I tested it.

did you have to tear it down and redeploy ? I've tried to just change it but am still not seeing activity logs

yes, complete redeploy

Solution and explanation:
You can use delegated admin account to create NEW Event data store.
During the creation of the new data store, please set "Include all accounts in my organization" to Yes. This will create the Event data store in the Management account and will receive the Management account arn (even though it is created and visible in the delegated admin account).
This is by AWS Event data store design (When a delegated administrator creates an organization event data store, the organization event data store exists in the management account for the organization. - https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-lake-organizations.html).
Trying just to enable "Include all accounts in my organization" on the existing Event data store, is not possible, because the existing Event data store is created in delegated admin account.


AMG: fix issue with dashboard json validation

Related command

az grafana dashboard import
General Guidelines

[x] Have you run azdev style <YOUR_EXT> locally? (pip install azdev required)
[x] Have you run python scripts/ci/test_index.py -q locally? (pip install wheel==0.30.0 required)
[x] My extension version conforms to the Extension version schema

Fixes #8299

Thank you for your contribution! We will review the pull request and get back to you soon.

/azp run

Hi @ABZhang0,
The git hooks are available for the azure-cli-extensions repo. They could help you run required checks before creating the PR. Please sync the latest code with latest dev branch (for azure-cli) or main branch (for azure-cli-extensions). After that please run the following commands to enable git hooks:
pip install azdev --upgrade
azdev setup -c <your azure-cli repo path> -r <your azure-cli-extensions repo path>


Can't install Python 3.11

Describe the bug
~ $ rtx install<EMAIL_ADDRESS>Downloading python-build...
fatal: could not create leading directories of '/Users/nicco
Support/rtx/plugins/python/pyenv': Permission denied
rtx<EMAIL_ADDRESS>installing                                                 ✗ 0s rtx failed to install<EMAIL_ADDRESS>rtx Run with RTX_DEBUG=1 for more information

To Reproduce

Do rtx install<EMAIL_ADDRESS>
Tested on Mac Os 13.3.1 and rtx 1.28.1 macos-arm64 (ef91f0f 2023-04-09)
Expected behavior
I should be able to install python 3.11 successfully.
rtx doctor output
rtx version:
  1.28.1 macos-arm64 (ef91f0f 2023-04-09)

build:
  Target: aarch64-apple-darwin
  Features: SELF_UPDATE
  Built: Sun, 09 Apr 2023 23:05:19 +0000
  Rust Version: rustc 1.68.2 (9eb3afe9e 2023-03-27)
  Profile: release

shell:
  /bin/zsh
  zsh 5.9 (x86_64-apple-darwin22.0)

rtx environment variables:
  RTX_SHELL=zsh

settings:
  {"experimental": "false", "missing_runtime_behavior": "prompt", "always_keep_download": "false", "legacy_version_file": "true", "plugin_autoupdate_last_check_duration": "10080", "trusted_config_paths": "[]", "verbose": "false", "asdf_compat": "false", "jobs": "4", "disable_default_shorthands": "false", "log_level": "INFO", "raw": "false"}

config files:
  /Users/nicco/.tool-versions

plugins:
  node     https://github.com/rtx-plugins/rtx-nodejs.git#946dc23
  nodejs   https://github.com/rtx-plugins/rtx-nodejs.git#946dc23
  python   https://github.com/rtx-plugins/rtx-python.git#2b29b16

toolset:
  node@19, nodejs@19, <EMAIL_ADDRESS>
No problems found

what's the output of rtx i<EMAIL_ADDRESS>--trace?

it looks like a permissions issue on your machine

I think I found the problem and fixed it in https://github.com/jdxcode/rtx/commit/8ca30bf7074b6cc36b1d57263aadfa31dd796367

I think I found the problem and fixed it in 8ca30bf

~ $ rtx install<EMAIL_ADDRESS>                                          11:15:09
From https://github.com/pyenv/pyenv
   b613a4ab..20189ff0  master     -> origin/master
 * [new tag]           v2.3.17    -> v2.3.17
python-build: definition not found: 3.11
From https://github.com/pyenv/pyenv
   b613a4ab..20189ff0  master     -> origin/master
 * [new tag]           v2.3.17    -> v2.3.17
python-build 3.11 /Users/nicco/.local/share/rtx/installs/python/3.11
python-build: definition not found: 3.11
rtx<EMAIL_ADDRESS>python-build 3.11 /Users/nicco/.local/share/rtx/installs/p ✗ 1s rtx failed to install<EMAIL_ADDRESS>rtx Run with RTX_DEBUG=1 for more information

~ $ rtx i<EMAIL_ADDRESS>--trace                                                                         11:15:47
[TRACE] (1) rtx::config::config_file::rtx_toml: [src/config/config_file/rtx_toml.rs:59] parsing: /Users/nicco/.config/rtx/config.toml
[TRACE] (3) rtx::config::config_file::rtx_toml: [src/config/config_file/rtx_toml.rs:59] parsing: /Users/nicco/.config/rtx/config.toml
[TRACE] (6) rtx::config::config_file::tool_versions: [src/config/config_file/tool_versions.rs:56] parsing tool-versions: /Users/nicco/.tool-versions
[TRACE] (1) rtx::config: [src/config/mod.rs:70] Settings: Settings {
    experimental: false,
    missing_runtime_behavior: Warn,
    always_keep_download: false,
    legacy_version_file: true,
    plugin_autoupdate_last_check_duration: 604800s,
    trusted_config_paths: [],
    verbose: true,
    asdf_compat: false,
    jobs: 4,
    shorthands_file: None,
    disable_default_shorthands: false,
    log_level: Trace,
    shims_dir: None,
    raw: false,
}
[TRACE] (3) rtx::cache: [src/cache.rs:78] reading ~/Library/Caches/rtx/python/legacy_filenames.msgpack.z
[TRACE] (4) rtx::cache: [src/cache.rs:78] reading ~/Library/Caches/rtx/node/legacy_filenames.msgpack.z
[TRACE] (6) rtx::cache: [src/cache.rs:78] reading ~/Library/Caches/rtx/nodejs/legacy_filenames.msgpack.z
[DEBUG] Files: ~/.tool-versions, ~/.config/rtx/config.toml
Installed Plugins: heroku-cli, jq, node, nodejs, python
[DEBUG] /Users/nicco/.local/share/rtx/bin/rtx i<EMAIL_ADDRESS>--trace
[TRACE] (3) rtx::cache: [src/cache.rs:78] reading ~/Library/Caches/rtx/node/remote_versions.msgpack.z
[TRACE] (5) rtx::cache: [src/cache.rs:78] reading ~/Library/Caches/rtx/python/remote_versions.msgpack.z
[TRACE] (4) rtx::cache: [src/cache.rs:78] reading ~/Library/Caches/rtx/nodejs/remote_versions.msgpack.z
[DEBUG] node@19, nodejs@19, <EMAIL_ADDRESS>[TRACE] (12) rtx::file: [src/file.rs:37] mkdir -p /Users/nicco/Library/Caches/rtx/lockfiles
[TRACE] (12) rtx::file: [src/file.rs:20] rm -rf /Users/nicco/Library/Caches/rtx/python/3.11
[TRACE] (12) rtx::file: [src/file.rs:37] mkdir -p /Users/nicco/.local/share/rtx/installs/python/3.11
[TRACE] (12) rtx::file: [src/file.rs:37] mkdir -p /Users/nicco/.local/share/rtx/downloads/python/3.11
[TRACE] (12) rtx::file: [src/file.rs:37] mkdir -p /Users/nicco/Library/Caches/rtx/python/3.11
rtx<EMAIL_ADDRESS>installing
[DEBUG] $ /Users/nicco/.local/share/rtx/plugins/python/bin/install
rtx<EMAIL_ADDRESS>python-build 3.11 /Users/nicco/.local/share/rtx/installs/python/3.11
python-build: definition not found: 3.11
[TRACE] (12) rtx::file: [src/file.rs:20] rm -rf /Users/nicco/.local/share/rtx/installs/python/3.11
[TRACE] (12) rtx::file: [src/file.rs:20] rm -rf /Users/nicco/.local/share/rtx/downloads/python/3.11
Error:
   0: failed to install<EMAIL_ADDRESS>   1: ~/.local/share/rtx/plugins/python/bin/install exited with non-zero status: exit code 2

Location:
   /rustc/9eb3afe9ebe9c7d2b84b71002d44f4a0edac95e0/library/core/src/convert/mod.rs:726

Version:
   1.28.3 macos-arm64 (f49f2ce 2023-04-10)

Suggestion: Run with RTX_DEBUG=1 for more information.

Backtrace omitted. Run with RUST_BACKTRACE=1 environment variable to display it.
Run with RUST_BACKTRACE=full to include source snippets.

I can't reproduce, it is strange that it's not mapping 3.11 to the aliased version. What is the output of rtx ls and ls -l ~/.local/share/installs/python?

I can't reproduce, it is strange that it's not mapping 3.11 to the aliased version. What is the output of rtx ls and ls -l ~/.local/share/installs/python?

~ $ rtx ls                                                             20:12:31
node   19.8.1         ~/.tool-versions 19
nodejs 19.8.1         ~/.tool-versions 19
python 3.11 (missing) ~/.tool-versions 3.11
python 3.11.2

~ $ ls -l ~/.local/share/installs/python                               20:12:43
ls: /Users/nicco/.local/share/installs/python: No such file or directory

ok I think I found the root cause and put a patch in

Installation went through, this time. 👌 Thanks.
There's just one issue at the end, but it does not prevent the Python version I am installing from being usable:
~ $ rtx install<EMAIL_ADDRESS>                                          09:54:44
Downloading openssl-1.1.1s.tar.gz...
-> https://www.openssl.org/source/openssl-1.1.1s.tar.gz
Installing openssl-1.1.1s...
Installed openssl-1.1.1s to /Users/nicco/.local/share/rtx/installs/python/3.11.3
Downloading readline-8.2.tar.gz...
-> https://ftpmirror.gnu.org/readline/readline-8.2.tar.gz
Installing readline-8.2...
Installed readline-8.2 to /Users/nicco/.local/share/rtx/installs/python/3.11.3
Downloading Python-3.11.3.tar.xz...
-> https://www.python.org/ftp/python/3.11.3/Python-3.11.3.tar.xz
Installing Python-3.11.3...
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/Users/nicco/.local/share/rtx/installs/python/3.11.3/lib/python3.11/lzma.py", line 27, in <module>
    from _lzma import *
ModuleNotFoundError: No module named '_lzma'
WARNING: The Python lzma extension was not compiled. Missing the lzma lib?
Installed Python-3.11.3 to /Users/nicco/.local/share/rtx/installs/python/3.11.3
rtx<EMAIL_ADDRESS>python-build: use zlib from xcode sdk                    ✓ 3m

see https://gist.github.com/iandanforth/f3ac42b0963bcbfdf56bb446e9f40a33

Ok, but why is that so? In my case, choosing rtx should mean doing without brew completely.

That is not a design goal of this project. This is for runtime management, not library management.


Tox quality tests

All Submissions:

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same update/change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?

Code changes:

[x] Did you format your code with Black?

[x] black getmac tests

[x] Are the linting checks passing?

[x] tox -e check

[x] Do all tests pass locally?

[x] tox

[x] Have you updated the CHANGELOG with a summary of your change?
[ ] Did you add your name to the contributors list in the README?

Summary of changes:

Implemented Code Quality Test Suite fixes as described in #66
Re-formatted def _arping_habets(host) on line 393 to align with Black formatting guidelines

Thanks for the contribution! I changed the MANIFEST.in to ensure docs are excluded, otherwise left everything as-is.


Restart to update does not update VSCode

Type: Bug
Sometimes it will restart the application, but it still wants to update, the notification is on the settings icon, and the restart to update options does not go away.  Not sure if this could be a plugin conflict of some sort or has anything to do with my config specifically.  I am going to try to manually updated.
VS Code version: Code - Insiders 1.88.0-insider (Universal) (99a19815253d91900be5ec1016e0ecc7cc9a6950, 2024-03-14T05:50:25.208Z)
OS version: Darwin x64 22.6.0
Modes:

System Info

Item
Value

CPUs
Intel(R) Core(TM) i9-9980HK CPU @ 2.40GHz (16 x 2400)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: disabled_offdirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okskia_graphite: disabled_offvideo_decode: enabledvideo_encode: enabledwebgl: enabledwebgl2: enabledwebgpu: enabled

Load (avg)
5, 9, 11

Memory (System)
64.00GB (1.47GB free)

Process Argv
--crash-reporter-id a83c3ccd-0a3b-4fe6-932d-712ed8e7cfe4

Screen Reader
yes

VM
0%

Extensions (36)

Extension
Author (truncated)
Version

python-environment-manager
don
1.2.4

applescript
idl
0.25.1

vscode-circuitpython
joe
0.2.0

har-analyzer
Mat
0.0.11

vsc-webshark
mbe
2.1.0

vscode-docker
ms-
1.29.0

vscode-edge-devtools
ms-
2.1.5

debugpy
ms-
2024.2.0

python
ms-
2024.2.1

vscode-pylance
ms-
2024.3.1

remote-containers
ms-
0.348.0

remote-ssh
ms-
0.110.2024030815

remote-ssh-edit
ms-
0.86.0

azure-account
ms-
0.11.6

azurecli
ms-
0.6.0

cpptools
ms-
1.19.8

js-debug-nightly
ms-
2024.3.1117

powershell
ms-
2024.3.1

remote-explorer
ms-
0.5.2024031109

vscode-serial-monitor
ms-
0.11.240217001

pico-w-go
pau
3.7.5

java
red
1.29.2024031808

code-spell-checker
str
3.0.1

open-in-browser
tec
2.0.0

shellcheck
tim
0.37.0

har-viewer
unc
0.0.2

intellicode-api-usage-examples
Vis
0.2.8

vscodeintellicode
Vis
1.3.1

vscode-arduino
vsc
0.6.230727001

vscode-java-debug
vsc
0.56.2024022605

vscode-java-dependency
vsc
0.23.2024022305

vscode-java-pack
vsc
0.25.2023121402

vscode-java-test
vsc
0.40.2024030709

vscode-maven
vsc
0.44.2024013105

vscode-icons
vsc
12.7.0

cors-browser
Wsc
1.0.11

(2 theme extensions excluded)

A/B Experiments
vsliv368:30146709
vspor879:30202332
vspor708:30202333
vspor363:30204092
vscod805:30301674
vsaa593:30376534
py29gd2263:30784851
c4g48928:30535728
a9j8j154:30646983
962ge761:30841072
pythongtdpath:30726887
welcomedialog:30812478
pythonidxpt:30768918
pythonnoceb:30776497
asynctok:30898717
dsvsc013:30777762
dsvsc014:30777825
dsvsc015:30821418
pythontestfixt:30866404
pythonregdiag2:30926734
pyreplss1:30879911
pythonmypyd1:30859725
pythoncet0:30859736
2e7ec940:30986170
pythontbext0:30879054
accentitlementst:30870582
dsvsc016:30879898
dsvsc017:30880771
dsvsc018:30880772
d6fi2104:30968146
cppperfnew:30980852
d34g3935:30961436
fegfb526:30952798
bg6jg535:30979844
ccp2r3:30958153
pythonait:30973460
666c4381:30973073
gee8j676:30988845

Is it sometimes? Please check what commit value is in About modal.
With insiders there might be few releases in one day so if new version is released after update was initially downloaded but before you restart to update - new version will be pulled after initial restart/update.

Hey, Sorry I didn't get back to you on this.  I believe it was an issue with APFS metadata that was causing the application to run in Translocation Mode.  Since I have fixed the metadata values (not sure how they got into a bad state, but MacOS metadata and the Built-in Security Systems can be confusing).


Derive APIs Explorer link from service config name

Previously, it was assumed this was the same as the artman "short
name" for the API, which is not necessarily true.

Current coverage is 83.86% (diff: 80.00%)

Merging #935 into master will decrease coverage by <.01%

@@             master       #935   diff @@
==========================================
  Files           337        337
  Lines         13089      13094     +5
  Methods           0          0
  Messages          0          0
  Branches       1725       1726     +1
==========================================
+ Hits          10977      10981     +4
  Misses         1674       1674
- Partials        438        439     +1

Powered by Codecov. Last update 2b2fad7...a93fa2a

LGTM


No tooltip

Obsidian 1.5.12
Plugin version 1.0.0 from community plugins
Documentation doesn't specify whether date must be a link or text or code, but I tried all options and I can see no tooltip:

I also spotted this error in developer console:

Tried in sandbox vault - still no tooltip, and got this:

hmm interesting, thanks for letting me know, the screenshots are super helpful. Will debug it this evening.

still working on this, i get the same issue in production but my testing env doesn't give the same Error so 'm trying to recreate it.

ok all is fixed in 2.0.3

Thank you.
I can confirm that it works as shown above - right at the moment I select a date text.
I see some issues with this though.
The promise from the plugin description:

This Obsidian plugin enhances your note-taking experience by providing a quick and intuitive way to track time. By simply hovering over any date in your notes, a tooltip appears, showing you how many days have passed since that date.

This seems to be inaccurate:

selection is not very intuitive - I'm not aware of other extensions doing this;
it is not quick and is not hovering - I need to do the selection;
it is fiddly - tooltip disappears the moment I overshoot the selection.

When I found this plugin, I was looking for something that would be permanently on screen for links to daily notes and for specially formatted strings. Sad to see it is so far from that.


Add tests and functionality for model::cursor() method.

https://www.youtube.com/watch?v=Hfgcg09srSo at around 35:00

@mikebronner I have had a look at this and it seems that it completely skips caching as it uses Query\Builder under the hood to execute the query for each record.
Eloquent\Builder

@mikebronner I have had a look at this and it seems that it completely skips caching as it uses Query\Builder under the hood to execute the query for each record.
Eloquent\Builder
public function cursor()
{
   // Swaps to using QueryBuilder ⬇ then ⬇ creates `LazyCollection` and query run for each record
    return $this->applyScopes()->query->cursor()->map(function ($record) {
        return $this->newModelInstance()->newFromBuilder($record);
    });
}

Query\Builder
    public function cursor()
    {
        if (is_null($this->columns)) {
            $this->columns = ['*'];
        }

        return new LazyCollection(function () {
            yield from $this->connection->cursor(
                $this->toSql(), $this->getBindings(), ! $this->useWritePdo
            );
        });
    }

So you could say use of cursor is not cached. The only other option would be write your own implementation of the cursor method
In my opinion it is probably not necessary to cache the cursor function since it is generally used for large data quantities. So if you cached each if the individual record queries it could put quite some load on the cache instance.

@dmason30 Good analysis! I add this to the documentation that this method is not cached.


Mainloop stops when there is no focus or events

Hey there, I've tested this on Develop Branch from source, V2_Dev branch from source, and on the 2.0.0-pre.251 nuget.
So the simplest representation of my use-case:
In the main window I start a loop:
var task = new Task(async () =>
{
    while (true)
    {
        Label.Text = DateTime.Now.ToString()
        await Task.Delay(5000);
    }
});

task.Start();

This works, but only if the console has focus and I move the mouse around, then eventually OnDrawContent on my label is called.
If my console does not have focus, the window does not update until I set focus to the console again, and hover over it.
It looks like Terminal.Gui.Application RunIteration() is waiting for events (I assume in this case it's triggered by a MouseHover or GetFocus kinda event) - before it considers whether components need updating.
The main loop seems to be stuck until something unlocks this here
To test my suspicion I changed my code to this, which unlocks the main loop:
var task = new Task(async () =>
{
    while (true)
    {
        Label.Text = DateTime.Now.ToString()
        Application.Wakeup();
        await Task.Delay(5000);
    }
});

(Specifically notable: Application.Wakeup(); added after updating the text)
I'm not sure how best to fix this, I'd think that on an action that requires a redraw of a component, such as updating the text, an artificial event should be thrown such as "PossibleRedrawRequired event which unlocks the main loop - Or the main loop should be woken up with something like Application.Wakeup();

To update the UI from another thread it's needed to call inside Application.MainLoop.Invoke(() => { Label.Text = DateTime.Now.ToString(); }). Not needed to use the Application.Wakeup().

I don't think it's a threading issue, I'm just using a task to not block the main loop, and have an easy constant loop
Application.MainLoop.Invoke(() => { Label.Text = DateTime.Now.ToString(); })  just calls AddIdle  which also does:
internal Func<bool> AddIdle (Func<bool> idleHandler)
{
    lock (_idleHandlersLock)
    {
        _idleHandlers.Add (idleHandler);
    }

    MainLoopDriver.Wakeup ();

    return idleHandler;
}

So the Application.MainLoop.Invoke is basically a helper function of "Do action and wakeup"
When changing Terminal.Gui.View.Text to this it also solves it:
public virtual string Text
{
    get => _text;
    set
    {
        var isUpdated = _text != value;

        _text = value;
        SetHotKey ();
        UpdateTextFormatterText ();
        OnResizeNeeded ();

        if (isUpdated)
        {
            Application.Wakeup ();
        }

#if DEBUG
        if (_text != null && string.IsNullOrEmpty (Id))
        {
            Id = _text;
        }
#endif
    }
}

But I assume that this behavior is not only on the View element, but others as well

So where would you suggest I put this loop inside the main thread so that it's ticked every x seconds, to show that the same happens on the main thread?
I've tried adding it to Iteration of the Application:
    Application.Iteration += async (sender, args) =>
    {
        Label.Text = DateTime.Now.ToString();
    };

But Iteration is not triggered unless there are events detected, same as the original issue. If you just leave the console open without doing anything, the console is completely idle

As I said before you only need to do this:
Application.MainLoop.Invoke (() =>
    {
        Label.Text = DateTime.Now.ToString();
    };

Closing as by-design.


flutter analyze checks the whole project when specifying a directory before checking the specified directory

folder structure:

when running flutter analyze without specifying a directory:
>flutter analyze
Analyzing untitled16...

   info - Only use double quotes for strings containing single quotes - lib\main.dart:1:13 - prefer_single_quotes
   info - Only use double quotes for strings containing single quotes - test\widget_test.dart:1:13 - prefer_single_quotes

2 issues found. (ran in 3.6s)

when specifying a directory:
>flutter analyze lib
Analyzing 2 directories...

   info - Only use double quotes for strings containing single quotes - lib\main.dart:1:13 - prefer_single_quotes
   info - Only use double quotes for strings containing single quotes - test\widget_test.dart:1:13 - prefer_single_quotes
   info - Only use double quotes for strings containing single quotes - lib\main.dart:1:13 - prefer_single_quotes

3 issues found. (ran in 4.6s)

i think what happening is that it first runs on the whole project first, then runs again on the specified directory, which is why it duplicated the error in lib/main.dart

Hi @DetachHead, Thanks for filing the issue. I can reproduce the issue on stable channel. But on the master channel it seems like this is fixed.

logs(stable)
mahesh@Maheshs-MacBook-Air-M1 test_app % flutter analyze test/
Running "flutter pub get" in test_app...                            3.2s
Analyzing 2 directories...

   info • Only use double quotes for strings containing single quotes • integration_test/app_test.dart:12:31 •
          prefer_single_quotes
   info • Use key in widget constructors • lib/main.dart:6:7 • use_key_in_widget_constructors
   info • Only use double quotes for strings containing single quotes • lib/main.dart:10:14 • prefer_single_quotes
   info • This class (or a class that this class inherits from) is marked as '@immutable', but one or more of its instance fields
          aren't final: Home.hints • lib/main.dart:17:7 • must_be_immutable
   info • Use key in widget constructors • lib/main.dart:17:7 • use_key_in_widget_constructors
   info • Prefer const with constant constructors • lib/main.dart:39:17 • prefer_const_constructors
   info • Only use double quotes for strings containing single quotes • lib/main.dart:61:37 • prefer_single_quotes
   info • Only use double quotes for strings containing single quotes • lib/main.dart:64:32 • prefer_single_quotes
   info • Only use double quotes for strings containing single quotes • test/widget_test.dart:19:22 • prefer_single_quotes

9 issues found. (ran in 2.5s)
mahesh@Maheshs-MacBook-Air-M1 test_app % flutter analyze lib
Analyzing 2 directories...

   info • Only use double quotes for strings containing single quotes • integration_test/app_test.dart:12:31 •
          prefer_single_quotes
   info • Use key in widget constructors • lib/main.dart:6:7 • use_key_in_widget_constructors
   info • Only use double quotes for strings containing single quotes • lib/main.dart:10:14 • prefer_single_quotes
   info • This class (or a class that this class inherits from) is marked as '@immutable', but one or more of its instance fields
          aren't final: Home.hints • lib/main.dart:17:7 • must_be_immutable
   info • Use key in widget constructors • lib/main.dart:17:7 • use_key_in_widget_constructors
   info • Prefer const with constant constructors • lib/main.dart:39:17 • prefer_const_constructors
   info • Only use double quotes for strings containing single quotes • lib/main.dart:61:37 • prefer_single_quotes
   info • Only use double quotes for strings containing single quotes • lib/main.dart:64:32 • prefer_single_quotes
   info • Only use double quotes for strings containing single quotes • test/widget_test.dart:19:22 • prefer_single_quotes

9 issues found. (ran in 2.5s)
mahesh@Maheshs-MacBook-Air-M1 test_app %

logs(master)
mahesh@Maheshs-MacBook-Air-M1 test_app % flutterm analyze
Running "flutter pub get" in test_app...                         2,444ms
Analyzing test_app...

   info • Only use double quotes for strings containing single quotes • integration_test/app_test.dart:12:31 •
          prefer_single_quotes
   info • Use key in widget constructors • lib/main.dart:6:7 • use_key_in_widget_constructors
   info • Only use double quotes for strings containing single quotes • lib/main.dart:10:14 • prefer_single_quotes
   info • This class (or a class that this class inherits from) is marked as '@immutable', but one or more of its instance fields
          aren't final: Home.hints • lib/main.dart:17:7 • must_be_immutable
   info • Use key in widget constructors • lib/main.dart:17:7 • use_key_in_widget_constructors
   info • Prefer const with constant constructors • lib/main.dart:39:17 • prefer_const_constructors
   info • Only use double quotes for strings containing single quotes • lib/main.dart:61:37 • prefer_single_quotes
   info • Only use double quotes for strings containing single quotes • lib/main.dart:64:32 • prefer_single_quotes
   info • Only use double quotes for strings containing single quotes • test/widget_test.dart:19:22 • prefer_single_quotes

9 issues found. (ran in 2.7s)
mahesh@Maheshs-MacBook-Air-M1 test_app % flutterm analyze lib
Analyzing lib...

   info • Use key in widget constructors • lib/main.dart:6:7 • use_key_in_widget_constructors
   info • Only use double quotes for strings containing single quotes • lib/main.dart:10:14 • prefer_single_quotes
   info • This class (or a class that this class inherits from) is marked as '@immutable', but one or more of its instance fields
          aren't final: Home.hints • lib/main.dart:17:7 • must_be_immutable
   info • Use key in widget constructors • lib/main.dart:17:7 • use_key_in_widget_constructors
   info • Prefer const with constant constructors • lib/main.dart:39:17 • prefer_const_constructors
   info • Only use double quotes for strings containing single quotes • lib/main.dart:61:37 • prefer_single_quotes
   info • Only use double quotes for strings containing single quotes • lib/main.dart:64:32 • prefer_single_quotes

7 issues found. (ran in 0.9s)
mahesh@Maheshs-MacBook-Air-M1 test_app % flutterm analyze test/
Analyzing test...

   info • Only use double quotes for strings containing single quotes • test/widget_test.dart:19:22 • prefer_single_quotes

1 issue found. (ran in 1.2s)
mahesh@Maheshs-MacBook-Air-M1 test_app %

flutter doctor -v (mac)
[✓] Flutter (Channel stable, 2.10.3, on macOS 12.1 21C52 darwin-arm, locale en-GB)
    • Flutter version 2.10.3 at /Users/mahesh/Documents/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 7e9793dee1 (20 hours ago), 2022-03-02 11:23:12 -0600
    • Engine revision bd539267b4
    • Dart version 2.16.1
    • DevTools version 2.9.2

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/mahesh/Library/Android/sdk
    • Platform android-31, build-tools 31.0.0
    • ANDROID_HOME = /Users/mahesh/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.2.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • CocoaPods version 1.10.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)

[✓] IntelliJ IDEA Community Edition (version 2021.2.1)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 61.2.4
    • Dart plugin version 212.5080.8

[✓] VS Code (version 1.63.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.36.0

[✓] Connected device (3 available)
    • Redmi K20 Pro (mobile) • <IP_ADDRESS>:5555 • android-arm64  • Android 11 (API 30)
    • macOS (desktop)        • macos            • darwin-arm64   • macOS 12.1 21C52 darwin-arm
    • Chrome (web)           • chrome           • web-javascript • Google Chrome 99.0.4844.51

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

[✓] Flutter (Channel master, 2.13.0-0.0.pre.191, on macOS 12.3 21E230 darwin-arm, locale en-GB)
    • Flutter version 2.13.0-0.0.pre.191 at /Users/mahesh/Documents/flutter_master
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 69b92f0452 (2 days ago), 2022-03-21 21:25:09 -0700
    • Engine revision e6233bd30b
    • Dart version 2.17.0 (build 2.17.0-223.0.dev)
    • DevTools version 2.11.4

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/mahesh/Library/Android/sdk
    • Platform android-31, build-tools 31.0.0
    • ANDROID_HOME = /Users/mahesh/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)
    • All Android licenses accepted.

[!] Xcode - develop for iOS and macOS (Xcode 13.2.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    ! CocoaPods 1.10.2 out of date (1.11.0 is recommended).
        CocoaPods is used to retrieve the iOS and macOS platform side's plugin code that responds to your plugin usage on the Dart
        side.
        Without CocoaPods, plugins will not work on iOS or macOS.
        For more info, see https://flutter.dev/platform-plugins
      To upgrade see https://guides.cocoapods.org/using/getting-started.html#installation for instructions.

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)

[✓] IntelliJ IDEA Community Edition (version 2021.2.1)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 61.2.4
    • Dart plugin version 212.5080.8

[✓] VS Code (version 1.65.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.37.20220301

[✓] Connected device (3 available)
    • Redmi K20 Pro (mobile) • <IP_ADDRESS>:5555 • android-arm64  • Android 11 (API 30)
    • macOS (desktop)        • macos            • darwin-arm64   • macOS 12.3 21E230 darwin-arm
    • Chrome (web)           • chrome           • web-javascript • Google Chrome 99.0.4844.83

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.

The fix should land on stable in the future stable release, Closing as fixed on the master channel.


Added myself on the website:

The Circle is a bit squishy and the 'questionmark you' has been put in an awkward position due to my presence..
Is there a way to fix this?

I'm not too worried about the placement of the questionmark guy. It'll sort itself out. As far as your squishy picture, I'm going to make a quick change and it will be fixed.  For instructional purposes only, these are the commands I have used to do this (there is nothing more you need to do):

I set your branch as a remote, fetched it, and checked it out as a new branch called 'add-teddy'. This contains the commits you made.

1a) I ran the "file" command to find out how big your image is
huff@lise:~/repos/arfc.github.io/img/people(add-teddy) $ file baej.png
baej.png: PNG image data, 857 x 738, 8-bit/color RGB, non-interlaced

1b) If one is curious, one can use the identify command to acheive the same result:
huff@lise:~/repos/arfc.github.io/img/people(add-teddy) $ identify baej.png
baej.png PNG 857x738 857x738+0+0 8-bit sRGB 794KB 0.000u 0:00.000

Since it's almost, but not quite a square, let's crop it, from both sides, so that it becomes 738x738:

huff@lise:~/repos/arfc.github.io/img/people(add-teddy) $ convert baej.png -gravity Center -crop 738x738+0+0 +repage bae-diff.png

Let's check that it worked:

huff@lise:~/repos/arfc.github.io/img/people(add-teddy) $ identify bae-diff.png
bae-diff.png PNG 738x738 738x738+0+0 8-bit sRGB 666KB 0.000u 0:00.000huff@lise:~/repos/arfc.github.io/img/people(add-teddy) $ file bae-diff.png
bae-diff.png: PNG image data, 738 x 738, 8-bit/color RGB, non-interlaced

Excellent, now let's move it into position and commit it to your branch.

huff@lise:~/repos/arfc.github.io/img/people(add-teddy) $ git status
On branch add-teddy
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

	modified:   baej.png

Untracked files:
  (use "git add <file>..." to include in what will be committed)

	../../_site/

no changes added to commit (use "git add" and/or "git commit -a")
huff@lise:~/repos/arfc.github.io/img/people(add-teddy) $ git commit -am "squares Teddy's picture"
[add-teddy ae07ef5] squares Teddy's picture
 1 file changed, 0 insertions(+), 0 deletions(-)
 rewrite img/people/baej.png (90%)

Finally, we merge, push, and rake publish:

huff@lise:~/repos/arfc.github.io/img/people(add-teddy) $ git checkout source
Switched to branch 'source'
Your branch is up-to-date with 'origin/source'.
huff@lise:~/repos/arfc.github.io/img/people(source) $ git merge add-teddy
Updating bb23386..ae07ef5
Fast-forward
 _data/people.yml    |  14 ++++++++++++++
 img/people/baej.png | Bin 0 -> 666092 bytes
 2 files changed, 14 insertions(+)
 create mode 100644 img/people/baej.png
huff@lise:~/repos/arfc.github.io/img/people(source) $ git push origin source
Counting objects: 17, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (17/17), done.
Writing objects: 100% (17/17), 1.39 MiB | 0 bytes/s, done.
Total 17 (delta 11), reused 0 (delta 0)
remote: Resolving deltas: 100% (11/11), completed with 6 local objects.
To git@github.com:arfc/arfc.github.io
   ecdd9b7..cdde1e0  source -> source
huff@lise:~/repos/arfc.github.io/img/people(source) $ cd ../../ && rake publish

Also, excellent PR.


ci: Remove hhvm test target

HHVM has gone its own way from the true path of PHP 7
Ref: https://hhvm.com/blog/2017/09/18/the-future-of-hhvm.html

We can remove the constraint on mockery from here at the same time.

Is there any stats on how many reports are being sent to Bugsnag from HHVM?

Not much in the way of stats, though its something we are working on. Its literally never come up in a request or support though.


English version of API References is missing and inaccurate

I'm trying to figure out how the Misskey API works, but I cannot find them in the English version of the documentation website.
UPDATE: I think the API docs might be inaccurate.

So is there an English version?


Areas are showing occupancy after HA update

After today's update to 2022.6.6 most areas are stuck at showing as occupied. Not sure what causes some to show as occupied, while others - not.

nevermind, downgrading to 2022.6.5 worked for two days and it broke again today. after updating to 2022.6.6, installation of the 3.0.0 beta, and downgrading back to 2.0.05 it started working again. is there a way to see what triggers the area to be active? it used to be an attribute - which is missing now.

Hi @grinco, 3.0 should be going into release tomorrow night (PDT). If you wanna test meanwhile, the code on the develop branch is the latest working one.
The active_sensors attribute will show which sensors are triggering an area.

Should be fixed on the latest release, please check!

Fixed on 3.0. If the issue persists, please reopen!