Simplify Cat; improve inference

Codecov Report

Merging #23 into master will increase coverage by 0.05%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master      #23      +/-   ##
==========================================
+ Coverage   85.14%   85.19%   +0.05%
==========================================
  Files          15       15
  Lines        1070     1047      -23
==========================================
- Hits          911      892      -19
+ Misses        159      155       -4

Impacted Files
Coverage Δ

src/library.jl
90.54% <100%> (+1.07%)
:arrow_up:

src/evals.jl
50% <0%> (-50%)
:arrow_down:

src/simd.jl
72.72% <0%> (-9.1%)
:arrow_down:

src/processes.jl
93.33% <0%> (-0.65%)
:arrow_down:

src/core.jl
64.83% <0%> (-0.22%)
:arrow_down:

src/show.jl
95.38% <0%> (-0.04%)
:arrow_down:

src/comprehensions.jl
90% <0%> (+13.07%)
:arrow_up:

Continue to review full report at Codecov.

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


[CLOSED] Refactor publishing

 Issue by bestie
Wednesday 23 April 2014 at 21:04 GMT
Originally opened as https://github.com/alphagov/specialist-publisher/pull/73

This is the refactoring stage of my work on withdrawing documents.
I've extracted create, update and publish into service objects that have decoupled observers that are notified when documents change. The Content API rendering and export, the finder API and Panopticon all observe into these events. This should make the transition to the future architecture much easier as well as making the current code much simpler.

bestie included the following code: https://github.com/alphagov/specialist-publisher/pull/73/commits

 Comment by bradwright
Thursday 24 April 2014 at 20:13 GMT

:+1: for intent and design. I'll let someone closer to the code comment on the Ruby.

 Comment by evilstreak
Friday 25 April 2014 at 15:43 GMT

Other than the typo this looks good, I'll get that fixed and merge it

 Comment by bestie
Sunday 27 April 2014 at 09:30 GMT

I'm going to attempt to blame the typo in my new keyboard :)


⚠ Processors has degraded performance

In ffe9713, Processors ($STATUS_URL) experienced degraded performance:

HTTP code: 200
Response time: 89 ms

Resolved: Processors performance has improved in a846257.


in foundation/worker, why is function used instead of an interface?

in https://github.com/ardanlabs/service/blob/74ac8d0b95276f6f6a24f249aebc3c64c2f00d03/foundation/worker/worker.go#L13-L21
a func is used, why not something like
type JobRunner interface {
	Run(ctx context.Context, traceID string, payload interface{})
}

// Worker manages jobs and the execution of those jobs concurrently.
type Worker struct {
	wg       sync.WaitGroup
	mu       sync.Mutex
	registry map[string]jobRunner
	running  map[string]context.CancelFunc
}

so that when we can register the whole handler, like
type Handler struct {
	lg Logger
	store Store
}

func (h Handler) Run(ctx context.Context, traceID string, payload interface{}) {
	h.lg.Info("starting handling", traceID)
	h.store.Save(transform(payload))
	h.lg.Info("finish handling", traceID)
}

func main() {
	registry := map[string]worker.JobRunner{
		"scan-read": Handler{},
	}
	// start worker as needed...
}

is there a reason we don't do this?

I mean, I know with this we can still do
type Handler struct {
	lg Logger
	store Store
}

func (h Handler) Run(ctx context.Context, traceID string, payload interface{}) {
	h.lg.Info("starting handling", traceID)
	h.store.Save(transform(payload))
	h.lg.Info("finish handling", traceID)
}

func main() {
	h := Handler{}
	registry := map[string]worker.JobFunc{
		"scan-read": h.Run,
	}
	// start worker as needed...
}

is memory footprint the primary concern? or is there any other concurrency issue with using an interface? or dynamic dispatching performance issue?

An interface is overkill here. Remember, now you are asking the use to declare a type and implement a method. Then a value of that type must be constructed. All that is needed here is a function. Reduces the amount of code and complexity needed to use the API.


Scan stuck and then drop my test with iOS 11.1 test device

New Issue Checklist

[x] Updated fastlane to the latest version
[x] I read the Contribution Guidelines
[x] I read docs.fastlane.tools
[x] I searched for existing GitHub issues

Issue Description
When I run fastlane lane custom command with scan method my xctest are stuck and then dropped to finish without errors ... But they don't do my tests.
We can see more than 10 minutes between running test and test succeeded without anything...
Input :
lane :launchTests do
    cleanRepoAndInstallPods
    ENV["FASTLANE_XCODEBUILD_SETTINGS_TIMEOUT"] = "120"
    reset_simulator_contents(
        ios: ["10.3", "11.1"]
    )
    scan(scheme: "MyApp", workspace: "MyApp.xcworkspace",
      devices: ["iPhone 7 (11.1)",
        "iPhone 6 (10.3)"],
                clean: true)
  end

Devices available :
ios-dev-mac-mini:My App jenkins$ xcrun simctl list devices
== Devices ==
-- iOS 10.3 --
    iPhone 5 (407617A3-85A1-438A-933F-ECA3970AF1C9) (Shutdown)
    iPhone 5s (DF560DD3-F389-4E7A-BCBB-FBA53BB43386) (Shutdown)
    iPhone 6 (D994F79C-0015-483B-BC94-C16517898BBB) (Shutdown)
    iPhone 6 Plus (C010EDE5-2121-4FAE-AC0D-FCA437CEC7CB) (Shutdown)
    iPhone 6s (551F3F27-B0FC-40F4-A7B9-7D956D17626F) (Shutdown)
    iPhone 6s Plus (96F0AF16-02B0-4685-83D2-1F28CEFCF08E) (Shutdown)
    iPhone 7 (2CEFE2C7-12AF-43CF-869C-056C446048C6) (Shutdown)
    iPhone 7 Plus (82F5589D-9AF6-4A7A-8A0F-5224D9793FAF) (Shutdown)
    iPhone SE (1C1D4F6D-66FC-4578-932E-206CC777D57F) (Shutdown)
    iPad Air (C0CAB651-5798-4E81-B6D1-AD1FA5C06A16) (Shutdown)
    iPad Air 2 (20919B52-B4BB-4BB4-99F4-030B24F3A96F) (Shutdown)
    iPad (5th generation) (2D5014C1-80A3-456A-9AFE-24001A68D92D) (Shutdown)
    iPad Pro (9.7 inch) (76E2FCD7-2FF9-4917-ADE3-001DE93D9762) (Shutdown)
    iPad Pro (12.9 inch) (C3B90197-FC66-4E85-BC17-906F21DB6720) (Shutdown)
    iPad Pro (12.9-inch) (2nd generation) (8D1F528E-9996-4E14-9D94-51CDC996D903) (Shutdown)
    iPad Pro (10.5-inch) (85A73ED3-614B-4A06-89B5-F4972C3FEF19) (Shutdown)
-- iOS 11.1 --
    iPhone 5s (A535F617-784F-42FC-B13F-687FEF5FEDBC) (Shutdown)
    iPhone 6 (575C063B-D9D4-46B6-AF7F-FF48A1CDE91D) (Shutdown)
    iPhone 6 Plus (E44E595A-E64B-4794-A73C-5A91F76EC86F) (Shutdown)
    iPhone 6s (1D37F72F-68D8-4508-8598-052DF22DD725) (Shutdown)
    iPhone 6s Plus (F0CDE247-7D31-46F7-97B3-6437097D1073) (Shutdown)
    iPhone 7 (3BEBEFD6-F8BF-46B1-B1F6-2F8AD6D480A6) (Shutdown)
    iPhone 7 Plus (31F96BEB-901F-4EB7-AEC2-58538DAD7E41) (Shutdown)
    iPhone 8 (584078D3-5102-4E2D-9B1E-E4DCC7391D74) (Shutdown)
    iPhone 8 Plus (00FC786F-6FEA-4C34-A07F-354AB5A486B4) (Shutdown)
    iPhone SE (86A3FD4B-ED0A-4170-8BD3-B0A4DED1CAE5) (Shutdown)
    iPhone X (C7CDD1F0-3186-46A8-99F3-0F70255D9C25) (Shutdown)
    iPad Air (861875B5-3880-4030-938C-E630D0317206) (Shutdown)
    iPad Air 2 (DFF866C8-F30F-41FB-8106-987C1D99F9AA) (Shutdown)
    iPad (5th generation) (28BE50EB-12D5-4314-B41D-DCAF5E325806) (Shutdown)
    iPad Pro (9.7-inch) (B27B9C3E-5FD5-4948-BEDF-5182ACED71C6) (Shutdown)
    iPad Pro (12.9-inch) (A59F7626-79E6-4D87-88B1-0DC0FC6A7621) (Shutdown)
    iPad Pro (12.9-inch) (2nd generation) (04389487-EFC0-44B0-B47B-FC5F5812EF0D) (Shutdown)
    iPad Pro (10.5-inch) (6D8BB7F6-75F8-420B-90FD-B315FB4D4164) (Shutdown)

OutPut :
[09:43:25]: Running Tests: ▸ Touching ApplicationHelperTests.xctest
[09:43:25]: ▸ Signing /Users/jenkins/Library/Developer/Xcode/DerivedData/MyApp-hjpwmyzodsernvhciuttyhbekjkt/Build/Products/Debug-iphonesimulator/MyApp.app/PlugIns/ApplicationHelperTests.xctest
[09:59:08]: ▸ Test Succeeded
[09:59:16]: Successfully sent Slack notification
+--------------------+---+
|      Test Results      |
+--------------------+---+
| Number of tests    | 0 |
| Number of failures | 0 |
+--------------------+---+

[09:59:17]: -----------------------------------
[09:59:17]: --- Step: clean_build_artifacts ---
[09:59:17]: -----------------------------------
[09:59:17]: Cleaned up build artifacts 🐙

+------+-------------------------------------+-------------+
|                     fastlane summary                     |
+------+-------------------------------------+-------------+
| Step | Action                              | Time (in s) |
+------+-------------------------------------+-------------+
| 1    | Verifying required fastlane version | 0           |
| 2    | default_platform                    | 0           |
| 3    | xcode_select                        | 0           |
| 4    | Switch to ios                       | 0           |
|      | cleanRepoAndInstallPods lane        |             |
| 5    | clean_cocoapods_cache               | 0           |
| 6    | clear_derived_data                  | 3           |
| 7    | cocoapods                           | 31          |
| 8    | reset_simulator_contents            | 0           |
| 9    | scan                                | 1340        |
| 10   | clean_build_artifacts               | 0           |
+------+-------------------------------------+-------------+

[09:59:17]: fastlane.tools just saved you 23 minutes! 🎉

Environment
 Key                         | Value                                       |
| --------------------------- | ------------------------------------------- |
| OS                          | 10.12.6                                     |
| Ruby                        | 2.4.2                                       |
| Bundler?                    | false                                       |
| Git                         | git version 2.14.2                          |
| Installation Source         | /usr/local/bin/fastlane                     |
| Host                        | Mac OS X 10.12.6 (16G29)                    |
| Ruby Lib Dir                | /usr/local/Cellar/ruby/2.4.2/lib            |
| OpenSSL Version             | OpenSSL 1.0.2l  25 May 2017                 |
| Is contained                | false                                       |
| Is homebrew                 | false                                       |
| Is installed via Fabric.app | false                                       |
| Xcode Path                  | /Applications/Xcode.app/Contents/Developer/ |
| Xcode Version               | 9.1                                         |

When I add ENV["FASTLANE_EXPLICIT_OPEN_SIMULATOR"] = "2" it open well my two simulators, but without starting my tests


ARDUINO AI AIMBOT

Would it be possible to create a version for Arduino like this video?
https://www.youtube.com/watch?v=i2tUwrDH4bo

video banned


Dashboard/settings Hide "rabatter" discounts

Since we do not need discoungts on the prerelease, hide that functionality

This is the tab that should be hidden: https://backoffice.tabetalt.no/settings/discount


Clear iouReportID param in the report Onyx key after an IOU is successfully paid

The IOU report ID is not cleared in Onyx after paying, so we try to add a IOU new request to the existing, closed report which results in a 400 Unique Constraints Violation on the backend. Let's clear the iouReportID in Onyx in the successData of PayMoneyRequest
Details

Fixed Issues

$ https://github.com/Expensify/App/issues/16105
PROPOSAL: GH_LINK_ISSUE(COMMENT)
Tests

Prerequisites:
Account A: Account with either a silver/pending or a gold/activated wallet
Account B: Account with a gold/activated wallet

Login to NewDot with as Account A
Request money from Account B
As Account B, pay the request via Expensify
As Account A, send another request for money from Account B
Verify there is no error when requesting money

Offline tests

Requesting money when offline should create the IOU in the pending state:

QA Steps

Same as test steps
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 / Chrome
[x] iOS / native
[x] iOS / 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 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 correct English and 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 a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] 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)
[x] 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)
[x] All JSX used for rendering exists in the render method
[x] 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

[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(themeColors.componentBG)

[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 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.
[x] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Web

https://user-images.githubusercontent.com/12268372/228296415-b5439cf4-fdcb-4a4b-a502-00aa946a1398.mov

Mobile Web - Chrome

https://user-images.githubusercontent.com/12268372/228596548-192aa4f5-6b87-44c4-8209-b0d7fa00b960.mp4

Mobile Web - Safari

https://user-images.githubusercontent.com/12268372/228589387-e9088f5b-94c4-41da-bb4a-7e802cd45345.mov

Desktop

https://user-images.githubusercontent.com/12268372/228296499-7a9a06ee-64da-4583-b705-337d5ac69846.mov

iOS

https://user-images.githubusercontent.com/12268372/228588879-8f0581b0-4350-4e5c-b2bc-7f247a031f95.mov

Android

@fedirjh @thienlnam One of you needs to copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button]

@fedirjh I don't think you'll be able to test this since this requires a gold/activated wallet.

Friendly bump on reviews @Gonals @thienlnam 🙏🏼

I think @Gonals is going to be ooo for the rest of the week so tagging pullerbear again for review + tests 🙏🏼

@Santhosh-Sellavel @julesssss One of you needs to copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button]

Gold/activated wallets aren't available for contributors so @Santhosh-Sellavel can't test this, unfortunately.

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 / Chrome
[ ] iOS / native
[ ] iOS / 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 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 correct English and 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(themeColors.componentBG)

[ ] 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 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

Web

Mobile Web - Chrome

Mobile Web - Safari

Desktop

iOS

Android

Hey all, I'm sorry but I ran out of time today to test this on iOS/Android. This was one of 16 items on my todo list and I didn't quite have time for everything 😞
It's still at the top of my list, but we have a 4 day bank holiday in the UK starting tomorrow. If you are happy to wait until Tuesday I can test both native Android and iOS. Hope that's not too annoying!

No worries, @Julesssss! This feature is behind a beta so this bug shouldn't be affecting too many people right now.

Okay, I'm back and trying to run through the steps. I get stuck here though, as I'm prompted to add additional details via Onfido as my silver wallet user. Is there a way to avoid this check? (userA has a gold wallet, userB has a silver wallet added via the cliTools add bank account script):

Pay via Expensify as Account B

@Julesssss Oh, sorry, I think my instructions are a bit off, Account B should be the one with a Gold/Activated wallet 😅

I'm going to try one last time this morning after updating all repos.

: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/Gonals in version: 1.3.0-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/mountiny in version: 1.3.0-2 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Option to comment on code chunks

Thank you for this awesome app. It would've been more awesome if it had option to add comments near to line numbers when viewing a commit . Can it be considered in the next version ?

For simple, I think we can provide simple integrate with Disqus.


[BUG] QTY Multiplier

Describe the bug
With the new contract structure, we need to consider the decimals of our short and long tokens.
Previously, our positions were not divisible but now they are tokenized, and are.  This leads to the need to ensure that a WHOLE unit of a position token can be created with a reasonable amount of collateral.
If we want to use a QTY_MULTIPLIER as we have previously to define the amount of collateral per unit of price, we need to constrain the decimals of the in the position tokens.
TODO:

[ ] fix decimals in PositionTokens to 5

closed in #185


Allow specifying clang arguments

Is there a way to specify extra arguments passed to clang?
As I have it set up now, it's rather useless because it just complains about not being able to find the first custom header in every file (and nothing else).

This got merged in shortly after this ticket was created - https://github.com/yujinakayama/atom-lint/pull/70 although it's currently disabled. I've done the requisite work getting the package atom-lint needs for this working again, so hopefully once I've made a release it'll be enabled again (and this issue could then be closed).


Avoid runtimeType.toString in toString overrides/debugLabels

Refactoring: avoid calling runtimeType.toString() outside of asserts or error conditions.
I'll see if I can find a way to add a presubmit for this. added something to the analyze.dart to check that we don't use $runtimeType in toString methods.
@a14n @zanderso @jonahwilliams
Fixes https://github.com/flutter/flutter/issues/31695

@a14n thanks for the catches - I thought I got the ones my regex missed but apparently not.  They should all be up to date now.


Add navigation

Add navigation to switch between different pages on the site, including a placeholder library tab.
Fixes: #95.
Part of: #90.

There currently seems to be a problem where the graph can only be created once. I call the same 'Graph.js` file in the Home page and library pages, yet it only works the first time. @dave5202, @AbdulRJacob, do you know why this might be?


Memory exhaustion running gencast mini demo on the recommended runtime V2-8-TPU

Hi,
I tried running the gencast_mini_demo.ipynb on the V2-8-TPU runtime but got a memory exhaustion error at the cell block entitled "Autoregressive rollout (loop in python)".  Any idea on how to get the mini demo running successfully ?
See error:
XlaRuntimeError: RESOURCE_EXHAUSTED: XLA:TPU compile permanent error. Ran out of memory in memory space hbm.

I hit the same error on the recommended V2-8-TPU runtime.
In https://github.com/google-deepmind/graphcast/blob/main/docs/cloud_vm_setup.md#gencast-memory-requirements memory requirements are described as:

1deg GenCast: ~21GB of Host RAM (System Memory) and ~8GB of HBM (vRAM)

Prior to getting the above error I see Host RAM utilization of the VM to be over an order of magnitude larger, around 240 GB, when running gencast_mini_demo.ipynb without any modifications on a V2 TPU through Google Colab.  Is that expected?

Hello!
Could you please confirm which model you're running in the demo notebook?
In particular, you may notice the "Choose the model" cell allows one to load the GenCast Mini checkpoint or a random model. I wonder if you are unintentionally running a large random model and going OOM?
We've checked again on our end and GenCast Mini should run fine (as should the default random selection since this is just the specifications of GenCast Mini - 2^4 mesh and 512 latents).
Let me know,
Andrew

Hi Andrew,
I got it to run using the checkpoint but if I choose to use random model selection then it runs out of memory.
See parameters attached.

Glad to hear the checkpoint ran fine!
Could you share which dataset you are loading/running the random model on? I suspect you may be running on a 0.25deg dataset which would explain the OOM as this would require more memory than 1deg.
Apologies for the constraints, the free compute is quite limited! Will send a patch soon to clarify these in the demo notebook.

Hi Andrew,
You are correct the data being selected was the 0.25 instead of the 1 degree. See attached.
The model ran successfully after choosing the 1 degree step 1. See attached.

Great! Will make some changes to the notebook soon to clarify this.
Andrew


Remove more divisions in compress and elsewhere.

Any good comments to include on why this and not the previous technique?
Also:

Any good comments to include on why this and not the previous technique?

I will do a big documentation overhaul of the code next week; will add comments about this then (along with a link to the announcement on the mailing list).


[Feature] Implementing Story UI on Home page

Description
as i see the FIGMA Design file of the Website their is a story section on the home Page That improve the Page ui And application
I want to work on this ui feature please assign me that
Screenshots

Checklist

[X] I have checked the existing issues
[X] I have read the Contributing Guidelines
[X] I am willing to work on this issue (optional)

Hey @CoderSwarup  I am assigning this issue to you
you can start working on this issue
Happy hacking ✨

So actually there is an issue regarding creating an navbar for the project then how will we position the story section....Can we discuss this matter

So actually there is an issue regarding creating an navbar for the project then how will we position the story section....Can we discuss this matter

Hey see here you understand

Stories are below the navbar

So actually there is an issue regarding creating an navbar for the project then how will we position the story section....Can we discuss this matter

Hey see here you understand

Stories are below the navbar

Ok so I don't need to change the position of the story section
So the query is where I create a create story button on the left sidebar or create a navbar component for it

So actually there is an issue regarding creating an navbar for the project then how will we position the story section....Can we discuss this matter

Hey see here you understand

Stories are below the navbar

yup understood

So actually there is an issue regarding creating an navbar for the project then how will we position the story section....Can we discuss this matter

Hey see here you understand

Stories are below the navbar

Ok so I don't need to change the position of the story section So the query is where I create a create story button on the left sidebar or create a navbar component for it

no so basically the sidebar stays a different component , we can also add a divider between the sidebar and the main component , we only have to add the story section onto the main component

So actually there is an issue regarding creating an navbar for the project then how will we position the story section....Can we discuss this matter

Hey see here you understand

Stories are below the navbar

Ok so I don't need to change the position of the story section So the query is where I create a create story button on the left sidebar or create a navbar component for it

no so basically the sidebar stays a different component , we can also add a divider between the sidebar and the main component ,So that it will look visually appealing and well organized, we only have to add the story section onto the main component

@Atharva1723  ok so your build a navbar component


how to stop the connection when there is no request and no data response exceeds a certain time?

// proxy is used to suffle data from src to destination, and sends errors
// down a dedicated channel
func proxy(dst io.Writer, src io.Reader, errCh chan error) {
_, err := io.Copy(dst, src)
if tcpConn, ok := dst.(closeWriter); ok {
tcpConn.CloseWrite()
}
errCh <- err
}

Hello, have you solved this problem? Please tell me how!


list_roles should not return Tags

While the boto3 documentation suggests, that list_roles should return Tags, acording to this issue: https://github.com/boto/boto3/issues/1855 the documentation is simply not correct. list_roles does not return Tags.
But in case of moto, list_roles indeed returns Tags. I think this should not be the case, so that moto behabes the same way as boto3.

My comment is incorrect, I had code working around the "issure" and after looking not looking at it for a while, I thought moto was wrong. But my workaround is wrong.


I dont understand the copy function can you give me an example

I want to copy a single line from website

https://getautoclicker.com/docs/3.x/action-value/copy/ have you checked out docs ?

https://discord.com/channels/702091948902711388/1093849599636144288


Allow specifying the original name of nodes

See #118, https://github.com/estools/esmangle/issues/85

We can't do this. estree AST nodes are today allowed to have fields other than those specified by estree. Some of those nodes may have an originalName property that was not meant to cause codegen to behave like this. Additionally, how do you know that the code generator isn't being used to output the minified names?
I think you should start by explaining the problem you have so we can discuss solutions to it.

@michaelficarra The linked issue already explains the problem and essentially proposes this solution: https://github.com/estools/esmangle/issues/85. Without this fix, source maps don't include the original identifiers, and incorrectly include the minified names. This means that for example stack traces will refer to minified function names. With this fix, you can see the original, un-minified function names in the stack trace.

@iBelieve Okay, I think I was misreading this PR. It doesn't change the actual source text generation, just the names used in the source map, is that correct? Can you add tests that Identifier nodes that have both a name and an originalName still codegen using the name?


Containers not pinging each other (No communication between them)

Hi Everyone, I posted this Issue here since I cannot find a solution in the documentation, also I tried to get help in the Slack channel, some could reproduce it following my instructions, but still no solution, so I'm posting it here.
What you expected to happen?
Containers to ping each other, when started with Weave activated.
What happened?
The containers do not reach each other, no ping from both directions also the netcat example does not work. Despite that, they do resolve the names and get the correct IPs.
How to reproduce it?
To reproduce my problem, I wrote a Vagrantfile (attached Vagrantfile.zip), it will setup two virtual machines and install docker (19.03.1) and weaver (2.7.0), if you have vagrant installed a vagrant up is all you need to have the machines up and running. After that, the results of configuring Weave and running the container can be seen in the image.

Basically, after setting up Weave with weave launch, set up the peers, I run one Busybox container in each machine, they get the IP from weave, they resolve the names, but they cannot communicate.
Anything else we need to know?
I reproduced this in two different setups:

Vagrant with VirtualBox (Two VMs running Debian Buster)

VirtualBox version 6.1.12 r139181
macOS Catalina (v10.15.5)
Vagrant 2.2.9

Two Raspberry Pis

Two Raspberries Pi 4
Raspberry Pi OS (Based on Debian Buster)

Versions:
weave script 2.7.0
weave 2.7.0
Docker version 19.03.1, build 74b1e89
Linux manager 4.19.0-9-amd64 #1 SMP Debian 4.19.118-2 (2020-04-29) x86_64 GNU/Linux
No Kubernets
Logs:
Logs from node with hostname manager
$ docker logs weave
weave-manager-node.log
Logs from node with hostname vm-node-1
$ docker logs weave
weave-vm-node-1-node.log
$ docker logs weave
Network:
manager Node
$ ip route
default via <IP_ADDRESS> dev eth0
<IP_ADDRESS>/24 dev eth0 proto kernel scope link src <IP_ADDRESS>
<IP_ADDRESS>/16 dev docker0 proto kernel scope link src <IP_ADDRESS> linkdown
<IP_ADDRESS>/16 dev br-adc1d69dcf59 proto kernel scope link src <IP_ADDRESS> linkdown
<IP_ADDRESS>/24 dev eth1 proto kernel scope link src <IP_ADDRESS>
$ ip -4 -o addr
1: lo    inet <IP_ADDRESS>/8 scope host lo\       valid_lft forever preferred_lft forever
2: eth0    inet <IP_ADDRESS>/24 brd <IP_ADDRESS> scope global dynamic eth0\       valid_lft 85663sec preferred_lft 85663sec
3: eth1    inet <IP_ADDRESS>/24 brd <IP_ADDRESS> scope global dynamic eth1\       valid_lft 13676sec preferred_lft 13676sec
4: docker0    inet <IP_ADDRESS>/16 brd <IP_ADDRESS> scope global docker0\       valid_lft forever preferred_lft forever
30: br-adc1d69dcf59    inet <IP_ADDRESS>/16 brd <IP_ADDRESS> scope global br-adc1d69dcf59\       valid_lft forever preferred_lft forever
$ sudo iptables-save
# Generated by xtables-save v1.8.2 on Thu Aug 13 15:56:23 2020
*filter
:INPUT ACCEPT [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
:DOCKER - [0:0]
:DOCKER-ISOLATION-STAGE-1 - [0:0]
:DOCKER-ISOLATION-STAGE-2 - [0:0]
:DOCKER-USER - [0:0]
-A FORWARD -j DOCKER-USER
-A FORWARD -j DOCKER-ISOLATION-STAGE-1
-A FORWARD -o br-adc1d69dcf59 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -o br-adc1d69dcf59 -j DOCKER
-A FORWARD -i br-adc1d69dcf59 ! -o br-adc1d69dcf59 -j ACCEPT
-A FORWARD -i br-adc1d69dcf59 -o br-adc1d69dcf59 -j ACCEPT
-A FORWARD -o docker0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -o docker0 -j DOCKER
-A FORWARD -i docker0 ! -o docker0 -j ACCEPT
-A FORWARD -i docker0 -o docker0 -j ACCEPT
-A DOCKER-ISOLATION-STAGE-1 -i br-adc1d69dcf59 ! -o br-adc1d69dcf59 -j DOCKER-ISOLATION-STAGE-2
-A DOCKER-ISOLATION-STAGE-1 -i docker0 ! -o docker0 -j DOCKER-ISOLATION-STAGE-2
-A DOCKER-ISOLATION-STAGE-1 -j RETURN
-A DOCKER-ISOLATION-STAGE-2 -o br-adc1d69dcf59 -j DROP
-A DOCKER-ISOLATION-STAGE-2 -o docker0 -j DROP
-A DOCKER-ISOLATION-STAGE-2 -j RETURN
-A DOCKER-USER -j RETURN
COMMIT
# Completed on Thu Aug 13 15:56:23 2020
# Generated by xtables-save v1.8.2 on Thu Aug 13 15:56:23 2020
*nat
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:DOCKER - [0:0]
-A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER
-A POSTROUTING -s <IP_ADDRESS>/16 ! -o br-adc1d69dcf59 -j MASQUERADE
-A POSTROUTING -s <IP_ADDRESS>/16 ! -o docker0 -j MASQUERADE
-A OUTPUT ! -d <IP_ADDRESS>/8 -m addrtype --dst-type LOCAL -j DOCKER
-A DOCKER -i br-adc1d69dcf59 -j RETURN
-A DOCKER -i docker0 -j RETURN
COMMIT
# Completed on Thu Aug 13 15:56:23 2020
# Warning: iptables-legacy tables present, use iptables-legacy-save to see them

vm-node-1 node
$ ip route
default via <IP_ADDRESS> dev eth0
<IP_ADDRESS>/24 dev eth0 proto kernel scope link src <IP_ADDRESS>
<IP_ADDRESS>/16 dev docker0 proto kernel scope link src <IP_ADDRESS> linkdown
<IP_ADDRESS>/24 dev eth1 proto kernel scope link src <IP_ADDRESS>

$ ip -4 -o addr
1: lo    inet <IP_ADDRESS>/8 scope host lo\       valid_lft forever preferred_lft forever
2: eth0    inet <IP_ADDRESS>/24 brd <IP_ADDRESS> scope global dynamic eth0\       valid_lft 85462sec preferred_lft 85462sec
3: eth1    inet <IP_ADDRESS>/24 brd <IP_ADDRESS> scope global dynamic eth1\       valid_lft 13466sec preferred_lft 13466sec
4: docker0    inet <IP_ADDRESS>/16 brd <IP_ADDRESS> scope global docker0\       valid_lft forever preferred_lft forever

$ sudo iptables-save
# Generated by xtables-save v1.8.2 on Thu Aug 13 15:59:57 2020
*filter
:INPUT ACCEPT [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
:DOCKER - [0:0]
:DOCKER-ISOLATION-STAGE-1 - [0:0]
:DOCKER-ISOLATION-STAGE-2 - [0:0]
:DOCKER-USER - [0:0]
-A FORWARD -j DOCKER-USER
-A FORWARD -j DOCKER-ISOLATION-STAGE-1
-A FORWARD -o docker0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -o docker0 -j DOCKER
-A FORWARD -i docker0 ! -o docker0 -j ACCEPT
-A FORWARD -i docker0 -o docker0 -j ACCEPT
-A DOCKER-ISOLATION-STAGE-1 -i docker0 ! -o docker0 -j DOCKER-ISOLATION-STAGE-2
-A DOCKER-ISOLATION-STAGE-1 -j RETURN
-A DOCKER-ISOLATION-STAGE-2 -o docker0 -j DROP
-A DOCKER-ISOLATION-STAGE-2 -j RETURN
-A DOCKER-USER -j RETURN
COMMIT
# Completed on Thu Aug 13 15:59:57 2020
# Generated by xtables-save v1.8.2 on Thu Aug 13 15:59:57 2020
*nat
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:DOCKER - [0:0]
-A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER
-A POSTROUTING -s <IP_ADDRESS>/16 ! -o docker0 -j MASQUERADE
-A OUTPUT ! -d <IP_ADDRESS>/8 -m addrtype --dst-type LOCAL -j DOCKER
-A DOCKER -i docker0 -j RETURN
COMMIT
# Completed on Thu Aug 13 15:59:57 2020
# Warning: iptables-legacy tables present, use iptables-legacy-save to see them

Warning: iptables-legacy tables present, use iptables-legacy-save to see them

I think this is a repeat of #3465 - Weave Net is talking to "iptables-legacy" while your system is set up with iptables 1.8.
It was fixed for Kubernetes by getting the launch script there to figure out which one to use, but not for regular weave launch.
You can switch the hosts to legacy mode as noted at https://github.com/weaveworks/weave/issues/3465#issuecomment-526945893

OK, I can confirm that using tables-legacy solves the problem running it on Debian Buster. I can now ping containers in every scenario that was not working previously.


Add Promise state inspection APIs

For debugging and/or inspection style APIs (like console.log() formatting), it would be nice to have an API where the internal state of a Promise can be introspected.
A potential implementation that can be used is here: https://github.com/TooTallNate/quickjs/commit/bcdd746c19028ea214f85305b1e9ad2e813f755a

Hey there!
That should already be there. https://github.com/quickjs-ng/quickjs/blob/7776cc3b75b51ca884f4b50cb060603719849b2c/quickjs.h#L1006
It was part of top level await.

Good stuff 👍


Unhandled backend message

[error] 🔥  An unhandled backend message was encountered
[error] 🔥    at /home/runner/work/skunk/skunk/modules/core/shared/src/main/scala/net/protocol/Startup.scala:52
[error] 🔥
[error] 🔥    Message: UnknownMessage(Y, ByteVector(6 bytes, 0x352e352e352d))
[error] 🔥
[error] 🔥  This is an implementation error in Skunk.
[error] 🔥  Please report a bug with the full contents of this error message.
[error] skunk.exception.ProtocolError: UnknownMessage(Y, ByteVector(6 bytes, 0x352e352e352d))

ce3 is 3.3.12, skunk is 0.6.3, postgres 15.4

Hm, only reference I see to a message with type Y is here: https://www.postgresql.org/docs/current/protocol-logicalrep-message-formats.html But that doesn't seem related to the startup sequence. Can you provide some more details on how you got this error?


Updates texts for the Faucet organism

Update the textual content of some paragraphs of the faucet organism:

the description of the tap and the footer message were not quite correct
the token request rate limit has been decrease to 1 request per hour

This change should be available soon in the [okp4/faucet-web] project (https://github.com/okp4/fauctet-web) as it has become public for our testnet.

Codecov Report

Merging #587 (bd6bcbb) into main (3295028) will not change coverage.
The diff coverage is n/a.

:exclamation: Current head bd6bcbb differs from pull request most recent head 06d50a6. Consider uploading reports for the commit 06d50a6 to get more accurate results

@@           Coverage Diff           @@
##             main     #587   +/-   ##
=======================================
  Coverage   96.73%   96.73%
=======================================
  Files          74       74
  Lines         950      950
  Branches      146      146
=======================================
  Hits          919      919
  Misses         29       29
  Partials        2        2

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

:tada: This PR is included in version 2.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Pydantic 1.8.2 tests fail in Fedora due to mypy incompatibility

I'm trying to update the Fedora package of Pydantic to version 1.8.2.
Unfortunately, the tests fail because of
running build_ext
mypy (unittest.loader._FailedTest) ... ERROR
======================================================================
ERROR: mypy (unittest.loader._FailedTest)
----------------------------------------------------------------------
ImportError: Failed to import test module: mypy
Traceback (most recent call last):
  File "/usr/lib/python3.10/unittest/loader.py", line 154, in loadTestsFromName
    module = __import__(module_name)
  File "/builddir/build/BUILD/pydantic-1.8.2/pydantic/mypy.py", line 41, in <module>
    from mypy.types import (
ImportError: cannot import name 'TypeVarDef' from 'mypy.types' (/usr/lib/python3.10/site-packages/mypy/types.py)
----------------------------------------------------------------------
Ran 1 test in 0.000s
FAILED (errors=1)

This is quite odd, since mypy is the newest version
DEBUG util.py:446:   python3-mypy                  noarch     0.921-1.fc36          build     2.5 M

Is there a version of pydantic which is compatible with mypy 0.921?

See the comments left on PR:pydantic#3175. tl;dr; Looks like we are going to have to wait for v1.9.0 of pydantic to drop.
With that said, replacing mypy in your requirements.txt file with the following serves as an acceptable workaround for me:
mypy != 0.920, != 0.921, != 0.930  # workaround for https://github.com/samuelcolvin/pydantic/pull/3175

Yep, this is a know bug in 1.8.2.
Options:

Pin mypy==0.910
Use pydantic@master (warning: has bugs)
Wait for Pydantic 1.9.0


Followup With Eclipse About .eclipsefdn Repository Being Public

What?
Reach out to Eclipse to see if there are any security risks with having the .eclipsefdn repository being public.
Why?
There doesn't seem to be much value in having the repository being public, but there could be some security risk. It would be good to understand the reasoning why this repository is public.
Acceptance Criteria
An outcome of either:

Reason for repository being public.

Repository switched to private.

Response from Eclipse: "In the beginning we kept the .eclipsefdn repos private as we had similar concerns. However after some reflection, we decided to make them public as all information in there is publicly available anyways and making them public make that visible for all community members (not only committers) and also has some technical reasons (some features were not available in private repos at the time).
The exception are being Webhooks and Secrets, where the secret values is not part of the configuration / repo but is resolved from a credential store. There are some cases, where a Webhook is not protected by a secret and it could be used for malicious purposes, e.g. slack webhooks, in this case we mask the url such that it is not fully visible in the configuration."

Some more added context from Eclipse: "as a side node: we also switch to public in order to fully use CODEOWNER for pull requests which was not possible beforehand as we were on the free plan of GitHub for all organizations. That has changed since though."


Enhancement/388 motd

requires an api update to show the motd endpoint, but THEN magic.

@AllenBW Please merge with master to fix conflicts.

this has been done.
On Mon, Jul 6, 2015 at 7:00 PM, Michael Stack<EMAIL_ADDRESS>wrote:

@AllenBW https://github.com/AllenBW Please merge with master to fix
conflicts.
—
Reply to this email directly or view it on GitHub
https://github.com/projectjellyfish/api/pull/803#issuecomment-119022803.


Bin numeric function #158

This PR resolves #158
PR Checklist
Please ensure that you have done the following:

[x] PR in from a fork off your branch. Do not PR from <your_username>:master, but rather from <your_username>:<branch_name>.
[x] If you're not on the contributors list, add yourself to AUTHORS.rst.

Quick Check
To do a very quick check that everything is correct, follow these steps below:

[ ] Run the command make check from pyjanitor's top-level directory. This will automatically run:

black formatting
pycodestyle checkin
running the test suite
docs build

Code Changes
If you are adding code changes, please ensure the following:

[x] Ensure that you have added tests.
[x] Run all tests ($ pytest .) locally on your machine.

[x] Check to ensure that test coverage covers the lines of code that you have added.
[x] Ensure that all tests pass.

Documentation Changes
If you are adding documentation changes, please ensure the following:

[ ] Build the docs locally.
[ ] View the docs to check that it renders correctly.

PR Description
Please describe the changes proposed in the pull request:
I added a simple function (bin_numeric()) that makes use of pandas cut() function to bin data of one column into a new column.
Relevant Reviewers
@jcvall
Please tag maintainers to review.

@ericmjl

Thank you, @kurtispinkney! Safe travels back!


(chore) Test must be integration test

Proposed changes
Describe the big picture of your changes here to communicate to the maintainers why we should accept this pull request.
If it fixes a bug or resolves a feature request, be sure to link to that issue.
Checklist

[ ] Checkstyle and unit tests are passed locally with my changes by running gradlew check chrome_headless firefox_headless command
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have added necessary documentation (if appropriate)

To avoid side effects like this:
2021-02-11T22:07:43.3122811Z SoftAssertJUnit5Test OK
......

2021-02-11T22:07:43.3249191Z MobileEmulationTest > canOpenBrowserInMobileEmulationMode()
......
2021-02-11T22:07:43.3335175Z MobileEmulationTest > canOpenBrowserInMobileEmulationMode() FAILED
2021-02-11T22:07:43.3337173Z     java.lang.IllegalStateException: You must configure you classes using JUnit4/JUnit5/TestNG mechanism as documented in https://github.com/selenide/selenide/wiki/SoftAssertions
2021-02-11T22:07:43.3345282Z         at com.codeborne.selenide.logevents.ErrorsCollector.validateAssertionMode(ErrorsCollector.java:71)
2021-02-11T22:07:43.3348518Z         at com.codeborne.selenide.impl.SelenideElementProxy.invoke(SelenideElementProxy.java:73)
2021-02-11T22:07:43.3350326Z         at com.sun.proxy.$Proxy28.shouldBe(Unknown Source)
2021-02-11T22:07:43.3352582Z         at integration.MobileEmulationTest.canOpenBrowserInMobileEmulationMode(MobileEmulationTest.java:39)


Create a helper MockService type to help with writing tests that use mock tower::Services

Motivation

While working on #2650, I realized I had to rewrite some boilerplate code to mock services, so I figured it might be a good idea to make a more general abstraction to help with mocking services.
NOTE: I'm keeping this as a draft so we can discuss first if this MockService is a net-gain or if it's too much complexity to add. I suggest looking at the PR's existing tests that were refactored to use the MockService first.
Solution

This creates a new zebra_test::mock_test module, which exports the main MockService type. This type can have some parameter configured by a MockServiceBuilder type, and can then be used to intercept received requests and respond to them individually.
The idea was that it could be used in way like this:
use zebra_test::mock_service::MockService;

let mut mock_service = MockService::build().for_unit_tests();  // Could also be `.for_prop_tests()`.
let mut service = mock_service.clone();

let call = tokio::spawn(mock_service.clone().oneshot("hello"));

mock_service
    .expect_request("hello").await
    .respond("hi!");

mock_service.expect_no_requests().await;

let response = call
    .await
    .expect("Failed to run call on the background")
    .expect("Failed to receive response from service");

assert_eq!(response, "hi!");

Review

This PR became a bit large, and I tried to add as much documentation to it as I could to try to make things easier to follow.
I figure that the more people see this, the better. It would be good to discuss if this is something useful and that helps writing tests, or unnecessary complexity.
Therefore, I suggest to start looking at how the existing tests were refactored to use the MockService. If that looks reasonable, we can review the rest of the PR.
Reviewer Checklist

[ ] Code implements Specs and Designs
[ ] Tests for Expected Behaviour
[ ] Tests for Errors

Looking at the usage, it seems really useful! (I haven't looked closely at the implementation itself)
I'm just wondering: how does this compare with https://docs.rs/tower-test/0.4.0/tower_test/index.html? (I don't know the answer because its documentation is not very extensive :sweat_smile: )

Looking at the usage, it seems really useful! (I haven't looked closely at the implementation itself)
I'm just wondering: how does this compare with https://docs.rs/tower-test/0.4.0/tower_test/index.html? (I don't know the answer because its documentation is not very extensive sweat_smile )

Cool! I didn't know about that crate :sweat_smile: I did a quick review of it's code, and it seems to be similar, with a few differences.

The first one is regarding ergonomics and API, but that's just a subjective preference

tower-test provides two types, one to use as the tower::Service and one to intercept requests, while here there's only one type that fulfills both roles
tower-test provides an assert_request_eq! macro that would be equivalent to MockService::expect_request

tower-test seems to have more functionality to mock if the service is ready or not, but that also requires every test to have at least one call to mock_handle.allow(10); or something, whereas MockService is always ready.
This PR's MockService automatically handles timeouts, so it will fail if no request is received instead of hanging.
That also allows the MockService::expect_no_requests method to check that there are no pending requests.
This PR adds support for proptest, but we could write an equivalent prop_assert_request_eq! for using with tower-test.

I think the biggest issue here is if the MockService in this PR is more useful or easier to use in order to be worth the cost of adding it to the code. We would assume the burden of maintaining the code; we could have more things added in the future, but I think it's more likely that this would end up having non-frequent changes.
I can also open a separate draft PR updating the tests to use tower-test to compare. Would that help with the discussion?

I can also open a separate draft PR updating the tests to use tower-test to compare. Would that help with the discussion?

I'm really torn between those two :sweat_smile: But I'm inclined to favor your approach due to the reasons you've described. Maybe let's see if anyone else has an opinion on this?

Is it compatible with zebra_test::transcript?

I think I don't understand. I think it should be orthogonal to that. Would you have some sort of example of a scenario you think could lead to compatibility issues?

Is it compatible with zebra_test::transcript?

I think I don't understand. I think it should be orthogonal to that. Would you have some sort of example of a scenario you think could lead to compatibility issues?

I can't think of anything right now - it was just a thought I had when I was skimming the PR.
We're not really using transcripts that much, so even if we find some edge cases, they won't have much of an impact.

This is so great, the docs are excellent 🥰


Apply patch from upstream

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[x] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

This is a patch from upstream (sbraz/pymediainfo#116) we should be testing.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@conda-forge-admin, please rerender


Disallow disabling auth extensions while being used by settings sync

Currently one can disable an auth extension that provides auth token for settings sync.
We shall disallow this.

@RMacfarlane This needs extension declaring auth providers through package.json. By doing so, we can detect if an extension is contributing an auth provider and check if those auth providers are being used for settings sync or not and prevent it from disabling.

@RMacfarlane Is there a request to track static contributions for authentication providers?

Yeah, here's the issue for it: https://github.com/microsoft/vscode/issues/103507

To verify:

Make sure you can disable auth provider extensions (Github/Microsoft) can be disabled only globally.
Disabling these extensions at workspace level is not allowed
If Settings Sync is on and using one of these accounts, Make sure you cannot disable that extension at all.


test

@MihaiDejeu this is your task now, please go ahead. Deadline (when this ticket should be closed) is 2021-01-02T15:55:15.154568.
Estimation here is 60 minutes, that's how much you will be paid.
Remember, you don't have to solve everything in this ticket - you can solve it partially and leave todo markers in the code, which will become future tasks.
If you have any questions don't ask me, I'm not a technical person. Open new tickets instead.
If you don't have time or simply don't want to work on this, you can always resign.

@PerteGeorge please keep in mind that manual assignment of tickets is a bad practice and it is discouraged. Next time, please let me elect the assignee.

@MihaiDejeu Don't forget to close this ticket before the deadline (2021-01-02T15:55:15). You are past the first half of the allowed period.

@MihaiDejeu thank you for resolving this ticket. I've just added it to your active invoice. You can always check all your invoices and more on the Contributor Dashboard.


Test NodeCreateTransaction with Solo

Problem
We need to test the dynamic address book transactions with Solo.
git clone git@github.com:hashgraph/solo.git
Navigate to that directory and install node dependencies:
npm install
Setup a network with 3 nodes running v0.54.0-alpha-4 of services:
export SOLO_CLUSTER_NAME=solo-e2e
export SOLO_NAMESPACE=solo-e2e
export SOLO_CLUSTER_SETUP_NAMESPACE=fullstack-setup
kind create cluster -n "${SOLO_CLUSTER_NAME}"

npm run solo -- init --namespace "${SOLO_NAMESPACE}" -i node1,node2,node3 -t v0.54.0-alpha.4 -s "${SOLO_CLUSTER_SETUP_NAMESPACE}"
npm run solo -- node keys --gossip-keys --tls-keys
npm run solo -- cluster setup
npm run solo -- network deploy --pvcs true
npm run solo -- node setup
npm run solo -- node start

To add a new node in the old way you can use the node add command:
npm run solo -- node add --gossip-keys true --tls-keys true --release-tag v0.54.0-alpha.4 --namespace solo-e2e

This is the new way to add a node. We split the flow into three separate commands, which can be executed individually:
solo node add-prepare is used to initiate the procedure. It prepares some data and outputs it to the specified directory by --output-dir:
npm run solo -- node add-prepare --gossip-keys true --tls-keys true --release-tag v0.54.0-alpha.4 --namespace solo-e2e --output-dir context
solo node add-submit-transactions uses the js SDK to submit transactions to the existing nodes. It sends a NodeCreateTransaction and FreezeTransaction transactions with types FreezeType.PrepareUpgrade and FreezeType.FreezeUpgrade. You can skip this command if you need to execute those transactions with a different script or a different SDK client.
npm run solo -- node add-submit-transactions --input-dir context
solo node add-execute finishes the procedure by creating a pod for the newly added node, restarts all nodes, upgrades the software version running on all of them and adds a stake for the new node.
npm run solo -- node add-execute --input-dir context
Solution
Test NodeCreateTransaction with Solo
Alternatives
No response

Solo has already implemented node add using NodeCreateTransaction from the JS SDK and the flow is already working and demonstrated. - https://github.com/hashgraph/solo/blob/3d868e68f97266715aa8befbe5fadce88f75681b/src/commands/node.ts
Issue could be closed WDYT @agadzhalov


Rename the project to pyproject-hooks and trim scope

Toward #136
Closes #142, by removing the functionality it is requesting changes to.
Closes #91, by removing the functionality that it is tracking removal of.
Closes #49, by removing the functionality it is requesting changes to.
This is the first step, listed in https://github.com/pypa/pep517/issues/136#issuecomment-1229152927.

There are a few more "obvious" improvements, like moving to [project] metadata, automated formatting, improving the documentation and adding type annotations.
I suggest that we make those improvements in follow ups.

Thanks @pradyunsg !


Replace DappError with JsonRpcError #6456

Closes #6456

(of course it does, you mentioned it in the issue. Hah!). So marking as WIP. Don't Merge first.

Does this require this to be included? — AlphaWallet/AlphaWallet-web3-provider#38

not now, after https://github.com/AlphaWallet/AlphaWallet-web3-provider/issues/38 we can update code to apply error code


Device Input dialog now uses containers

Fixes #6030
Do Not Merge!: There is still a problem that should be fixed before merging this:
Sometimes the dialog size is not correctly calculated on popup:

After dragging the dialog, the size is adjusted correctly:

I don't want to sound too pushy, but IMO using containers in WindowDialog, AcceptDialog and ConfirmDialog should fix al these problems.

BTW, the problem mentioned only happens in HiDPI mode so it's already better than it was before. It would still be good if I could find a way to solve it...

Yeah I think they should recognize children properly and make them work as
containers without having to use set_child_rect(). It's quite a lot of work
to change everywhere but given most use set_child_rect it should be easier.
I will add an item for 3.0 to make them work more like containers.
On Fri, Aug 5, 2016 at 8:52 AM, Ignacio Etcheverry<EMAIL_ADDRESS>
wrote:

BTW, the problem mentioned only happens in HiDPI mode so it's already
better than it was before. It would still be good if I could find a way to
solve it...
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/pull/6036#issuecomment-237831580,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AF-Z24ipu-3KpnZSuLNJNneb4haXbkhkks5qcyQCgaJpZM4JcyWz
.

So are we fine with leaving it as is in this?

I am merging this, since the remaining issue won't be fixed until 3.0 and it's not a big impediment.
@akien-mga It would be great to cherry-pick this for 2.1.1


Resolves #2581

Fix example title
https://github.com/MicrosoftDocs/windows-powershell-docs/issues/2581

Docs Build status updates of commit 68ba9be:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docset/winserver2012r2-ps/activedirectory/Get-ADFineGrainedPasswordPolicy.md
:white_check_mark:Succeeded
View (winserver2012r2-ps)

docset/winserver2016-ps/activedirectory/Get-ADFineGrainedPasswordPolicy.md
:white_check_mark:Succeeded
View (WindowsServer2016-ps)

docset/winserver2019-ps/activedirectory/Get-ADFineGrainedPasswordPolicy.md
:white_check_mark:Succeeded
View (WindowsServer2019-ps)

docset/winserver2022-ps/activedirectory/Get-ADFineGrainedPasswordPolicy.md
:white_check_mark:Succeeded
View (WindowsServer2022-ps)

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

Docs Build status updates of commit 85a7aa8:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docset/winserver2012r2-ps/activedirectory/Get-ADFineGrainedPasswordPolicy.md
:white_check_mark:Succeeded
View (winserver2012r2-ps)

docset/winserver2016-ps/activedirectory/Get-ADFineGrainedPasswordPolicy.md
:white_check_mark:Succeeded
View (WindowsServer2016-ps)

docset/winserver2019-ps/activedirectory/Get-ADFineGrainedPasswordPolicy.md
:white_check_mark:Succeeded
View (WindowsServer2019-ps)

docset/winserver2022-ps/activedirectory/Get-ADFineGrainedPasswordPolicy.md
:white_check_mark:Succeeded
View (WindowsServer2022-ps)

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

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

File
Status
Preview URL
Details

docset/winserver2012r2-ps/activedirectory/Get-ADFineGrainedPasswordPolicy.md
:white_check_mark:Succeeded
View (winserver2012r2-ps)

docset/winserver2016-ps/activedirectory/Get-ADFineGrainedPasswordPolicy.md
:white_check_mark:Succeeded
View (WindowsServer2016-ps)

docset/winserver2019-ps/activedirectory/Get-ADFineGrainedPasswordPolicy.md
:white_check_mark:Succeeded
View (WindowsServer2019-ps)

docset/winserver2022-ps/activedirectory/Get-ADFineGrainedPasswordPolicy.md
:white_check_mark:Succeeded
View (WindowsServer2022-ps)

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


Fix for CsssBuilder and StyleBuilder initialized as default

Description
Fix for null reference exception in StyleBuilder and CssBuilder when initializing it as default(StyleBuilder) or default(CssBuilder) mentioned in https://github.com/MudBlazor/MudBlazor/pull/9635#issuecomment-2332009217
How Has This Been Tested?
I tested it adding two tests for those cases.
Type of Changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation (fix or improvement to the website or code docs)

Checklist

[x] The PR is submitted to the correct branch (dev).
[x] My code follows the code style of this project.
[x] I've added relevant tests.

This
[Test]
public void AddStyle_With_DefaultStruct1()
{
	// Arrange
	var styleBuilder = default(StyleBuilder);

	// Assert
	styleBuilder.Build().Should().Be("");
}

Will still throw, which is a possible case in the extensions libraries.
Also, this is now an mutable struct (usually you would want it to have readonly), so wouldn't call it an ultimate fix.

@renaudrenaud85, do you still have the benchmark code you used in the earlier PR? Can you check the performance if you change from a struct to a class? I think this is what it should be in the future if we use that optimization. The issue is that we changed from an immutable string to a mutable StringBuilder, which makes the struct to be useless, even if we add readonly to the struct declaration. The fact is that structs are intended to be value types that are typically immutable, so with this code, you will encounter unexpected behavior when the struct is copied.

@ScarletKuro Thank you for your changes. I missed this case not adding anything.
Actually, there would be an additional corner case where the new behaviour differs a bit from the old. If you call .Build() multiple times on the same instance, the second time, the generated string would start from "" again because the old string has been released. In the old behavior, the string would be returned. It would be easy to change that behaviour by setting the returned string in the .Build() method (private string? lastBuilt) and add it in the method .EnsureCreated() if lastBuilt is not null or empty. But I think, this would be a pretty strange use case to reuse the same Builder-Class to create multiple outputs and wouldn't probably implement that.
I attached a benchmark here as Zip-File to not change this pull-request. You can just extract it to src and add the MudBlazor.Benrhmack.csproj to the Solution and run it in release mode to play around. I just benchmarked it quickly and here are the results when changing it to a class. The overhead seems to be quite small but it exists:

MudBlazor.Benchmark.zip

I attached a benchmark here as Zip-File to not change this pull-request. You can just extract it to src and add the MudBlazor.Benrhmack.csproj to the Solution and run it in release mode to play around. I just benchmarked it quickly and here are the results when changing it to a class. The overhead seems to be quite small but it exists:

MudBlazor.Benchmark.zip

Thanks for benchmark, I want to later play with the InterpolatedStringHandler \ DefaultInterpolatedStringHandler and see if it makes sense to use that.

@ScarletKuro Thank you for your changes. I missed this case not adding anything.
Actually, there would be an additional corner case where the new behaviour differs a bit from the old. If you call .Build() multiple times on the same instance, the second time, the generated string would start from "" again because the old string has been released. In the old behavior, the string would be returned. It would be easy to change that behaviour by setting the returned string in the .Build() method (private string? lastBuilt) and add it in the method .EnsureCreated() if lastBuilt is not null or empty. But I think, this would be a pretty strange use case to reuse the same Builder-Class to create multiple outputs and wouldn't probably implement that.

I will merge this as it for now, because of the urgency matter. If there will be need in this edge case with the Build() we can add it later.


Segfault with blank callback

Hello,
During some testing, I noticed we got a segfault with a callback that returns an empty array.
opencensus_trace_method($name, 'handle', function() { return []; });

WARNING: [pool app] child 45 exited on signal 11 (SIGSEGV) after 1.594899 seconds from start
That was running on the App Engine Standard environment (PHP 7.2).
Regards,
iamacarpet

:( looks like it isn't the blank callback, or at-least not just that.
For a bit of context, I'm trying to automatically trace all the middleware in Laravel as we process a request.
Middleware doesn't inherit a single root class, so it's hard to make sure all of it is traced, but each place that runs it does so via Illuminate\Pipeline\Pipeline with a chained method call to through that contains an array of class names to execute, before the point they begin to be executed.
I'm trying to intercept that call with an initial trace, then set up tracing on those other classes in the callback, which looks like it is resulting in the segfault.
https://github.com/a1comms/GaeSupportLaravel/blob/php72-laravel55/src/A1comms/GaeSupportLaravel/Trace/Integration/LaravelExtended.php#L103
@chingor13 can you help please?
Regards,
iamacarpet

Thanks for the report! Do you know what version of the extension that is running?

phpinfo() says 0.2.2


[cbuild] build cprj files in subfolder

I want to build cprj files that are in a subfolder relative to my sources, i.e.
uvision-template
├───inc
├───open-cmsis-pack based
│   └───generated-uv-projects
│       ├───uvision-template.csolution.yml
│       └───uvision-template.Debug+Production-HW
│                └───uvision-template.Debug+Production-HW.cprj
├───src
├───test

These commands fail because the main file can't be found:
E:\GIT\gitlab\embedded\templates\uvision-template > cbuild '.\open-cmsis-pack based\generated-uv-projects\uvision-template.Debug+Production-HW\uvision-template.Debug+Production-HW.cprj'
info cbuild: cbuild: Build Invocation 0.9.0 (C) 2022 ARM
(cbuildgen): Build Process Manager 0.11.0 (C) 2022 ARM
M650: Command completed successfully.
(cbuildgen): Build Process Manager 0.11.0 (C) 2022 ARM

*** ERROR M204:
  Path not found: 'E:/GIT/gitlab/embedded/templates/uvision-template/open-cmsis-pack based/generated-uv-projects/uvision-template.Debug+Production-HW/..\..\src\te_main.c'!
error cbuild: error executing 'cbuildgen cmake'

There is one ../ missing. Can I use any output flag to fix that?
Thanks!

I suggest we go iterative here and create usage examples. We have first examples here (however I would like to clean them a bit before dicussion): https://github.com/RobertRostohar/ctools_lab
These examples use for each project a sub-directory.  When the project is created using csolution, then the *.cprj files are already in sub-directories.
Is therefore this requirement already fulfilled?  What would be different?

Thank you very much for your quick response :)

Is therefore this requirement already fulfilled? What would be different?

I'll have a look. I guess it's already sufficient.

@jankap we may need access to your project to replicate the issue you are describing. Did you manually copy the *.cprj file?

I did not manually copy anything. Will try to provide a minimal (non-) working example :)

Should be discussed with #314

closing as this is now in #314 and somewhat a duplicate


mousewheel jumping to second slide

Here is my scenario:
I have a 100vh section and after I have a vertical Swiper container controlled by mousewheel.
When I scroll down I am supposed to stop on the swiper, see the slides and then see the rest of the website.
The issue that I am facing is that when I scroll I go straight to the second slide.
I looked the API and this is what I did, combining mousewheelControl, mousewheelReleaseOnEdges and mousewheelSensitivity:
http://plnkr.co/edit/1gPTqcYxhBMnbbkAaiYP?p=preview
Any suggestions in how to solve this?
(Sorry for using this space, but I looked the other issues and documentation and didn't find something related)

no one?

It just means that during scroll from 100vh section (especially on macOs) swiper will receive mousewheel scroll event. Can't do much with it


Display readable names for known addresses

What it solves
Resolves #1866 (showing names in transaction lists)
How this PR fixes it
Instead of the default text (now used as fallback), the name/logoUri in each transaction is displayed in the transaction list. If a name is present in the address book, that takes priority.
How to test it
Open historical/queued transactions and check that there are names/logos.
Screenshots

Reopened:
"Known addresses" should be implemented for all settings txs and create tx
https://docs.google.com/document/d/1if8Sowyj1VhiVcRQojwmzMuDdo48dyndRBFrzIEa6zk/edit#heading=h.t0of4xmer2ue


Link to new rust-gpu home in README.md, tweak language

Embark Studios transferred rust-gpu to the community.

Maybe mention that rust-gpu is a sibling project to this one under the same organization


no way convert to element from javascript  (so we can write our own methods that are not yet supported, for example shadow doms)

Currently Behat doesnt yet support shadow root / shadow doms (and thus mink/sel2driver cant use), so we're a bit stuck
ie, there is no way of me getting to the button as an element (and using anything that we can do with elements) :
<ion-toolbar class="md in-toolbar>
	#shadow-root (open)
	<ion-button class="in-toolbar">Sign up</ion-button>
		#shadow-root (open)
		<button type="button">::after</button>
		Sign up
	</ion-button>
	<a href>link</a>
</ion-toolbar>

This wouldn't be so bad, if we had a way of returning an element from javascript, since we could do something like:
/**
 * @When I debug
 */
public function debug()
{
	$driver = self::$driver;
	$shardowRoot = $driver->getPage()->find('css', '.md.in-toolbar');
	$selDriver = $driver->getDriver();
	$wdSession = $selDriver->getWebDriverSession();
	if (is_a($shardowRoot, 'Behat\Mink\Element\NodeElement')) {$shardowRoot = $wdSession->element('xpath', $shardowRoot->getXpath());}
	$elId = $shardowRoot->getID();
	$script = 'return arguments[0].shadowRoot';
	$options = array('script' => $script,'args'   => array(array('ELEMENT' => "$elId")));
	$returned = $wdSession->execute($options); //return $wdSession->execute_async($options);
	var_dump($returned);
}

However, this returns an array, like:
array(1) {      ["shadow-6066-11e4-a52e-4f735466cecf"]=>      string(36) "cee43f68-12e0-4d34-aa07-feb2649a107f"  }
This seems to be an internal weddriver id of the element, but there is no way of converting this id in to an element (that I can see)
With a Java implementation of selenium,  you can cast the returned js result like this:
WebElement returned = (WebElement) driver.executeScript("return arguments[0].shadowRoot", shardowRoot);
But I cant see a way of getting back to the element once retuned from javascript for mink/sel2driver

The code you are writing here deals with the WebdriverSession, not with the Mink API. So you are reporting it to the wrong repository (we don't maintain the WebdriverSession API, we use it)

Okay, thanks.  I thought it was something MinkSelenium2Driver hadn't exposed. (since it seems like returning that internal id would only be useful if there was another method to get the element for that internal id)
Where should I ask for that?

The webdriver library we use (and that you are working with when you do ->getWebDriverSession() to access the underlying lib) is https://packagist.org/packages/instaclick/php-webdriver

It looks like insta click uses xpath most the way though, this is going to be invalid for shadow-roots, I dont see a way now or any time in the future for insta click to support things like shadow root
Selenium does: https://github.com/SeleniumHQ/selenium/issues/5869
I've had some success using pure javascript to click / set / check elements / content exists
But I cant see anyway around trying to automate file uploads, since it cant be done with pure javascript, and thats where selenium comes in useful
I assume MinkSelenium2Driver wont be able to return a web-elements from javascript and wont be able to support shadow-root / shadow-dom any time soon?

Well, Mink itself relies on XPath for its driver API as well. So I don't see how this would git in Mink
And I don't see support for shadow root coming anytime soon, as other drivers that don't instrument an actual browser won't support shadow DOM anyway.


Need a way to pre-fix file system workspace on executor vm

today the workspace is set staticly, with a random number - here
https://github.com/Boehringer-Ingelheim/toscaci/blob/main/server/CIService/Service/WorkspaceService.cs#L27
we need a way to pre-fix that - from outside via param to easily find it back
@albertpuente

if you fix it you could have isolation issues between tests, I don't think it is a good idea, what are you trying to solve?  have access to the workspace for debugging porpuse? you could make the workspace folder exported or disable the removal after test execution?

Isaac-  I talk about "pre-fixing" - not about changing the dynamic part .. so instead of today ..  "tosca_" + new Random().Next()); to have it e.g. veeva-66- + the above :)


CONTRIBUTING: Added a hint on how run testsuite using php builtin web…

…server
Most of the people aready have php installed and utilizing that they are able to run the testsuite. No need to fiddle with apache/nginx/... config files or vhosts etc.

PHP isn't a requirement anymore, since all remote requests are mocked with mockjax. Could you update this to just remove the need for a local server?

Using this webserver php local webserver it was very easy for me to run the tests (so no grunt required)
Nevertheless you prefer the way running it using grunt and without a webserver, right?

No, I meant that you can just run test/index.html from the filesystem in your browser, no webserver nor grunt required.

Using the file:///protocol?

Yep

@jzaefferer here we go

Thanks!


[DOCS] Need more examples to explain agile points

Description
Introduce more examples for Agile points table.
Currently there are no examples for 8 and 13 points, whereas only 1 point has two examples.
Also, those examples for point 3 and 5 are not really examples but an explanation of the kind of issues that are assigned those points. For e.g. Point 5 example can be replaced with something like "Adding a ChatGPT-based bot for interaction" (bad example ik but I hope it drives the point home).
Screenshots

Additional information
Might wanna consider getting rid of point levels for which we cannot have any valid examples

i think the difficulty with defining concretely what each point level in fibonacci based agile will amount to is that it will be different for every dev based on their level of expertise with what they are attempting to do.  I like that the examples are a bit more general, but I could see how it would be confusing if you have never worked with this methodology before.
Perhaps a link to a quick video or definition of how to think about fibonacci would help in addition to a few different types of examples?

it will be different for every dev based on their level of expertise

I didn't realize this when I read the docs.
Whether we choose to go specific or general, important point is that we must have adequate examples.

I didn't realize this when I read the docs.

Yes, I only knew about it because this was the way I had to assign points to my own work on my last dev team.  It took awhile to get the hang of it for me.
Makes sense that a definition of how fibonacci works in dev estimation and a variety of examples would be useful

More examples will be good 👍


Adds Homebrew and completion support to asdf plugin

Modifies the search logic for asdf to include Homebrew when it is
installed.  The implementation is adapted from the pyenv plugin.

Includes command completions for both regular and Homebrew installs.
This enhancement was inspired by PR #6046.

For what I understand, the only places that asdf can be in is either $ASDF_DIR or in whatever path Homebrew installs it, so there's no need to check all these directories: just checking the Homebrew path if the other wasn't found should be enough.
Also, if you installed it with homebrew you can probably get what directory is installed in using $commands[asdf.sh] or something similar. But that depends on how Homebrew makes the install. What does brew --prefix asdf return?

@mcornella my original thinking around the search path was to follow pyenv's approach.  Based on your feedback, I realized that these additional search paths were present to pyenv when it may be installed as part of distribution packages.  Since asdf does not appear to be packaged by any distros, this search logic is unnecessary.  Therefore, I have updated the patch to search $HOME/.asdf and the Homebrew location (if Homebrew is installed).
Also, as part of this update, I extracted the common bits of asdf startup into a common code block.
Finally, brew --prefix asdf provides the root directory of the asdf installation under Homebrew.  This approach avoid hard coding the root path or assuming the directory layout used by the asdf Homebrew package.

I've made a number of changes that simplify the logic, and also fixes the paths that you were looking for in the case of Homebrew installations.


Pass custom options to the KSP plugin

Hello.
Is it possible to pass custom options to the KSP plugin?
I tried to do something like
            <pluginOptions>
                <option>ksp:hello=false</option>
            </pluginOptions>

but it breaks with the message
[ERROR] Unsupported plugin option: com.google.devtools.ksp.symbol-processing:hello=true

which makes sense, since I haven't put any special care as it seems to define this option.
I even tried to add it at the getPluginOptions function "manually", but this still didn''t work...
Any hints what to do?

Hey!
Its a bit hard to tell what the intended way to achieve this is from the documentation, however this might be interesting:
https://kotlinlang.org/docs/ksp-command-line.html
Especially these two lines in the code snippet at the end:
-P $KSP_PLUGIN_OPT:apoption=key1=value1 \
-P $KSP_PLUGIN_OPT:apoption=key2=value2 \

This suggests to me that it should actually be ksp:apoption=hello=false.
apoption also is in the KSP source code here, and you can see how the options are parsed into the actual key-value pairs at the bottom of the same file here.

IT WORKS!!!
I'd suggest to add this on the documentation.
Maybe more people will have the same problem as me.
If you are busy, I can make a PR with this information.
THANK YOU AGAIN!

Nice! And great so see someone is actually using this 😄


Don't include page fragment in linkcheck

Motivation

Currently links to pages which include an invalid url fragment are marked as invalid. However, pages usually still work if the url specifies an invalid fragment.
Proposed Solution

Treat such urls as valid.

Presumably, these types are not sufficient:
https://github.com/digitalfabrik/integreat-cms/blob/8343fcd7ccbb6547f732c0d639c38826047fcc64/integreat_cms/core/settings.py#L793-L797
Additionally, we should ignore the type external.

Apart from that, we could think about listing all ignored url types under the "ignored" section instead of just hide them to enable the link replacement feature for them.

We decided to add a warning category for soft errors, and these links could belong to that category. This would also keep the link replacement feature working.
So this issue is no longer relevant after #1695


Size for compliments text

maybe it makes more sense to user the standard "classes" property for this. an let people overwrite all classes (so for example also the light class.) Just like the hello world module?

@MichMich done!

Perfect! Thanks!


Run - vpp-snmp-agent run with a error

Run Log:
[ERROR   ]      agentx.agent - setup          : Could not connect to VPPStats segment
[ERROR   ]      agentx.agent - run            : Setup failed - exiting
Run Cmd:
vpp-snmp-agent -a /run/vpp/api.sock  -d
Which socket should I use to connect to VPPStats segment？

To answer the question, VPP Statistics are described here:
https://s3-docs.fd.io/vpp/22.10/developer/corefeatures/stats.html
Typically, /run/vpp/* is the directory where VPP opens its API and Stats socket.
I'm sorry but this repo does not accept github issues filed for user support, kindly stop using it as a helpdesk. See README.md for acceptable ways to get user support.