[WIP] Update to build with the latest Avalonia 11 changes

A WIP change, to try to make it build against the latest Avalonia 11 nightly build.
Most of the changes are to replace uses of interfaces with their base classes to make it work with the Avalonia changes from https://github.com/AvaloniaUI/Avalonia/pull/9553
Note: I've had the control catalog working with thest changes, except that horizontally resizing the window corrupts some of the contents. That may or may not be down to the issue described at https://github.com/AvaloniaUI/Avalonia/issues/9975

There is also a break in the web assembly playground project due to Avalonia.Web.Blazor having been renamed to Avalonia.Browser.Blazor, but that doesn't doesn't seem to currently be attached to the solution?

There is also a break in the web assembly playground project due to Avalonia.Web.Blazor having been renamed to Avalonia.Browser.Blazor, but that doesn't doesn't seem to currently be attached to the solution?

No, The WASM Example even had runtime errors last time I tried it with v11.

Ok, I've updated the project anyway, something else to test with the new versions

Another breaking change has appeared in the Avalonia 11 nightlys - the change at https://github.com/AvaloniaUI/Avalonia/pull/9677 has changed some virtualization related things, which causes a number if build breaks due to properties having been removed or renamed

I was holding off on trying to make a couple of other System.Reactive uses (Subscribe calls using callbacks and cancellation tokens) self contained in case other Avalonia changes avoid the need (e.g. https://github.com/AvaloniaUI/Avalonia/pull/10105), but looking at what Reactive actually does I wonder if something using the built in Observable.subscribe along the lines of
type IObservable<'a> with
        member this.Subscribe (callback: 'a -> unit, token: CancellationToken) =
            let disposable = Observable.subscribe callback this
            token.Register(fun () -> disposable.Dispose())

might work?

Updated with a couple more breaking API changes in Avalonia (this time just in the sample apps though)
https://github.com/AvaloniaUI/Avalonia/pull/8166
https://github.com/AvaloniaUI/Avalonia/pull/10141

Remove the ItemsRepeater bindings after https://github.com/AvaloniaUI/Avalonia/pull/10112

Ok, updated to Avalonia 11 preview 5.
Seems to be working ok, but still has a System.Reactive reference to get a couple of uses of Subscribe (see previous Q about if a simple local extension method will work instead)

Wonder when all of this great stuff will land in a new public avalonia preview 😀

Wonder when all of this great stuff will land in a new public avalonia preview 😀

Looks like it just did:

Nice! Looking forward to merging your changes and also releasing a preview version.

hmm, forgot about the web assembly playground project, might need more tweaks there (although, it could maybe also be simplified to use the new self-hosted WASM support rather than needing Blazor?)

Whatever works 😉

I've updated the playground project so it builds with Preview 5, but I got a javascript error when running it - so that bit needs another look later

I doesn't work currently, so we can definitely fix it after merging. 👍

Merged! Great work 🔥


Downloading to locations independent of org.opencontainers.image.title

If an example file is pushed from it's parent folder (like oras push somedir/somefile.something) that path is writen as annotationTitle and during pull it's downloaded to the same location (if -T flag is used or if it's not outside of workdir). I'm trying to find a way to download files and directories directly into workdir (using the same example, to download file somefile.something into directory I'm executing code from not to somedir). Possible solution is adding bool field to File.store struct and using just base from org.opencontainers.image.title joined with workdir like in #410

If the folder structure is required to be overridden when it is pulled, should we request the artifact publisher to re-create the artifact with a more reasonable folder structure? Although oras supports absolute path as the blob name, it is strongly discouraged. Those artifacts for public downloading should have relative paths.
If users do want to download the artifact regardless the blob names, it is suggested to use oci stores.

Technically, we can flatten the folder structure of an artifact as you've suggested in #410. We require a reasonable user scenario for this kind of operations. /cc @FeynmanZhou

Well particular scenario that I have is that we are using oci images to store configurations from different sources and they're pushed concurrently by other component. Because pushing component is operating in routines it can't cd before pushing so we're stuck with directory structure that we don't need. Other scenario from top of my head is pulling a copy somewhere and wishing to preserve original but I do believe this little feature would be useful in many occasions when the same data is consumed in different contexts

thanks, that resolves my scenario

Closing as this issue is marked as resolved.


[#120846679] Feature flag destroy pipelines off in non-dev envs

What
Add a new ENABLE_DESTROY feature flag to control whether the
destroy-cloudfoundry and destroy-microbosh pipelines are setup on the
Deployer Concourse. This is enabled on development environments and disabled
by default on all other environments such as CI, staging, and production.
Instructions for enabling the destroy pipelines in these environments, if
necessary, is added to the non-dev deployments documentation.
This will prevent the destroy pipelines from being run by accident in
persistent environments. We've seen this happen once and it's easy to
do when you have multiple Concourse tabs open to diagnose a pipeline failure
in another environment.
I've not included a warning like ENABLE_AUTODELETE does because it will be
quite noisy and the effect isn't as surprising as autodelete; which contains
a pipeline that runs automatically. I've used a glob to capture both destroy
pipelines in the case statement so that we don't have to match their exact
names. These pipelines aren't reinstated by self-update-pipeline because
that passing in a single pipeline name.
We have talked about adding a Concourse feature to make the background a
different colour for different environments or adding some text to the
pipeline screen. Those things might still be desirable, but we should leave
this in place for extra safety.
How to review

Checkout the branch: git fetch && git checkout 120846679-feature_flag_destroy_pipelines
Update the pipelines on your dev environment: make dev pipelines
Confirm that the destroy pipelines are still on the Deployer Concourse.
Temporarily delete the ENABLE_DESTROY=true line from the Makefile to simulate a non-dev environment.
Update the pipelines again: make dev pipelines
Confirm that the destroy pipelines are not on the Deployer Concourse.
Run the create-bosh-cloudfoundry and confirm that the init job doesn't reinstate them.

Who can review
Not @dcarley

I'll apply this to CI/staging/prod environments.

I'll apply this to CI/staging/prod environments.

Done.

Thanks @alext 👍


Keep the keyboard in mobile devices open when camper press Run

Is your feature request related to a problem? Please describe.
While reviewing #48586, please check it if you want more context, I suggested keeping the keyboard open while clicking on "Run" button.
The idea is as follows, because input element opens the keyboard, we can add a hidden input element inside the button with text "Run". This should keep the button open and with the hidden nature of the input, screen readers should ignore it and it won't be focusable.
But this is inviting a second issue if we do this, because now we will have input that can handle campers input, but doesn't do anything with. We need to add a functionality that use the handled input to change the code back, so the experience stay smooth and doesn't require campers to navigate to where the code, to interact with the code again.
Describe the solution you'd like

We create a function that saves the place where the camper was typing in. (edit: changed "remembers" to "saves")
Add input element that is hidden, inside the Run button (or the clear icon in search bar for future PR)
This input will keep the keyboard on, and campers can still type in that input
the campers inputs, which they typed in the hidden input element, transferred to the last place that the camper typed in, which is saved by the function. (Edit: thinking about this, do we need to transfer the input? Maybe we can select the saved place back and remove a headache.)

Describe alternatives you've considered
We can ignore a hacky way, and go with my first suggestion by moving the focus into the keyboard again, but we have to account for accessibility, like how Bruce mentioned here https://github.com/freeCodeCamp/freeCodeCamp/pull/48586#issuecomment-1335724747
Additional context
The more that I think about it, my solution seems too hard and terrible, perhaps I am complicating things so here is the idea to iterate on it and hopefully improve it.

we can add a hidden input element inside the button with text "Run".

I'm not sure if I am understanding this correctly, but if you mean that we should embed an input element within a button element then this would be a WCAG violation and thus not accessible. Interactive elements cannot contain other interactive elements.

oh, time to update Chapter 🤣, thank you. Didn't know that

According to this question, using touchend event listener and event.preventDefault(); with "Run" button, It seems that we can keep the virtual keyboard in mobile devices open when camper press the button.
So how about using this idea in tool-panel.tsx with the code shown below?
const handleRunTests = (event: React.TouchEvent<HTMLButtonElement> | React.MouseEvent<HTMLButtonElement>) => {
  event.preventDefault();
  executeChallenge({ showCompletionModal: true });
};

<div
　className={`tool-panel-group button-group ${
  　isMobile ? 'tool-panel-group-mobile' : ''
  }`}
>
　<Button
    　aria-label='Run the tests use shortcut Ctrl+enter'
    　block={true}
    　bsStyle='primary'
    　{...(navigator.userAgent.match(/iPhone|Android.+Mobile/) ? { onTouchEnd : handleRunTests } : { onClick : handleRunTests })}
　>
　　{isMobile ? t('buttons.run') : t('buttons.run-test')}
　</Button>

Personally, I am leery of overriding the default behavior of the virtual keyboard and I'm still not convinced this is going to work properly or be accessible. But if you can get this working in a PR I'll be happy to review it for accessibility.

Based on those a11y issues, we should not change the default behaviour.


Provide an example for Create a work item on failure.

It is not clear how to implement this in the YAML build and a quick sample can make a huge difference.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 0fa5a83c-70fd-6925-a8c8-256b21c21a2e
Version Independent ID: 75f4a136-7245-7878-2953-6b68272fe4ec
Content: Build pipeline options - Azure Pipelines & TFS
Content Source: docs/pipelines/build/options.md
Product: devops
GitHub Login: @andyjlewis
Microsoft Alias: alewis

There is still no example YAML for "Create a work item on failure." I don't know where I would add it in my yaml file and I don't know what the name of the setting is.

Thank you for posting this issue. Apologies for the delayed response. I've added this request to our backlog. Heads up to @steved0x

Is there any progress with this item?

Is there a way, or is this feature not supported yet?

@Andyjlewis, @steved0x, any chance one of you can provide clarity on whether this is really a documentation issue (i.e. this functionality exists, but isn't properly documented) or whether this is functionality that exists in classic pipelines but not in YAML? My org is in the process of migrating all of our pipelines to YAML, and we're going to lose a big piece of our failure handling workflow if we can't create work items on failures.

For anyone still struggling with this - there's apparently no way to define this in the YAML, but I managed to find a way you can turn it on the same as for Classic pipelines by using some undocumented API functionality. Hope this helps someone - and that Microsoft can just expose the options in the UI, since it apparently works otherwise!

@andyjlewis @steved0x Is there any update on the backlog item to correct this in an elegant way?

Hi is this option already available in yaml piplines? I could find in PR @steved0x

Hi is this option already available in yaml piplines? I could find in PR @steved0x

@mimachniak, it looks like that commit mistakenly referenced this issue - I think it was merging a PR that had the same PR number as this issue number, but it's not related.
Anyone from Microsoft who's listening - any ability to bump up the priority of this would be greatly appreciated! My team has been leveraging this functionality on our YAML pipelines via the kludgy API calls I mentioned above. Having this already-working feature exposed via the UI in the same way it is for Classic pipelines would make our pipeline administration significantly easier.

@mimachniak, it looks like that commit mistakenly referenced this issue - I think it was merging a PR that had the same PR number as this issue number, but it's not related.
Anyone from Microsoft who's listening - any ability to bump up the priority of this would be greatly appreciated! My team has been leveraging this functionality on our YAML pipelines via the kludgy API calls I mentioned above. Having this already-working feature exposed via the UI in the same way it is for Classic pipelines would make our pipeline administration significantly easier.

@sphanley Anyone that finds this GH issue, there is a request for this functionality added on Developer Community here:
https://developercommunity.visualstudio.com/t/Enable-create-work-work-item-on-failure/1010736?space=21&q=create+work+item+on+failure
You can upvote this idea which helps to give it traction.
I had also found the stack overflow thread, let me see if I can get an example that shows how to do this and added to our documentation. I have created a work item on my backlog so it doesn't fade out of sight like this original issue.

AB#1837762


Invoke-ServiceFabricEncryptText does not work

#New-SelfSignedCertificate –DnsName 'TESTCERT' -CertStoreLocation “cert:\LocalMachine\My”
#first one thumbprint E3E66BD9AC16BA6BD7BEC10E0BB0BA8D540AF76C

$Thumbprint = 'E3 E6 6B D9 AC 16 BA 6B D7 BE C1 0E 0B B0 BA 8D 54 0A F7 6C' # 3.6.2020 certificate // you have a private key but this CA Toot certificate is not trusted
#$Thumbprint = 'E3E66BD9AC16BA6BD7BEC10E0BB0BA8D540AF76C' # 3.6.2020 certificate // you have a private key but this CA Toot certificate is not trusted

try{
$EncryptedText =( Invoke-ServiceFabricEncryptText -Text "hello world" -CertThumbprint $Thumbprint -CertStore -StoreLocation LocalMachine -StoreName My -Verbose)

}
catch{
   $ErrorMessage = $_.Exception.Message
    $FailedItem = $_.Exception.ItemName
    Write-Host  $ErrorMessage
    Write-Host  $FailedItem
    Write-Host  $_.Exception
}

Error

PS C:\Windows\system32> C:\Users\Admin\Documents\Untitled1.ps1
VERBOSE: System.Runtime.InteropServices.COMException (0x80071BF2): Exception from HRESULT: 0x80071BF2
at System.Fabric.Security.EncryptionUtility.EncryptText(String textToEncrypt, String thumbprint, String storeName, StoreLocation storeLocation, String algorithmOid)
at Microsoft.ServiceFabric.Powershell.InvokeEncryptText.ProcessRecord()
Exception from HRESULT: 0x80071BF2
System.Runtime.InteropServices.COMException (0x80071BF2): Exception from HRESULT: 0x80071BF2
at System.Fabric.Security.EncryptionUtility.EncryptText(String textToEncrypt, String thumbprint, String storeName, StoreLocation storeLocation, String algorithmOid)
at Microsoft.ServiceFabric.Powershell.InvokeEncryptText.ProcessRecord()
PS C:\Windows\system32>

@rifaterdemsahin can you share the doc you are referring to so we can better assist?

@rifaterdemsahin I will close this out. If you are still having issues please open a new issue directly on the doc you are having problems with and we can take a look.


Vendorized dependencies 2021-01-10

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
68 unchanged lines in 8 files lost coverage.
Overall coverage decreased (-0.6%) to 80.44%

Files with Coverage Reduction
New Missed Lines
%

src/main/python/pybuilder/plugins/python/coverage_plugin.py
1
52.45%

src/main/python/pybuilder/plugins/python/_coverage_util.py
1
9.89%

src/main/python/pybuilder/plugins/python/unittest_plugin.py
2
81.9%

src/main/python/pybuilder/reactor.py
4
92.7%

src/main/python/pybuilder/remote/init.py
6
76.53%

src/main/python/pybuilder/utils.py
6
80.39%

src/main/python/pybuilder/python_env.py
13
71.43%

src/main/python/pybuilder/plugins/python/vendorize_plugin.py
35
79.89%

Totals

Change from base Build<PHONE_NUMBER>:
-0.6%

Covered Lines:
5190

Relevant Lines:
6301

💛  - Coveralls


Error: Received packet in the wrong sequence (Two concurrent meteor clients requesting same SQL)

Whenever I have two meteor instances (one on a server, one on my machine), both with different SQL users (this doesn't change it), running at the same time/code, the localhost (because it's cycling rebuild) will give the following error while the server meteor is (already) running.  The error goes away if I stop the server meteor instance.
Even when the local meteor crashes in a loop, both local and server copies display the same data from live sql, as it updates the local copy right before the crash (so two graphs would display the same data).
EDIT: Because of the crash loop, it does miss some data on local.
EDIT2: Not sure what happened, now the error is (Error: Connection lost: The server closed the connection.) on repeat, still fixed on local by stopping server meteor.
I will have to stop using meteor-mysql because this would not allow multiple servers running the same meteor code to access one database.
Any help would be appreciated! Thanks!
(I saw this issue posted before, but not for two meteors connected to one database)
W20151215-16:47:05.211(-10)? (STDERR) Error: Received packet in the wrong sequence.
W20151215-16:47:05.211(-10)? (STDERR)     at Protocol._parsePacket (/Users//.meteor/packages/numtel_mysql/.<IP_ADDRESS>g9ej1j++os+web.browser+web.cordova/npm/node_modules/mysql-live-select/node_modules/zongji/node_modules/mysql/lib/protocol/Protocol.js:263:17)
W20151215-16:47:05.211(-10)? (STDERR)     at Parser.write (/Users//.meteor/packages/numtel_mysql/.<IP_ADDRESS>g9ej1j++os+web.browser+web.cordova/npm/node_modules/mysql-live-select/node_modules/zongji/node_modules/mysql/lib/protocol/Parser.js:77:12)
W20151215-16:47:05.211(-10)? (STDERR)     at Protocol.write (/Users//.meteor/packages/numtel_mysql/.<IP_ADDRESS>g9ej1j++os+web.browser+web.cordova/npm/node_modules/mysql-live-select/node_modules/zongji/node_modules/mysql/lib/protocol/Protocol.js:39:16)
W20151215-16:47:05.212(-10)? (STDERR)     at Socket. (/Users//.meteor/packages/numtel_mysql/.<IP_ADDRESS>g9ej1j++os+web.browser+web.cordova/npm/node_modules/mysql-live-select/node_modules/zongji/node_modules/mysql/lib/Connection.js:82:28)
W20151215-16:47:05.212(-10)? (STDERR)     at Socket.emit (events.js:95:17)
W20151215-16:47:05.212(-10)? (STDERR)     at Socket. (stream_readable.js:765:14)
W20151215-16:47:05.212(-10)? (STDERR)     at Socket.emit (events.js:92:17)
W20151215-16:47:05.212(-10)? (STDERR)     at emitReadable (_stream_readable.js:427:10)
W20151215-16:47:05.212(-10)? (STDERR)     at emitReadable (_stream_readable.js:423:5)
W20151215-16:47:05.212(-10)? (STDERR)     at readableAddChunk (_stream_readable.js:166:9)
W20151215-16:47:05.212(-10)? (STDERR)     --------------------
W20151215-16:47:05.212(-10)? (STDERR)     at Protocol._enqueue (/Users//.meteor/packages/numtel_mysql/.<IP_ADDRESS>g9ej1j++os+web.browser+web.cordova/npm/node_modules/mysql-live-select/node_modules/zongji/node_modules/mysql/lib/protocol/Protocol.js:135:48)
W20151215-16:47:05.213(-10)? (STDERR)     at Object._start [as _onImmediate] (/Users//.meteor/packages/numtel_mysql/.<IP_ADDRESS>g9ej1j++os+web.browser+web.cordova/npm/node_modules/mysql-live-select/node_modules/zongji/index.js:173:31)
W20151215-16:47:05.213(-10)? (STDERR)     at processImmediate [as _immediateCallback] (timers.js:363:15)
W20151215-17:37:14.397(-10)? (STDERR) Error: Connection lost: The server closed the connection.
W20151215-17:37:14.397(-10)? (STDERR)     at Protocol.end (/Users//.meteor/packages/numtel_mysql/.<IP_ADDRESS>g9ej1j++os+web.browser+web.cordova/npm/node_modules/mysql-live-select/node_modules/zongji/node_modules/mysql/lib/protocol/Protocol.js:103:13)
W20151215-17:37:14.398(-10)? (STDERR)     at Socket. (/Users//.meteor/packages/numtel_mysql/.<IP_ADDRESS>g9ej1j++os+web.browser+web.cordova/npm/node_modules/mysql-live-select/node_modules/zongji/node_modules/mysql/lib/Connection.js:88:28)
W20151215-17:37:14.398(-10)? (STDERR)     at Socket.emit (events.js:117:20)
W20151215-17:37:14.398(-10)? (STDERR)     at _stream_readable.js:944:16
W20151215-17:37:14.398(-10)? (STDERR)     at process._tickCallback (node.js:448:13)
W20151215-17:37:14.398(-10)? (STDERR)     --------------------
W20151215-17:37:14.398(-10)? (STDERR)     at Protocol._enqueue (/Users//.meteor/packages/numtel_mysql/.<IP_ADDRESS>g9ej1j++os+web.browser+web.cordova/npm/node_modules/mysql-live-select/node_modules/zongji/node_modules/mysql/lib/protocol/Protocol.js:135:48)
W20151215-17:37:14.398(-10)? (STDERR)     at Object._start [as _onImmediate] (/Users//.meteor/packages/numtel_mysql/.<IP_ADDRESS>g9ej1j++os+web.browser+web.cordova/npm/node_modules/mysql-live-select/node_modules/zongji/index.js:173:31)
W20151215-17:37:14.398(-10)? (STDERR)     at processImmediate [as _immediateCallback] (timers.js:363:15)

You must be using same server-id in your meteor settings.json file. Make them unique as:
Server: server-id = 100
localhost: server-id = 101
Please let me know it solves the problem.

Perfect, that fixed it.  Can't believe I didn't (in brute force effort) try that!  I was thinking the server-id in meteor had to match the ID in my.cnf!


[Suggestion] Allow multiple instances

Issue Summary
When opening a PDF the currently loaded PDF will be replaced by it. Instead it would be better to open the PDF in a new instance. This would allow multiple PDF to be open at the same time.

Fixed in #88


Updated for Snowfall (plus some unwanted formatting by Visual Studio)

This should be working for Snowfall. There's probably more that needs changing, but this should do for now.

I don't play skylines andmore, and don't have snowfall, so I think it's better of somebody copies this with the fix and uploads it to the workshop.

Shame. I'll branch off and make my own build then. Thanks for the awesome mod up until now though!

Are you pushing these changes up?

I'll see.


Nuke redundant pages from docs/migrate firmware docs to MrChromebox's site

In light of MrChromebox's updated site, it might be a good opportunity to discuss the future direction and content of the docs in order not to unnecessarily duplicate effort.
I suggest that #159 can become a PR on MrChromebox's website repo instead, and perhaps #138 can as well.
In theory, the entire firmware, unbricking and reverting sections can be removed.

I dont see any reason why the redundancy is a ossue

I dont see any reason why the redundancy is a ossue

it makes it more difficult to keep up to date when the data is in 2 different places. Nothing is preventing the user from reading the other website either

I dont see any reason why the redundancy is a ossue

No one's going to read it if they can just get the information from https://docs.mrchromebox.tech
The opportunity is also there to overhaul the layout of the supported devices table since it does not really need to include firmware-related support info. It's also debatable whether it needs to include Windows support info either, when once again people aren't reading it when they can just go to https://coolstar.org/chromebook/windows.html

Yeah I agree that it would be better to move the firmware pages to MrChromebox's website since they are needed more on the firmware dedicated website.

Closing as this is not the direction that the project is considering, which is perfectly fine. Here's to making the docs the best that they can be, and I appreciate all of you for what you do.

Why dont we do this? MrChromebox actively maintains the firmware page and we dont have to worry about adding new devicwa

Closing as this is not the direction that the project is considering, which is perfectly fine. Here's to making the docs the best that they can be, and I appreciate all of you for what you do.

I'm not aware of any discussion on here or on Discord which would lead you to believe this


HSEARCH-1966 Fix javadocs generation

https://hibernate.atlassian.net/browse/HSEARCH-1966
This pull request apply the following changes:

Move the plugin execution in the aggregator project: the build will fails on errors
Execute the plugin for each module: no need for sourcepath and it will run for every new module
Generate the javadoc when the profile for distribution is active (like before):
mvn -Pdist
Make it possible to disable the failure on error:
mvn -Pdist -DfailOnJavaDocError=false

Pushed forced

Changed the name of the variable for failure on javadoc generation
Changed javadoc comments for SortableField, SortableFields and SortableFieldMetadata

When running mvn clean install -DskipTests=true -PdistI am getting very many messages in the form of "Forking Hibernate Search ORM" (i.e. several times for one module). Is this expected?

When running mvn clean install -DskipTests=true -PdistI am getting very many messages in the form of "Forking Hibernate Search ORM" (i.e. several times for one module). Is this expected?

I guess it's due to the fact that it is using the aggregate goal instead of the javadoc one.

I could not figure out why, but it seems that if I'm building it with

mvn clean install -Pdist,docs

the distribution tarballs contain the javadoc, but not the reference documentation. Am I using the wrong command?

s/docs/docbook/

mvn clean install -Pdist,docbook

right :)

merged!


Copy getJtreg to shared location

-Added target-invokeGetJtreg to get Jtreg version based on JDK version
-Moved the getJtreg download logic to TKG/scripts/getDependencies.xml
resolves : https://github.com/adoptium/aqa-tests/issues/4848

Grinder outputs:
openjdk: https://hyc-runtimes-jenkins.swg-devops.com/job/Grinder/36142/
Crypto test: https://hyc-runtimes-jenkins.swg-devops.com/job/Grinder/36150/
ssl-test:https://hyc-runtimes-jenkins.swg-devops.com/job/Grinder/36151

Grinder outputs:
openjdk: https://hyc-runtimes-jenkins.swg-devops.com/job/Grinder/36330/
Crypto test: https://hyc-runtimes-jenkins.swg-devops.com/job/Grinder/36331/
ssl-test:https://hyc-runtimes-jenkins.swg-devops.com/job/Grinder/36332/

Please also run openjdk test with hotspot.

Grinder Tests:
openjdk with hotspot: https://hyc-runtimes-jenkins.swg-devops.com/job/Grinder/36373/

openjdk: https://hyc-runtimes-jenkins.swg-devops.com/job/Grinder/36330/

Console output:
00:01:47.001  getJtregVersion:
00:01:47.001
00:01:47.001  getDependentLibs:
00:01:47.001       [exec] --------------------------------------------
00:01:47.001       [exec] path is set to /home/jenkins/workspace/Grinder/aqa-tests/TKG/../TKG/lib
00:01:47.001       [exec] task is set to default
00:01:47.001       [exec] dependencyList is set to jtreg_7_3_1_1,tohandler_simple
00:01:47.001       [exec] --------------------------------------------
00:01:47.001       [exec] Starting download third party dependent jars
00:01:47.001       [exec] --------------------------------------------
00:01:47.001       [exec] downloading dependent third party jars to /home/jenkins/workspace/Grinder/aqa-tests/TKG/../TKG/lib
00:01:47.001       [exec] /home/jenkins/workspace/Grinder/aqa-tests/TKG/../TKG/lib/openj9jtregtimeouthandler.jar exists with correct hash, not downloading
00:01:47.001       [exec] /home/jenkins/workspace/Grinder/aqa-tests/TKG/../TKG/lib/jtreg_7_3_1_1.tar.gz exists with correct hash, not downloading
00:01:47.001       [exec] downloaded dependent third party jars successfully
00:01:47.001
00:01:47.001  getJtreg:
00:01:47.001      [mkdir] Created dir: /home/jenkins/workspace/Grinder/jvmtest/openjdk
00:01:47.001       [copy] Copying 1 file to /home/jenkins/workspace/Grinder/aqa-tests/openjdk
00:01:47.449
00:01:47.449  openjdk-jdk.check:

This PR has to be merged together with https://github.com/adoptium/TKG/pull/473


Add ability to register a custom abort handler to SLIC

Currently, SLIC_ERROR() and SLIC_ASSERT() call "processAbort()" which, in turn calls std::abort() or  MPI_Abort() + std::abort() when MPI is enabled. Although this is sufficient for the most part, there are some use cases, where it would be desirable to override this default behavior. For example, for supporting death tests within an MPI process, it is desirable not to call MPI_Abort(). Having the ability to register a custom abort handler to Slic could provide one solution to that.

I think we have a way to do a setAbortOnError to false, etc., which I think would be useful for what you are describing.

I moved this one from Jira because it came up in Serac.  I already have the setAbortOnError and setAbortOnWarning to false, but it would be nice to be able to register a custom abort to cut down on duplicate code throughout the code base.


Option to leave out version number from HTML-report

The generated HTML-report is handy for reporting the licenses in e.g. SaaS software but including the version number goes against the OWASP recommendation of information disclosure. So it would be nice to have a flag to not include the version number or improve the HTML-report to take into consideration the --columns flag supported by the CSV report.

I closed this one as I think one can manage with the CSV report and generating either HTML or JSON based on its data.


VERY IMPORTANT - Test at midnight (While having the website open and in French; to check that it is loaded with a new hadeeth in French) )

Prerequisites:

Wake up the API at 11:55 PM
Set the language to French and ensure it's returned correctly.

Edge case:
1- Set the language to French and see if the first hadeeth returned for the day is French. (In the backend, we agreed that the first backend request for the day would be in English, now this has to be fine-tuned as we are preserving data in the localStorage.)
IMPORTANT: As I checked the Network for our website, I figured out that as we save Language, it's passed to the API (nvm scrolling, as users of this feature will need scrolling anyway)

I NEED TO FIX THE BACKEND FOR THIS NOW.

757aacb094e96be1cc1decd9677fda2869964b28


Update Jetty version

Coverage remained the same at 91.383% when pulling 0a9f83865a7f36e2dd4e8b90ff29b65da2ed70fe on takahi-i:fix-secruity-problem into f5c79e85cf6e9836ae62a465e771a69bfef7fdd8 on redpen-cc:master.


There's already some package called udptunnel in APT

But obviously different usage.
Maybe you could change to another name.

Hi, I wrote this program for person use and have no intention of ever adding it to the apt repositories. In fact, I prefer that it never happen as I do not have the bandwidth to provide support for this repository beyond fixing issues for my personal needs.


Change the readthedocs theme's sidebar to orange colour.

FEATURE REQUEST
What happened:

Our docs and website should have the same or similar colour.

What you expected to happen:

The docs are coloured blue, #2980B9 make them orange, #ee5a2b

How to reproduce it (as minimally and precisely as possible):

Visit the docs online or build them locally

@vharsh  can i do this

Sure @007akk :+1:

Ref : https://github.com/rtfd/sphinx_rtd_theme#todo


Discussion: rethinking callbacks

See prior discussion on this in #524
We've begun to stretch the limits of our existing callback system (dataCallback, shouldSendCallback, breadcrumbCallback). Each of these can be specified during config, or via corresponding setX methods (e.g. setDataCallback).
Example:
Raven.setDataCallback(function (data, originalCallback) {
  data = originalCallback && originalCallback.apply(this, arguments);
  // do things to `data`
  return data;
});

Downsides with this system:

Cannot easily introduce new parameters, e.g. error (the original error object that triggered the callback) (see #483)

This could be done today, but would mean having a signature of (data, originalCallback, originalError), which is burdensome when invoking originalCallback.

Relies on user properly invoking originalCallback in order to preserve the callback chain

For example, the Angular plugin uses a dataCallback to parse Angular error messages. If the user overrides the callback via setDataCallback, they must invoke originalCallback properly or the Angular message parsing is skipped.

Need an addX method for each callback type (adds to code/API bloat)
Doesn't work with asynchronous code – must return value synchronously (see #314)

Pros:

Flexible. A future-set callback can intentionally prevent invocation of a previously set callback. Or it can intentionally invoke that callback before, or after, its own invocation.

Not sure how useful this is in practice, but it avoids the "before" and "after" problem of some event systems.

There was a previous discussion on this topic in #524, where I proposed an event-based system (similar to Backbone.Events or jQuery) (implementation in #521), but it didn't really have much steam behind it, and felt too different from what we're doing.
Goals of a new system

Callbacks can both mutate and cancel (e.g. merge concepts like shouldSendCallback AND dataCallback into one – this is already done in breadcrumbCallback)
More futureproof / flexible (can introduce new parameters in future)
Easy to use (can't easily clobber preexisting callbacks)
Replaces undocumented DOM events (ravenSuccess, ravenError)
As backwards-compatible as possible (i.e. at very least, old methods should still work with same signature)

Proposal 1: Middleware-inspired
Inspired by Express, Rack, etc:
/**
 * data {Object} outbound data payload
 * err {Error} error object that generated data
 * next {Function} invoke to progress to next handler
 */
Raven.on('data', function (data, err, next) {
  // do stuff
  next(false); // stop propagation
  next(data); // pass new data object, continue with propagation
  next(); // data unchanged, continue with propagation

  setTimeout(next.bind(this, false), 1000); // async example
});

Raven.on('error', function (data, req, res, next) {});
Raven.on('success', function (data, req, res, next) {});
Raven.on('breadcrumb', function (breadcrumb, evt, next) {});

Taking a cue from Mocha, we could inspect each callback's arity (via Function.length) and decide whether it is "async" or not. This means users could drop the next param, and do:
Raven.on('data', function (data, err) {
  // do stuff
  return false; // stop propagation
  return data;  // pass new data object, continue with propagation
  return; // data unchanged, continue with propagation
});

Raven.on('error', function (data, req, res) {});
Raven.on('success', function (data, req, res) {});
Raven.on('breadcrumb', function (breadcrumb, evt) {});

Pros

asynchronous
low footprint (only one method to add callback)

Cons

cannot change order of middleware invocation (always FIFO or FILO)
cannot easily add new parameters

Questions

is there a need for an off method to remove previously set handlers?

Comments welcome.
cc @LewisJEllis @blittle @lbntly @keithhalterman

As long as you are considering a breaking API change, would it be worth considering the way Redux does middleware life-cycle events? http://redux.js.org/docs/advanced/Middleware.html

Just updated with a proposal: "Middleware-inspired approach".
This approach solves a lot of problems, but I'm concerned that requiring developers to invoke next could make it error prone.

Another thought:
Why not just have every callback accept some kind of params object, instead of declaring individual arguments? That way we can add as many "parameters" as we want, depending on the callback. That means the signatures change to:
Raven.on('success', function (params, next) { ... });

Where params is an object with contextual parameters. For example, for the data callback we have:
{
  payload: { ... } // outbound data object
  error: { ... } // error that created this payload
}

Whereas the success callback has:
{
  payload: { ... } // outbound data object
  request: { ... } // request object (if available)
  response: { ... } // response object (if available)
}

Looks good to me!


type hints: treat dict/Dict/tuple/Tuple/list/List uniformly

This closes #973.
The root cause of #973 was that tuple was being treated differently from Tuple.

TODO after merging: cherry pick to 2.2_branch.

@Jasha10  could you also cherry pick this to 2.2?


Create README.md

Hey, @rishav3101 ! Thanks for your PR. I have one question to you: what is the purpose of it?

your welcome!
it makes your readme.md  more attractive . it is very important on github that your repo is looking attractive . so , those it got more stars and shares.
hope you understand and merge that PR...

Ok, I think the readme text needs to change, because of my blog is not only about Android development, I could say it's about my personal thoughts about development and management. You give me an great idea for my blog repo, but I think it should looks like issue, not PR, because this text and images, and layouts I cant approve. Could you create an Issue and describe there your thoughts about promotion my blog?


Fix require handling with electron; fixes #11599

This fixes electron/index.js being bundled as described in #11599, and also fixes electron-renderer to use the correct chunk format, as it is in a browser and not in a module context.

What kind of change does this PR introduce?
Bugfix.

Did you add tests for your changes?
Not yet

Does this PR introduce a breaking change?
No

What needs to be documented once your changes are merged?
Nothing

Thanks


Naïve Docker support

Very basic Docker support.
Probably it would be a better approach to have a separate Docker github repo for the project, so the docker specific files won't pollute this repo, and also building an image for the Docker hub would be easier.

@ftbb  Hi Frank, did you have a chance to take a look at my comment?


[Notebook] [bug] Migration of partitioned HIVE tables to BQ

We want to mimic hive partitions when BQ schema is generated via HiveToBQ notebook.

Dependency on https://github.com/GoogleCloudPlatform/dataproc-templates/pull/353

Raised PR: https://github.com/GoogleCloudPlatform/dataproc-templates/pull/559

DDL extractor is published, will be using the generic DDL HIVE extractor utility.

Dev in progress. ETA: April 6, 2023

PR merged.


feature: add EAS metadata store config schema

Linked issue
Add IntelliSense for store.config.json (EAS Metadata) to the plugin.
Additional context
This uses the concept of contributes.jsonValidation and pulls the schema directly from the repository, without additional modifications or manual download.
This might become problematic if we have multiple versions. But even then, we could combine them in a single JSON schema and conditionally apply them based on the configVersion constant.

Note, we shouldn't link this to the actual development branch. New features could be rolling out unexpectedly to users, even when they aren't published.
Proposed solution
Create a dedicated branch on this repo where we keep the manifests. We could pre-modify the XDL schema, and pull the EAS Metadata schema from the latest eas-cli :). That way, we can roll out updates as soon as they are available.

Proposed branch name would be schemas
CI could help with keeping these schemas up to date
CI scripts should not live in that branch, just on main
Commit only when there are changes to the schema, and only commit it to schemas branch

Superseded


bump to API v60.0

Critical Changes
Changes

Updated files to API v60.0
NOTE: This PR includes changes from PR #23 to bump devDependencies

Issues Closed

@pickettd cumulusci.yml - downgrade minimum_cumulusci_version from 3.86.0 to 3.75.1 due to GitHub runner problem.

I added @coriobriensfdo as an assignee to review the API version bump and whitespace formatting changes in the cumulus config file.

@pickettd done, sorry I've been OOO sick.


How to better view plots when points are close to eachother

Hi Everyone,
I am glad that this package is still maintained and on going, I need advice on how to better visualize through ca.plot_coordinates()
Right now, there is a massive overlap of component on the 2d plot and its very hard to understand the relationship. Is there an equivalent of jitter or some offset so that its easy to see two points in close proximity. Please let me know if my question makes sense.
Thanks
Sam

I had the same problem with a plot of outputs from MCA.  I wrote the following class to inherit from prince and plot using plotly so I could zoom in and out.  I slimmed it down a lot though because I was only interested in the columns.
import prince
import plotly.graph_objects as pgo

class plotlyMCA(prince.MCA):

    def plot_coordinates_plotly(self, X, x_component=0, y_component=1, show_column_points=True):

        fig = pgo.Figure()

        # Plot column principal coordinates
        if show_column_points or show_column_labels:

            col_coords = self.column_coordinates(X)
            x = col_coords[x_component]
            y = col_coords[y_component]

            prefixes = col_coords.index.str.split('_').map(lambda x: x[0])

            fig.add_traces([pgo.Scatter(
                x=x[prefixes == prefix],
                y=y[prefixes == prefix],
                hovertext=col_coords[prefixes == prefix].index,
                mode='markers') for prefix in prefixes.unique()])

        # Text
        fig.update_layout(title='Row and column principal coordinates', showlegend=False)
        ei = self.explained_inertia_
        fig.update_xaxes(title_text='Component {} ({:.2f}% inertia)'.format(x_component, 100 * ei[x_component]))
        fig.update_yaxes(title_text='Component {} ({:.2f}% inertia)'.format(y_component, 100 * ei[y_component]))

        return fig

I had the same problem with a plot of outputs from MCA.  I wrote the following class to inherit from prince and plot using plotly so I could zoom in and out.  I slimmed it down a lot though because I was only interested in the columns.
import prince
import plotly.graph_objects as pgo

class plotlyMCA(prince.MCA):

    def plot_coordinates_plotly(self, X, x_component=0, y_component=1, show_column_points=True):

        fig = pgo.Figure()

        # Plot column principal coordinates
        if show_column_points or show_column_labels:

            col_coords = self.column_coordinates(X)
            x = col_coords[x_component]
            y = col_coords[y_component]

            prefixes = col_coords.index.str.split('_').map(lambda x: x[0])

            fig.add_traces([pgo.Scatter(
                x=x[prefixes == prefix],
                y=y[prefixes == prefix],
                hovertext=col_coords[prefixes == prefix].index,
                mode='markers') for prefix in prefixes.unique()])

        # Text
        fig.update_layout(title='Row and column principal coordinates', showlegend=False)
        ei = self.explained_inertia_
        fig.update_xaxes(title_text='Component {} ({:.2f}% inertia)'.format(x_component, 100 * ei[x_component]))
        fig.update_yaxes(title_text='Component {} ({:.2f}% inertia)'.format(y_component, 100 * ei[y_component]))

        return fig

Hi mdhannaff,
Thanks so much for this solution
I will try this for now.  I really appreciate your help!
Best Regards
Sam Joshva. B
ᐧ
On Mon, 7 Jun 2021 at 13:03, mdhanna @.***> wrote:

I had the same problem with a plot of outputs from MCA. I wrote the
following class to inherit from prince and plot using plotly so I could
zoom in and out. I slimmed it down a lot though because I was only
interested in the columns.
import prince
import plotly.graph_objects as pgo
class plotlyMCA(prince.MCA):
def plot_coordinates_plotly(self, X, x_component=0, y_component=1, show_column_points=True):

    fig = pgo.Figure()

    # Plot column principal coordinates
    if show_column_points or show_column_labels:

        col_coords = self.column_coordinates(X)
        x = col_coords[x_component]
        y = col_coords[y_component]

        prefixes = col_coords.index.str.split('_').map(lambda x: x[0])

        fig.add_traces([pgo.Scatter(
            x=x[prefixes == prefix],
            y=y[prefixes == prefix],
            hovertext=col_coords[prefixes == prefix].index,
            mode='markers') for prefix in prefixes.unique()])

    # Text
    fig.update_layout(title='Row and column principal coordinates', showlegend=False)
    ei = self.explained_inertia_
    fig.update_xaxes(title_text='Component {} ({:.2f}% inertia)'.format(x_component, 100 * ei[x_component]))
    fig.update_yaxes(title_text='Component {} ({:.2f}% inertia)'.format(y_component, 100 * ei[y_component]))

    return fig

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/MaxHalford/prince/issues/114#issuecomment-856217491,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFCDRXTD7KCV7WDEEA5WRVTTRUQ2DANCNFSM457GI32Q
.

Hello there 👋
I apologise for not answering earlier. I was not maintaining Prince anymore. However, I have just refactored the entire codebase. This refactoring should have fixed many bugs.
I don’t have time and energy to check if this fixes your issue, but there is a good chance it does. Feel free to reopen this issue if the problem persists after installing the new version — that is, version 0.8.0 and onwards.

Thanks MaxHalford/prince 🙏
On Mon, Feb 27, 2023, 03:46 Max Halford @.***> wrote:

Closed #114 https://github.com/MaxHalford/prince/issues/114 as
completed.
—
Reply to this email directly, view it on GitHub
https://github.com/MaxHalford/prince/issues/114#event-8614809222, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AFCDRXW7A7PQS6LY4ZWV3ELWZSHYZANCNFSM457GI32Q
.
You are receiving this because you authored the thread.Message ID:
@.***>


feat: add http flusher supporting influxdb protocol & add group aggregator supproting group logs by keys

add http flusher supporting influxdb protocol
add group aggregator supproting group logs by keys

 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.

还可以给input_http_server flusher_http 插件添加 e2e case

LGTM


Don't update dashboards

This commit refer the issue #145
Debug a bit, I saw that if the Dashboard updates the variable in this condition, in dashboard_controller the func reconcileDashboards will not falling in the loop to new/update dashboard, causing a not insert dashboards like mentioned in #145.

Hey @renanqts , thans for the PR! I'll give this a try. As I understand it, the problem is:

When the operator is restarted, it doesn't import dashboards (because it keeps record of the imported dashboards in the CR)
When the Grafana Pod is restarted, all the dashboards are wiped. But the operator still won't import them.

So it looks to me like we could instead reset the ConfigGrafanaDashboardsSynced var when we detect that the Grafana pod is not running?

It can be this way, or, just avoid to set this variable in the step that I removed. What you think?
I did see any issue removing it.


basic.hpp: fixed no default return value error

Fixed this error when calling async::run:
libasync/include/async/basic.hpp:356:1: error: non-void function does not return a value in all control paths

Hmm, do you get this error if panic is declared [[noreturn]]?

nope

that's probably a more correct fix then (seeing as it affects other places too)

okay should I close this pr then?

Yeah, probably. Looks like the default provided panic is already declared [[noreturn]], so this is something to fix on your end.


Support for addPassword

Feature Request:
Would like a way to create a client secret for an Azure app using the python
Problem:
To create the client secret, we go STRAIGHT TO HTTP!!
We were UNABLE to find an azure-sdk-for-python solution that supported this endpoint.
This seems like a bug or a design flaw!
Current Solution:
header = {
    "Content-Type": "application/json",
    "Authorization": "Bearer {}".format(graph_credentials.token["access_token"]),
}
url = "https://graph.microsoft.com/v1.0/servicePrincipals/{}/addPassword".format(sp.object_id)
payload = {
    "passwordCredential": {"displayName": "newlyCreatedClientSecret"},
}
response = requests.post(url, data=json.dumps(payload), headers=header)
response.raise_for_status()
secret_info = json.loads(response.text)

This request was brought up in a previous issue (https://github.com/Azure/azure-sdk-for-python/issues/14022)

I realized I misguided you, I was thinking you need that in azure-graphrbac, but you need that from the Microsoft Graph and we dont' have it here. You might want to create your issue https://github.com/microsoftgraph/msgraph-sdk-python-core instead.

I realized I misguided you, I was thinking you need that in azure-graphrbac, but you need that from the Microsoft Graph and we dont' have it here. You might want to create your issue https://github.com/microsoftgraph/msgraph-sdk-python-core instead.


Would like to know how to implement it into own project i

the implementation details are not so clear. Need a better documentation on how to implement it in a langchain project. I am currently using superagi, would like to see how it can be integrated with other tools as well

yeah true we need better docs but have not found the time to do this yet


dist does not work with newest version of bs58

running dist script requires downgrading bs58 to 3.0.0.

fixed


Network enums all modeled as strings

In arm-network/2016-03-30/swagger/network.json of the 41 uses of modelAsString all have a value of true. In some cases this makes sense, such as Application Gateway SKU name/tier, but in many other cases it does not make sense (i.e. enabled/disabled, static/dynamic, http/https).

We cannot make this change because it will be a breaking change
@tjprescott - can you close this issue?

@tjprescott,
Not sure the benifit VS value makes sense to do these changes for these already public APIs, so I would recommend closing. BUT :) @DeepakRajendranMsft and @liumichelle  it would be great to spread awareness that for new Resource types and addition to swaggers it would be great to model as enums where appropriate :)


How many training images are required for model training?

Thanks for your great work！i have run successful on my machine，with your code and dataset。But i try to train on my own dataset only 20 images. the inference result is failed.

Hey! 20 images is not enough for quality outputs -- this is especially the case for finetuning an inpainting model like this where more examples are needed for both the domain and the different kinds of masks. From https://github.com/sshh12/terrain-diffusion/blob/main/scripts/download_rgb_dataset.py I believe I had several thousand examples.

邮件已经收到，将尽快给您回复。

Hey! 20 images is not enough for quality outputs -- this is especially the case for finetuning an inpainting model like this where more examples are needed for both the domain and the different kinds of masks. From https://github.com/sshh12/terrain-diffusion/blob/main/scripts/download_rgb_dataset.py I believe I had several thousand examples.

Do you have an example of running the RGB download script? It appears it requires the depth dataset to be downloaded first, but I don't understand how to run that one.

邮件已经收到，将尽快给您回复。

The script itself includes an example run. The masks are generated in the fly, no download needed.


Convert Logging to GAPIC using GAX.

The big difference between Logging and Pub/Sub is in where the GAX PagedEnumerable is handled. In Logging it is handled in Service, but in Pub/Sub it is handled in the *List classes. By handling it in Service we can simplify the mocking needed for the unit tests, but we don't make use of the PagedEnumerable object at all.
@quartzmo, thoughts?

@blowmage Regarding the handling of PagedEnumerable, I believe you took a better approach with this implementation, and that we should update the Pub/Sub implementation to match. PagedEnumerable strikes me as likely to be a great convenience for end users of GAX, but using it internally in google-cloud libraries seems to add more complexity than is warranted.

@blowmage I opened a PR against your branch to share some fixes for the acceptance tests.
https://github.com/blowmage/gcloud-ruby/pull/6

LGTM! Merging!


Fix to karma reporter reporting twice amount of executed tests (#1996)

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)

What is the current behavior? (You can also link to an open issue here)

What is the new behavior (if this is a feature change)?

Other information:

new version


[enhancement] Merchant Discount

Se crea MerchantDiscount --> es un Discount con tope de reintegro (maxCouponAmount)

Motivación y Contexto
El tope de reintegro es necesario para comunicarlo en la UI.

Codecov Report

:exclamation: No coverage uploaded for pull request base (feature/discountv2-r1@5632aa9). Click here to learn what that means.
The diff coverage is 25%.

@@                   Coverage Diff                    @@
##             feature/discountv2-r1    #1027   +/-   ##
========================================================
  Coverage                         ?   28.03%
========================================================
  Files                            ?      300
  Lines                            ?    14473
  Branches                         ?     1318
========================================================
  Hits                             ?     4057
  Misses                           ?     9907
  Partials                         ?      509

Impacted Files
Coverage Δ

...c/main/java/com/mercadopago/DiscountsActivity.java
0% <ø> (ø)

...com/mercadopago/presenters/DiscountsPresenter.java
28.26% <ø> (ø)

.../mercadopago/presenters/GuessingCardPresenter.java
52.32% <0%> (ø)

.../mercadopago/presenters/PaymentVaultPresenter.java
61.37% <0%> (ø)

.../com/mercadopago/presenters/CheckoutPresenter.java
59.59% <0%> (ø)

.../mercadopago/presenters/InstallmentsPresenter.java
90.82% <100%> (ø)

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 5632aa9...7bf983f. Read the comment docs.


Relay 14 Upgrade

Things seem to be working fine. Let's deploy it to dev and make sure everything's okay.

nice thanks @tbezman !
now that the merge is done, I updated this branch with the latest from main and have been clicking around on the dev preview.. looks good to me


Added modules, added data directory and fixed File issue.

Hi @copych, @midilab,
This version of the code compiles. I have only checked in the serial monitor that the project actually starts up and it does. I will continue testing but I had some issues with getting the S3 board to work. The IDE would upload the code but nothing would actually happen.
@copych uCtrl/module/ contains whole huge libraries like U8g2 and SdFat. What is the reason for you to keep all these files?
You can create user interfaces with the uCtrl project, if you check src\interface\midilab a default interface is created to be able to control the sequencer, see: docs, you will find the breadboard layouts with the buttons and the oled screen. If you create that you will have a sequencer and hardware running out of the box.
I will try to get the default sequencer controls running so we have a good reference to start from. After that we can focus on integrating but I would also like to create a good hardware user interface with controls suitable for the 303 and 808.

@copych
I will try to get a task running so it will also run the Aciduino code. The loop function is not being called because tasks are used. If I have that working I will submit another pull request.

@rdridder @midilab please, you probably already know where to catch 'midi' events. The idea is that in AcidBox' midi_handle.ino there're handlers for midi events:
inline void handleNoteOn(uint8_t inChannel, uint8_t inNote, uint8_t inVelocity);
inline void handleNoteOff(uint8_t inChannel, uint8_t inNote, uint8_t inVelocity);
inline void handleCC(uint8_t inChannel, uint8_t cc_number, uint8_t cc_value);
void handleProgramChange(uint8_t inChannel, uint8_t number);
inline void handlePitchBend(uint8_t inChannel, int number) ;

and the easiest way to make interconnection between the sequencer and the synth is to bind them right before the sequencer really transmits midi messages (forgive my ignorance).

The loop function is not being called because tasks are used. If I have that working I will submit another pull request.

I was quite sure it worked, cause core1 task had taskYIELD(); allowing other tasks to run. If not, it's easy to move everything needed to the audio_task2 while(true) cycle.

I was quite sure it worked, cause core1 task had taskYIELD(); allowing other tasks to run. If not, it's easy to move everything needed to the audio_task2 while(true) cycle.

I was investigating a bit more and it seems that my chip kept crashing. I rolled back some code and now at least the tasks seems to run again. I was probably mistaken but I will dig a bit more.

Also there might be not enough of stack memory for a loop task (setup() and loop() actually). They made a macro for such cases SET_LOOP_TASK_STACK_SIZE(bytes_to_allocate);


PS4 controller randomly stops sending packets, stays connected

I have had this issue ever since I first set up ds4drv over a year ago.  It has been the same behavior with different Raspberry Pis as well.
The controller connects and works perfectly, but after anywhere between 10 minutes and 4 hours the controller stops sending button updates yet remains connected (LED stays on the same, bluetooth device shows on the list as connected, etc.).  I need to hold the PS button for 10+ seconds to force the controller off and then turn it back on again to resolve the issue.
I finally got tired of this behavior and I'm trying to get to the bottom of it, so I did a bluetooth packet capture
In the screenshot, look at the Time column (second column).  You can see the updates flowing (88 byte length packets) and then a 23 second gap.  This is the controller updates stopping to flow, and then me turning the controller off and then back on again.  There are no other suspicious bluetooth packets that I can see that would cause the controller to stop sending packets.  Does the PS4 controller need an occasional poke every few minutes/seconds to keep sending the updates or does it just transmit forever?  Why would it just all of a sudden stop sending the updates?

Hi @codicusmaximus,
I am facing the very same issue. Did you manage to resolve it?
I am trying to reconnect to the controller via bluetoothctl as a workaround, but it fails since the device shuts down after disconnect.


Slippage on Pools seems to be reversed

Describe the bug
The slippage seems to be negative where it should be positive, and vice versa.

The Polygon USDT pool is unbalanced towards nextUSDT, and when withdrawing nextUSDT, you receive more. The slippage in that case should be positive. However, the UI says it's negative.

I understand that it can be a negative value (similar to what Sanchay mentioned here). Please let me know if I have misunderstood something.
By the way, when calling the method, the console log is [removeLiquidityPriceImpact].

cc: @Tommy-R8 @wanglonghong ⏫

@pjenviri We may need to flip the sign for slippage % for withdraw. If you are withdrawing the overweighted asset then your slippage should be positive.

updated & deployed; PR.

The issue is happening again. It shows positive slippage both ways. Withdrawing USDT should be negative.

Not anymore.


Mutable state tied directly to an URL parameter

Is there a simple way to tie some kind of mutable state directly to an URL parameter in a simple way?
val myParameter by remember { urlParameterState("myKey") }

// changing the state also manipulates the parameter in the url
myParameter = listOf("new value")

I think this is a pretty common usage of url parameters in compose for web.
Does something like that already exist in the library? And if not, what would be the best way to achieve this abstraction?

Hey, that sounds interesting and indeed useful!
There is no built-in method to match this behavior. How exactly would you use it?
HashRouter(initPath = "/") {
  route("/todos) {
    int { todoItem: MutableState<Int> ->
      todoItem.set(42) // will update the path to "/todos/42"
  }
}

To support Parameters some kind of key mapping would be needed:
```kotlin
HashRouter(initPath = "/") {
  route("/todos) {
    var todoItem: Int by rememberParameter("todoItem")
    todoItem = 42 // will update the path to "/todos?todoItem=42"
  }
}

And if not, what would be the best way to achieve this abstraction?

Do you mean as PR or using user code?
If first: both implementations should be added to RouteBuilder and require using the local Router and its navigate(to) methods.
Regarding user code: I don't think the first api idea is possible to implement because RouteBuilder uses internal/private apis. But I think, you should be able to implement rememberParameter by yourself, but using the internal apis would be way more performant (with some refactoring using mutableStateMapOf first).
Maybe this work, I didn't test it, specially the custom mutableState!.
@Composable
public fun <T> RouteBuilder.rememberParameter(key: String): MutableState<List<T>?> {
    val router = Router.current
    return remember(key) {
        val state = mutableStateOf(parameters?.map?.get(key)?.map { it as T })
        UpdatedParameterState(state) {
            val old = parameters?.map?.toMutableMap() ?: mutableMapOf()
            if (it != null) {
                old[key] = it.map { it.toString() }
            } else {
                old.remove(key)
            }
            router.navigate(to = router.currentPath.path, parameters = old)
        }
    }
}

private class UpdatedParameterState<T>(
    private val state: MutableState<T>,
    private val update: (T) -> Unit
) : MutableState<T> by state {
    override var value: T
        get() = state.value
        set(value) {
            update(value) // Unsure, if this is recommended
            state.value = value
        }
}

PR is always welcome, otherwise I will take it later.

Thank you for the fast reply, your method works (apart from the invalid casts).
It is similar to what I have come up with first, which was the following:
private typealias ParameterState = MutableState<List<String>?>

private class DelegateParameterState(
    val key: String,
    private val router: Router,
    private val internalState: ParameterState,
) : ParameterState by internalState {

    override var value: List<String>?
        get() = internalState.value
        set(value) {
            val params = (router.currentPath.parameters?.map ?: emptyMap()).toMutableMap()
            if (value != null) {
                params[key] = value
            } else {
                params -= key
            }
            router.navigate(router.currentPath.path, params)
        }
}

@Composable
fun rememberUrlParameterState(key: String): ParameterState {
    val router = Router.current

    val value = remember(router.currentPath) {
        router.currentPath.parameters?.map?.get(key)
    }
    return remember(key, value) {
        DelegateParameterState(key, router, mutableStateOf(value))
    }
}

The issue with both solutions seems to be, that they trigger two recompositions instead of just one. This is not what should ideally happen, right?
Regarding the PR, I would be open for implementing something like this, but not until I am sure that the implementation triggers the least amount of recompositions possible.

Yes, this might be a problem. The first composition runs because of the mutable state, the second one during resolving the updated url, the third one during routing of the new url. I don't have a workaround/better api for the last composition, because the tree is mutable (you can enable/disable routes during runtime). But maybe, the new first composition could be skipped using some other (internal?) APIs (or implementing MutableState by ourself?).
I think a PR would be okay though, designing the API is important too, we should be able to improve the performance later.
AFAIK there are no Compose Web performance tools to check it, but maybe we could reuse the tools from androidx, there is already a jvm target 🤔

Since the double recomposition happens due to the url changing, I think it is a general issue with the router causing the whole content to recompose on any change in the url, and not just if the relevant part changed.
e.g.:
BrowserRouter(initPath = "/") {
    route("/") { HomePage() }
    route("/other") { OtherPage }
}

The body of the /other route should only be called again / recomposed if that part of the url changed - and not any part lower down the chain.
Should I open a seperate issue for this?

The body of the "/other" route should only be called again / recomposed if that part of the url changed - and not any part lower down the chain.

This isn't the case at the moment?
BrowserRouter(initPath = "/") { // 1
    route("/") { // 2
      HomePage()
    }
    route("/other") { // 3
     OtherPage
    }
}

After an URL change or the init run, the content of the composable builder (1) runs.
Lets talk about the init run with "/". If there is a route (it is "/"), its content is called, here 2.
After this leaf (route("/")), an internal state is set to notify the builder: "I got a match, don't try another routes". In fact, this emulates a when but there is no functional/dsl when supporing live updates in Kotlin.
So updating the internal match state causes the builder to run again (1). This cause another run of (2) too, ideally, this could be skipped, because there shouldn't be any changes.
But there shouldn't be a run of "/other"
If so, please open another issue.

Having done some further checks, seems like the above isn't the case, but somehow both our solutions cause things to recompose which shouldn't be updated at all. So not just too many recompositions, but also at an unnecessary scale.
For example, using the mutable url paramter state in an attributes block causes the whole composable and all of its children to recompose, while with regular mutable state only the attributes themselves get recomposed.

Do you have a code snippet?
Anyway, I won't take a look before next week.

I have experimented with different configurations, the current one is this test page:
https://gist.github.com/jakobkmar/5487d94180966c972017f127f0d88170
You can also replace the state implementation below with yours, it'll have the same result (at least when it comes to the println messages).
To see the behaviour with regular state (but still calling navigate), just uncomment the two lines in this snippet.


Linting errors hinder ability to build repository

The Issue
I keep getting linting errors when trying to build this app. I'm fairly sure it's not just me. This forces me to have to put lintOptions {         abortOnError false     } in the android options of app/build.gradle to be able to build and install the app. Can these issues be fixed or should this workaround be added to source?
Steps to reproduce

Clone repo
Open it in Android Studio
Set up stuff
Try to run

Expected behaviour
I should be able to build the project without having to do a workaround.
Actual behaviour
I have to do a workaround so I can build the project.
System Configuration

Device: pop!os latest

Screenshots

html file of errors included as .txt file (to make github happy)
lint-results.txt
Acceptance Criteria

Workaround added to source OR linting errors fixed

I am currently working on fixing linter warnings for some files, beginning with MainActivity, as they make very hard to see other markers on the scroll bar. I am doing it on a git branch and from time to time, as it es not going to fix any bug.
These warnings aren't making impossible to build, though.
The only problem I have when building is that I have to disable every line related to GMS on app/build.gradle and add a twitter.properties file which shouldn't be added to any commit.

I am currently working on fixing linter warnings for some files, beginning with MainActivity, as they make very hard to see other markers on the scroll bar. I am doing it on a git branch and from time to time, as it es not going to fix any bug.
These warnings aren't making impossible to build, though.
The only problem I have when building is that I have to disable every line related to GMS on app/build.gradle and add a twitter.properties file which shouldn't be added to any commit.

Removing lines related to GMS did not change me having to disable linting error aborts. I've never have issues related to GMS before so I'm not sure what's happening here.

I called out the missing twitter.properties file in the instructions in  #997 but it seems that it hasn't been fixed yet.

I'm no longer having issues with this.


python: thespian: 3.9.9 -> 3.9.10

Motivation for this change
New version of thespian released on PyPI.
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[X] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[X] Ensured that relevant documentation is up to date
[X] Fits CONTRIBUTING.md.

Notify maintainers
cc @

@grahamcofborg build python3.pkgs.thespian


Async/Await in Worklet Functions

Is it possible to use async/await within Worklets?
I'm trying to make calls to asynchronous functions outside of the function tagged with the worklet keyword? As a simple example, is it possible to use the Expo FileSystem async functions like copyFileAsync() from within a worklet?
When tried, I get errors like this:
TypeError: Cannot assign to read only property 'message' of object 'SyntaxError: unknown: Unexpected reserved word 'yield'.

You can't do asynchronous things within worklets since they don't run the event loop as far as I know.
However, I didn't expect that async/await syntax is not supported in worklets. The error message indicates that worklets don't support generator syntax which is emitted as a transpilation result of async/await.

That makes sense but I was hoping it would just execute synchronously. In this scenario I don't need it to be asynchronous since it's in another thread, I just need to call something which relies on that syntax.

same problem here


How to gather training data for the compute_gb neural network?

In the car interface module I notice that the acceleration is converted to the actual gas/brake command by a small neural network. In the code comments see debug/dump_accel_from_fiber.py to see how those parameters were generated however this file doesn't exist.
I want to tweak the NN parameter for my car but not sure how the data should be collected, taking into consideration that the command/sensor has latency and the speed of the car can not be easily kept constant. Could you share the dump_accel_from_fiber.py script or give me some guidance on how to do this by myself? Thanks very much!

Hi @sibojia , that file is obsolete and we are moving away from using NN to predict gas and brake, given accel desired and vehicle speed. I recommend collecting some data and come up with more explicit functions. To mitigate latency in data, you can make some test by commanding constant brake or gas. The fact that speed is changing shouldn't be an issue.

@rbiasini Thanks! I'll try it.

@rbiasini Hi may I ask a related question here? Except for current speed, why don't we include current acceleration when searching for the gas/brake for the desired accel? I'm assuming the current acceleration would also have a great impact unless a constant speed is assumed. Can you share some comments on this? It's clever to command a constant brake or gas and collect the real acceleration values. Just curious why we don't include aEgo as an input [aEgo, vEgo, desired accel] ---> gas/brake?


Soothsayer sacrifice fix / Refactor WorldInput Use

I mentioned in the issue thread (#28 ) that there were more than a few differences between the in-game version of WorldInput.lua and the one in CQUI that was replacing it.  I compared the two files and noted all the differences I could find, and worked to whittle down to this model, which I think is more maintainable.
I have tested this with Vanilla, RF, and GS, but considering the scope of the changes I would like additional testing before we complete this push to master.
WHAT THIS DOES

Can now properly do the sacrifice with the Soothsayer
WorldInput is now hooked instead of replaced entirely (more managable)
Launchbar is now hooked instead of replaced (more managable)

WHAT CHANGED, DETAILS

Added CQUI WorldInput wrapper lua scripts, for Vanilla, Exp1, Exp2.

Separated out the functions that are extensions of the base game versions, the ones that replace them completely, and the unique to CQUI
Which means the unmodified game lua is what is used for the Sacrifice stuff

Removed the WorldInput.lua replacement file
Did the same for LaunchBar.lua (wrappers for Vanilla, Exp1, Exp2...)
Removed the LaunchBar.lua replacement file
Removed some of the unnecessary Key Mappings
Added "ALT+E" mapping for telling a unit to go explore
Cleaned up the hotkey code (now using the Hash variable, instead of the actual Hash value)

HOW TESTED

Started various flavor games (Vanilla, RF, GS)
Regular World View: Verified map dragging worked as expected
City Screen: if starting a map drag while mouse pointer was on top of Tile Purchase icon, that tile was NOT purchased (base game would typically result in the tile being purchased)

Side note: I find myself thinking we may want to make this a configurable option, as even the slightest map drag when trying to purchase a tile will prevent the purchase.  Making it optional would be good for accessibility, and I don't know offhand how much of an issue it creates for touch interfaces.

Regular World View: Verified functional: direct a unit to move to a place more than 1 turn away, allow UI to go automatically to next unit, go back to previous unit and verify the "queued path" (where the unit is going to) shows as expected
Regular World View: Verified I can sacrifice units with the Soothsayer during the Emergency
Regular World View: verified WASD and Arrow key functionality for moving about the map
Hot Keys were tested and all but Air-Strike seem to be ok.  I'm not convinced Air-Strike ever worked.

WHAT ELSE IS NEEDED

Peeps to play this version and make sure it's good

@alimulhuda @alexeyOnGitHub if you could give a looksie, I would appreciate it!

the approach described in the PR seems reasonable to me. I prefer to only keep deltas and not the whole clone of the Civ 6 UI, with a few changed lines here and there.
this should lower the cost of  the ongoing mod maintenance.
no strong opinion on "ALT+E" shortcut. I usually use "autoexplore" operation once or twice per game, so I would skip this shortcut and maybe save this keys combination for something else instead.  but as long as it is configurable in some menu, this should not be a problem and  it would  be up to the user whether or not they care about it.
you mentioned that you removed some other hotkey mappings. what are they?
no opinion on the code changes themselves. I can download and run this version of the mod over the weekend.

Removed the ones that already had support in game - not sure if those were introduced by firaxis after the initial CQUi mod was introduced but it didn’t seem to make sense to duplicate the effort
Specifically: arrow keys, ‘z’ (for sleep), default ‘f’ handler (there’s special cases for F, with alt and shift I think and the CQUi code would also handle the F default which wasn’t necessary...)
Q (for quarry)..
In each case I commented the code out first and tested it, in vanilla and GS.  Once I got to this set of changes you see I also tried RF.
There may still be something to investigate - I couldn’t figure why “G” was not getting handled by the game when CQUi keyboard is in “enhanced” mode (the default).  I had added prints and the like to make sure the key was getting passed out of the CQUI key up function  but it didn’t seem to work.  Works when enhanced mode is off which is weird...
I will double check this tonight
Also 2 other things
1 I learned the ScriptReplace tags in the modinfo is case sensitive for the file names, which is silly on a windows machine.  Maybe makes sense for linux?
I will open up a new issue as I want to focus on getting those replacement files out as well.  A lot more maintainable when we are not comparing 4000 line files to try and spot the diff
Sent from my iPhone
On Jun 12, 2020, at 2:45 PM, Alexey<EMAIL_ADDRESS>wrote:

the approach described in the PR seems reasonable to me. I prefer to only keep deltas and not the whole clone of the Civ 6 UI, with a few changed lines here and there.
this should lower the cost of the ongoing mod maintenance.
no strong opinion on "ALT+E" shortcut. I usually use "autoexplore" operation once or twice per game, so I would skip this shortcut and maybe save this keys combination for something else instead. but as long as it is configurable in some menu, this should not be a problem and it would be up to the user whether or not they care about it.
you mentioned that you removed some other hotkey mappings. what are they?
no opinion on the code changes themselves. I can download and run this version of the mod over the weekend.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://eur06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fcivfanatics%2FCQUI_Community-Edition%2Fpull%2F35%23issuecomment-643495695&data=02|01||93f0f4d88b5146e16abd08d80f19ee3e|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637275951325320180&sdata=IEDV6t1f%2FlzhNunhYSoOzhg13CoIHH82X%2BIgDk3Xbyw%3D&reserved=0, or unsubscribehttps://eur06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FACDBNOASKKHSZCS4XW5PPIDRWKOXVANCNFSM4NZUGA7A&data=02|01||93f0f4d88b5146e16abd08d80f19ee3e|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637275951325320180&sdata=dEi0Ghc9xtFDnMBvg%2FCR7%2BeXNpNF3cr1R%2F7j7Zf%2F2Dg%3D&reserved=0.

While we seem to have a lot of help on CQUI I would like to request that someone take a look at the build queue. The CQUI version was removed when the Vanilla game added it's own version but it doesn't work right. It won't let you queue a Harbor AND a Lighthouse and every time you capture a city you have to keep coming back and adding damaged buildings to the queue rather than all at once. Really annoying to me as I take a LOT of cities.
I know getting the mod back to functional takes priority but this would really make it better in my opinion. Also, I have seen a ton of activity but it's not clear to me what percent of the mod has been repaired. How close to complete is it or what is still not done? I have a test box setup but I am still playing offline with the old mod.

@wayneb64 It should be functional from a while ago (if you ignore the soothsayer issue that the new DLC introduces). I've been playing with what we have in master branch and it seems to be no worse than it was before the May patch. More things are slowly getting fixed. I don't have the new DLC though, only have the two expansions and a few of the civilization packs.
Regarding your request, I think you should file it in the issues section (https://github.com/civfanatics/CQUI_Community-Edition/issues) so we can track it and get it fixed.

Updated the PR based on the feedback - @alimulhuda

Mouseover showing the queued path works again (had to use the entire RealizeMovementPath function)
"G" and other non-handled keys do what they're supposed to again
Removed some stuff that didn't need to be there anymore

For all the new and modified files, could you end with an empty blank line. GitHub diff complains "No newline at end of file", and in the past I've had some issues with computer lab assignments because some tools assume the file end to be an empty blank line.
Feel free to ignore the this comment, it's just old issues I've had in the past and become a little paranoid sometimes.

Played some last night, this seems to work.  If the PR looks good to you @alimulhuda @alexeyOnGitHub please approve it
If you do the merge, please do squash merge since there's a ton of commits with this one

Thanks.  After work today I'll do the upload to the Workshop.

what would be the best way to test a change like this if you already have some version of the mod installed through Steam? we should document this process in CONTRIBUTING.md file.
e.g. "unsubscribe from the plugin in Steam (or maybe disable in the UI only?), delete its folder in this location on disk (?), clone this repo, place it into a certain folder, hook it up to the game somehow, test.........., then delete the folder, then re-subscribe to the officially released version (on Steam) later". or something like this.

@alexeyOnGitHub What I do is just have a repo cloned to a folder in \Documents\My Games\Sid Meier's Civilization VI\Mods. Then I switch to the branch I want to test. I don't have the version from workshop subscribed normally.
When I want to test the version from workshop I change the extension of the .modinfo file in my other location, so that the game doesn't recognize it as mod then I subscribe to the workshop one.
If your preferred version is the one from workshop then you could try one of the following.

Unsubscribe from workshop version then checkout the GitHub version to the My Games mod location.
Modify the extension for the .modinfo file in the steam workshop location (One of the folders in Steam\steamapps\workshop\content\289070 should have it). Then checkout the GitHub version into the My Games mod location.

Gah, I clicked on the re-review button, thinking it was a refresh button.  @alimulhuda can you click the approve button again?
Also - that's what I do, I cloned the repo to my  \Documents\My Games\Sid Meier's Civilization VI\Mods folder.  I am subscribed as well, though mostly to ensure it updates when I push the update.  I then manually go into the subscribed version and change the GUID (just the first few characters) to AAA, so I differentiate while looking at the mod list.

also wanted to say thanks for the thorough review!  Very helpful, good stuff

here is what I did -

moved the mod git repo into  \Documents\My Games\Sid Meier's Civilization VI\Mods folder
edited the plugin name and ID in its ".modinfo" file to make sure the local copy is different from Civ6 point of view.
started Civ6
opened "mods" dialog in the game launcher and created a new "mods group".
unselected the workshop-provided CQUI
selected the local version of this mod
started a new game in Renaissance era, played ~20 turns.
I was able to settle a city, choose a pantheon, send a trade route, send envoys, ..
everything was good until I met some other civilization, then the UI disappeared.

I had the same problem in the past when had a local copy of the plugin that was not compatible with the game anymore, and I wanted to test the workshop-provided one. even though I explicitly disabled the local mod version in the game settings, and the workshop-provided copy was supposed to be OK/Fixed for the "new frontier", the UI was disappearing on civ meet. which suggests that a copy of this plugin, even when DISABLED, will still interact or conflict with this plugin provided by the Workshop.
I wonder if this may be a problem with the plugin loading mechanism, or there is something we can fix in the plugin source code?

Could you place your Lua log file here it should be in Documents\My Games\Sid Meier's Civilization VI\Logs. Whenever I've had things like this happen the log file gave some clue as to what was happening. I usually search the Log folder for the word "error" and look over the lines where it shows up.
Also I don't trust systems to always work right, that's why I do the thing with extension modification. That way the mod system just doesn't know how to to load the files. It won't allow for your things with the mod groups, but I think it should be more resilient.

I uploaded lua.log file here: https://docs.google.com/document/d/1ebfHT2F28CExkWgOu9or1H-UG1PclLdeMdJLC2Rl6yU/edit?usp=sharing
it is pretty big (600+ kb) and I am not sure what part of it is relevant (is it overwritten on each game start?) , so I just uploaded the whole thing.

I'll have to take a closer look at your log file later. Did a quick look over and it seems like you have at least one other mod (Extended Diplomacy Ribbon), and for some reason it's interfering. It also looks like your version of the mod in My Games is an old one. The error with the EDR mod is one I fixed. But your log file looks like its the version from before my fix.
Are you sure you are using the latest version from GitHub for your tests? Does your modinfo file say it's version 2.2.

Looking now as well, just saw this and happen to be at the machine.
I did update the workshop with the current version, so if there's something here I'll roll it back

If you upload the Modding.log file that also has some useful info - I think that gives the version number and whatnot.

I did a folder compare and it looks like the workshop version is identical to the version in this branch. So if @alexeyOnGitHub just uses the workshop version it should be the same as the GitHub version.
The reason why I think his MyGames version is outdated is because of the error in the log file
Runtime Error: C:\Users\ask\Documents\My Games\Sid Meier's Civilization VI\Mods\CQUI_Community-Edition\Assets\Expansion1\Replacements\LeaderIcon.lua:173: attempt to index a nil value
Line 173 in the updated version is an else statement. In the old version it used to be a call to self.Controls.CQUI_Era:SetText

Error shows issue happening at line 173 in expansion1\leadericon.lua:
	C:\Users\ask\Documents\My Games\Sid Meier's Civilization VI\Mods\CQUI_Community-Edition\Assets\Expansion1\Replacements\LeaderIcon.lua:173: in function 'LeaderIcon:UpdateTeamAndRelationship'
	C:\Users\ask\Documents\My Games\Sid Meier's Civilization VI\Mods\CQUI_Community-Edition\Assets\Expansion1\Replacements\LeaderIcon.lua:69: in function 'LeaderIcon:UpdateIcon'
	C:\Program Files (x86)\Steam\steamapps\common\Sid Meier's Civilization VI\Base\Assets\UI\DiplomacyRibbon.lua:135: in function 'AddLeader'
	C:\Program Files (x86)\Steam\steamapps\workshop\content\289070\1360462633\ExtendedDiplomacyRibbon.lua:467: in function 'AddLeader'
	C:\Program Files (x86)\Steam\steamapps\common\Sid Meier's Civilization VI\Base\Assets\UI\DiplomacyRibbon.lua:216: in function 'UpdateLeaders'
	C:\Program Files (x86)\Steam\steamapps\workshop\content\289070\1360462633\XP2\EDR_DiplomacyRibbon_Expansion2.lua:40: in function 'UpdateLeaders'
	C:\Program Files (x86)\Steam\steamapps\common\Sid Meier's Civilization VI\Base\Assets\UI\DiplomacyRibbon.lua:455: in function 'OnDiplomacyMeet'

Before alimulhuda's change, this was line 173:
self.Controls.CQUI_Era:SetText("[ICON_GLORY_NORMAL_AGE]");

The change made was to check for nil, which wouild make getting to that line now impossible, so that must be an older copy that you are running
if (self.Controls.CQUI_Era ~= nil) then
       local gameEras:table = Game.GetEras();
         if gameEras:HasHeroicGoldenAge(playerID) then
           self.Controls.CQUI_Era:SetText("[ICON_GLORY_SUPER_GOLDEN_AGE]");
         elseif gameEras:HasGoldenAge(playerID) then
           self.Controls.CQUI_Era:SetText("[ICON_GLORY_GOLDEN_AGE]");
         elseif gameEras:HasDarkAge(playerID) then
           self.Controls.CQUI_Era:SetText("[ICON_GLORY_DARK_AGE]");
        else
          self.Controls.CQUI_Era:SetText("[ICON_GLORY_NORMAL_AGE]");
      end
  end

terribly sorry for the confusion, guys! I launched this on a computer that had an old clone of the repo. the problem is gone after I pulled the latest changes from this branch.
thanks a lot for the quick response!

no worries!  I'll squash merge this now :)


Make file name optional for error matching

When compiling Latex documents I'm getting error messages like this:
l.6     \pstThreeDCoor

So no file name. What about making  optional and use the currently opened file instead if it isn't specified?

This feature is a subset of #246 which would allow you to specify a file. Let's track it in there


adding nuxt-security ^1.3.0 without any config leads to 500 (Netlify) and script errors (localhost) - expected?

Hello, I am getting started with nuxt-security.
TLDR;
I just installed the latest nuxt and nuxt-security, locally I get some warnings in the console but the site works, deployed to Netlify I get a 500.
❓ Without touching anything, I am wondering if this is the expected behaviour?
Source code is here:
https://github.com/denisenepraunig/nuxt-security-test
Deployed to Netlify - 500
https://nuxt-security-test.netlify.app/
I've created a project from scratch with:
npx nuxi@latest init nuxt-security-test
npx nuxi@latest module add security

which results in this package.json - dependencies:
"dependencies": {
  "nuxt": "^3.11.2",
  "nuxt-security": "^1.3.0",
  "vue": "^3.4.21",
  "vue-router": "^4.3.0"
}

nuxt.config.ts:
export default defineNuxtConfig({
  devtools: { enabled: true },
  modules: ["nuxt-security"]
})

Localhost script errors but works
When I run it locally npm run dev I see this:

Refused to load the script 'http://localhost:3002/_nuxt/@vite/client' because it violates the following Content Security Policy directive: "script-src 'self' https: 'unsafe-inline' 'strict-dynamic' 'nonce-{{nonce}}'". Note that 'strict-dynamic' is present, so host-based allowlisting is disabled. Note that 'script-src-elem' was not explicitly set, so 'script-src' is used as a fallback.

localhost/:9 Refused to execute inline script because it violates the following Content Security Policy directive: "script-src 'self' https: 'unsafe-inline' 'strict-dynamic' 'nonce-{{nonce}}'". Either the 'unsafe-inline' keyword, a hash ('sha256-ywX1jMWBvLA4vnpd6j5yBtD3YAo2d1bvP29VM4VZ4so='), or a nonce ('nonce-...') is required to enable inline execution.

localhost/:19 Refused to execute inline script because it violates the following Content Security Policy directive: "script-src 'self' https: 'unsafe-inline' 'strict-dynamic' 'nonce-{{nonce}}'". Either the 'unsafe-inline' keyword, a hash ('sha256-ChValuzd0cyaDyQRGsHBMsFX2hzljF1GK3M80fFrnAk='), or a nonce ('nonce-...') is required to enable inline execution.

Netlify 500
When I deploy to Netlify I get a 500

nuxt-security-test.netlify.app/:1 Refused to execute inline script because it violates the following Content Security Policy directive: "script-src 'self' https: 'unsafe-inline' 'strict-dynamic' 'nonce-{{nonce}}'". Either the 'unsafe-inline' keyword, a hash ('sha256-gwEUKwLFu0zI6vy2K6p/qLT9Tc+uykTl+06eLad4k4I='), or a nonce ('nonce-...') is required to enable inline execution.
nuxt-security-test.netlify.app/:1
 Failed to load resource: the server responded with a status of 500 ()

❓ Is this the expected behaviour?

Hi @denisenepraunig
This is not normal. We are facing a dependency regression with 1.3.0, we will patch soon.
In the meantime can you please downgrade to  "nuxt-security": "1.2.2" in package.json ?

@Baroshem
Related to Issue #415

Released patch 1.3.1 with a fix for that from @vejja.
Please check if it works now :)

I can confirm this scenario by @denisenepraunig now works correctly with patch 1.3.1

works!

I'm used version nuxt-security: v1.3.2 but it happens when I want to specify contentSecurityPolicy inside.
Maybe regression?
security: {
        headers:{
            contentSecurityPolicy: {
                'upgrade-insecure-requests': false,
            },
        }
    }

@cesxhin I think this is a different issue. Could you please open a new idsue with all the details and preferably a reproduction repository?


[faulty output] running the cli command intuita --version reports 0.0.0

:warning::warning: Please do not include any proprietary code in the issue. :warning::warning:

Faulty codemod
running the cli command intuita --version reports 0.0.0
Code before transformation
not applicable
Estimated severity
low
Environment:

Intuita CLI version: 0.2.2
OS: Windows 10 Enterprise, build 19045.3693
Node.js version: 20.10.0

Additional context
Add any other context about the problem here. This might include the target project, explanation of faulty output related to business logic, relevant links, etc.
installed via yarn global add intuita on yarn 1.22.19
Edit: upgraded, still see this

@GeorgeWL hello, we fixed in in the version 0.2.3, just recently published to the NPM. Can you confirm it works for you?

@all-contributors add @GeorgeWL for bug reporting