Allow configuring location of elm-stuff directory.

As far as I can tell, there is no way to change where elm-stuff directory is created.  I have a project that consists of backend, frontend and a third layer (its complicated).  I would like to keep as much of the elm related things in the frontend area of my code rather than at my root.  Already I have a bunch of Gradle crap in the root of my project, Readme, License, several different kinds of ignore files, Dockerfile... elm isn't making things better by adding elm-package.json and elm-stuff in that directory.  I recognize the need for at least one file in the root so commands like elm-make and elm-package can figure out where to do their work without me having to CD all the way in but it would be nice if that could be minimized to just one file.

You can put all your Elm stuff in a directory, like src/elm/. If you create your elm-package.json file there, that is where the elm-stuff/ will be as well. Your build would need to know where this directory lives.

@evancz This means that I can't work from a contiguous project root across my whole project.  If I am actively developing the client and server, I don't want to have to load up the client sub-directory in my editor and then have a separate editor window open for my server sub-directory.  I want to be able to open the project once and be able to run commands (both client and server related) from that single shared root directory.
If I put my elm project file in the client folder, then it means I can't work with ELM from my real project root, I have to interact with it from the faux root that I created just to work around the fact that elm doesn't let me specify where files go.


Server throws error Credential public key was missing numeric alg

When calling verifyRegistrationResponse(options) on the server, it throws an error: Credential public key was missing numeric alg.
These are the options passed in to startRegistration:
{     "challenge": "RnZ2It6b4y_IoSTeVxZXGmPKsOFAjgf28hhw4XNRSvI",     "rp": {         "name": "localhost test",         "id": "localhost"     },     "user": {         "id": "61577eb5cb412affc183ed1f",         "name"<EMAIL_ADDRESS>        "displayName"<EMAIL_ADDRESS>   },     "pubKeyCredParams": [         {             "alg": -7,             "type": "public-key"         },         {             "alg": -257,             "type": "public-key"         }     ],     "timeout": 60000,     "attestation": "none",     "excludeCredentials": [],     "authenticatorSelection": {         "authenticatorAttachment": "platform",         "userVerification": "required",         "requireResidentKey": false     },     "extensions": null }
Here's the response from startRegistration:
{     "id": "AfaNwKs71uoY_YlspvubZqaEt_LYr2-YQkQKG-OlF6g7PabeurAU6fLrNBM96XOAT_S3WNTIhBmUh5XVfSM4oWTz4KVXMMISTfmNKNIE0zEiZ3ZUOLbqDuw",     "rawId": "AfaNwKs71uoY_YlspvubZqaEt_LYr2-YQkQKG-OlF6g7PabeurAU6fLrNBM96XOAT_S3WNTIhBmUh5XVfSM4oWTz4KVXMMISTfmNKNIE0zEiZ3ZUOLbqDuw",     "response": {         "attestationObject": "o2NmbXRkbm9uZWdhdHRTdG10oGhhdXRoRGF0YVjdSZYN5YgOjGh0NBcPZHZgW4_krrmihjLHmVzzuoMdl2NFYi-f063OAAI1vMYKZIsLJfHwVQMAWQH2jcCrO9bqGP2JbKb7m2amhLfy2K9vmEJEChvjpReoOz2m3rqwFOny6zQTPelzgE_0t1jUyIQZlIeV1X0jOKFk8-ClVzDCEk35jSjSBNMxImd2VDi26g7spQECAyYgASFYINTQXIxmC-uQZRryAtgpfpVSJ0BcZbPhWQBW2bt8-cDbIlggaiEFMOfj9zEKWdCOKRwr69tB8Pcvo_2bwVNkrHC1JYA",         "clientDataJSON": "eyJ0eXBlIjoid2ViYXV0aG4uY3JlYXRlIiwiY2hhbGxlbmdlIjoiUm5aMkl0NmI0eV9Jb1NUZVZ4WlhHbVBLc09GQWpnZjI4aGh3NFhOUlN2SSIsIm9yaWdpbiI6Imh0dHA6Ly9sb2NhbGhvc3Q6MzAwMCIsImNyb3NzT3JpZ2luIjpmYWxzZX0"     },     "type": "public-key",     "clientExtensionResults": {},     "transports": [         "internal"     ] }
Using @simplewebauthn/browser v4.1.0 & @simplewebauthn/server v4.4.0.
Tested on MacBook Pro with TouchID, MacOS Monterey v12.3.
Tested with Microsoft Edge v99.0.1150.39, Safari v15.4 (176<IP_ADDRESS>.6), virtual WebAuthn on Chrome.

@versoworks Thank you for opening this issue. It's odd to me that verifyRegistrationResponse() errors out here, I see an alg of -7 in the debugger.
Nothing immediately looks off, I'll dig into this and report back.

@MasterKale just a follow up to this; I've been testing on a different server and can now successfully register a device, however, when authenticating, verifyAuthenticationResponse throws an error;
/node_modules/@simplewebauthn/server/dist/helpers/convertPublicKeyToPEM.js:17
    const kty = struct.get(convertCOSEtoPKCS_1.COSEKEYS.kty);
                       ^

TypeError: Cannot read properties of undefined (reading 'get')
    at Object.convertPublicKeyToPEM [as default] (/node_modules/@simplewebauthn/server/dist/helpers/convertPublicKeyToPEM.js:17:24)
    at Object.verifyAuthenticationResponse (//node_modules/@simplewebauthn/server/dist/authentication/verifyAuthenticationResponse.js:133:54)
    at /index.js:67:31

I've checked the options with your online debugger and see no issues. I've also tested with various Node.js versions (from v10.x to v16.x) with all yielding the same error.

@versoworks Thank you for opening this issue. It's odd to me that verifyRegistrationResponse() errors out here, I see an alg of -7 in the debugger.
Nothing immediately looks off, I'll dig into this and report back.
Edit: @versoworks can you also include how you're calling verifyRegistrationResponse()? I called it thusly and everything verified fine...
const verification = await verifyRegistrationResponse({
  credential: {
    "id": "AfaNwKs71uoY_YlspvubZqaEt_LYr2-YQkQKG-OlF6g7PabeurAU6fLrNBM96XOAT_S3WNTIhBmUh5XVfSM4oWTz4KVXMMISTfmNKNIE0zEiZ3ZUOLbqDuw",
    "rawId": "AfaNwKs71uoY_YlspvubZqaEt_LYr2-YQkQKG-OlF6g7PabeurAU6fLrNBM96XOAT_S3WNTIhBmUh5XVfSM4oWTz4KVXMMISTfmNKNIE0zEiZ3ZUOLbqDuw",
    "response": {
      "attestationObject": "o2NmbXRkbm9uZWdhdHRTdG10oGhhdXRoRGF0YVjdSZYN5YgOjGh0NBcPZHZgW4_krrmihjLHmVzzuoMdl2NFYi-f063OAAI1vMYKZIsLJfHwVQMAWQH2jcCrO9bqGP2JbKb7m2amhLfy2K9vmEJEChvjpReoOz2m3rqwFOny6zQTPelzgE_0t1jUyIQZlIeV1X0jOKFk8-ClVzDCEk35jSjSBNMxImd2VDi26g7spQECAyYgASFYINTQXIxmC-uQZRryAtgpfpVSJ0BcZbPhWQBW2bt8-cDbIlggaiEFMOfj9zEKWdCOKRwr69tB8Pcvo_2bwVNkrHC1JYA",
      "clientDataJSON": "eyJ0eXBlIjoid2ViYXV0aG4uY3JlYXRlIiwiY2hhbGxlbmdlIjoiUm5aMkl0NmI0eV9Jb1NUZVZ4WlhHbVBLc09GQWpnZjI4aGh3NFhOUlN2SSIsIm9yaWdpbiI6Imh0dHA6Ly9sb2NhbGhvc3Q6MzAwMCIsImNyb3NzT3JpZ2luIjpmYWxzZX0",
    },
    "type": "public-key",
    "clientExtensionResults": {},
    "transports": ["internal"],
  },
  expectedChallenge: "RnZ2It6b4y_IoSTeVxZXGmPKsOFAjgf28hhw4XNRSvI",
  expectedOrigin: 'http://localhost:3000',
  expectedRPID: 'localhost',
});

console.log(verification.verified); // true

I call verifyRegistrationResponse() in the same manner; using await.

{
  "base64CredentialID": "AVdn1NZ8WwLqz4eMo1-jaYaKr-iNyRa7TtJldlIk5f7UJDwVTwrB6EcqMOCQoMtUb7lIXU4PLsApJHI1YBKlCF1jde0QSZX2eeaOziFNcMacGqqR7DWjpZg",
  "base64PublicKey": "pQECAyYgASFYIJdyqrM2EgNbNsbJP50ttHFEPAzVN7SxBrxSNH5lSS_dIlgg4rUYm69oCjEcts8WRvG-wkcarVi0RS37P80i61ryRto",
  "counter":<PHONE_NUMBER>,
  "credentialID": {
    "data": [
      1, 87, 103, 212, 214, 124, 91, 2, 234, 207, 135, 140, 163, 95, 163, 105,
      134, 138, 175, 232, 141, 201, 22, 187, 78, 210, 101, 118, 82, 36, 229,
      254, 212, 36, 60, 21, 79, 10, 193, 232, 71, 42, 48, 224, 144, 160, 203,
      84, 111, 185, 72, 93, 78, 15, 46, 192, 41, 36, 114, 53, 96, 18, 165, 8,
      93, 99, 117, 237, 16, 73, 149, 246, 121, 230, 142, 206, 33, 77, 112, 198,
      156, 26, 170, 145, 236, 53, 163, 165, 152
    ],
    "type": "Buffer"
  },
  "credentialPublicKey": {
    "data": [
      165, 1, 2, 3, 38, 32, 1, 33, 88, 32, 151, 114, 170, 179, 54, 18, 3, 91,
      54, 198, 201, 63, 157, 45, 180, 113, 68, 60, 12, 213, 55, 180, 177, 6,
      188, 82, 52, 126, 101, 73, 47, 221, 34, 88, 32, 226, 181, 24, 155, 175,
      104, 10, 49, 28, 182, 207, 22, 70, 241, 190, 194, 71, 26, 173, 88, 180,
      69, 45, 251, 63, 205, 34, 235, 90, 242, 70, 218
    ],
    "type": "Buffer"
  },
  "devId": "6232fb3b865daceeb00cf5a0",
  "transports": ["internal"]
}

@versoworks The issue is almost certainly that your authenticator argument to verifyAuthenticationResponse() is passing in Objects for credentialID and credentialPublicKey. Did you run JSON.stringify() on them before storing these values after registration? In any case you need to massage those values into Buffers - if you pass those data int arrays into Buffer.from() and pass those into the method instead I'm almost certain it will solve your problem.

@MasterKale correct; I figured it out and resolved it thusly;
authenticator.credentialPublicKey = Buffer.from(authenticator.credentialPublicKey.data);
Cheers for your help, and apologies for the hassle.


README with more information

I'm confused because I dont understand as work this tool, with a layout I can support all screens?
Can add an example project with this library?

Its simple - library "adds" few values xml files. You nedd only to set demensions respectively, f.ex:
        <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:paddingTop="@dimen/_6sdp" (!)
        android:paddingBottom="@dimen/_6sdp" (!) >

or
            <ImageView
            android:layout_width="@dimen/_30sdp" (!)
            android:layout_height="@dimen/_30sdp" (!)
            android:id="@+id/imageView2"
            android:src="@drawable/cal_ico"
            android:layout_gravity="center_vertical|right"
            android:layout_weight="0"
            android:layout_marginRight="10dp" />

good, but I applied this library in my project and with some screen dont work properly, the min sdk is 16 for me.

@matimoto87 with just one layout work for all screen?

@yograterol, it's always preferable to think of a different design for tablets. But, if you want you can also create one layout that fits to every screen using the sdp size unit.

@elhanan-mishraky :+1: and how sdp recognizes what dp assign, because when I try multiple screen in Android Studio show the ugly interfaces in differents mobile phones, in runtime not happen that?

@yograterol, the sdp size unit is relative to the screen size. The preview should reflect the runtime. Sometimes, due to a bug in Android Sdudio, the preview won't reflect the runtime.

@elhanan-mishraky okidoki, thank u... I will look again.

Work fine!! :+1: I like it!


Problem with 'ś' in query

There is a problem with 'ś' character in queries. I had to change some lines in the source code to get script worked properly. I had problem with str() function and urlib.quote.

Closing the issue in favor of PR #114


export floatingHeaderHeight as a function when headerMode is float

fix screen flickering on Android when headerMode is float and header height is not 56. Enable user to specify default floating header height.
related to this issue

Height can be specified in headerStyle in latest alpha. Closing.


How to test my own image?

Hello, I am very interested  in your novel method. When I finish the "train_memory.sh" ,how can I test my own image? Just apply "test_memory.sh"? I would like to know details,thanks!

for testing you need the boxes as input as of now.


Use a valid filter() for userId Datastore query

The code for the solution for the Datastore query that is supposed to return
only a specific user's books fails to return any books. The problem is that
the comparison operator and property key were included in a single string.
Break the values out into separate strings so that the filter() method has
a property, comparison operator, and value as expected.
Closes #69.
Signed-off-by: Dan Scott<EMAIL_ADDRESS>

I'm Dan Scott, and I confirm that I did author this commit.


[pan-gp] Automate releaseDate, support and eol retrieval

Set auto config so that releaseDate, support and eol are retrieved from https://www.paloaltonetworks.com/services/support/end-of-life-announcements/end-of-life-summary.

Checked locally, merging.


Features/when

This implement the conditional feature named next_when around the wrapper of V1alpha1DAGTask and include the coin-flip example similar as couler.

First, this is a great addition so thank you for submitting the PR! 🙂
There are some aspects of the implementation of this PR that I have feedback on but I also want to mention a tiny backstory. One of the philosophies of Hera is simplicity. When @dynotx started using Workflows all the libraries were too complex to use... and they were complex because of this specific type of syntax:

{{inputs.parameters.param2}}
{{task1.outputs.results}}
etc.

This type of specification is what prevented a lot of internal adoption of Argo Workflows. People really liked Argo Workflows but they did not like writing, submitting, reading, and reviewing workflows (in PRs and the codebase). So, Hera is focused on abstracting away those details and supports users in writing definitions that are very focused on the holistic concept of a task and workflow properties rather than very, very specific details, particularly syntax-wise. Having said that, what do you think are some simpler ways of implementing this interface? I am thinking about a few things:

use when rather than next_when. AFAIK, there's nothing else in Argo Workflows that can act as another "when" conceptually; is this too generic?
rather than have the conditions written out as strings we could implement the interface of when to be when(task_result: str, operator: Operator, value: str). This requires:

adding a result property on a task that returns the {{task.output.result}} string
building an Operator that supports specific operators like ==

What do you think about the above suggestions? The intent is to help users in specifying this conditional execution:
ws = WorkflowService('my-argo-server.com', 'my-auth-token')
w = Workflow("coin-flip", ws)
r = Task("r", random_code)
h = Task("h", heads)
t = Task("t", tails)
h.when(r.result, Operator.equals, "heads")
t.when(r.result, Operator.equals, "tails")

I think this kind of flips the logic of the dependency setting, though, so perhaps a combination of what you proposed and the above would fit best? Thoughts?

Another alternative is to expand the next function and add a condition field to it!
ws = WorkflowService('my-argo-server.com', 'my-auth-token')
w = Workflow("coin-flip", ws)
r = Task("r", random_code)
h = Task("h", heads)
t = Task("t", tails)
r.next(h, r.result, Operator.equal, "heads")
r.next(t, r.result, Operator.equal, "tails")

This is more in line with the idea of a "next" step after executing a current one.

thanks for the complete explanation :slightly_smiling_face:
but not sure if could we evaluate the r task using h.when(r.result, Operator.equals, "heads") API, because the function don't have information about the condition dependency. So we can't reconstruct '{{tasks.r.outputs.result == "heads"}}'.
I think need something like when(task='r', target='result', operator=Operator.equals, value='heads').

thanks for the complete explanation 🙂 but not sure if could we evaluate the r task using h.when(r.result, Operator.equals, "heads") API, because the function don't have information about the condition dependency. So we can't reconstruct '{{tasks.r.outputs.result == "heads"}}'.
I think need something like when(task='r', target='result', operator=Operator.equals, value='heads').

Yes, we're almost 100% on the same page! What do you think about something like:
    def when(self, other: 'Task', operator: 'Operator', value: str):
        self.argo_task.when = f'{{{{tasks.{other.name}.outputs.result}}}} {operator} {value}'
        self.next(other)

I think the target result field is consistent in Argo Workflows? I do not have too much experience with conditional execution but, from the documentation, it seems that the result field is always named result, which allows Hera to always use the same target, as you suggested!

@rodrigobaron any thoughts on the above? Wondering if we're going ahead with this PR 🙂  If it just happens that you do not have time for this, I can certainly implement it and have you review it!

Sorry for the delay. I've implemented in the such way.. now just worrying about the 'Operator' implementation.

I didn't follow, the next version is v0.3.0 should skip that and go to v0.4.0?
obs.: I've added the the version 0.3.0

ok, I did the sync with main and merge into my branch.


Can't install in Sequoia 15.3

Describe the bug
I updated my Mac to 15.3 and now I get this error: Unable to install Xcode. If you continue to have problems, please submit a bug report in the Help menu.
Version

OS: 15.3
Xcodes: 2.4.1

i have the same issue trying install xcode 15.2

The problem for me was that there was an agreement pending in App Store Connect 🤦🏻♂


Fix bug: optimize bn when distributed is True

Thanks for your great work. The weight and bias are not trained when distributed is True. In your provided pth, the weight are ones and the bias are zeros.

Thanks for the bug report. I will train one model to see how this impact the performance and then merge this.

Looking good.
FYI: this brings about 0.6 mAP on Waymo


[DOCS] Mention .expose() for Secret Wrapper type

Update secret wrapper docs to mention that the only way to access the data is with the .expose() function, which means a simple search for expose() will show you wherever the key is used
Maybe add this to Auditing within the docs also

This has been done in the main docs.


This closes #15 - Update libs and plugins

It's not released yet. However, it's only about test, so it' OK to merge it into master.

It seems like there is an issue with the latest version of sbt-coveralls. It says it's an issue with sbt-coveralls and Play framework, but it fails when just running it using sbt.


Feat: Added Test files for Zomato #1056

Description
I have added the test files to Zomato
Resolves: [#1078 ]
Checklist

Before submitting this pull request, kindly verify that the ensuing checkpoints have been reached.

[x] Have you adhered to the repository's defined coding convention rules?
[ ] Have you updated the 'documentation.md' file with the method/function documentation?
[x] Have you sent a message along with the result or response?
[x] Have you used the try-catch technique?
[ ] Has the method/class been added to the documentation (md file)?

Screenshots

Additional Notes/Comments

please ignore the fact that i did this in 3 commits (;/)

I certify that I have carried out the relevant checks and provided the requisite screenshot for validation by submitting this pull request.
I appreciate your contribution.

Great work @aRUsh-codes  !!
Do not forget to

Share your contribution on socials and tag Clueless 🫂
Give this repository a star ✨
Follow Clueless Community on GitHub ✅


Updated the extract_keys command to be compatible with Django 1.10

The use of the optparse library was deprecated in Django 1.10,
This simply updates the command to be compatible with the argparse library introduced in 1.8
Reference: https://docs.djangoproject.com/en/1.8/howto/custom-management-commands/#attributes

Is possible to merge this pull request?

I would also like to merge this pull request if possible.

lgtm


[v1.14] author backport: lrp: update LRP services with stale backends on agent restart

This PR is an author backport for https://github.com/cilium/cilium/pull/36036

/test-backport-1.14


Set up the development environment

As a Learner
I need to set up the development environment
So that development can be executed
Details and Assumptions
* User Stores have to be created

Acceptance Criteria
gherkin
Given abc
When def
Then chi


ameza ocean heat content (take 2)

plenty of duplicated code in vars2sigma. Merged but should be a better way to reuse code, eliminate copy/paste bugs.
Any need for test.jl? Seems to repeat information included in src/ECCOtour.jl

Codecov Report
Patch coverage has no change and project coverage change: -4.28 :warning:

Comparison is base (a9372b2) 30.62% compared to head (93f378f) 26.34%.

:exclamation: Current head 93f378f differs from pull request most recent head eda3e2a. Consider uploading reports for the commit eda3e2a to get more accurate results

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #61      +/-   ##
==========================================
- Coverage   30.62%   26.34%   -4.28%
==========================================
  Files           4        4
  Lines         983     1150     +167
==========================================
+ Hits          301      303       +2
- Misses        682      847     +165

Impacted Files
Coverage Δ

src/ECCOtour.jl
32.40% <0.00%> (-4.71%)
:arrow_down:

src/MatrixFilter.jl
0.00% <ø> (ø)

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


[HOLD for payment 2024-02-12] [$500] Chat - Selected user doesn't move to top of list when searched & select from contacts list

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number:  1.4.30-0
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
Action Performed:

Navigate to staging.new.expensify.com & log in
Click FAB button >> Select Start Chat
Click on name, email or phone number search field
Search & click on Add to group button from Contact's list

Expected Result:
Selected user should move to top of list on tapping add to group button from contacts list
Actual Result:
Selected user doesn't move to top of list when searched & select users from contacts list
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

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

Screenshots/Videos
Add any screenshot/video evidence

https://github.com/Expensify/App/assets/78819774/a12326e5-831e-448f-a2e2-19f56f82ae86
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01817102b5066cf873
Upwork Job ID:<PHONE_NUMBER>288943616
Last Price Increase: 2024-01-23
Automatic offers:

akinwale | Reviewer | 28125015
dukenv0307 | Contributor | 28125016

We can move forward with @dukenv0307's proposal here.
🎀👀🎀 C+ reviewed.

Yep, @dukenv0307's proposal looks good 👍

@dukenv0307 all yours, let us know when you can get the PR up!

Looks like this went to prod on the 5th.

Paid out - @akinwale can you complete the checklist?
BugZero Checklist: The PR fixing this issue has been merged! The following checklist (instructions) will need to be completed before the issue can be closed:

[ ] [@akinwale] The PR that introduced the bug has been identified. Link to the PR:
[ ]  [@akinwale] The offending PR has been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake. Link to comment:
[ ]  [@akinwale] A discussion in #expensify-bugs has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner. Link to discussion:
[ ]  [@akinwale] Determine if we should create a regression test for this bug.
[ ]  [@akinwale] If we decide to create a regression test for the bug, please propose the regression test steps to ensure the same bug will not reach production again.
[ ]  [@garrettmknight] Link the GH issue for creating/updating the regression test once above steps have been agreed upon:

Dropping to weekly while we finish this one off.

[x]  [@akinwale] The PR that introduced the bug has been identified. Link to the PR:
[x]   [@akinwale] The offending PR has been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake. Link to comment:
[x]   [@akinwale] A discussion in #expensify-bugs has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner. Link to discussion:

Not a regression. A particular condition was filtering out the selected users that were meant to be displayed at the top of the list.

[x]   [@akinwale] Determine if we should create a regression test for this bug.
[x]   [@akinwale] If we decide to create a regression test for the bug, please propose the regression test steps to ensure the same bug will not reach production again.

Regression Test Steps

Launch Expensify
Open the global create menu and select Start chat
Click on the Search input field
Search for any user and click the Add to group button
Repeat step 4 for any number of users
Verify that the users added to group are displayed at the top of the search results
Clear the search input
Verify that the users added to group are still displayed at the top

Do we agree 👍 or 👎?

All done


Fix stream list bug in user info modal

Reference: https://github.com/zulip/zulip/pull/18671/commits/b080417960497324cea7fe2b69db56373f98f9bc#r651027799
We need this to correctly show only allowed streams in user info
popover.
Testing plan: node tests and added new test for this.

Merged after addressing the above feedback, thanks @m-e-l-u-h-a-n!
I had trouble understanding your explanation of the situation, because I'd forgotten that stream_data contains some private streams that the current user was previously subscribed to but no longer exist.  I think this PR would have been a lot more readable with that specific detail highlighted, since it's not obvious to other developers as well.


i have a error for installing net framework

Problem encountered on https://dotnet.microsoft.com/learn/dotnet/hello-world-tutorial/install
Operating System: windows
Provide details about the problem you're experiencing. Include your operating system version, exact error message, code sample, and anything else that is relevant.

could you provide the error details?

The tutorial is for you to learn about programming using .NET 5. If you need to install .NET Framework, you should go to https://dotnet.microsoft.com/download/dotnet-framework.
What is the error you're getting?

The tutorial is for you to learn about programming using .NET 5. If you need to install .NET Framework, you should go to https://dotnet.microsoft.com/download/dotnet-framework.
What is the error you're getting?


feature/integration

this adds a demo app to the repo. We should discuss what exactly a demo like this would look like, this is just a starting point. would address #11 Will use this as a base to start adding more integration tests

Could this demo app include:

Store composition: create another store class and showcase what are the options to combine it with the todostore into 1.
Selectors: showcase all the available options create em through the decorator.
Actions: same as selectors
Dispatch + subscribe
The use of NgxsModule.forFeature() method
Lazy loaded stores?

Im going to work on this later today. Ill add a checklist to see what all we want to add. This is also meant to act as an integration test so we need to account for as much as possible

Let me know when this is ready :)

@amcdnl hey. I think this is good to go. It lays the groundwork for integration test in addition to the libraries own unit tests. The list of things we WANT to have covered here I can do in a separate PR

cc @jotatoledo ☝

@amcdnl also I would suggest squashing and merging this one

Merged


FIx error when import mmcv

The Config in mmcv is transferred to MMEngine, fix the import.
Thanks for your contribution and we appreciate it a lot. The following instructions would make your pull request more healthy and more easily get feedback. If you do not understand some items, don't worry, just make the pull request and seek help from maintainers.
Motivation
When go through the tutorial of MMYOLO to generate complete config file, we found an error caused by MMDetection-3.0 that  caused by MMCV.
Refer to ISSUE:  https://github.com/open-mmlab/mmyolo/issues/158
Modification
Modify MMCV -> MMEngine in print_config.py
BC-breaking (Optional)
Does the modification introduce changes that break the backward-compatibility of the downstream repos?
If so, please describe how it breaks the compatibility and how the downstream projects should modify their code to keep compatibility with this PR.
Use cases (Optional)
If this PR introduces a new feature, it is better to list some use cases here, and update the documentation.
Checklist

Pre-commit or other linting tools are used to fix the potential lint issues.
The modification is covered by complete unit tests. If not, please add more unit test to ensure the correctness.
If the modification has potential influence on downstream projects, this PR should be tested with downstream projects, like MMDet or MMCls.
The documentation has been modified accordingly, like docstring or example tutorials.

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

Thanks for your contribution! Please sign the CLA first.

Hi @cydiachen
Thanks for your kind PR. It seems that CLA is not signed. Could you sign the CLA so that eventually we could merge this PR after review? You can check the contents and follow the instruction in the communication box shown as below

Resolved in https://github.com/open-mmlab/mmdetection/pull/9065


Go straight to the comments when you've opened an image

It would be nice to be able to go straight to the comments when you've opened an image. Maybe a comments button next to the downloads button?
Reddit link

Merge with #233


System.ArgumentException: '►', hexadecimal value 0x10, is an invalid character.

I wrote a .NET 4.7.2 program for converting multiple RBXM files to RBXMX (since manually converting them takes a long amount of time, I've did it once and never want to deal with it again), however when I try to convert a rbxm file I get the following error below:
Unhandled Exception: System.ArgumentException: '►', hexadecimal value 0x10, is an invalid character.
   at System.Xml.XmlEncodedRawTextWriter.InvalidXmlChar(Int32 ch, Char* pDst, Boolean entitize)
   at System.Xml.XmlEncodedRawTextWriter.WriteCDataSection(String text)
   at System.Xml.XmlEncodedRawTextWriter.WriteCData(String text)
   at System.Xml.XmlEncodedRawTextWriterIndent.WriteCData(String text)
   at System.Xml.XmlWellFormedWriter.WriteCData(String text)
   at System.Xml.XmlCDataSection.WriteTo(XmlWriter w)
   at System.Xml.XmlElement.WriteElementTo(XmlWriter writer, XmlElement e)
   at System.Xml.XmlElement.WriteTo(XmlWriter w)
   at System.Xml.XmlDocument.WriteContentTo(XmlWriter xw)
   at RobloxFiles.XmlRobloxFile.Save(Stream stream)
   at RobloxFiles.RobloxFile.Save(String filePath)
   at RBXMtoRBXMX.Program.Main(String[] args) in C:\<stuff>\RBXMtoRBXMX\RBXMtoRBXMX\Program.cs:line 45

The following lines of code handle the conversion
case BinaryRobloxFile:
    {
        Console.WriteLine("Converting " + FileName);
        RobloxFile XmlRbxModelFile = new XmlRobloxFile();
        foreach(Instance inst in RbxModelFile.GetChildren()) inst.Parent = XmlRbxModelFile;
        XmlRbxModelFile.Save(FileName.Replace(".rbxm", ".rbxmx"));
        break;
    }

Edit:
The error comes from this line:
XmlRbxModelFile.Save(FileName.Replace(".rbxm", ".rbxmx"));

The file name does not have special characters except whitespace

Instead of that line, try these lines:
string SavePath = FileName.Replace(".rbxm", ".rbxmx");
XmlRbxModelFile;.Save(SavePath);

Interesting edge case for sure. It seems you have a data link escape character in some property of your data. I’m not even sure if Roblox would save this file as XML if you did it manually.
If you can provide a repro I can consult some other folks to see what the best course would be here. I think you might be better off just removing the bad character from your data, where-ever it is.

Instead of that line, try these lines:
string SavePath = FileName.Replace(".rbxm", ".rbxmx");
XmlRbxModelFile;.Save(SavePath);

This was the previous code before I shortened it, it exhibits the same issue

I’m not even sure if Roblox would save this file as XML if you did it manually.

Well, Roblox did since I saved them as rbxmx manually

If you can provide a repro I can consult some other folks to see what the best course would be here. I think you might be better off just removing the bad character from your data, where-ever it is.

Not gonna bother removing them manually to be honest (since I don't care, I just need them in rbxmx), heres the original rbxm files that has the issue: (I wrapped the conversion in a try-catch block to catch the issues and these failed)
LCs.zip (GitHub doesn't support rbxm so I had to zip them)


Load the document at startup

Current dependencies on/for this PR:

master

PR #72

PR #73

PR #74   👈

This comment was auto-generated by Graphite.


Service Fabric plugin does not work with Traefik 3.0

The same configuration that works with Traefik 2.9.6 and Service Fabric plugin 1.0.0 breaks when updating Traefik to 3.0.0-beta2. I would expect the Service Fabric plugin to continue working after updating Traefik.
Broken with beta of Traefik 3.0:
2022-12-28T08:47:36Z INF Traefik version 3.0.0-beta2 built on 2022-12-07T16:32:34Z version=3.0.0-beta2
2022-12-28T08:47:36Z INF
Stats collection is disabled.
Help us improve Traefik by turning this feature on :)
More details on: https://doc.traefik.io/traefik/contributing/data-collection/
2022-12-28T08:47:36Z INF Starting provider aggregator aggregator.ProviderAggregator
2022-12-28T08:47:36Z INF Starting provider *file.Provider
2022-12-28T08:47:36Z INF Starting provider *traefik.Provider
2022-12-28T08:47:36Z INF Starting provider *acme.ChallengeTLSALPN
2022-12-28T08:47:37Z ERR error="unexpected number of parameters; got 5, expected one of [1]" entryPointName=web routerName=fabric-Contoso1-Contoso-http-Contoso-e0327b43-b1ac-45cc-b97c-1c7ea028aed9@file
2022-12-28T08:47:37Z ERR error="unexpected number of parameters; got 3, expected one of [1]" entryPointName=web routerName=fabric-Contoso2-Contoso-http-Contoso@file
2022-12-28T08:47:37Z ERR error="unexpected number of parameters; got 3, expected one of [1]" entryPointName=web routerName=fabric-Contoso2-Contoso-http-Contoso-9210ff31-e116-411c-bf64-f9c0da4edeb1@file
2022-12-28T08:47:37Z ERR error="unexpected number of parameters; got 3, expected one of [1]" entryPointName=web routerName=fabric-Contoso3-Contoso-http-Contoso@file
2022-12-28T08:47:37Z ERR error="unexpected number of parameters; got 3, expected one of [1]" entryPointName=web routerName=fabric-Contoso3-Contoso-http-Contoso-32ede899-f044-4ed9-a442-ec4da2340a5a@file
2022-12-28T08:47:37Z ERR error="unexpected number of parameters; got 5, expected one of [1]" entryPointName=web routerName=fabric-Contoso1-Contoso-http-Contoso@file
2022-12-28T08:47:37Z WRN No domain found in rule PathPrefix(/), the TLS options applied for this router will depend on the SNI of each request entryPointName=internal routerName=api@file
2022-12-28T08:47:42Z ERR Error while Peeking first bytes error=EOF
2022-12-28T08:47:43Z ERR Error while Peeking first bytes error=EOF
2022-12-28T08:47:43Z ERR Error while Peeking first bytes error=EOF
2022-12-28T08:47:47Z ERR Error while Peeking first bytes error=EOF
The "Peeking first bytes" errors continue indefinitely and no requests go through.
Working after reverting back to the current latest release:
time="2022-12-28T09:22:05Z" level=info msg="Traefik version 2.9.6 built on 2022-12-07T14:17:58Z"
time="2022-12-28T09:22:05Z" level=info msg="\nStats collection is disabled.\nHelp us improve Traefik by turning this feature on :)\nMore details on: https://doc.traefik.io/traefik/contributing/data-collection/\n"
time="2022-12-28T09:22:05Z" level=info msg="Starting provider aggregator aggregator.ProviderAggregator"
time="2022-12-28T09:22:05Z" level=info msg="Starting provider *file.Provider"
time="2022-12-28T09:22:05Z" level=info msg="Starting provider *traefik.Provider"
time="2022-12-28T09:22:05Z" level=info msg="Starting provider *acme.ChallengeTLSALPN"
time="2022-12-28T09:22:05Z" level=warning msg="No domain found in rule PathPrefix(/), the TLS options applied for this router will depend on the SNI of each request" entryPointName=internal routerName=api@file

Apparently Traefik 3 breaks plugin compatibility again: https://doc.traefik.io/traefik/v3.0/migration/v2-to-v3/#matchers

Looks like Traefik 3 doesn't require changes to the Service Fabric plugin after all.
The "Peeking first bytes error" should be fixed in Traefik code by https://github.com/traefik/traefik/pull/9663 .
The "unexpected number of parameters" errors are caused by changes in the routing rule syntax in Traefik 3, but they can be fixed by defining the routing rules on the Service Fabric side in a different way. Syntax Host(dns.name1,dns.name2) works with Traefik 2 but not Traefik 3. Syntax Host(dns.name1) || Host(dns.name2) works with both Traefik 2 and Traefik 3.


chore: robustify FromLRAT proof

Just an unsqueezed simp that broke on an adaptation branch.

Thanks!
maintainer merge

bors merge


Annotation timing info loss due to datetime.timedelta precision limit

Description of the problem
Sub-microsecond timing data is lost when pushed through a datetime.timedelta object step, for example in mne.annotations.crop. As raw.set_annotations calls crop internally, this can lead to misalignment of the created annotations and raw.times, with the annotations covering slightly different frames than expected.
This will only affect cases where 1/sfreq has sub-microsecond precision, but 512Hz is common in my experience, and 1/512 = 0.001953125s.
Steps to reproduce
from datetime import datetime, timezone

import numpy as np
from mne import Annotations, create_info
from mne.io import RawArray

info = create_info(5, 512, "eeg")
data = np.random.randn(5, 10000)
raw = RawArray(data, info)
print(raw.times[1])
# 0.001953125
annotation = Annotations(onset=raw.times[1], duration=1, description="test")
print(annotation[0])
# OrderedDict([('onset', 0.001953125), ('duration', 1.0), ('description', 'test'), ('orig_time', None)])
raw.set_annotations(annotation)
print(raw.annotations[0])
# OrderedDict([('onset', 0.001953), ('duration', 1.0), ('description', 'test'), ('orig_time', None)])
print(raw.time_as_index(raw.annotations[0]['onset']))
# array([0])

Link to data
No response
Expected results
The annotation details shouldn't be lost when attached to the raw object. The correct original range of frames should be as precisely obtainable from the timing data as before attached to the raw object.
annotation[0]['onset'] and raw.annotations[0]['onset'] should be equal at 0.001953125.
raw.time_as_index(raw.annotations[0]['onset']) should return array([1]), corresponding to how the annotation was created.
Actual results
annotation[0]['onset'] is 0.001953125 while raw.annotations[0]['onset'] is 0.001953.
raw.time_as_index(raw.annotations[0]['onset']) returns array([0])
Additional information
Platform             Linux-3.10.0-1160.102.1.el7.x86_64-x86_64-with-glibc2.17
Python               3.11.5 (main, Sep  5 2023, 13:23:33) [GCC 4.8.5 20150623 (Red Hat 4.8.5-44)]
Executable           /isilon/LFMI/VMdrive/Jonathan/PriorWeightingMooney/Visual/ECoG/Code/.venv/bin/python
CPU                  x86_64 (20 cores)
Memory               96.2 GB
Core
├☑ mne               1.5.1
├☑ numpy             1.26.2 (OpenBLAS 0.3.23.dev with 20 threads)
├☑ scipy             1.11.4
├☑ matplotlib        3.8.2 (backend=module://matplotlib_inline.backend_inline)
├☑ pooch             1.8.0
└☑ jinja2            3.1.2
Numerical (optional)
├☑ sklearn           1.3.2
├☑ nibabel           5.1.0
├☑ nilearn           0.10.2
├☑ pandas            2.1.3
└☐ unavailable       numba, dipy, openmeeg, cupy
Visualization (optional)
├☑ pyvista           0.42.3 (OpenGL unavailable)
├☑ pyvistaqt         0.11.0
├☑ vtk               9.3.0
├☑ ipympl            0.9.3
├☑ ipywidgets        7.8.1
└☐ unavailable       qtpy, pyqtgraph, mne-qt-browser, trame_client, trame_server, trame_vtk, trame_vuetify
Ecosystem (optional)
└☐ unavailable       mne-bids, mne-nirs, mne-features, mne-connectivity, mne-icalabel, mne-bids-pipeline

thanks for the detailed bug report. Do you have a suggestion for how to
address this issue?

Message ID: @.***>

Getting away from using datetime.timedelta is the direct approach, but not being familiar with MNE internals & existing dependencies I was unsure what replacement would make the most sense.
Using pandas datetime equivalents would achieve nanosecond resolution

`pandas.Timedelta` has nanosecond resolution and per the docs(https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Timedelta.html) "equivalent of python’s datetime.timedelta and is interchangeable with it in most cases". I suppose you must already have pandas as a dependency, given the `.to_data_frame` methods, so perhaps this is the easiest fix.

Looking at `annotations.py` import line, I imagine `datetime.datetime` would also need to be changed to `pandas.Timestamp`(https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Timestamp.html). It also mimics the builtin.
I believe both of these use nanoseconds as their default unit, so proper scaling would need to be checked everywhere given the current microsecond regime.

Alas, this still doesn't quite fix the root issue, which I only realized after writing all that hidden stuff, as the pandas classes just truncate to the closest ns. While it does fix my issue with 512Hz, if I were to use my truly raw 2048Hz data I'd fall to the issue still: 1/2048Hz = 488,281.25ns. Other oddball sample rates would also.
Perhaps the best solution is to just confirm precision hasn't been lost after going through any timedelta or datetime steps, and revert back if it has (this is what I'm doing in my own code after each offending mne call). Is there truly a need to use timedelta at all given neither the input nor the output is?

You don't even have to use pandas, since NumPy also provides datetime types with higher precision, i.e. numpy.datetime64 and numpy.timedelta64 (https://numpy.org/doc/stable/reference/arrays.datetime.html).
However, to address the underlying issue, we would have to transition from a time-based annotation processing approach to a sample-based approach. I'd be 👍, but this could be a lot of work (but I haven't looked into the code at all yet).

You don't even have to use pandas, since NumPy also provides datetime
types with higher precision, i.e. numpy.datetime64 and numpy.timedelta64 (
https://numpy.org/doc/stable/reference/arrays.datetime.html).

+1

However, to address the underlying issue, we would have to transition from
a time-based annotation processing approach to a sample-based approach. I'd
be 👍, but this could be a lot of work (but I haven't looked into the code
at all yet).Message ID: <mne-tools/mne-python/issues/12327/1870949098@
github.com>

but then your annotations depend on sampling rates (filtering, resampling,
decimation). Having one set of timestampted annotations that works whatever
the sampling rates, whatever the features you look at (eg power over time)
is to me super useful and much less error prone. And we have "events"
files/arrays for index based events.

but then your annotations depend on sampling rates (filtering, resampling, decimation)

Yes, it's a tradeoff. I know that this was a deliberate decision, I just wanted to make it clear that we cannot have infinitely accurate timestamps with time-based indexing. We can make potential errors smaller with np.timedelta64, but we can never make it zero in general.

see my message in https://github.com/mne-tools/mne-python/pull/12324

Message ID: @.***>

np.timedelta64 looks better, but still just pushes the problem down to smaller precisions. "Bad" sample rates (300Hz) still fail.

but then your annotations depend on sampling rates (filtering, resampling, decimation). Having one set of timestampted annotations that works whatever the sampling rates, whatever the features you look at (eg power over time) is to me super useful and much less error prone. And we have "events" files/arrays for index based events.

Agreed that allowing the annotations to be timestamp driven is very useful, but ultimately every action taken on the data will be sample-driven. From the user perspective, MNE is expected to consistently manage this translation behind the scenes.
I appreciate that Annotations are their own independent class, but perhaps at least when a raw/epoch/etc object's method is interacting with an Annotations (raw.set_annotations, raw.crop_by_annotations, others?) a consistency check may be in order. The samples each annotation is referencing before and after the method should not change unless it's an explicit purpose of the method.
Alternative: Make 'onset' and 'duration' visible to the user as timedeltas
The core issue is unexpected behavior from the user perspective due to the hidden conversion from user supplied float timing data to timedeltas that have a different precision cap. If Annotations insisted that 'onset' and 'duration' are always immediately converted to timedelta, and any loss of precision will be seen immediately. Then there is no lack of consistency, at least within MNE.
Perhaps raising a warning when precision is lost would still be necessary, since Annotations constructed from raw.times values could still be inconsistent. But at least its up front for the user to address.

see my message in #12324

Interesting. In my local fix, I use a tolerance parameter to determine when post-.set_annotations or ._crop_by_annotations Annotations 'onset' or 'duration' values should be overwritten with their prior value: if the difference is less than tol (typically 1/sfreq), the assumption is it is simply due to timedelta rounding, and should be overwritten.


Add info about iOS full accuracy and GeoLocation

@davidbritch I'm not sure what to say exactly about the plist file. The information in the bug didn't make sense to me. Perhaps you can help clairfy?
Fixes #531

So yeah, the doc needs to mention the Info.plist entry that's required. Basically users will need to add this key to their Info.plist file. But the key is actually a dictionary.
It doesn't help that the description in the PR is copied from the Essentials PR, without being updated. It should say: "The key TemporaryFullAccuracyUsageDescription was used for this purpose."
Joining all this together tells us that users will have to update their Info.plist with:
	<key>NSLocationTemporaryUsageDescriptionDictionary</key>
	<array>
		<dict>
			<key>TemporaryFullAccuracyUsageDescription</key>
			<string>Message to user will go here.</string>
		</dict>
	</array>

Obviously "Message to user will go here" should be something sensible like "Your location is used to XXXXXXX.".
I've not double-checked that the XML above is correct, but I think it is. So I'd recommend dumping it into an Info.plist, then opening the Info.plist in the Info.plist editor. If it's viewable in the editor, it's all good.
So I guess that's an update for the platform-specific setup bit of the doc (but specifying it's only required if users choose to use these new properties).

The plist editor is always blank for me, so I can't tell if something is working or not. 😁

Build error is unrelated but is due to the windows api migration going on. Should be fixed by monday


Pick best match for a domain name when filtering on hosted zones.

Fixes an issue when zappa picks an incorrect zone if two zones have same substring. E.g. if both example.com.au. and wider.example.com.au are present, zappa could pick the former one given subdomain.wider.example.com.au as domain name.
The change makes zappa pick best match (longest substring).

Coverage increased (+0.2%) to 80.668% when pulling 0f96f8a4baee89e28e89059e4c3a393b457a4bba on DomainGroupOSS:feature/zone-best-match into dbffbee20a550d2a00731fe4bc2d1abbcdb426f3 on Miserlou:master.

Nice one!


test: ErrorBoundary dedicated directory and tests

SUMMARY
This PR adds the tests for the ErrorBoundary component while moving it to its own dedicated directory.

Thank you @geido for adding test to this component, which previously have no test coverage at all. 🙏 🙂


LUCENE-10576: ConcurrentMergeScheduler maxThreadCount calculation is artificially low

Description
ConcurrentMergeScheduler tries to calculate number of max threads. This is artificially low and capped at 4 due to the logic in the calculation.
Solution
This updates the logic to Math.max(4, coreCount / 2) which sets a minimum to 4 threads (the previous lower limit) and max of coreCount / 2.
Tests
No new tests were added.
Checklist
Please review the following and check all that apply:

[x] I have reviewed the guidelines for How to Contribute and my code conforms to the standards described there to the best of my ability.
[x] I have given Lucene maintainers access to contribute to my PR branch. (optional but recommended)
[x] I have developed this patch against the main branch.
[x] I have run ./gradlew check.
[ ] I have added tests for my changes.

I'm not sure this is a great change since it could drastically increase the number of max threads and therefore merges allowed - especially with some of the high CPU core boxes. However, the limit of 4 threads today seems to be wrong at least how the logic is written. This PR is just an example of simplifying to make it more clear. I don't have any benchmarks or specifics on why to make this change.

I agree with @uschindler . I only have 2 cores.

So just to clarify - today (and ever since spins = false either detected or default) - the minimum has been 4 threads.
I'm not sure I understand "I'd just change the upper limit. But there should be a cap." @uschindler.
are you saying something like:
Math.max(1, coreCount / 2) - so the minimum is 1 but still variable based on coreCount.
or
Math.max(4, Math.min(10, coreCount / 2) - so there is a maximum of 10, but minimum of 4 based on coreCount / 2.
or
Math.max(1, Math.min(10, coreCount / 2) - so there is a maximum of 10, but there is a minimum of 1 based on coreCount / 2
or something completely different.
Note: the 10 above is just some arbitrary max just to illustrate.

I don't think the formula should be changed personally. If you want to increase the default limit of 4 to say 6 for some good reason, I'm not entirely opposed to that, but the formula looks correct.
But I think we need justification for the change. as background merging should be... background for most people, I feel like the simple bounded default up to 4 is good. User can always override by calling setMaxMergesAndThreads themselves.
This is just a default value.

Hi,
The lower limit should definitely stay at 1. I tend to agree to change the upper limit, but the formula as is if correct.
As Robert said, that's a background thing. I tend to think that the /2 is wrong, so maybe set maximum threads to 6 or 8 but done spend more than a third of all cores.
This all needs some benchmarks with SSD and also without.

What I wanted to add: Merging is mostly an IO thing. More cores would not necessarily make it faster (your SSD  has a limited amount of parallelism). It may be better on different indexes placed on different SSDs, but those would have separate merge schedulers anyways. If you look a few lines up in code: If its a harddisk and spins the maximum number of threads is 1.
P.S.: When we really want to change this, the documentation (javadocs) needs update, too.

The current calculation makes sense to me. Merge policies like to organize segments into tiers, where the number of segments on each tier is typically also the number of segments that can be merged together. So it doesn't make much sense to perform multiple merges on the same tier concurrently. The way I'm reading the current formula is that we are scaling the number of merge threads with the number of processors, but stop at 4 anyway because it already allows Lucene to perform merges on 4 different tiers concurrently, which is already a lot given that tiers have exponential sizes, and that TieredMergePolicy has a max merged segment size of 5GB.

Fair enough - appreciate all the comments and additional context I couldn't find in the linked jiras.


[v2] Default starter does not work straight away

When following the tutorial on the website for the brand new released v2, something goes wrong:
error There was a problem loading the local develop command. Gatsby may not be installed. Perhaps you need to run "npm install"?

  Error: Cannot find module 'graphql'

  - module.js:11 require
    internal/module.js:11:18

  - index.js:18 Object.<anonymous>
    [gatsby-mui]/[express-graphql]/dist/index.js:18:16

  - module.js:11 require
    internal/module.js:11:18

  - develop.js:17 Object.<anonymous>
    [gatsby-mui]/[gatsby]/dist/commands/develop.js:17:21

<removed name> :gatsby-mui cedricjacobs$ npm i
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>|| ^0.12.3 || ^0.13.0 || ^14.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS><5.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>|| ^0.13.0 but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>|| ^0.11.0 || ^0.12.0 || ^0.13.0 but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>|| ^3.0.0 || ^4.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>|| ^0.12.0 || ^0.13.0 || ^14.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>|| ^0.12.0 || ^0.13.0 || ^14.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>|| ^0.6.0 || ^0.7.0 || ^0.8.0-b || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>|| ^3.0.0 || ^4.0.0 but none is installed. You must install peer dependencies yourself.

When I added the qraphql-package the number of missing dependencies diminished but the result remained the same:
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS><5.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>|| ^0.13.0 but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>|| ^0.11.0 || ^0.12.0 || ^0.13.0 but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>|| ^3.0.0 || ^4.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>|| ^0.6.0 || ^0.7.0 || ^0.8.0-b || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>|| ^3.0.0 || ^4.0.0 but none is installed. You must install peer dependencies yourself.

UPDATE:
Deleting the package-lock.json works to resolve the peer dependency issue.
Another issue came up when running gatsby develop:
  Error: Cannot find module 'core-js/modules/es6.array.filter'
i resolved this by:
 npm install --save core-js
this is the same error is described in issue #7862


Change methods to const where appropriate

We should do a pass of the codebase looking for opportunities to change methods to const.  For example, impl Weight should be changed to:
impl Weight {
    /// Constructs a new `Weight`.
    pub const fn new(weight: u8) -> Weight {
        Weight(weight)
    }

    /// Returns the value of `self` as a `u8`.
    pub const fn value(self) -> u8 {
        self.0
    }
}

@Fraser999 justify why do we need this change?

@Fraser999 justify why do we need this change?

+1
Rationales / link to an article etc.

https://www.dotnetperls.com/const-fn-rust
Maybe not a https://github.com/casper-network/casper-node/labels, needs


Return result

What component should return?
1. html
$('.dropdown', el => {
  return html`<new content>`
})

+ react-like
+ logically main effect
- renderer can't be gated via useEffect by deps
- difficult to have multiple rendering results
- not clear what rendering lib must be used - lit, morphdom, etc?
- not all aspects must have render effect, some can be just decorators for example. Forced return result would make undefined an empty content.
⛔
2. Destructor
let destroy = $('.item', el => {
  // ...create/update
  return () => // ...dispose
})

+ react-like, useEffect
+ logically fine too - init/destroy
+ works well with internals
- can be emulated via useEffect(() => () => {}, []) or just useDestroy(() => {}), or useInit(() => () => {})
3. API
let popup = $('.popup', el => {
// init popup
return {
  open() {}
}
})

+ solves #126
+ extends 2.
- redundant creation of API every render call (useCallback can be built-in)
- API can be organized via useAction(el, 'open', fn)

Done as destructor.


a bit more sensible dt generation

@yebblies this one too, please!

Can you fix https://github.com/yebblies/dmd/commit/3aff82e0c63ec71d2670538afc5e40bbc1719b13 ?

Auto-merge toggled on

Can you fix yebblies@3aff82e ?

What do you mean?

It doesn't work because of D's lack of default ctors/interior pointers.  Since you insist on using these features, it would be nice if you could demonstrate how they can work across the D/C++ boundary.


RFE: ability to display status of the whole pipeline (the flow with errors)

There's an unfinished PoC [1], but it might be better to re-implement it in Python as it is the language of choice for this project.
[1] https://github.com/RedHatInsights/ccx-data-pipeline-monitor

Questions:

What are the features we are supposed to reimplement from the project given in the decription.

Use case: two applications in a chain, pipeline sends data to aggregator, both log events. Some events occure in pipeline, but are lost in aggregator


Implemented NetworkConditioner

This PR adds a NetworkConditioner on vnet.Net – which behaves in addition to the Router's settings.
A NetworkConditioner can be provided at vnet.Net creation time, or later.
The change in itself is not atomic, rather each value of the  struct is updated atomically. It shouldn't cause any issue though (maybe invalid behavior on 1 or 2 packets at most) and permits to avoid any per-packet locking mechanism – which would hurt performances.
A user can use one of the preset (the values are taken from Apple's NetworkLinkConditioner), or provide their own custom one.
This is useful in situation such as when you need to unit test behavior when a specific user drops their connection.
I'm not 100% sure the handleDownLink and handleUpLink calls are at the best place nor return the correct values?

@Antonito @Sean-Der
Before I look closely into the code, are we really sure we'd want to introduce network impairment tool per instance of Net (NIC) when we already have the same at Router level?
RouterConfig:

MinDelay time.Duration
MaxJitter time.Duration
Router:
AddChunkFilter(filter ChunkFilter)

type ChunkFilter func(c Chunk) bool
o ChunkFilter is a handler users can add to filter chunks. If the filter returns false, the packet will be dropped.

See<EMAIL_ADDRESS>Notes:

Router already had a queue to implement above.
You can cascade routers to mimic per-NIC configuration.

I am just wondering if this is worth the effort / maintenance cost for the increased complexity just for the simulation/testing.

Thanks a lot for your comments @enobufs
Totally right about the blocked processChunks, you're correct I intended to add latency to a single client not all of them, I missed that completely.
I'm all for building on top of existing code & keep things simple, and also want to provide the simplest way to test things (I find WebRTC tests can easily become quite verbose, so the simpler the better).
With the current PR, things in a typical scenario looks like this:
wan, err := vnet.NewRouter(&vnet.RouterConfig{
	CIDR:          "<IP_ADDRESS>/0",
	LoggerFactory: logging.NewDefaultLoggerFactory(),
})
assert.NoError(t, err)

vnetA := vnet.NewNet(&vnet.NetConfig{
	NetworkConditioner: vnet.NewNetworkConditioner(vnet.NetworkConditionerPresetNone),
})
assert.NoError(t, wan.AddNet(vnetA))

assert.NoError(t, wan.Start())
defer func() { _ = wan.Stop() }()

// Later, the user can dynamically change the NetworkConditioner, to simulate network disconnection for example
vnetA.SetNetworkConditioner(vnet.NewNetworkConditioner(vnet.NetworkConditionerPresetFullLoss))

By implementing on top of the Router, we'd get something like this:
wan, err := vnet.NewRouter(&vnet.RouterConfig{
	CIDR:          "<IP_ADDRESS>/0",
	LoggerFactory: logging.NewDefaultLoggerFactory(),
})
assert.NoError(t, err)

subnetA, err := vnet.NewRouter(&vnet.RouterConfig{
	CIDR:          "<IP_ADDRESS>/0",
	LoggerFactory: logging.NewDefaultLoggerFactory(),
	NetworkConditioner: vnet.NewNetworkConditioner(vnet.NetworkConditionerPresetNone),
})
assert.NoError(t, err)
assert.NoError(t, wan.AddRouter(vnetA))

vnetA := vnet.NewNet(&vnet.NetConfig{})
assert.NoError(t, subnetA.AddNet(vnetA))

assert.NoError(t, wan.Start())
defer func() { _ = wan.Stop() }()

I think we could introduce a helper function which would wrap the Router+Net creation, but then we'd have to handle CIDR (or let the user provide it, but I feel that's unnecessary complexity), since a subrouter can't have the same CIDR as its parent (or am I wrong on this?)
A bit out of the scope of this PR, but I've been wanting to simulate network changes, to test behavior in mobile-like situations (wifi<->lte switches). With this PR, we can change the behavior of the network, but that's still an inaccurate simulation since the address of the client doesn't change. I think it's something that could be handled at the router's level, and that would make sense to handle network condition on the same level in this situation.
If I'm not mistaken, the current implementation of Router has a single queue to handle incoming and outgoing packets (processChunks). To handle downlink/uplink conditions logic would require a bit of change.
The way I see it, there are 3 possibilities:

NetworkConditions at the Net level, just like this PR does, but with inbound & outbound queues

Simplest API for the user
A bit of double use with the Router's logic

NetworkConditions at the router level

API a bit more verbose
Would still require logic modifications
MinDelay is already specified in NeworkCondition, MaxJitter isn't. Ideally we'd have to get rid of MinDelay and add MaxJitter to NetworkCondition, but that's a breaking change I guess?

Have a mix of the two

We should still merge NetworkCondition with MaxJitter/MinDelay
Router's logic can stay the same, have the Net implement the NetworkCondition logic without queues (just as it is now)
Force NetworkCondition-ed Net to be wrapped in a dedicated subrouter. The Net will still block the processChunks routine, but that isn't an issue anymore here.
Downside is it's a bit less rigorous from a design perspective, and we still have the more verbose API

( I'd also love your thoughts on this @Sean-Der )

My only concern is if per NIC delay is that important for this level of testing. Primary goal of vnet was to emulate NAT so that we could test with various types of NAT.  Network impairment was introduced later on, on the router because it already had a queue, so I agree, it was a shortcut and not truly representing real world's complex scenario, but that was good enough to find most of bugs with race conditions.
I used to use WAN emulators such as this. This helped me to evaluate overall performance and to be reassured before shipping a product to the real world, but most of the bugs were found just by introducing simple network impairment between point A and point B, with a tool similar to comcast (using iptables/netem). The vnet does this simple stuff and even quicker because everything is on the test code to achieve the same.
Having said that, I understand what you are try to do (introducing more controls and helping user side complexity with presets also), and I am not too strong about the above thoughts. Maybe I am too minimalistic..

I still think there's value in enabling users to simulate network conditions via unit tests:

they're very simple to write, and provide consistent results
easy to integrate in existing CI/CD pipelines
they should help catch a good amount of network related problems (if not most?) & allow to test scenarios that aren't (easily) testable as of today

I also agree we should not overcomplicate stuff. I feel the parameters I added to NetworkCondition provide a good amount of flexibility (there are exactly the same as what iOS Network Conditioner Link provides), without making the code too complex.
For scenarios requiring more controls, sure, let's redirect users to more complete tools such as the ones you linked.
I get your point though, and the solutions I proposed might not be best ways to solve this. I dislike having network impairment controls on both the Router and Net, it goes against the idea of simplicity we're seeking.

After wrapping my head against all of this again, I think the best solution is to keep the impairment logic at the vNet level?

the queues add a bit of complexity, but not too much
keeps the API simple for the end user
MinDelay at the Router level can be removed, as it's already handled by DownLink/UpLink Latency
MaxJitter can be added to NetworkCondition and removed at the router level. This adds the possibility to have different DownLink and Uplink jitter.
Router-wide settings can be re-enabled by simply applying a config to all users? (but in that case, are router-wide settings really still useful/wanted?)

The only downside I see with this approach is we introduce breaking changes. But on the other hand, I don't think a lot of code depends on vNet, and especially the network impairment stuff, so that's probably ok?
I've been debating between this, and the Have a mix of the two... solution. However I think the later introduces more complexity, both for the end user (have to manage CIDR) and in the package (still have to move MaxJitter and MinDelay).
Also, keeping the vNet implementation without queues and forcing users to wrap network-impaired vNet into a dedicated sub-router still leaves the possibility of enabling network impairments on non-wrapped vNet – which would lead to unwanted & confusing behavior, which we should avoid.
If someone has a better solution, I'm all for it :)

If we were to emulate network more resembles to the real network, then we should keep the network impairment on the router and improve them for better.
"Network conditioner" settings are from the aspect of one endpoint. It is special case and does not cover scenarios like having multiple endpoints sharing the same subscriber (i.e. Comcast cable, AT&T fiber, etc) line. The subscriber line is in between your residential router and the internet (other "WAN" routers), while the network quality within the LAN is very fast, etc.  Mac's Network Link Conditioner is an alternative solution (things are happening only on your PC) when you don't have a way to introduce network impairment elsewhere.
I use Comcast and most of the bottle neck comes from the subscriber line, particularly the upload speed is very limited with Comcast cable. I'm sure lots of packet loss is happening behind my cable modem.
What's missing in the Net class (~= NIC) is the socket buffer (currently not emulated).  Write()/WriteTo() call would block if the send (socket) buffer becomes full (until the deadline expires). But if that is UDP, this blockage rarely happen. Also, if it is wifi, there would be relatively large packet loss due to radio signal interference (microwave in the kitchen, etc).
So, if I were to improvement vnet further, I'd look into:

Introduce a way to limit up/down bandwidths separately from bandwidth within the subnet. (as I mentioned above regarding the "subscriber line")
We could Introduce packet loss settings to Net (NIC) as well.

Hey @Antonito,
are you still interested in getting this merged?
If so, could you please resolve the conflicts and push a new version?
Thanks :)

Hey @Antonito,
are you still interested in getting this merged? If so, could you please resolve the conflicts and push a new version?
Thanks :)

Hey @stv0g!
I'm still interested in getting this merged, however I don't have the bandwidth to work on this.
If someone else wants to take ownership of this PR, it's fine by me :)

Thanks @Antonito,
as a maintainer, I need somebody who feels responsible for getting this PR merged and bring it forward.
Its quite normal that initial authors have to abandon their PRs due to resource constraints or a shift of focus.
As this seems to be the case, I would like to close the PR until we find somebody who wants to work on it to get it merged.
Please feel free to reopen the PR if you have the bandwidth :)


Broke with 1password 6.3.2 update

Too bad it  broke with the last update, more people having this problem?

@firstchair I need to update the readme. You shouldn't use the workaround anymore the normal configuration of sudolikeaboss should work. I'm not experiencing the same issue at the moment, but I haven't updated to the latest version of El Capitan. I'll investigate

@firstchair what version of sudolikeaboss are you using? Do:
$ sudolikeaboss -version

And send me the output

Thanks for your reply, I have sudolikeaboss version 0.2.0 running.


Import translated learn section titles into the app from the translation spreadsheet

All strings for /pathways-frontend/src/fixtures/hard_coded/explore.ts need to be added from the translation spreadsheet. The descriptions are already in, just need the titles
The strings are in the per-language spreadsheets, in the learn description tab, so that tab contains both learn descriptions and learn titles.
ACs:

All learn section title strings appear in the app in all languages

To do- Things to do right away


URLConnection.getInputStream().read() does not always timeout with SocketTimeoutException

The docs for URLConnection.setReadTimeout() suggest a SocketTimeoutException should be thrown.
Instead, in some cases, an InterruptedIOException is thrown.
e.g.
java.io.InterruptedIOException: timeout
at com.android.okhttp.okio.AsyncTimeout.exit(AsyncTimeout.java:258)
at com.android.okhttp.okio.AsyncTimeout$2.read(AsyncTimeout.java:215)
at com.android.okhttp.okio.RealBufferedSource.read(RealBufferedSource.java:50)
at com.android.okhttp.internal.http.HttpConnection$FixedLengthSource.read(HttpConnection.java:398)
at com.android.okhttp.okio.RealBufferedSource$1.read(RealBufferedSource.java:338)
at libcore.java.net.URLConnectionTest.testReadTimeouts(URLConnectionTest.java:1796)
The behavior was changed in OkHttp commit 411a33810512340fd68fc5c33423badd52d290e9
On Android we should continue with the documented behavior.

@swankjesse : Here's a commit. It's not nice but I can see why you don't want to use SocketTimeoutException. Would it be possible to have an identifiable subclass of InterruptedIOException out of Okio rather than matching the message string? e.g. TimeoutIOException?
https://github.com/nfuller/okhttp/commit/789c1f95dc924965cb9bd7fe33a528d181010674

Yep, we should throw SocketTimeoutException. Probably wants an update to Okio to trigger the throw.

@swankjesse Does that mean you're ok with a new exception in Okio, or were you thinking of something else?

Okio's AsyncTimeout has two methods that throw:
  /**
   * Throws an InterruptedIOException if {@code throwOnTimeout} is true and a
   * timeout occurred.
   */
  final void exit(boolean throwOnTimeout) throws IOException {
    boolean timedOut = exit();
    if (timedOut && throwOnTimeout) throw new InterruptedIOException("timeout");
  }

  /**
   * Returns either {@code cause} or an InterruptedIOException that's caused by
   * {@code cause} if a timeout occurred.
   */
  final IOException exit(IOException cause) throws IOException {
    if (!exit()) return cause;
    InterruptedIOException e = new InterruptedIOException("timeout");
    e.initCause(cause);
    return e;
  }

I think we want to change that to allow the subclass to provide its own exception type. Probably just a method like protected IOException newTimeoutException(IOException cause) that accepts a nullable cause. That way OkHttp can use SocketTimeoutExceptions, but timeouts to file systems or in-memory pipes don't have to.

... @nfuller if you wanna send a PR that adds this, I'll merge it!

@swankjesse Works for me. Thanks. I'll put something together.

If the Okio change is taken, there's a possible follow-up here: commit 028a6c75ebf311b34b2f04c08eeef31a002c5396
I haven't looked at why, but Spdy still throws InterruptedIOException, not SocketTimeoutException. I assume because the Spdy code is wrapping a stream, not a socket, but I'm ok with it throwing InterruptedIOException if you are. HttpURLConnection correctly throws SocketTimeoutException with the Okio change.

Hmm. . .  I'm guessing for SPDY you need to configure it in SpdyConnection.java, which also subclasses AsyncTimeout.

Yes - you're right. Which behavior would you prefer?

I think I want to see socket timeouts in SPDY also. The catch is that we need to use the okio snapshot to get that method.

All fixed.


Why am i getting a error with the default implementation of  (POST) [/facebook/callback] ->

Hey @MrOnyancha, this was just an experiment I've created some time ago. It is not updated with the possible changes that Facebook made at their API and also it is not intended to be used in production.
The problem above was probably caused by some API change and since this project is not updated, you are seeing the error.
Thanks.


Bug: Dropdown items visibility issue in Container image dropdown

📜 Description
The selected option was not visible in dropdown of container image dropdown in job pipeline
👟 Reproduction steps
Open CI pipeline and got to pre or post build and in the container image dropdown and select any option but the selected option won't show up
👍 Expected behavior
The selected option should come up
👎 Actual Behavior
Open CI pipeline and got to pre or post build and in the container image dropdown and select any option but the selected option won't show up

☸ Kubernetes version
NA
Cloud provider

🌍 Browser
Chrome
🧱 Your Environment
No response
✅ Proposed Solution
No response
👀 Have you spent some time to check if this issue has been raised before?

[X] I checked and didn't find any similar issue

🏢 Have you read the Code of Conduct?

[X] I have read the Code of Conduct

AB#6059

Resolved with PR
https://github.com/devtron-labs/dashboard/pull/1367


refactor(sagas,reducers): Do 'fromJS' in reducers

Actions should be serializable, so it isn't a good idea to convert the payload to Immutable objects in the sagas. Moving that conversion to the reducers.

Coverage remained the same at 12.595% when pulling 02e0fd0887019696610fc82a1d38f94c5de37985 on refactor/move-fromJS-from-sagas-to-reducers into c0aa043539afa5e370cf7ede03a56f5e5ccc8762 on master.


Please consider fixing issues detected by repository checker

Notification from ioBroker Check and Service Bot
Dear adapter developer,
I'm the ioBroker Check and Service Bot. I'm an automated tool processing routine tasks for the ioBroker infrastructure. I have recently checked the repository for your adapter icons-addictive-flavour-png for common errors and appropiate suggestions to keep this adapter up to date.
This check is based the current head revisions (master / main  branch) of the adapter repository
Please see the result of the check below.
ioBroker.icons-addictive-flavour-png
   -
ERRORS:

[ ] :heavy_exclamation_mark: [E021] "licenses" in package.json are deprecated. Please remove and use "license": "NAME" field.
[ ] :heavy_exclamation_mark: [E104] No "common.titleLang" found in io-package.json
[ ] :heavy_exclamation_mark: [E129] Admin support not specified. Please add "common.adminUI.config = json|materialize|html|none"
[ ] :heavy_exclamation_mark: [E130] No "common.news" found in io-package.json
[ ] :heavy_exclamation_mark: [E604] No ## License found in README.md
[ ] :heavy_exclamation_mark: [E606] Current adapter version 0.1.1 not found in README.md
[ ] :heavy_exclamation_mark: [E701] No actual year found in LICENSE. Please add "Copyright (c) 2024 bluefox<EMAIL_ADDRESS>at the start of LICENSE

WARNINGS:

[ ] :eyes: [W134] Missing suggested translation into pt,nl,fr,it,es,pl,uk,zh-cn of "common.desc" in io-package.json.
[ ] :eyes: [W168] "common.keywords" should not contain "iobroker, adapter, smart home" io-package.json
[ ] :eyes: [W172] "common.localLink" in io-package.json is deprecated. Please define object "common.localLinks": { "_default": "..." }
[ ] :eyes: [W181] "common.license" in io-package.json is deprecated. Please define object "common.licenseInformation"
[ ] :eyes: [W184] "common.title" is deprecated and replaced by "common.titleLang". Please remove from io-package.json.
[ ] :eyes: [W252] Version of package.json (0.1.1) doesn't match latest version on NPM (0.1.0)
[ ] :eyes: [W523] "package-lock.json" not found in repo! Please remove from .gitignore!
[ ] :eyes: [W953] .npmignore found - consider using package.json object "files" instead.

SUGGESTIONS:

[ ] :pushpin: [S522] Please consider migrating to admin 5 UI (jsonConfig).

Please review issues reported and consider fixing them as soon as appropiate.
Errors reported by repository checker should be fixed as soon as possible. Some of them require a new release to be considered as fixed. Please note that errors reported by checker might be considered as blocking point for future updates at stable repository.
Warnings reported by repository checker should be reviewed. While some warnings can be ignored due to good reasons or a dedicated decision of the developer, most warnings should be fixed as soon as appropiate.
Suggestions reported by repository checker should be reviewed. Suggestions can be ignored due to a decision of the developer but they are reported as a hint to use a configuration which might get required in future or at least is used be most adapters. Suggestions are always optional to follow.
You may start a new check or force the creation of a new issue at any time by adding the following comment to this issue:
@iobroker-bot recheck
@iobroker-bot recreate
Please note that I (and the server at GitHub) have always plenty of work to do. So it may last up to 30 minutes until you see a reaction. I will drop a comment here as soon as I start processing.
Feel free to contact me (@iobroker-bot) if you have any questions or feel that an issue is incorrectly flagged.
And THANKS A LOT for maintaining this adapter from me and all users.
Let's work together for the best user experience.
your
ioBroker Check and Service Bot
@mcm1957 for evidence
Last update at Fri, 13 Sep 2024 11:20:39 GMT based on commit 7ca79945e7886646799cbd91382dcbb858090493
ioBroker.repochecker 3.0.5

This issue has been updated by ioBroker Check and Service Bot
The following issues have been fixed
[E162] js-controller dependency missing. js-controller 4.0.24 is required as minimum, 5.0.19 is recommended. Please add to dependencies at io-package.json.
[E955] iob_npm.done not found in .npmignore
:thumbsup:Thanks for fixing the issues.


export_and_backup DAG

This is the framework for a DAG that runs a set of plugins for a given UUID based on the current status of the dataset (error, published, etc.). It is based largely on the recent diagnose_failure DAG, although the functionality has been simplified for now. There are probably ways I have simplified it that I will need to walk back later, and things I have borrowed that are irrelevant.
Statuses are mapped to appropriate plugins in export_and_backup_map.yml.
When this DAG runs in its current state with the config {"uuid":"a6ead319af30ab63bee443396d1a031f"} -- a dataset with the status "error" -- it should run the error_backup and error_export plugins, but not the published_backup plugin. This has been tested on DEV.
A number of things are incomplete:

The set of possible dataset statuses is currently mocked.
The set of dataset statuses that will be relevant to this process is uncertain (e.g. do we want to backup data that is in an invalid state or that has been abandoned? if so, where/how?).
This is handwaving uploads vs. datasets currently.

@jswelling I think I made requested changes--please see the updated schema as well as how export_and_backup.py and export_and_backup_map.yml handle uploads vs. datasets. This has been tested on DEV with the changes and successfully reached plugins for datasets with statuses error and published and for upload with status reorganized. I believe the info dict is being passed along appropriately to be reached by plugins but this will require writing and testing plugins (I have some in the pipeline but I will want to make sure they branch from this code when it is merged).


Allow not defaulting MjmlText color

Is your feature request related to a problem? Please describe.
I have two "themes" in my emails, which I want to toggle on and off based on the presence of a CSS class - a dark and a light theme.
In the dark theme, all text should be light. In the light theme, all the text should be dark.
But MjmlText defaults the color CSS rule to #000000. Unfortunately since it uses the color type from mjml-core which uses regexes to detect hex codes and such, it also disables the potential for passing inherit as the value. so, I cant disable this functionality.
Describe the solution you'd like
Either a) allow passing inherit as the value to MjmlText assuming that's well supported or b) allow disabling the setting of color altogether, neither of which would be backwards-incompatible

You can just ignore the validating message here ?

On 23 Jun 2020, at 16:29, Omar Diab<EMAIL_ADDRESS>wrote:

Is your feature request related to a problem? Please describe.
I have two "themes" in my emails, which I want to toggle on and off based on the presence of a CSS class - a dark and a light theme.
In the dark theme, all text should be light. In the light theme, all the text should be dark.
But MjmlText defaults the color CSS rule to #000000. Unfortunately since it uses the color type from mjml-core which uses regexes to detect hex codes and such, it also disables the potential for passing inherit as the value. so, I cant to disable this functionality.
Describe the solution you'd like
Either a) allow passing inherit as the value to MjmlText assuming that's well supported or b) allow disabling the setting of color altogether, neither of which would be backwards-incompatible
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

I'm preferring to use strict mode as part of my testing, I don't want to have to give up validation of my entire project just so that I can deal with one missing part of this library. I'd be happy to add a PR, but which of my suggestions if either would you like?

Then you can open a PR here : https://github.com/mjmlio/mjml/blob/master/packages/mjml-core/src/types/helpers/colors.js adding inherit.
mj-all doesn't validate the attribute type, so if you pass color on it it won't be listed as an error for now.
For compatibility issue you should still use inline styles over class to maximize support.

Inherti is now supported for every color attribute since 4.10.2 !


SSR: TS2304: Cannot find name 'ScrollBehavior'.

When I have the next SSR setup:
import { createMemoryNavigation } from 'navi'
import { Router, View } from 'react-navi'

// ...

   const navigation = createMemoryNavigation({
      routes,
      url: request.url,
    })

    const route = await navigation.getRoute()

    const clientMarkup = renderToString(
      <Router navigation={navigation}>
        <View />
      </Router>,
    )

The server build via webpack produces the next TypeScript (awesome-typescript-loader) exception:
ERROR in [at-loader] ./node_modules/react-navi/dist/types/HashScroll.d.ts:3:55
    TS2304: Cannot find name 'ScrollBehavior'.

The error concerns this reference:
// react-navi/dist/types/HashScroll.d.ts:3:55
export declare const HashScrollContext: React.Context<ScrollBehavior>;
export interface HashScrollProps {
    behavior?: HashScrollBehavior;
    children: React.ReactNode;
}

ScrollBehavior type itself is a built-in type from the dom TypeScript library.
Current behavior
That type is required during the server build.
Expected behavior
Static (SSR) rendering does not reference client-side types.

I may dig deeper into this issue, but can't promise any deadlines. If you have any out-of-head insights it would be very appreciated. Thank you.

I feel like the easiest way to solve this is to redefine ScrollBehavior locally, so add something like this to the top of that file:
type ScrollBehavior = 'auto' | 'smooth'

Feel like giving this a go?

I was trying to provide that manual type on local, but I've found that source code already uses an explicit HashScrollBehavior:
https://github.com/frontarm/navi/blob/ff90816c188244e032a37188d8ad201a67ff42d7/packages/react-navi/src/HashScroll.tsx#L3-L7
Is this a types compilation issue then, so it ends up a native ScrollBehavior after the compilation? Or, perhaps, type definitions published are outdated?

Wow, that's odd. It must be a compilation issue, because the types are compiled on every release.
I can see if I can find a workaround for this, but before I do, could you try changing it in your node_modules directory and see if that's enough to make TypeScript compile on the server? There's also some window references in that file that I imagine may cause issues on the server.

I confirm that manually changing that problematic reference to ScrollBehavior to HashScrollBehavior (as in the source code) fixed the compilation error. At the moment there are no other errors, so I'm able to compile server and client gracefully.
I hope it's an issue of types compilation. Please let me know what that was.

Closing, as this appears to be fixed in the latest release.


Configure airbnb eslint for the admin portal

Is your feature request related to a problem? Please describe.

ESLint is a static code analysis tool for identifying problematic patterns found in JavaScript code. Eslint is a must-have in every project.

Describe the solution you'd like

Configure eslint in the project
Use airbnb styleguide

This PR can be referred: https://github.com/LSFLK/MedicinesforLK/pull/201

@jayasanka-sack can you assign me?

Sure, feel free to self-assign issues :)


Add support for Internationalization/Localization

@rodrigoalviani, great point. This is important.

Created a new dev4slack channel, #botkit-localization to discuss this Feature Request. If you are interested, please join the conversation!

For now I am doing the following (with i18n-node):
At bot initialization:
var i18n = require('i18n');
i18n.configure({...});
var bot = controller.spawn({...});
bot.i18n = i18n;

I wrote a middleware to add facebook messenger's user_profile to the message object:
{ text: 'ce soir',
  user: '123456789',
  channel: '/#QpmoHYNhZlvOzUXiAAAB', // socket id
  timestamp:<PHONE_NUMBER>264,
  user_profile:
   {
     first_name: 'Nathan',
     last_name: 'Zylbersztejn',
     locale: 'fr_CA',
     profile_pic: '<url>',
     timezone: -5,
     gender: 'male',
     is_payment_enabled: true,
     id: '123456789' },
  entities: {...}
}

In the conversation:
 bot.createConversation(message, function (err, convo) {
        convo.setVar("user_profile",message.user_profile);
        convo.addMessage({
            text: bot.i18n.__({phrase:'reminder_confirmation',locale:convo.vars.user_profile.locale}),
            action: 'completed'
        },'set_reminder');
       // rest of convo...
}

It would make sense to have the user profile accessible in the convo (which is also semantically defined by the people who run it). This would avoid setting the variable and we could find a way to make i18n aware of it to avoid passing the locale at every translation.


cacert: Drop python3Minimal

Description of changes

This PR, https://github.com/NixOS/nixpkgs/pull/176291, started building
cacert with python3Minimal to work around an infinite recursion
problem with the mailcap build.
This causes problems now because buildcatrust requires the _scproxy
module and that's not built for python3Minimal on Darwin. This causes
many transitive failures. Simply building cacert with python3 seems
to work fine.
The mailcap expression has since been altered and this infinite
recursion issue doesn't reappear.
Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[x] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

@ofBorg build arduino-ci

Please try fetching mailcap with an invalid sha256 to make sure this is fixed.

I'm also a bit confused about the hash thing... as "infinite recursion" hints at eval-time cycle, and hashes shouldn't matter for that AFAIK.

One of the packages that fails on staging-next:
@ofborg build rustup

Depends on bootstrapped-pip:
@ofborg python39.pkgs.wheel python310.pkgs.wheel

Note that bootstrapped_pip was building fine even before this change. The problem was cacert explicitly being passed python3Minimal and then trying to build buildcatrust using this python3Minimal, which means bootstrapped_pip got built using python3Minimal, and that doesn't work on Darwin.

I'm also a bit confused about the hash thing... as "infinite recursion" hints at eval-time cycle, and hashes shouldn't matter for that AFAIK.

The infinite recursion previously occured when updating the hash for the mailcap source.

Well, fetchurl only uses cacert if you specify an empty hash.

So we are basically back to #176286?
Doesn't this break auto updates since they replace the hashes with all zeros?


Support YEAR field type for MySQL

The YEAR field type allows one to store a year in a field, and have this field default to the current year.
Is it an option for Phinx to support this specific MySQL type, as it does for ENUM and SET ?
Thanks !

:+1:

:+1:

Bump?

I wish I had this field type right now... I'm working on a database relying heavily on year-based info, and I don't know how to work around this.

Are you able to provide a pull request with your suggested changes?

Unfortunately, I'm not working in a PHP environment anymore, so not really.
Maybe @Gregoire-M would be interested in submitting one? ;)

Well, it seems to be already implemented: 1eb069a500e9b78a442e01cd83ba6b6a80ae1855


feat(wash-cli): Modify wash drain to avoid clearing downloads cache when host is running

Feature or Problem
Aborts drain all and drain downloads if wasmcloud host is active
Related Issues
#2788
Release Information

Consumer Impact

Testing

Unit Test(s)

Acceptance or Integration

Manual Verification
I started a wasmcloud instance via cargo run -- up -d then tried to run cargo run -- drain all which resulted in an error
then ran down --all and drain all which ran as expected

Hey @Aditya1404Sal once you're ready for another review feel free to resolve the outstanding conversations and re-request a review!

Hey @Aditya1404Sal once you're ready for another review feel free to resolve the outstanding conversations and re-request a review!

Yep it's ready for a review!


Command line arguments too long

Some climo operations with zppy fail (for example 200 year diurnal climo) because the command line arguments passed to ncclimo exceed the maximum length set by the OS.
@czender recommends an alternative way of passing input files:
srun -N 1 --time=30 --pty bash
caseid='20210625.v2rc3c-GWD.piControl.ne30pg2_EC30to60E2r2.chrysalis.eam.h4'
drc_in='/lcrc/group/e3sm/ac.golaz/E3SM_simulations/20210625.v2rc3c-GWD.piControl.ne30pg2_EC30to60E2r2.chrysalis/archive/atm/hist'
drc_out=${DATA}/ne30/clm
drc_rgr=${DATA}/ne30/rgr
yr_srt=801
yr_end=1000
cd ${drc_in};ls ${caseid}.0[89]??-*.nc ${caseid}.1000-*-*.nc > ~/input.txt
cd ${drc_in};ncclimo --dbg=1 --parallel=bck --climatology_mode=hfc --case=${caseid} --vars=PRECT --yr_srt=${yr_srt} --yr_end=${yr_end} --map=${DATA}/maps/map_ne30pg2_to_cmip6_180x360_aave.20200201.nc --output=${drc_out} --regrid=${drc_rgr} < ~/input.txt > ~/ncclimo.out 2>&1 &

The key is to create a file containing a list of input files (input.txt) then feed that list as stdin (< ~/input.txt) to ncclimo. Very clever.
We need to modify climo.bash (diurnal section), as well as ts.bash which could have the same issue.

The least intrusive option might simply be to change the following:
https://github.com/E3SM-Project/zppy/blob/8bebca7ecc64f1af28c366cd8ba7c1031c248582/zppy/templates/climo.bash#L86-L107
Before ncclimo
https://github.com/E3SM-Project/zppy/blob/8bebca7ecc64f1af28c366cd8ba7c1031c248582/zppy/templates/climo.bash#L86
ls {{ case }}.{{ input_files }}.????-*.nc > input.txt
Replace the last line of ncclimo command line arguments
https://github.com/E3SM-Project/zppy/blob/8bebca7ecc64f1af28c366cd8ba7c1031c248582/zppy/templates/climo.bash#L107)
with:
< input.txt

@golaz, is this also affecting MPAS-Analysis?

@xylar: I have never seen such a problem with MPAS-Analysis, but I never tried to generate climatologies longer than 50 years.

@golaz, okay, I will address this if an when it arises.  Thanks!

@xylar the problems @golaz encountered seemed to begin when the command line size reached ~100-200 kB, due to a combination of a large number (1200-2400) of files each with a longish name.


Change taxValue type from int to float in SalesChannelUtils to match DAL type

Currently the argument type of SalesChannelUtils::getTax() is set to int, while the DAL definition sets it as float on the database level.
This change is not strictly breaking (except for type checks by linters and the like), as PHP will implicitly cast the type from then int to now float.
See Type juggling in function contexts:

In this context the value must be a value of the type. Two exceptions exist, the first one is: if the value is of type int and the declared type is float, then the integer is converted to a floating point number.

Please add a small changelog entry with the bugfix (can be added to Unreleased, since we will release it together with the other stuff)


Problems with position helper when using searchview

When I try to enter a search query via searchView setOnQueryTextListener the RecyclerViewPositionHelper no longer tracks positions of child elements properly in layout manager and therefore PullCallback.oLoadMore is never executed therefore only one page can be scrolled, otherwise the paginator  works well when search isn't used??

我没有实现过相关示例，这个项目也很久没有维护了。目前github上有好几款刷新加载控件都比这个要好。
希望能帮到您


Update http4s-circe, http4s-client, ... to 1.0.0-M40

About this PR
📦 Updates

org.http4s:http4s-circe
org.http4s:http4s-client
org.http4s:http4s-dsl
org.http4s:http4s-server

from 1.0.0-M39 to 1.0.0-M40
📜 GitHub Release Notes - Version Diff
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.http4s" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "org.http4s" }
}]

labels: library-update, early-semver-pre-release, semver-spec-pre-release, version-scheme:early-semver, commit-count:1

Superseded by #285.