Bump log4j to 2.17 to deal with discovered DoS attack

This PR updates log4j from 2.16 to 2.17 to deal with a recently discovered Denial of Service attack.
Test Steps:

Ensure the app builds as normal

Changes

Updates log4j to 2.17

Checklist
Testing

[x] Tested locally?
[x] Ran ./prime test or ./gradlew testSmoke against local Docker ReportStream container?

Process

[x] Are there licensing issues with any new dependencies introduced?
[x] Includes a summary of what a code reviewer should test/verify?
[x] Updated the release notes?
[x] Database changes are submitted as a separate PR?
[x] DevOps team has been notified if PR requires ops support?

Pull reviewers stats
Stats for the last 30 days:

User
Total reviews
Median time to review
Total comments

MauriceReeves-usds
35
27m
9

sean-usds
24
1h 12m
8

cwinters-usds
21
5h 33m
20

jimduff-usds
19
1d 10h 36m
20

kevinhaube
17
11h 44m
11

carlosfelix2
11
3h 19m
31

TomNUSDS
10
2h 22m
13

RickHawesUSDS
9
3h 31m
1

whytheplatypus
6
1d 8h 33m
10

jbiskie
5
1h 26m
1

jorg3lopez
4
1h 22m
0

brick-green-agile6
4
2h 3m
3

ahay-agile6
3
10h 22m
6

JosiahSiegel
1
4m
2

oslynn
1
2h 42m
0

MikeC-A6
1
7h 7m
3

rhood23699
1
14h 10m
0

clediggins-usds
1
2d 13h 21m
7

sethdarragile6
1
1d 3h 8m
0

@TomNUSDS good eyes! The other use of this we'd want to update is in prototypes/as2, but that's going to be removed with https://github.com/CDCgov/prime-reportstream/pull/3493


Does not reconnect after Internet connection lost.

Hi,
when the internet connectivity of nodered gets lost the node will no reconnect to the cloud automatically.
I need to restart the flows.
thanks

Hello. Unfortunately, I haven't enough time to support package, but I have 24/7 working server with Node-RED at home and sometimes problems with internet will happens. However I haven't problems with Mi Home cloud connection even if internet will restored after long downtime. Actually connection to cloud managed by https://github.com/maxinminax/node-mihome and possibly better to create issue there.


Can I use it from another fragment?

I have Main activity with BottomNavBar; In section 3 I have tab layout with 2 fragments; Is there any way to invoke this dialog fragment from fragment inside tab layout? Every time I try it shows error that
java.lang.IllegalArgumentException: No view found for id 0x1020002 (android:id/content) for fragment FullScreenDialogFragment{62f2ccc #0 id=0x1020002 dialog}

same issue

Have you tried using the Activity's FragmentManager instead of the fragment one?

i can confirm, fragmentmanager and childfragmentmanager not working.

经过我的调查，错误的地方是在FullScreenDialogFragment类中，将show(FragmentTransaction transaction, String tag) 函数中的return transaction.add(android.R.id.content, this, tag).addToBackStack(null).commit();替换成return transaction.add(tag).addToBackStack(null).commit();就可以了，原因是因为getchildfragmentManager自己可以找到自己需要依附的跟view


Enable PR label that will turn on leak tracking just for PR that has it.

Leak tracking is off by default till prove of its stability.
There is still need to verify some changes for memory leaks.
It would be great if an added label with name like 'enable-leak-tracking' would restart bots with flag passed to flutter tests.
PR that creates flag: https://github.com/flutter/flutter/pull/138653

@godofredoc

Closing in favor of https://github.com/flutter/flutter/issues/140414


How to Select Tab on the UCI form using XrmApp

Question
What is your question?
How to Select Tab on the UCI form using XrmApp
XrmApp.Entity.SelectTab("SUMMARY_TAB");
This is failing

@dynamicsk - Just provide the tab name.
XrmApp.Entity.SelectTab("Summary");

Hi Vasanth, Thanks for your reply.
Tried those options. Even i cant select any tab on any entity

Are you sure you are using the label of the tab not the internal name of the tab?

As @mVermaat,
XrmApp.Entity.SelectTab("TabDisplayName") should work without issues. If didn't work, try putting debug point in webclient > SelectTab method to see what element locator your code checking.

This was recently broken, but should be fixed in the latest releases/v9.1 branch and <IP_ADDRESS>38 NuGet package released today.
The expected usage is:
xrmApp.Entity.SelectTab(string tabName, string subNameIfRequired);
If this is not resolved, please re-open this issue for further discussion.
Warm Regards,
Tyler


(Desktop) Add left and right arrow key shortcut for back and forward

Details

We want to add a new shortcut to going forward and back with arrow key + Cmd
Fixed Issues

$ https://github.com/Expensify/App/issues/35628
PROPOSAL: https://github.com/Expensify/App/issues/35628#issuecomment-1922798375
Tests

Same as QA Steps

[x] Verify that no errors appear in the JS console

Offline tests

Same as QA Steps
QA Steps

Desktop only

Open the app
Open any page
Press Cmd+Left arrow key
Verify you get navigated back
Press Cmd+Right arrow key
Verify you get navigated forward

(make sure no input is focused/modal is opened before pressing the shortcut)

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop

https://github.com/Expensify/App/assets/50919443/4796e848-96a3-4709-bb8d-70f790f94a6e

Reviewer Checklist

[ ] I have verified the author checklist is complete (all boxes are checked off).
[ ] I verified the correct issue is linked in the ### Fixed Issues section above
[ ] I verified testing steps are clear and they cover the changes made in this PR

[ ] I verified the steps for local testing are in the Tests section
[ ] I verified the steps for Staging and/or Production testing are in the QA steps section
[ ] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[ ] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[ ] I checked that screenshots or videos are included for tests on all platforms
[ ] I included screenshots or videos for tests on all platforms
[ ] I verified tests pass on all platforms & I tested again on:

[ ] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[ ] MacOS: Chrome / Safari
[ ] MacOS: Desktop

[ ] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[ ] I verified proper code patterns were followed (see Reviewing the code)

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[ ] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[ ] I verified that comments were added to code that is not self explanatory
[ ] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[ ] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[ ] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[ ] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[ ] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

[ ] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[ ] I verified that this PR follows the guidelines as stated in the Review Guidelines
[ ] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[ ] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[ ] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[ ] If a new component is created I verified that:

[ ] A similar component doesn't exist in the codebase
[ ] All props are defined accurately and each prop has a /** comment above it */
[ ] The file is named correctly
[ ] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[ ] The only data being stored in the state is data necessary for rendering and nothing else
[ ] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[ ] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[ ] All JSX used for rendering exists in the render method
[ ] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[ ] If any new file was added I verified that:

[ ] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[ ] If a new CSS style is added I verified that:

[ ] A similar style doesn't already exist
[ ] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG)

[ ] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[ ] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[ ] If the PR modifies the form input styles:

[ ] I verified that all the inputs inside a form are aligned with each other.
[ ] I added Design label so the design team can review the changes.

[ ] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[ ] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[ ] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop

@bernhardoj I get the following error when trying to launch the desktop app.
[Electron] 23:59:49.718 › (node:2441) UnhandledPromiseRejectionWarning: Error: desktopApplicationMenu.back_left was not found in the default language
[Electron]     at Module.translate (webpack://new.expensify/./src/libs/Localize/index.ts?:119:9)
[Electron]     at eval (webpack://new.expensify/./desktop/main.js?:214:47)
[Electron]     at Module.map (webpack://new.expensify/./node_modules/underscore/modules/map.js?:20:22)
[Electron]     at localizeMenuItems (webpack://new.expensify/./desktop/main.js?:211:7)
[Electron]     at eval (webpack://new.expensify/./desktop/main.js?:220:31)
[Electron]     at Module.map (webpack://new.expensify/./node_modules/underscore/modules/map.js?:20:22)
[Electron]     at localizeMenuItems (webpack://new.expensify/./desktop/main.js?:211:7)
[Electron]     at eval (webpack://new.expensify/./desktop/main.js?:477:60)
[Electron] (Use `Electron --trace-warnings ...` to show where the warning was created)

Looks like you need to add translations for back_left and forward_right. I suppose you can just use the Back and Forward values for these respectively.

@akinwale ah, thanks for catching that. Yeah, you're right that the translation is missing because we tried to translate it using the id as the key here
https://github.com/Expensify/App/blob/9f37d3e2c1264420773c886ae6171748e5d512b8/desktop/main.js#L213-L217
As it's invisible menu, there is no need to translate it, so I removed the ID.

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by https://github.com/cead22 in version: 1.4.40-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
failure ❌

🚀 Deployed to production by https://github.com/mountiny in version: 1.4.40-5 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
failure ❌


Solve rubygems issue on unpacking on a rootless container

More info:
https://github.com/bosh-packages/ruby-release/issues/18
https://github.com/rubygems/rubygems/issues/3977

Closing as Ramon solved this by bumping to a new ruby gems version


Fix back to back write issue

Back to back writes at 8MHz, which are possible with a 65C816 performing a 16-bit write to DATA0, were failing to get written to VRAM correctly because wraddr_r could get updated before the actual write to VRAM takes place. This change caches the bus address does not update wraddr_r until the falling edge of bus_write where the bus data is also captured.

Since this is changing the interface between the CPU and VERA I think extra care should be taken to ensure that nothing breaks or becomes unstable on the official X16 machines.
Here are questions I have:

What is the LUT cost of this change?
Can this change negatively effect the interface between the processor and VERA on official hardware?

Can you provide a (timing) analysis given the address/CS logic on the official board and this new address-timing method? I believe the Otter board uses different logic (chips) when addressing VERA, correct? And may even use a different cpu clock (PHI1?) What are the margins on the official board?
What will be the effect at different clock speeds? Like 2 MHz or 4MHz?
Is it likely that this change will have a positive effect on the official board?

I do not see any demonstration yet of the issue existing on official X16 hardware (I might have overlooked). Can you please show that there is an actual issue on said hardware?

E.g. can you show that without this fix an official Dev board with a VERA (preferably also official) that holds a 65816 has a problem with writing 16-bits to VERA? I believe this has only been shown to happen on an Otter board, correct?

There has also been a report on discord that there is an visual glitch on a Otter board with a 65816 processor (in 8-bit mode) and this change apperently fixes that problem. But is that problem also present on a official board?
The official hardware uses a 65C02 processor. Why should we care that the 65816 works (well) on the official hardware? Shouldnt using a different processor (other than the stock 65C02) considered to be a new feature to VERA?

Unfortunately the official X16 hardware is known to have bus timing violations in its design, so any formal analysis of margins on the official hardware is going to fail, with or without this change.
A DMA card that does one write per 8MHz cycle to VERA DATA0 followed by DATA1 is guaranteed to fail. VERA should be able to handle back-to-back writes of DATA0 and DATA1 at 8MHz; it does not. This is primarily because it takes 3 VERA clock cycles for the bus_write signal to propagate through the clock domain crossing FIFO and assert the do_write signal. This creates a window of nearly 4 VERA clock cycles (160ns) when re-asserting bus_write could overwrite the value of bus_addr_r.
This glitch reproduces on the official hardware at 8MHz because the problem is fundamental to how VERA samples the bus. This change assures that both address and data are flopped into a register that is only updated on the falling edge of bus_write and a subsequent rising edge of bus_write will not modify bus_addr_r.
We should avoid looking too closely at 65C02 vs 65C816 timing because VERA is intended to be a processor-agnostic retro video card. Hence VERA and VERA instead implements an asynchronous design that depends only on CS#, RE#, and WE#.

I have tested this bitstream on my own dev board now. All seems fine. I will leave it up to your judgement how moch more testing and/or analysis is needed.
I have no problem this change being merged.

Hi guys! I am using VERA in my X65-SBC computer (https://github.com/jsyk/x65) and this change broke my system. Ouch :-) So after I have fixed my stuff, I have the inevitable question for you: do you have timing diagrams with the necessary setup, access and hold times for the address and data lines relative to CSn, WRn and RDn? Then everybody using VERA could check independently if they drive it correctly and avoid future surprises. Thanks!

Hi guys! I am using VERA in my X65-SBC computer (https://github.com/jsyk/x65) and this change broke my system. Ouch :-) So after I have fixed my stuff, I have the inevitable question for you: do you have timing diagrams with the necessary setup, access and hold times for the address and data lines relative to CSn, WRn and RDn? Then everybody using VERA could check independently if they drive it correctly and avoid future surprises. Thanks!

Unfortunately, I have not had time to create timing diagrams. VERA has been tested around the 65C02 bus in general. The most obvious implication here is that the address bus is expected to be stable at the start of the read condition (CSn + RDn == 0) or the write condition (CSn + WRn == 0) and the data bus is expected to be stable at the end of those conditions. When in doubt on the 65C02 bus, assume the setup and hold times are 10ns. VERA probably has substantially lower setup and hold times, but I haven't gone through and figured it out.
If I were to guess why you were having trouble, my guess would be that the address bus isn't stable before the write condition start in your design, leading to VERA sampling a metastable address bus.

Thanks!
What is the minimum access time (csn & wrn low) ? 40ns?
What is the recovery time between accesses?
For 65c816 the timing budget is more strict than 65c02 because the complete
address (for csn decoding) is known after phi2 rising (segment address byte
on data bus). And write data hold is much shorter, just 10ns after phi2
falling, because the cpu needs the data bus for the next segment (BANK)
address. So we must be careful.
Jaroslav.
Dne pá 5. 4. 2024 23:35 uživatel Joe Burks @.***>
napsal:

Hi guys! I am using VERA in my X65-SBC computer (
https://github.com/jsyk/x65) and this change broke my system. Ouch :-) So
after I have fixed my stuff, I have the inevitable question for you: do
you have timing diagrams with the necessary setup, access and hold times
for the address and data lines relative to CSn, WRn and RDn? Then
everybody using VERA could check independently if they drive it correctly
and avoid future surprises. Thanks!
Unfortunately, I have not had time to create timing diagrams. VERA has
been tested around the 65C02 bus in general. The most obvious implication
here is that the address bus is expected to be stable at the start of the
read condition (CSn + RDn == 0) or the write condition (CSn + WRn == 0) and
the data bus is expected to be stable at the end of those conditions. When
in doubt on the 65C02 bus, assume the setup and hold times are 10ns. VERA
probably has substantially lower setup and hold times, but I haven't gone
through and figured it out.
If I were to guess why you were having trouble, my guess would be that the
address bus isn't stable before the write condition start in your design,
leading to VERA sampling a metastable address bus.
—
Reply to this email directly, view it on GitHub
https://github.com/X16Community/vera-module/pull/28#issuecomment-2040657400,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AANKH2CUPY6TJRNEZWBENWTY34KKRAVCNFSM6AAAAABCDQ4YU2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANBQGY2TONBQGA
.
You are receiving this because you commented.Message ID:
@.***>

Thanks! What is the minimum access time (csn & wrn low) ? 40ns? What is the recovery time between accesses? For 65c816 the timing budget is more strict than 65c02 because the complete address (for csn decoding) is known after phi2 rising (segment address byte on data bus). And write data hold is much shorter, just 10ns after phi2 falling, because the cpu needs the data bus for the next segment (BANK) address. So we must be careful. Jaroslav.

I don't know what the exact access times are. The logic in this change was designed to allow for very short access time during writes. The only thing it changes is that the address bus is sampled when the write condition is met and when the write condition ends, the address is flopped into another register so that another write can come in from the bus immediately afterwards. 40ns is probably a safe assumption for access times, but the reality may be much shorter.
This change was necessitated because 16bit writes to DATA0/DATA1 on a 65C816 were occasionally ending up as to two writes to DATA1 because the write pipeline was processing the DATA0 write very close to when the second 8-bit write to DATA1 was coming in causing the new address to overwrite the old.


Support installation of 64-bit GHC

Good enough to put in the README now?

I see no objection, so I've done so. The README now links to 7.8.3 32-bit and 7.8.4 64-bit.
@ndmitchell I'm in the process of cleaning up my 64-bit changes, and then I'll send them as a PR so you can review before they land on master.

OK, pull request open: #21.


feat: log usage of actions to telegram

would like to receive logs of people using ukoreh and the repo they chose

this issue should be moved to fold repo


Hadoop 16438

1290

 Quality gate: Passed
 Everything looks good
Details

 Quality gate: Passed
 Everything looks good
Details


ENH: Increase coverage for miscellaneous classes

Increase coverage for miscellaneous classes:

Exercise basic object methods using the ITK_EXERCISE_BASIC_OBJECT_METHODS macro.
Test the Set/Get methods using the ITK_TEST_SET_GET_VALUE macro.
Test the boolean ivars using the ITK_TEST_SET_GET_BOOLEAN macro.
Use other testing macros as necessary to check for expected values.
Call other Get methods for ivars that have no Set methods/ivars having an informative purpose.
Remove statements that serialize the values obtained through the Get macro and call the Get methods in the context of the quantitative testing macros.

PR Checklist

[X] No API changes were made (or the changes have been approved)
[X] No major design changes were made (or the changes have been approved)

@dzenanz @thewtex Please feel free to merge this as time permits. Thanks.


fix: remove top-level imports in importMeta.d.ts, fixes augmentation

Fixes #6194
Fixes #6211
Fixes #6206
Fixes #6205

Description

Additional context

What is the purpose of this pull request?

[x] Bug fix
[ ] New Feature
[ ] Documentation update
[ ] Other

Before submitting the PR, please make sure you do the following

[x] Read the Contributing Guidelines.
[x] Read the Pull Request Guidelines and follow the Commit Convention.
[x] Check that there isn't already a PR that solves the problem the same way to avoid creating a duplicate.
[x] Provide a description in this PR that addresses what the PR is solving, or reference the issue that it solves (e.g. fixes #123).
[ ] Ideally, include relevant tests that fail without this PR but pass with it.

Should we have tests for type check as well like test-dts in vue 3 (in another PR)?

@ydcjeff yes, would be a good idea to add

This was referenced by https://github.com/vitejs/vite/issues/6194 and I still have the issue.

Was only able to solve with     "types": ["webpack-env", "vite/client"], in my tsconfig.

@johnnyshankman it is better to avoid commenting on old PRs. You could have hit a regression for example. Please create a nee issue in these cases with a minimal reproduction using the latest Vite version

I had an issue with unrecognizing import.meta.env. I used 'import.meta.env.VITE_API_BASE_URLinto config folder in the root of project. It's interesting that for me it works when I add 'config' folder name into tsconfig.json into includes:"include": ["src", "config"],`


Setup a pipeline that triggers e2e tests in nightly podman desktop over specific podman build on Windows

Podman nightly installed and playwright E2E tests run afterwards. Allows multiple parametrization. Runs on Windows 10 or 11 now.

Fixed by #25.


Initial Process Update to Documentation

Initial updates to the documentation to make the MLTE process more central (#471). Looking for comments/feedback from @GALewis and then can adjust this (don't need to immediately merge it in).
Remaining TODOs (not an inclusive list):

Add screenshots to the negotiation card step (3)
Add screenshots to the test catalog step (6)
Add in updated diagram with numbers instead of the placeholder diagram
Look through the old MLTE framework page and pull over relevant info, then delete that page
Parse through ‘using MLTE’ and determine if that is still needed and how to refine it if so

I am reviewing now. Will check in changes when I am done.

I pushed several updates to the branch. The only thing missing before the merge is the diagram for the schema in the Negotiation Card file. While it does need a lot of work, the Negotiation Card file does need to be included because it is linked from everywhere.


DOC: fix plot submethods whatsnew example

This was not building properly.

OK, not going to wait for Travis on this one because Travis doesn't even bother to build the docs.


Archive compatibility and performance getting worse with releases

First I'd like to thank Adam and all the contributors for the library, I've been using it for years and it's been a big factor in the success of the comic reader I'm developing.
Now, Recently I tried to support RAR5 files in the app and it proves trickier than expected. The library supports it since 0.21, but I was stuck at 0.12.4 for several reasons.
I have a set of files that I know can be tricky to open for libraries, so I always prove test updates to the libraries with this set of comic books.
I have a testing tool that basically, loops through the files, find the images within them, extracts them and displays them in a test UI. It keeps track of which files opened, which errored, and also measures performance.
When trying to update from 0.12.4, I've come across the following issues:

0.13.0 broke the support for some files which worked in 0.12.4, and also killed performance (up to 5 or 6 times slower for some of the archives)
0.21.0 added support for RAR5, but broke support for more of my test archives (still working in 0.20.0), now indicating "file crc mismatch"

If I didn't specify any other version (I've tried up to 0.28.3), it's because they don't improve or break anything regarding file support, and performance doesn't change noticeably.
I should mention that all of the archives seem clean, and don't give any error when tested by winrar 6.0.2 or 7-zip 19.
I tried to step through the source code, but I hope someone can help before I dive in more because frankly, that may be too much of a challenge for me.
I can put together a repro project and all of the archives, if I get a sign of interest here.
Thanks again

Having tests and examples will be useful.
Frankly, this project's scope is huge mainly due to the fact that file formats are hard.  Zip is a minefield but straight-forward.  Tar has so much legacy I don't know where to begin.  Rar is okay but hard to track down.  7Zip is just gross.
Then there is the compression algorithims themselves which I know nothing about and don't even really try.  Encryption and CRC are really afterthoughts for me.  I've attempted to make everything async in a branch and maybe I was too ambitious with the changes (also converted to Span/Memory usage) but half the tests don't currently pass.
I'd be interested in seeing why 0.13 broke some stuff as well as slowed down.
My biggest issue is time between work and a young family.  I also don't have the passion I used to.  Though, I still play around with Blazor based comic readers when I get a chance.
I'm willing to help with questions via issues or even schedule a Google Meet or something if people want.  I'd like this project to be more than just myself but after more than a decade, help has been sporatic and little. That's fine, iIt's the nature of open source.  I just hoped to have a few maintainers by now.

Man... Do I feel stupid...
When I migrated my code after the refactoring of 0.13, I opened my archives through ReaderFactory.Open. (As the same code is used to open zip/rar/tar/7z/cbr/cbz/cbt/cb7 in my app).
When trying to put together a repro project to send it here, I used RarArchive.Open "just to try out". And everything works flawlessly using RarArchive. All the files pass and the performance is roughly the same as 0.12.4.
I'm really sorry for the noise. Isn't it expected that performance and compatibility should be the same using the ReaderFactory though?
Thanks for taking the time to reply, and again my many thanks for your hard work. I hope you didn't take offense for my initial message, and that I didn't appear as rude as I really measure the value of what you do here.

No offense taken at all.  People are coming from all types of backgrounds and you get a thick skin after a while in issues.  I just try to assume people are usually nice and genuine.
On ReaderFactory vs ArchiveFactory....readers work assuming that the stream is forward-only so there is no random access.   This means all bytes have to be read from the stream since it might be a network stream.  Archives assume there is random access (e.g. a file) so you can skip all over the stream with no issue.  Usually people want archive factory unless they're doing stuff over a network or a very very large file.


Add script to relabel terms

From the docs (requires you to first make obi-dbs)
Relabeling Terms
Since labels are used in templates, manually finding and replacing all usages of a term can be difficult and tedious. Instead, you can use src/scripts/relabel.py to automatically update a term's label and its usages.
You can run this by passing the term you want to update and the new label:
src/scripts/relabel.py CHMO:0000087 "microscopy with fluorescence"

You can also pass the old label as the first argument, as long as it is enclosed in double quotes:
src/scripts/relabel.py "fluorescence microscopy" "microscopy with fluorescence"

Make sure to commit all changed files to ensure that all usages are updated.

This may not work perfectly, but actually using it is the best way to find problems.


[3.x] Fix ViewportPreview upside-down

Fixes #55824.
We don't need to flip anything manually...
cc @Chaosus @Calinou

Thanks!

Cherry-picked for 3.4.1.

I think this fix is unnecessay and results in confusing behavior.
Viewport Preview should reflect what's in the ViewportTexture and the texture is upside-down by default. However after this PR, the preview area shows an upside-down preview if Render Target > V Flip is enabled.


I can't draw the full AWS architecture diagram. because of AWS perspective, the web interface reloaded every time.

I am struggling to resolved the company AWS architecture diagram. I implemented the AWS perspective service in my account, but after selecting a few AWS services perspective web interface refreshed every time. it is some kind of bug?

I have not seen this issue before. The UI of Workload Discovery has been rewritten for v2.0.0 that was released today. This may have fixed the issue.

Closing due to inactivity. Please feel free to reopen.


OAuth2 Error; Missing "redirect_uri" in request

Summary
I have setup the config.json file correctly, and set up a bot application and provided the credentials, however, an error is still thrown when I click authorize.
Error
Error: OAuth2 Error: invalid_request: Missing "redirect_uri" in request.
Other Info
I've tried both with and without the port, and I haven't altered the files themselves.

I can't find the solution, nor can I replicate this assuming that you've done everything correctly.


Support for Dev15 (Visual Studio 2017)

I identified a possible problem in NuProj.ProjectSystem.15/source.extension.vsixmanifest :
The line
<Dependency Id="Microsoft.VisualStudio.MPF.15.0" DisplayName="Visual Studio MPF 15.0" d:Source="Installed" Version="[15.0,15.0)" />
should have a Version attribute of "[15.0,16.0)" (16 instead of 15 as upper excluded boundary).
I did not test it but wanted to let you know ;)

Oh, and for the installation, the path to the IDE directory has changed:
old: "C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE"
new: "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\"
But still, I don't get it to work with VS2017 RC3.

Thanks, @Dany-R. Regarding the path for installation, it isn't always that path. For example Community SKU would default to a different location. But the real trick is that someone can install VS multiple times to distinct locations now (a new feature in VS2017) which complicates the job of MSI installers for VS extensions.

Hey! Any updates on this? I'm migrating my project TrackerDog to distribute it as a .NET Standard library, and I had to switch to VS 2017 RC to work on this.
Currently it's already migrated but I'd like to publish it to NuGet, and VS2015 solution was using NuProj...
Thank you in advance!

VS2017 will go RTM on March 7th.
How is the progress on supporting the new VS release? I'd like to switch to VS2017 as fast as possible, the only thing that will be missing then is .nuproj support.

@michaelkollmann  Maybe the maintainers have lost interest on going further with NuProj because VS2017 has already a new project property section to create its NuGet package during project's build.
BTW, AFAIK this only applies to .NET Standard class libraries...

I'm nearly done with VS 2017 support. And nuproj offers enough unique functionality that the new project type in 2017 doesn't have that it's worth taking forward. However,  nuproj is quite out of date with respect to .netstandard support and the NuGet team is working on the successor to nuproj and they're reportedly close to completion. When they do finish, if they delivery everything nuproj does, we'll shutter this project.

The issue here is that VS2017 RC3 does not appear to write SOFTWARE\Microsoft\VisualStudio\15.0\Setup\VS registry node. Values there are being used to locate extension directory by WiX VS extension that we use. I don't know if this behavior will change in RTM. But currently we don't have reliable way to determine correct installation directory for VS2017 extension. @AArnott do you have any info if this behavior will change in the RTM? What would be the proper way to determine extension dir?

You need the setup configuration api as used by these samples to get the installation location, https://github.com/microsoft/vs-setup-samples

I'm working on NuProj extension that does not require .msi to install project build system, just the .vsix file. I should have pull request ready by end of the weekend.

@kovalikp 👍👍

@AArnott could you have a look at https://github.com/kovalikp/nuproj/tree/wip/vs2017? I've been able to construct NuProj.ProjectSystem.15.vsix so it copies all files to appropriate folders. The only outstanding issue is that I've lost capability to load resources from registered assembly, so that project name, description and icon are not being applied in New Project dialog. I've got no clue why. Once the project is created, it can produce packages just fine.
You can find result artifacts here:
https://ci.appveyor.com/project/kovalikp/nuproj/build/0.11.30-beta+gba8239254f/artifacts

Cool. Yes, I'll take a look.

@kovalikp : when I compare the pkgdef between the 14 version and the 15 version, I see this:
  [$RootKey$\Packages\{267c66da-0c67-4933-9ae7-a20c53608e49}]
  @="NuProjPackage"
  "InprocServer32"="$WinDir$\SYSTEM32\MSCOREE.DLL"
  "Class"="NuProj.ProjectSystem.NuProjPackage"
- "CodeBase"="$PackageFolder$\NuProj.ProjectSystem.14.dll"
+ "Assembly"="NuProj.ProjectSystem.15, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null"

Without a codebase, VS can't find the DLL when the CLR wants to load it. Can you fix this difference?

GOT IT! Had to:
<UseCodebase>true</UseCodebase>

One last thing. This is just about project in solution.
When referencing NuProj.Tasks, project system does not pull dependencies if they com from project.json. It works fine when using packages.config, so that's why I made NuProj.Tasks.15. I've also updated Microsoft.Build.* references to latest version. In hindsight, this seems to be unnecessary. Sooo...

Should I revert it back to single NuProj.Tasks project and just replace project.json with packages.config there?
Or should I make NuProj.Dev15.nuproj package to match Microsoft.Build.* in NuProj.ProjectSystem.15?
Or should I just leave as it is and make PR?

I'd prefer we consistently use project.json (or upgrade to VS 2017 PackageReference). There are ways to get msbuild to copy local all the dependencies into the VSIX if that's what you're wondering about. I can share some msbuild snippets I've used for that purpose.

BTW, I had an awful time building your branch. I was amazed AppVeyor was able to figure it out with virtually no instructions. I had to execute several restore commands before things started building. Can you write a script or doc or something on how to do it?

There is a build.proj in the root of the branch. This one is being run by the AppVeyor. I've just purged every bin/obj folder and then execute msbuild without any switches from branch root. But if you provide me with those snippets, I will revert GenerateProjectSpecificOutputFolder=true from binaries.proj and return the solution closer to original state. Just with updated packages.

@AArnott could you share those msbuild snippets to include project references from NuGet in the vsix?

Here you go, @kovalikp:
Add this to the projects being referenced (probably through some commonly imported .targets file).
<Target Name="GetDeployableOutputs"
          DependsOnTargets="ResolveReferences;GetCopyToOutputDirectoryItems;BuiltProjectOutputGroup;SatelliteDllsProjectOutputGroup;SatelliteDllsProjectOutputGroupDependencies"
          Returns="@(DeployableOutputs)">
    <ItemGroup>
      <DeployableOutputs Include="
                            @(ReferenceCopyLocalPaths);
                            @(AllItemsFullPathWithTargetPath);
                            @(BuiltProjectOutputGroupOutput->'%(FinalOutputPath)');
                            "
                         Condition=" '%(Extension)' != '.pdb' and '%(Extension)' != '.xml' ">
        <RequiringProjectFullPath>$(MSBuildProjectFullPath)</RequiringProjectFullPath>
        <MSBuildSourceTargetName>GetDeployableOutputs</MSBuildSourceTargetName>
      </DeployableOutputs>
      <DeployableOutputs Include="
                            @(SatelliteDllsProjectOutputGroupOutput);
                            @(SatelliteDllsProjectOutputGroupDependency);
                            "
                         Condition=" '%(SatelliteDllsProjectOutputGroupOutput.WithCulture)' == 'true' or  '%(SatelliteDllsProjectOutputGroupDependency.WithCulture)' == 'true' ">
        <RequiringProjectFullPath>$(MSBuildProjectFullPath)</RequiringProjectFullPath>
        <MSBuildSourceTargetName>GetDeployableOutputs</MSBuildSourceTargetName>
      </DeployableOutputs>
    </ItemGroup>
  </Target>

Then to your ProjectReference items, add this metadata:
<Targets>Build;GetDeployableOutputs</Targets>

For my scenario (which isn't quite like yours, but similar) I also added this metadata to the project reference items:
<OutputItemType>PackagingProjectOutputs</OutputItemType>

I then had a target that redirected all such items to the package, in the right locations. But I suspect these last two steps may not be required for your case.

Thanks. Hopefully I find some spare time to integrate it soon(ish).

So, VSSDK build system excludes MSBuild and NuGet packages implicitly. Extension works just fine without them. I've created a PR  for @AArnott to review. For those who cannot wait, you can try download NuProj.ProjectSystem.15.vsix from CI build here: https://ci.appveyor.com/project/kovalikp/nuproj/build/artifacts

Ok, so I've had an opportunity to try this out with a fresh solution and projects. Things are coming along nicely and a number of the minor annoyances compared to the previous version are fixed. Huzzah!
There still seems to be some work needed... as per below.
I'm using VS 2017 Enterprise,
Microsoft Visual Studio Enterprise 2017
Version 15.0.26228.10 D15RTWSVC
Microsoft .NET Framework
Version 4.7.02046

Installed Version: Enterprise

Installation of the extension and creation of some new .nuproj projects went off without a hitch.
I created a brand new solution with four new projects.

Solution

OtherLib (.NET 4.6.2 Class Library)
Sample.Package (.NET 4.6.2 Class Library)
OtherLib.Nuget (nuproj project)
Sample.Package.Nuget (nuproj project)

Sample solution here: https://github.com/beufordy3k/nuproj-sample-library
I installed the updated NuProj and NuProj.Common (0.11.33-beta-g3fe44656b1) nuget packages from a local feed into my class libraries.
When I attempted to build, I received the following:
The "AssignTargetFramework" task failed unexpectedly.
System.IO.FileNotFoundException: Could not load file or assembly 'NuGet.Frameworks, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.
File name: 'NuGet.Frameworks, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=31bf3856ad364e35'
   at NuProj.Tasks.AssignTargetFramework.ConvertToPackageFile(ITaskItem output)
   at System.Linq.Enumerable.<>c__DisplayClass7_0`3.<CombineSelectors>b__0(TSource x)
   at System.Linq.Enumerable.WhereSelectArrayIterator`2.MoveNext()
   at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
   at System.Linq.Buffer`1..ctor(IEnumerable`1 source)
   at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
   at NuProj.Tasks.AssignTargetFramework.Execute()
   at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
   at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__26.MoveNext()

So I enabled fusion log binding and there is a failure when attempting to locate the Microsoft.CodeAnalysis.CSharp assembly.
See attached file:
Microsoft.CodeAnalysis.CSharp.resources, Version=<IP_ADDRESS>, Culture=en, PublicKeyToken=31bf3856ad364e35.txt
It appears that this assembly used to ship next to msbuild in v14 but is no longer present in the new v15 msbuild that comes with VS 2017.
I did find this issue in the msbuild github repo, https://github.com/Microsoft/msbuild/issues/1183 that seems like it's at least tangentially related.
Please let me know if I can provide any more detail or if there's a workaround/fix/something missing already for this.
Looking forward to this next release. Thanks!

@AArnott @kovalikp any more progress on this? anything I can do to test/help out?

I should have time to look at this over the weekend. I'm assuming you don't have any other version of VS installed on this machine?

@kovalikp I actually have both VS 2015 Enterprise and VS 2017 Enterprise installed.

I'm getting the same issue as @beufordy3k on a copy of VS 2017 Professional:
System.IO.FileNotFoundException: Could not load file or assembly 'NuGet.Frameworks, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.
This was using the latest artifacts from AppVeyor, commit 2696627b.

I'm seeing this error for the same commit (2696627b) as @jamesharling.
Like @beufordy3k, I also have VS2015 installed.

I found this issue on the NuGet github site which seems to be relevant: https://github.com/NuGet/Home/issues/5242
It talks about VS 2017 Update 3 updating the assembly version to 4.3, the exception message says it's looking for version 4.0, and the issue says that devenv.exe.config doesn't have the assembly binding redirects to make it work (and they won't be added).
I'm still on VS2017 Update 2 as Update 3 is still pre-release, so I went digging to check out where I can find NuGet.Frameworks.dll on my local drive, and what versions they are.
<IP_ADDRESS> - C:\Program Files (x86)\MSBuild\NuProj
<IP_ADDRESS> - C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\CommonExtensions\Microsoft\NuGet
Interestingly, C:\Program Files (x86)\MSBuild\NuProj has multiple NuGet.*.dll files, but C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\NuProj has none.
There are many other instances of it on my drive, but they seem to either be for other situations (.net core, sdk installations) or other languages.
I then enabled the fusion logging to see what VS was trying to bind to when building the NuProj project. It was looking in two locations:
C:/Program Files (x86)/Microsoft Visual Studio/2017/Enterprise/MSBuild/15.0/Bin/
C:/Program Files (x86)/Microsoft Visual Studio/2017/Enterprise/MSBuild/NuProj/
I checked both those folders (and their sub-folders) and there was no NuGet.Frameworks.dll to be found.

@kovalikp  is this something you want to follow up on and fix?

Just wanted to mention that I was able to get this working for VS2017, in case it helps anyone else.
I downloaded the vsix package from the CI server per this comment. After installing it, I started getting the error mentioned above for "Could not load file or assembly 'NuGet.Frameworks, Version=<IP_ADDRESS>". I turned on fusion logging and worked through the missing DLLs. By downloading the v4.0.0 nuget packages and extracting/adding the following DLLs to my "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\NuProj" folder, I was able to get my .nupkg files:

NuGet.Frameworks.dll
NuGet.Packaging.Core.dll
NuGet.Packaging.Core.Types.dll
NuGet.Packaging.dll
NuGet.Versioning.dll

I see in the vsix package, there's a $MSBuild folder that seems to be what gets put into the MSBuild\NuProj folder. Maybe those DLLs just need to be included in there?
and thanks for the work on this project; it is a very useful one.

I've finally got some time to look at this again over the weekend. Just getting unit test working under VS2017 build system is little bit more complicated than I expected. So, work in progress...

It's been a month. Any updates?

Any updates ?

We have to have some way to open one single project from 2015 and 2017 studio. Now it's not possible and it's frustrating.

Same requirement here. A NuProj Project will not load in VS2017. Appreciate the work !

Published as https://marketplace.visualstudio.com/items?itemName=NuProjTeam.NuProj2017

@AArnott 404

You're right, @Pzixel. It wasn't marked "public". Thanks. I've fixed that.

Unfortunately, is not working. At least not for me in 2 different computers. Even if nuproj files open correctly, when building they fail with
MSB4018	The "AssignTargetFramework" task failed unexpectedly.
System.IO.FileNotFoundException: Could not load file or assembly 'NuGet.Frameworks, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. El sistema no puede encontrar el archivo especificado.
File name: 'NuGet.Frameworks, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=31bf3856ad364e35'
   at NuProj.Tasks.AssignTargetFramework.ConvertToPackageFile(ITaskItem output)
   at System.Linq.Enumerable.<>c__DisplayClass7_0`3.<CombineSelectors>b__0(TSource x)
   at System.Linq.Enumerable.WhereSelectArrayIterator`2.MoveNext()
   at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
   at System.Linq.Buffer`1..ctor(IEnumerable`1 source)
   at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
   at NuProj.Tasks.AssignTargetFramework.Execute()
   at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
   at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__26.MoveNext()

WRN: Assembly binding logging is turned OFF.
To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
Note: There is some performance penalty associated with assembly bind failure logging.
To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].

And the source points to
C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\NuProj\NuProj.targets	376

This is happening in a computer where NUPROJ for VS2015 used to work fine.  Is there any special prerequisite for this version?
I'll try to take a look with more detail later as well as trying it out on a third computer.

I'm sorry to hear that, @dmalanij. Can you open a new issue to track this one? Hopefully @kovalikp  will know what's going on.


Payouts disabled !!!

hello , i create a pool with stratum and MPOS , pool works perfectly , it collect coin but my only problem is i can't send coin to the wallet this is the problem !!!
"We are investingating issues in the backend. Your shares and hashrate are safe and we will fix things ASAP.
Payouts disabled, you will not receive any coins to your offline wallet for the time being"
How can i fixed this problem pleaze !!!

Check your log files for the payout cron, probably not able to cover the coin payouts with the available balance.

the log files alwayes want me to force payout cron with -f !! i forcet it with -f and the same probleme !
and i have a 5 TTC i think i can send them to the wallet !!!

You didn't scroll back in the log to find the actual error message of the cron.

Oh you edited. So there you go, wallet value does not cover your requested payout. Check if it may not be confirmed in the wallet or simply missing.

see that !!!

i have 6 coin mined and i can't send them !!
but the liquid assets -6 !
What's the problem ? how resolve that !

No idea, seems like you have found some blocks but they were not paid into the wallet at all. Try to find help for the person creating your coin daemon, this is not something that can be fixed in MPOS.
MPOS found blocks in your wallet, added those to the database and paid the users. The wallet on the other hand does not show the discovered blocks balance at all. Maybe the blocks have been added to a wrong wallet account (MPOS pays out ONLY from the default account ""). You can check your local coind accounts where the money went and transfer them to the address associated to your default account.

My system of payout is PPS ( pay per share ) and i don't have any block in my pool.
it is necessary to have a block to send money to the wallet ?
i think with PPS i can send them without finding a block !

Sigh ... As the documentation states: DO NOT RUN PPS UNLESS YOU KNOW WHAT YOU ARE DOING.
Reason: PPS pays all miners UP FRONT. You will receive coins right away even though NO BLOCK IS FOUND. If you have no coins to buffer for long rounds (blocks take longer than expected to be discovered) you have to pay miners out of your own pocket.
Coins do not magically appear from nowhere. You either send coins to the wallet yourself or mine a couple blocks yourself without paying out.
You can send coins to your mining wallet at any time, it does not require the wallet to find a block for that. So fill up that wallet and then you are fine.
But a warning: PPS is dangerous - get a couple long rounds with people mining coins and you have to pay them from your own coins. If your pool dies due to a long round, you will be out of coins and have a lot of pissed miners at  hand.

So i should have a wallet balance > locked for user , to have a positive liquid assets and to can send coin to the wallet ???
I just put PPS as a system of payement because i alwayes mine and i can't find a block i don't have a chance because i mine with my personel computer just with 1 worker.

Sigh ... No blocks, no coins. Even PPS does not change that. It's a system to give users coins per share, but the pool operator has to pay these coins out of their own pocket if no block is found.
Don't run a pool yourself then. If you don't have the hashing power to do it, don't do it. Join any existing pool and mine there.
PPS is NOT what you think it is, so don't use it.
Case closed.

THX for your help.
but i mine by my self because i configure a local pool with ubuntu and i want test it if the pool work perfectly i will share the pool in a VPS server and collect many users !!

Then word of advice: Don't run PPS. You don't seem to have grasped the concept and I would not like to see pissed of miners due to that :-)
Run PPLNS, it's the fairest system. You don't find a block yourself but at least you won't run into those issues.

ok i will change to PPLNS thanks a lot THESERAPHER :)))
my speed of hashrate is between [ 10.. 17 ] Kh/s with this speed can i find a block ?

Don't forget to reset the pool to 0 before changing :-)
No, you probably won't find one. Depends on the difficulty of the coin of course. Use online hash rate calculators (http://www.coinwarz.com/calculators) to figure that out.

thx and i don't have a chance :(( i will add my friends to can find a block


Replace usage of ctl:ruleEngine=Off by ctl:ruleRemoveByTag=OWASP_CRS

As at least some of our users are using multiple rulesets togather (for example one of our sponzors, Kemp Technologies), we should try to not collide with other rulesets - in this case, do not turn off the whole ModSecurity but only CRS instead.
Btw, is ctl:ruleRemoveByTag really unsupported by ModSec3 or it's only outdated documentation?

There is other work to do:

prefixing TX variables names
prefixing SecMarkers names
what about ctl:auditEngine=Off?

As at least some of our users are using multiple rulesets togather (for example one of our sponzors, Kemp Technologies), we should try to not collide with other rulesets - in this case, do not turn off the whole ModSecurity but only CRS instead.

Good catch, congrats!

Btw, is ctl:ruleRemoveByTag really unsupported by ModSec3 or it's only outdated documentation?

I think this is "only" an outdated information. This ctl action is supported in v3, see the parser and the action's code.

* what about `ctl:auditEngine=Off`?

As I see, the ctl:auditEngine isn't supported. The engine allows this action, but the parser creates a "fake" action here.
This is "just" a simple action, it does nothing.

* what about `ctl:auditEngine=Off`?

As I see, the ctl:auditEngine isn't supported. The engine allows this action, but the parser creates a "fake" action here.
This is "just" a simple action, it does nothing.

I meant, if we should replace also ctl:auditEngine=Off to not collide with other rulesets. Anyway, ctl:auditEngine=Offis not supported by ModSec3?

I meant, if we should replace also ctl:auditEngine=Off to not collide with other rulesets.

yes, that was clear for me :).

Anyway, ctl:auditEngine=Offis not supported by ModSec3?

Well, the engine allows this directive (you can't get any error message), but it has no effect. So, we can say, it isn't supported. :)
But it would enough for us.

Should the msg action be amended to reflect the change in behaviour?
e.g.
“Disable the rule engine based on sampling_percentage…”
=>
“Disable the Core Rule Set based on sampling_percentage…”
or similar?

Thank you @azurit, this is a good move.
I do not think we need to prefix var names and sec markers, though. It makes everything more complicated and people who run our rule set and writing their own rule sets are very likely to be aware of our use of vars and sec markers.
Exception: If there would be a simple var / marker name where it is likely somebody bumps into it by accident.


Add support for local dependencies

Related issue(s)
closes #399
Description
This PR allows us to specify paths of local dependencies inside a crate's Nargo.toml dependencies array.
i.e. For a project with structure:
root
 ├── bin
 │     ├──src
 │     │   └── main.nr
 │     └── Nargo.toml
 └── lib
     ├──src
     │   └── lib.nr
     └── Nargo.toml

by adding the following line to the dependencies array in bin/Nargo.toml
local = {path = "../lib"}

bin/src/main.nr can then make use of the functions contained within lib/src/lib.nr
Summary of changes
Local dependencies can now be specified in Nargo.toml which will then be available inside the crate.
I haven't tested this past the immediate imports (i.e. I've tested local dependencies but not local dependencies of dependencies) however, even without this, it's a useful addition as it allows proper testing of libraries.
We already reject any dependencies which make use of local dependencies: https://github.com/noir-lang/noir/blob/20048e7ce9b651b0b46083ef5e6674331011eb10/crates/nargo/src/resolver.rs#L93-L103
Dependency additions / changes
N/A
Test additions / changes
N/A
Checklist

[x] I have tested the changes locally.
[x] I have formatted the changes with Prettier and/or cargo fmt with default settings.
[x] I have linked this PR to the issue(s) that it resolves.
[x] I have reviewed the changes on GitHub, line by line.
[x] I have ensured all changes are covered in the description.

Additional context
(If applicable.)

Thanks for this, Tom!


The first web link in the README file is wrong.

It should be
https://localjoost.github.io/Reading-QR-codes-with-an-MRTK2-Extension-Service/
rather than
https://localjoost.github.io/Reading-QR-codes-with-an-MRTK2-Extension-Service/'/

The one under blog1 branch!

Yeah Yeah I know. I adapted a few more


Script reflection inspector

Allow adding inspector for custom Script by using reflection

Added reflection for basic types (number, float, boolean, string and SceneObject as UUID).


Svensk Postutdelning doesn't work in HA with IPv6

Svensk Postutdelning doesn't work in HA with native IPv6 address.

Need errorlogs etc to determine errors. Something more than "do not work"

I believe the integration just doesn't support dualstack.
But it don't even start up.
But I will try give you logs of basically nothing:)

Hi, I think you can close this issue. I have found some issues with DNS resolving which is not related to HA..


Mailto Links aren't working

I see the Locale for the proper wording. But I'm getting the "Goto mailto:// ...."
One thing that's different with this mailto that might be breaking it is that I don't have recipients, just Subject and Body.
Also; issue #35 has cropped up again, not sure if it's related or not.

@rtgibbons uh oh. could you double-check the version you're on? 1.15?

Sorry; didn't mention; It was the first thing I checked (that I was on latest release).
I was pretty slammed today and didn't get a chance to dig into anymore. Not sure when I would be able to on my own; but LMK if you have any other questions, or with to hope on Slack/Gitter

could you send the page you're on so I can debug? or more specific html examples?

It's a site in development right now :/ I'll try to find that does the same thing.

Boom.
It's caused when the recipient is blank, and just the Subject or Body is included.
https://jsfiddle.net/rtgibbons/fm8dpcjp/

huge thanks for the test case. I was able to reproduce the mailto issues, but not #35... did you ever figure out if that was related? all of my test cases for #35 seem to still be working for me..

it was apparent in the links with body content and no recipient in the test cases i sent.

ah, got it. carriage returns!


add typings

Hello
Can i add a typing for RNRF,Thanks.

Hi @bang88 are you also plaining to maintain this? My sense is that this will break quite often given the number of changes that React and RNRF will experience in the upcoming releases.

@rturk Totally agree.
I don't know for the other collaborators, but I'll prefer Flow type checker instead of TypeScript.

@rturk  That's fine,but i think if you guys found an issue in typings you can improve it,not just me.
@charpeni  I don't want choose Flow or typescript,just give this a try for lntellisense when use https://code.visualstudio.com/
Accept or not your choice. I am free.

I like this even though it means a little more maintenance.  It can only really be maintained by people who use vscode or something else that interprets these typing files.  So it might break or be outdated from time to time, but thats better than not including it IMO.

@joenoon makes sense. Worse case scenario this will only affect folks using vscode, and it will be always another tool to validade the code.


Fix deprecation warning, close #23

This is merged, but only @feross can publish a new version :)

LGTM, sorry for the delay! Giving publish rights to other contributors is on my todo list.

Published as 4.0.2.

Thanks @feross!


Includes information about Storage and Network for a Composed System

This commit:

Adds Storage and EthernetInteface references into Composed System resource
Implements endpoints to Drive resource of a Composed System
Implements EthernetInterface endpoints of a Composed System
Adds unit tests to the new endpoints and api classes
Fixes endpoints of NetworkInterfaces of Composed System because now we are getting server profile by id instead of server hardware

Closes #337
Closes #341

Maybe we have to change the CHANGELOG.md as well

@victorhugorodrigues We can put all tasks solved in lot avoiding merge conflicts to each PR. What do you think? I thought we had told about this before with team.


kapt is in maintenance mode

Information from kapt official page is:
kapt is in maintenance mode. We are keeping it up-to-date with recent Kotlin and Java releases but have no plans to implement new features. Please use the [Kotlin Symbol Processing API (KSP)](https://kotlinlang.org/docs/ksp-overview.html) for annotation processing. [See the list of libraries supported by KSP](https://kotlinlang.org/docs/ksp-overview.html#supported-libraries).
Are you plan to rewrite it to KSP?

The warning in Kotlin docs may look a bit worrying, but that's not something we need to care about. This plugin is written for raw annotation processing API that is a part of Java specification - thanks to that we can process both, Java and Kotlin sources using the same implementation. Kapt is basically a tiny abstraction that makes Java's annotation processing possible on Kotlin sources and that's all we need - we're not really looking for Kotlin specific features here, so this approach works for us.
Speaking about KSP:

https://github.com/javalin/javalin-openapi/issues/19

It could be supported as an alternative processor, purely for Kotlin, but we'd need to write some abstraction to avoid duplicating the same implementation in both tools. I was looking at it a while ago, but it was really unstable, and it'd be quite hard to reflect all current features there. The only real benefit that it'd give us is performance - KSP is simply faster, because it works directly on Kotlin sources. I'm gathering some experience in working with it in Sqiffy, so I'm kinda keeping track of this topic.


v10.17.0 was published without child packages being updated

1. Describe the bug
When v10.17.0 was released on NPM the dependent framework packages weren't released which results in an import error due to missing dependencies.
 ERROR  Pre-transform error: Failed to resolve import "@motionone/vue" from

3. Steps to reproduce
Steps to reproduce the behavior:

Install v10.7.0 in a framework specific project (Vue in my case)
Try and import from the @motionone/vue package
See error

4. Expected behavior
Child packages to be released with the parent package

That’s odd - this package has been deprecated (see docs for upgrade paths). I can’t see any remaining references to it. Can I see the versions in your package.json?

@joneath  You can install [@motionone/vue] separately (https://www.npmjs.com/package/@motionone/vue?activeTab=readme)

Ah, I hadn't realized that. If anyone hit's this issue with Vue/Nuxt, the project has moved to @oku-ui/motion-nuxt and is a drop-in replacement. Closing now. Thanks @mattgperry


Send dynamic ajax value to formData

Hello If somebody could help me I would be eternally grateful.
My problem is this.
I have this code to send a form for saving in a DB
$.ajax({
                    url      : '/modules/forms.php',
                    type     : 'POST',
                    dataType : 'JSON',
                    data     : {
                        table    : 'users',
                        validate : {
                            password        : { encrypt : true },
                            confirmPassword : { ignore  : true },
                            archivos        : { ignore  : true },
                            seccion         : { ignore  : true }
                        },
                        form     : values
                    },
                    success  : function(data){
                        insert_id = data.insert_id;
                        $('button.start').click();
                    }
                });

The ajax send me back a json which I need only one var for sending to the uploader (data.insert_id). I don't know how to send that var via formData option in the uploader. This is what I have in the application.js
var form = $('form').attr('data-form');

   $("#"+form+"-form").fileupload({
       url      : '/ajax/uploader.php'
   });

   //Settings
   $("#"+form+"-form").fileupload('option',{
       maxFileSize : 4000000,
       minFileSize : 10000,
       acceptFileTypes : /(\.|\/)(gif|jpe?g|png)$/i,
       previewMaxHeight: 180,
       previewMaxWidth : 180,
       previewAsCanvas : false,
       paramName       : 'archivos[]',
       //formData        : { record : insert_id },
       start           : function(){
           $('img.loader').css('display', 'inline');
           $('.preview img').css('opacity', '0.8');
       },
       stop            : function(){
           $('.preview img').css('opacity', '1');
       }
   });

The problem is that I can't send all the data (the form data) to the same script for processing it (uploader.php or whatever script) because are independent.
Anybody can help me to send the hell var to the script?

I've added a new page to the documentation that should provide you with the necessary information:
https://github.com/blueimp/jQuery-File-Upload/wiki/Submit-files-asynchronously

Hi thank you so much for the code, this is just what I needed.
Is there a way to have the data object for using it in other script?
I think is like this $.blueimpUI.fileupload.prototype.options.add.call(this, e, data);

Thanks for the help, that is what I wanted!


Drop support for all Django versions prior to 2.2

https://docs.djangoproject.com/en/3.0/releases/3.0/#third-party-library-support-for-older-version-of-django

Third-party library support for older version of Django
Following the release of Django 3.0, we suggest that third-party app authors drop support for all versions of Django prior to 2.2. At that time, you should be able to run your package’s tests using python -Wd so that deprecation warnings appear. After making the deprecation warning fixes, your app should be compatible with Django 3.0.

COVID RE-Plan


Fix Nodejs 10x Buffer() deprication warning

When I run command using the CLI with Nodejs 10.x, I get the following message:
C:\p\office365-cli (orgassets-list -> origin<EMAIL_ADDRESS>λ o365 spo orgassetslibrary list --debug
(node:7184) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.

Expected:

No deprecation warnings

@VelinGeorgiev is this coming from a feature branch? It seems that the dev branch doesn't have this command.

That alers pops on every commamd. Try o365 login and you'll get it if you use Nodejs10

I ran o365 login on Node 10.15.3 and didn't get the warning.

Well we have to see where in the solution use Buffer() and change it to Buffer.alloc() || Buffer()

I'm not sure if we use it in our code at all. I suspect our downstream dependencies, but let's have another look to get a solid repro case.

I can see the issue when running the CLI in Node v10.16.3 on Windows.

The reason this issue is visible only on Windows is because we're using the deprecated call in the WindowsTokenStorage, here:
https://github.com/pnp/office365-cli/blob/5e0d6efa37b3b0478a0de13bcf7df5319eeced8a/src/auth/WindowsTokenStorage.ts#L100
and here:
https://github.com/pnp/office365-cli/blob/5e0d6efa37b3b0478a0de13bcf7df5319eeced8a/src/auth/WindowsTokenStorage.ts#L134
I'll try to get it fixed before we ship v2.

Merged manually. Thanks!


Create SECURITY.md file

Create a security.md file. This is a first step towards achieving a 10/10 via the Scorecards tool.

Feedback welcome.

@goneall: If and when you have time, I'd be grateful for a review!

Thank you, @goneall!


Add detailed payment view

User story
As a user, I want to see detailed information about a scheduled payment.
Acceptance criteria

A detailed dialogue is shown when a payment component is clicked.

Additional context
Blocked by #96

Closed by #146


Created Demon: The Fallen (cWOD)

New Demon: The Fallen sheet. Includes HTML, CSS, JSON, README, preview image and sheet images. Uses classic WOD storytelling system.

Now that the PR has been accepted, you'll have to update the image links to the raw version of each image in our repo. (you can find this by going to the image and clicking the "Download" button at the top right) So, for the AF_Faith_Health_divide.png image you would use the link https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/CWOD-Demon/img/AF_Faith_Health_divide.png

Got it. Thanks!

Hey, just wanted to say you made a really fantastic looking sheet. Keep up the good work!

Thank you for the great feedback! I'm already thinking about improvements so there will definitely be more PRs in the future.


global map access in-consistency

What reproduces the bug?

I found bpftrace can't keep consistency access of global map;
in the following code, first uprobe expected called before second one, because the first function probed calling the second function probed;
however, the condition in second probe matched, which indicate the key in golbal map @trans_end can't been saw, after first probe has
set up;
as a evidence the first probe already executed, the map @t_e with tid as key can be accessed in second probe;
// end trans
uprobe:/home/yunxing.cyx/ob1.obs0/bin/observer:0x00000000035f9df0
{
  $trx_hash = (uint64)*(arg2+0xe0);
  @trans_end[$trx_hash] = nsecs;
  @trans_end_tid[$trx_hash] = tid;
  @t_e[tid] = $trx_hash;
}
// part commit
uprobe:/home/yunxing.cyx/ob1.obs0/bin/observer:0x00000000074e6420
{
  $trx_hash = (uint64)*(arg0+0x68);
  @part_commit[$trx_hash] = nsecs;
  @part_commit_tid[$trx_hash] = tid;
  if (@trans_end[$trx_hash] == 0) {
    printf("%lu, %lu, %lu, %s\n", $trx_hash, @t_e[tid], @trans_end_tid[$trx_hash], ustack());
  }
}

the backtrace can evidence the call relationship:
4798012705792818314,<PHONE_NUMBER>792818314, 0,
       oc::part::commit(unsigned long, bool)+0
       oc::trans::end_trans(bool, oc::TransDesc&)+542
        oc::PartService::end_trans(bool, oc::TransDesc&)+112

here the first probe on function : oc::trans::end_trans
and the second probe on function : oc::part::commit
bpftrace --info

#bpftrace --info
Kernel helpers
get_current_cgroup_id: yes
send_signal: no
override_return: no
Kernel features
Loop support: no
#bpftrace --version
bpftrace v0.9.4
#uname -r
4.19.91-007.ali4000.alios7.x86_64

It is years later, and probably no longer relevant but -- did you see the first probe at all? Even if it was attached at the right point (i.e. the addresses are all correct), you don't have any guarantee that you won't see the second probe first. The probes don't attach simultaneously/atomically, so you could attach probe2 and have an event first before probe1 is attached. Even if they did attach simultaneously/atomically that would still be true, because you could attach at the instruction before commit calls end_trans (but after the probe would have fired). So in general, I think you just need to handle that case.
Maybe this is another good argument for #1157. I'm not sure it would solve every case like this, but at least the window would be reduced to the second "you happened to be in the function already" case rather than the time to attach.
I hope that's helpful, and I'm happy to expand further. But given the bug was missed and is likely stale, I'd suggest that @jordalgo close it out (and I'm sure it can be reopened if there is something else or more details).


[Doc improvement][webhooks and connectors]

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/webhooks-and-connectors/how-to/connectors-using.md
92
7
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Docs Build status updates of commit ef13b82:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/webhooks-and-connectors/how-to/connectors-using.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/webhooks-and-connectors/how-to/connectors-using.md
92
7
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Docs Build status updates of commit 81a286b:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/webhooks-and-connectors/how-to/connectors-using.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


tests: add complete tests for shouldSkip

Added tests to a different file to make it clearer where you can find tests related to skipped steps. It also avoids merge conflicts :)

Very nice, thanks!


Looking to improve Grailsort with ideas from Wiki; help wanted!!

Hello, Bonzai!
I've been quite interested in Wikisort and Block (Merge) Sort in general for a while now. Back in AP Comp Sci, you could say I was a bit floored when I found out a stable, O(1) space, and worst-case O(n log n) time sort actually existed. :P
I've also done a bit of personal studying into sorts, and forked over a decently popular "algorithm animation" program, which I've been working on for quite some time now! In fact, here are some videos I made regarding Wikisort (Feel free to use them!):
WikiSort - Bar Graph: https://youtu.be/ciQG_uUG6O4
WikiSort - Scatter Plot: https://youtu.be/mMr4b0Yg4yg
WikiSort - Color Circle: https://youtu.be/OWxuXJQ3Guw
Wikisorting over 16k Numbers: https://youtu.be/X3SyGvfj1d8
I've been doing a lot of research on and off not only into Wikisort, but also Andrey Astrelin's Grailsort (I saw he talked to you in another post), which turns out to be a bit of a different implementation of Block Merge Sort. What it sacrifices in terms of adaptability in some places (best-case O(n log n) time instead of Wikisort's O(n) best-case), it makes up with raw speed in other cases (I would wager Grailsort's "Build Blocks" function is one of the fastest merge sorts out there).
I've done some visualizations of the sort here; hopefully they demonstrate the major differences between Wiki and Grail:
Grail Sorting 2,048 Integers: https://youtu.be/LJbXsV_qGbs
GrailSort Redistributing Its Internal Buffer: https://youtu.be/8SV18oH8kPc
A Detailed Visual of GrailSort: https://youtu.be/U29NB96Y-9w
Grailsorting over 16k numbers: https://youtu.be/kZJ7h307bcQ
I also have some refactored repos for Grailsort. They're rough drafts, but hopefully the code is easier to read than the original:
Java Version: https://github.com/MusicTheorist/Grail-Sorting-for-Java
C/C++ Version: https://github.com/MusicTheorist/Grail-Sort-Refactored
I'm also looking to create some documentation for both Grail and Block Merge Sort to make them much more intuitive, like what you've done with your docs.
I basically agree with Mr. Astrelin on the major changes between Grail and Wiki: "[Grail] mainly differs by swapping blocks and their tags in parallel before merging, and shifting the position of an internal buffer used for locally merging/appending portions of an array".
While Grailsort is a great algorithm, I do see some significant room for improvement, and I thought I would ask you for some help if you're interested! There are definitely aspects of Wikisort I think Grailsort would benefit from, and hopefully a conversation would help to make sure I understand Blocksort alright!
My questions for now would be:

What do you consider the fastest/most efficient step(s) in Wikisort? What about the slowest/least efficient?
I saw one of your closed issues asking if a backwards merge was possible. Is it, and even if it is, would it possibly break stability?
What was your strategy for getting Wikisort to be adaptive?
Do you have any updates on why Java's JIT compiler slows down Wikisort?
Are there any important edge cases to watch out for when reordering/swapping A and B blocks?
What's the complexity of your "extract keys" method? Grailsort's "find keys" method alone  is O(n log n) comparisons in the worst-case, i.e. when there are less than 2 * sqrt(n) unique keys in the array.

Feel free to answer whenever and however detailed you want. Hope you're staying well during the pandemic!
Thanks for reading!!

John

John! I feel like I'm slightly late in responding to this, and I know we covered some of the questions on the Discord, but I'll finally attempt to form a coherent response on here.

Every step of WikiSort is as efficient as I was personally able to make it, so you'd have to ask someone else. :)

I think I was just excited at the time from remembering that backwards merging is a thing that exists, so I created an issue about it. I'm trying to remember what backwards merge even is though (it's been a while) – is that when B is swapped over to the internal buffer instead of A? That would imply that merging two sorted arrays where one is of length 1000 and the other is of length 1 would only need a swap array containing 1 item to handle the merge rather than 1000, since we'd only be using the first B.length values from the internal buffer rather than the entire buffer. I suppose that would save (A.length - B.length) swaps if such a thing were possible.

We covered this on the Discord, but WikiSort only pulls out the internal buffer to the start or end of the array and keeps it there during the entire merge process, so when comparing A and B blocks or subarrays it's trivial to determine whether they are already sorted. That's all I did. My understanding is that Grailsort makes this much harder to implement due to the way it rolls its internal buffer through the array.

I have no idea why the Java version is randomly so slow and I wish I did. I haven't touched the Java version since I wrote it though.

Hm I'm not sure what you mean by this. The algorithm should handle any required edge cases, and the docs should cover it. As long as they're smaller than the internal buffer and are rolled into position correctly everything should work fine.

WikiSort extracts a buffer once per level of the merge, due to the inherent difficulty of being able to find √(array.length) unique values at the smallest levels of the merge, so since there are log(n) levels I'd have to imagine it isn't allowed to be any slower than O(n), right? From what I remember finding unique values is a linear search and rotating them to the start of the array has an overlap of up to √n values, so just thinking out loud it's probably O(n + √n) which is O(n). Can't guarantee that's 100% accurate though.

By the way it's good to remember that algorithmic simplicity is sometimes more important than absolute optimal running time. Back in 2014-2015 some places were considering WikiSort for internal uses but it's already a pretty unwieldy algorithm with many edge cases (and maybe even hacks) to achieve its current run time. Adding more layers of edge cases to shave some swaps here and there would just make it even less likely to be adopted, even if logically it would be a more efficient algorithm overall. People just want a reasonable guarantee that they (or someone else) won't accidentally break the algorithm in the future and have no idea how to fix it.
Grailsort by comparison is pretty clean and short – although I really wish it had some solid documentation!

Mike

It's on the way, and you're helping us out a ton!! :)


Feature request: Offer ways to configure reverse DNS

Discussed in https://github.com/kube-hetzner/terraform-hcloud-kube-hetzner/discussions/223

Originally posted by otavio June  7, 2022
On other deployments we've been doing, using standalone servers in Hetzner Cloud, we've done the reverse DNS for the nodes. This would be something we'd like to do for our K8S cluster as well. However, it seems we cannot do it without hacking the module. Are we missing something?

I have tried giving this a quick shot and am blocking the conditional requirement - only create the rdns ressource if the base_domain variable is present. I do not think it is doable (as Terraform doesn't support if-else blocks, in my understanding).
That would mean that if we need to support that feature, we would always need to apply the rdns and force users to provide a base domain. That is not something I want to impose on them, as it is not that important.
Maybe there is a way to accomplish this if-and-only if the base_domain is defined? For now, it's not obvious to me personally, but ideas are welcome!

Ah, the count meta-argument can be used to accomplish the conditional logic.

This feature has been implemented in the above PR and released as part of v1.4.0.


Added code for cyclic sort in python

🛠 Issue (Number)
Closes #74
👨💻 Changes proposed
Added code for cyclic sort
✔ Check List (Check all the applicable boxes)

[ ✔] My code follows the code style of this project.
[ ✔] This PR does not contain plagiarized content.
[✔ ] The title of my pull request is a short description of the requested changes.

📷 Screenshots

@Kumar-laxmi updated the README.md
Please check.


MAIL_CONNECTION doesn't fetch driver

Thanks for all of the amazing work on Adonis. Love it!
I was trying to get adonis-mail installed, and I ran into some issues in finding a driver. I am wondering if maybe there is something wrong with how MAIL_CONNECTION fetches the driver from the config.
My .env
MAIL_CONNECTION=ses
SES_KEY=ABCD
SES_SECRET=12345
SES_REGION=us-west-2

My mail.config
{
  connection: Env.get('MAIL_CONNECTION', 'smtp'),

  ses: {
    driver: 'ses',
    apiVersion: '2010-12-01',
    accessKeyId: process.env.SES_KEY,
    secretAccessKey: process.env.SES_SECRET,
    region: process.env.SES_REGION,
  }

}

As far as I can tell from the docs and the source code, setting the connection should tell adonis-mail to check for a config key called ses and then it should find the ses.driver from the object. However, when I try to send mail with this configuration, I get a E_INVALID_MAIL_DRIVER error.
I have discovered that if I set a driver: 'ses' directly into my mail.config, then things work smoothly. Is this a bug, or am I missing something? It seems redundant to specify the driver in two places.
My WORKING mail.config
My mail.config
{
  driver: 'ses',
  connection: Env.get('MAIL_CONNECTION', 'smtp'),

  ses: {
    driver: 'ses',
    apiVersion: '2010-12-01',
    accessKeyId: process.env.SES_KEY,
    secretAccessKey: process.env.SES_SECRET,
    region: process.env.SES_REGION,
  }

}

Thanks!

Just tried it and all works great for me. Can u share for which version you are facing this issue, means @adonisjs/mail version in your package.json file.

I'm using version "adonis-mail-provider": "^2.0.2" with "adonis-framework": "^3.0.10".
If I use the first config file and env file that I listed above, and then try to send mail with Mail.raw, I get an error saying that there is no valid mail driver.
However, if I add the driver: "ses" value to the top-level of my mail.config file, then it works.

Ohh yeah, you are using 3.x with new configuration file
If it’s a new project I suggest using dev release of version 4.0 http://dev.adonisjs.com

A-ha! I'll make the switch! Thanks!

@dusbuss  I'm confused, I can't see mail.config, Are you referring to config/mail?

Yes. Sorry - config/mail.
Though, I think that the issue was that I was using this package with Adonis 3 and not Adonis 4. It works correctly on Adonis 4.

It's strange am getting this error "E_INVALID_MAIL_DRIVER: Unable to locate null mail driver" ,my config is the same as https://github.com/adonisjs/adonis-mail/blob/develop/examples/config.js

Hmm reading this now, it looks like I need the old config because I'm on Adonis 3. Any pointers where I can get that config because the link on the docs it doesn't seem to be  working

https://github.com/adonisjs/adonis-mail/blob/7053c2ace6e270112f520eceb89b1e6315eb71c7/examples/mail.js

Thanks


How can I delete all data in table without parameter

Like title,I wanna clear table,or delete data by sql ,but I can't find any way

interface MyDao {
    @Query("delete from my_table_name")
    void deleteAll();
}


[Bug] Sql parse error

Search before asking

[X] I had searched in the issues and found no similar issues.

Version
1.1.3
What's Wrong?
when i exec this sql
 select
	    a.shop_no,a.attribute_detail_no as channel_detail_no,channel_detail_name
	    from
	    (
	        select shop_no,
	               max(attribute_no) attribute_no,
	               max(attribute_detail_no) attribute_detail_no
	        from retail_mdm_ods.shop_extension
	        where flag=8 and status=1 and attribute_no IN ('20160420000004') group by shop_no
	    ) a join (
	        select attribute_detail_no as channel_detail_no,`name` as channel_detail_name
	        from retail_mdm_ods.shop_attribute_detail
	        where attribute_no IN ('20160420000004') and status=1
	    ) b  on a.attribute_detail_no=b.attribute_detail_no

Will raise error msg like Unknown column 'attribute_detail_no' in 'b'.

But when i exec sql according to the above sql，like
select a.organ_new_no,a.organ_short_name,b.channel_detail_no,b.channel_detail_name
	from
	(
		select * from dasuan_analysis_data.dim_main_brand_org_info
	)a left join(
		 select
	    a.shop_no,a.attribute_detail_no as channel_detail_no,channel_detail_name
	    from
	    (
	        select shop_no,
	               max(attribute_no) attribute_no,
	               max(attribute_detail_no) attribute_detail_no
	        from retail_mdm_ods.shop_extension
	        where flag=8 and status=1 and attribute_no IN ('20160420000004') group by shop_no
	    ) a join (
	        select attribute_detail_no as channel_detail_no,`name` as channel_detail_name
	        from retail_mdm_ods.shop_attribute_detail
	        where attribute_no IN ('20160420000004') and status=1
	    ) b  on a.attribute_detail_no=b.attribute_detail_no
	)b ON  a.organ_new_no=b.shop_no

The Sql will exec successful. ...

As  i see， the sql parse on left join or table alisa or column  alisa has some bugs.
What You Expected?
Sql parse correct
How to Reproduce?
No response
Anything Else?
No response
Are you willing to submit PR?

[ ] Yes I am willing to submit a PR!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

It has been fixed by https://github.com/apache/doris/pull/13600 ？


Feature run test case until fail

It would be nice when we had a feature which allow to run one or more test cases until fails. In case on test fail the other not yet failing test can test further. Because with NUnit2 we had the problem that some test cases behave random. To find such random problems it would be nice to run test cases several times without that somebody have a look on it until fail. Of course should be this stoppable.

Well, if you know which tests has the problem, you can mark them with the Repeat attribute and use a very high number of repetitions. I think that will have the desired effect.

Well, that's a good idea.

Ok, it seems to me that solves your problem, so I will close this issue.


[SPARK-49615] Bugfix: Make ML column schema validation conforms with spark config spark.sql.caseSensitive.

What changes were proposed in this pull request?

Bugfix: Make ML column schema validation conforms with spark config spark.sql.caseSensitive.
Why are the changes needed?

Bugfix: Make ML column schema validation conforms with spark config spark.sql.caseSensitive.
Does this PR introduce any user-facing change?

No.
How was this patch tested?

N/A
Was this patch authored or co-authored using generative AI tooling?

N/A

merged to master.

@WeichenXu123 Thank you so much for making the fix.
How can i know if its available in OSS? and what version can I test it on?