[Android, iOS] Write integration tests to test SystemUiMode expected behavior

We should consider writing integration tests to test the expected behavior of setting different SystemUiModes.
We currently test this behavior using unit tests, but integration tests will add value because changes to Android's support of these different modes is likely as it is beginning to prefer edge-to-edge (like it becoming the default in Android 15), and these tests will catch any changes that come from Android (or iOS) SDK changes that are unit tests will not catch.

Setting to P3 because while this should be part of some edge-to-edge work (https://github.com/flutter/flutter/issues/150216), this is blocked by https://github.com/flutter/flutter/issues/143299.


Setup GitHub Actions for lint/test CI on PRs and push to master

@apbendi On the branch for #293 I cleaned up the frontend/umbra-js lint errors/warnings. Seems there's also a lot in the contracts folder—if you could clean those up I can get the CI setup

@mds1 So I think the majority, if not all, of those errors come from the deploy script, and they're TypeScript linting errors, i.e. about things being any types. In other words, it seems like the linter is treating js files like TypeScript files. Any idea how to resolve that?

You can probably add them to the exclude path array in the tsconfig file

That would mean they're not linted at all, right? I wonder if there is a way to get them linted correctly as JavaScript files 🤔

You could also just change the file extensions to make them TS files and disable the TS-specific checks in those files. But otherwise I’m not sure offhand and would need to look into it, though maybe @wildmolasses knows


Issues after downgrade from 11 to 10.4 (hardmod)

I get error occured. Sometimes it dissappear. Sometimes blackscreen at boot. The themes disappear. Sometime bootrom error 200, cant read sd card. Im i f*cked up? I thinl the backup nand succesfully and flashed 10.4 correctly based on this guide.. What can i do now.. I just a little more i gonn cry now. :((

For now i think i fixed the bootrom error and my 3ds is reading sd card again. But the error occured please contact nintendo still shows up after few seconds or minutes.. What should i do.. :(

This is not related to this guide and is related to your attempted hardmod, ask elsewhere


update meta.json

Update meta.json collection earth-dragon-balls

Hello gents, we are searching to hire a Bitcoin dev with knowledge in ordinals and inscribing specific stats. We would like to have a call ASAP. If any interested please don't hesitate to contact me via email or here.
<EMAIL_ADDRESS>Thank you


RFC: Avoid HTTPApplication for CLI

HTTPApplication is a system for processing URLs in a webserver environment.
In a CLI context, it only introduces distractions.
For CLI requests, we should generate a CoreKernel object but handle BuildTasks and database building without using SilverStripe/Control. This would probably be a good time to create it as a Symfony console tool, perhaps incorporating one of the existing tools in this space as opposed to reinventing the wheel.
A special "run URL" option could be used for those cases when do do actually want a URL, but it should be the exception rather than the rule.
I'd recommend this as a 4.1 change that preserves the existing behaviour as deprecated.
Note that the implication of this is that no HTTPMiddlewares would ever get run in CLI mode, which simplifies things such as #7492.

Could it even be a separate tool, silverstripe/console perhaps?

Note that the implication of this is that no HTTPMiddlewares would ever get run in CLI mode, which simplifies things such as #7492.

This sounds about right to me!

One thing to consider is what "simulated web-requests" would do. One example I can think of is rendering the error page template into assets/error-404.html. Perhaps we just don't do that anymore, thus eliminating that need?

One thing to consider is what "simulated web-requests" would do. One example I can think of is rendering the error page template into assets/error-404.html. Perhaps we just don't do that anymore, thus eliminating that need?

It's a good question, I'd probably leave it separate from this issue. I think we need to look at how middlewares are typically used before deciding whether they should be included in the default render of a staticpublisher page or a 404 error page. My guess is that it's better to exclude them by default, as they are typically used to handle log-in, session, redirection, flush, header mangling, request blocking, none of which apply in such a case.
The error page generator and staticpublisher could probably have an extension hook where middlewares specific to those use cases could be attached, which by default would be empty.

This is rearing its ugly head again in a new use case: We want to generate the GraphQL schema during release packaging, which often happens in environments separate from the actual webserver (e.g. AWS CodeBuild or CircleCI). This happens through sake, but that kicks off all kinds of wrong assumptions about the state of the environment: Validate database credentials, execute middleware that relies on database queries, trigger HTTPOutputHandler to show errors. Its a good test case for our kernel architecture, but a bit of a rabbit hole.

Closing as this will be done as part of https://github.com/silverstripe/silverstripe-framework/issues/11341
The new sake will by default not use HTTPApplication nor HTTPRequest, though there is a sake navigate command that will essentially do what old sake did, for those who have a need to do that for whatever dark magic they're doing.


build(npm): downgrade es5-ext to 0.10.56

es5-ext version 0.10.58 is treated as malware due to "call for peace" manifest. See here
We need to roll back to version 0.10.56.
Description
Add your description here!
Checklist
To ensure a quick review and merge, please ensure:

[ ] The PR has a understandable title and description explaining the why and what.
[ ] The PR is opened in draft if not ready for review yet.

If opened in draft, please allocate sufficient time (24 hours) after moving out of draft for review

[ ] The branch is recent enough to not have merge conflicts upon creation.

Ready to Land?

[ ] Build is completely green

Submissions with test failures require tracking issue and approval of a CODEOWNER

[ ] At least one +1 review by a CODEOWNER
[ ] All -1 reviews are confirmed resolved by the reviewer

Override/Marking reviews stale must be discussed with CODEOWNERS first

No use, since it's js-sdk-release tool:

--- Component: ---
es5-ext 0.10.59 - Npm
--- Found at: ---
/s/azure-sdk-tools/tools/js-sdk-release-tools/package-lock.json


Fix resolution of lib/register.js when using multiple loaders

This PR fixes the issue that's been described at length in the following issues:

https://github.com/getsentry/sentry-javascript/issues/12011
https://github.com/nodejs/node/issues/52987

To summarize, import-in-the-middle can cause problems in the following situation:

A Node core module (node:*) is imported
Another loader is added before import-in-the-middle
That loader tries to resolve files that don't exist on disk

In practice, this occurs when using import-in-the-middle with code that's being executed with tsx. tsx will try to resolve .js files by also looking for the same file path but with a .ts extension. In many cases, including the synthetic code that import-in-the-middle generates to import lib/register.js, such a corresponding .ts file does not exist.
The actual error arises from Node, which assumes that parentURL will always be a file:// URL when constructing an ERR_MODULE_NOT_FOUND error; see the linked issue above. In the above scenario, the .ts file that is being resolved does not exist, so such an error is created, and parentURL === 'node:*', so the failing case is triggered. It seems like Node is receptive to changing that behavior, but in the meantime, I was hoping to land this patch so that one doesn't have to wait for and upgrade to a new version of Node.
The fix works by short-circuiting the resolution of lib/register.js so that the other loader (that tries to resolve non-existent paths) is never tried.

@nwalters512 This LGTM but there are now conflicts. Can you rebase plz?

@bengl done ✅


[Add] Adding Roadmap link to the Roadmap section of the website

Site URL
https://roadmap.sh/
Description of the above provided site
It has roadmaps of all types of development/DSA.
Category
Other
Sub Category
Roadmap
Checklist

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

@Sch476
This is already added to the repo.
Maybe change it from other resources to roadmap subcategory.
Revise the description and I will assign you the issue.

hey @Anmol-Baranwal ,could you please assign me this issue to work on.

@HimanshuMahto
What will you do for this? create one or adjust the subcategory as I mentioned.

I was thinking of adding roadmaps for all of them in that roadmap section the way initial two are given and liked them to roadmap.sh.  @Anmol-Baranwal

The roadmap.sh has their own system, it would not be correct to add all the resources on LinksHub.
It doesn't make sense, as they have a clean and structured system.

I'm closing this issue due to inactivity. Please feel free to reopen it if you'd like to contribute or have further discussions.


Support Nix 2.4

so far only tested it with basic commands but it works better then before where the current line was cleared.

Nix 2.4 has its own completion script which collides with nix-bash-completions.
Maybe it would be better to remove completion for the nix command altogether when the Nix version is at least 2.4?

I did that in an overlay where I combined the old and new one.

final: prev: {
  nix-bash-completions = prev.nix-bash-completions.overrideAttrs (oldAttrs: {
    patches = [
      # nom-build
      (final.fetchpatch {
        url = "https://github.com/hedning/nix-bash-completions/commit/2861e9b1b7351b77852444a79d164469ebbedd52.patch";
        sha256 = "sha256-L3NhFbnKwqP8+DaqG2/cufjQU7fuNhmXNMaC9m0YDEg=";
      })
      # nix 2.4 support
      (final.fetchpatch {
        url = "https://github.com/hedning/nix-bash-completions/commit/5d28f3de9244ccf679630770b90448a22a65aced.patch";
        sha256 = "sha256-Kez20a8YMvUe8lDVmzDCC8OmNX3taUMtjy917whlPUU=";
      })
    ];

    postPatch = ''
      substituteInPlace _nix \
        --replace "nix nixos-option" "nixos-option"

      cat ${prev.nixUnstable}/share/bash-completion/completions/nix >> _nix
    '';
  });
}

so far only tested it with basic commands but it works better then before where the current line was cleared.

Here's another PR that fixes "TAB completion erases line": https://github.com/hedning/nix-bash-completions/pull/21


OpenVR Init Error

Using a Esp32 devkit v1 and following all steps closely it seems something isn't going as planned. Very unsure where the problem might be as I'm not yet so advanced in electronics(but getting better). What catched my eye is my serial output looks way different from what yours showed in one of your videos("How I build CHEAP VR Gloves.")
Mine looks more like this:
A1662B3329C1229D4095E4095F384G0ILM
A112B3994C305D4095E1017F336G34ILM
A2816B4037C3596D4095E1115F469G56ILM
A852B3344C240D4095E4095F349G0ILM
Just to be sure I tried a nano as well with same serial output

That video is relatively old and using what we now call the "legacy" encoding. You are using the alphanumeric encoding which is the current encoding we use

I'm going to close this due to inactivity. Like @LittleNyanCat mentioned, you should be using alpha encoding.
If you're running into issues that relate to your title "OpenVR Init Error" (or are on the pc side of things), that is something different to this, and you should open an issue on the opengloves repo.


Docs - Improve layout styles for print media

Printing documentation from the website results is a big mess. The TOC, Sponsors, and header overlay the main content on every printed page.
I'm unfamiliar with the build process of these docs. It would be hard for me to make these changes and test the result. I suspect that this issue would be fixed by adding something to the effect of
@media print
    .sidebar
        display: none

to the following files:
https://github.com/vuejs/vuejs.org/blob/master/themes/vue/source/css/_sidebar.styl
https://github.com/vuejs/vuejs.org/blob/master/themes/vue/source/css/_header.styl
https://github.com/vuejs/vuejs.org/blob/master/themes/vue/source/css/_sponsors-sidebar.styl

Having taken 6 seconds to read the Developing section of this repo's readme, I made the changes myself and have submitted a PR: https://github.com/vuejs/vuejs.org/pull/1426


vdk list -t "team" does not return newly added job

Describe the bug
I am not sure what is happening . But when querying by team not all jobs are returned.
It is reproducible by both API and CLI
Steps To Reproduce
Steps to reproduce the behavior:

vdk create -n example-job -t test-team --cloud
vdk list -t test-team
Job example-job should is not listed

Expected behavior
Job example-job should be listed ....
Screenshots
If applicable, add screenshots to help explain your problem.
Version  (please complete the following information):

Control Service version: 1.5.657062384

Additional context
Add any other context about the problem here. Consider attaching logs if there are any.

Integration test relevant to this issue here - https://github.com/vmware/versatile-data-kit/pull/1385 - seems to not be able to reproduce the issue, or the issue is intermittent.

Hi @gageorgiev ,
Thanks for looking into this. I tried to reproduce it as well based on the instructions and could not.
If we cannot reproduce it, then let's close it.
If you have noticed any intermittent failures/issues, please post any findings (including upload details of logs/commands) here so if we re-open it in the future we have some information. Do post what kind of investigation you have done so far.

Attempted to reproduce manually by creating a job and listing all jobs, checking that the created job is there. Did this multiple times in a row.
Attempted to reproduce through an integration test which creates 100 jobs are lists them, checking that they all exist.
Either it is a rare issue, or it is no longer a problem. Closing this and closing the IT PR.

changed the status to closed as not planned (cannot reproduce)


[ASK] how to make auto hide off?

I just want to make a notify that not automatically dissapeard,
how to make it, because it's doesn't explained on documentation..
thanks

It is in the documentation but might not be very clear due to my wording.
delay: if delay is set higher than 0 then the notification will auto-close after the delay period is up. Please keep in mind that delay uses milliseconds so 5000 is 5 seconds.
Meaning if you set the delay to 0, the notification will not close until the user closes it.

@mouse0270 thank you... so I've to change the delay time to 0.. I got it...

I was looking for this too but the website with the documentation (http://bootstrap-notify.remabledesigns.com/#documentation) is just displaying a holding page.

Whoops switched servers forgot to report this url. It'll be back up today.


setup-micromamba does not honor the version pin

As one of the bugs reported in https://github.com/mamba-org/mamba/issues/3475, the<EMAIL_ADDRESS>at GitHub CI installed<EMAIL_ADDRESS>which has a blocker bug (https://github.com/mamba-org/mamba/issues/3475).
If possible, the setup-micromamba should honor the version pin, that way if there is a bug in a new release, we are not affected by it, and can upgrade on our own terms by simply trying a newer version and if it doesn't work, report a bug and downgrade.
In the meantime, is there a workaround to force installation of micromamba 1.8?

I see how to pin it:
          micromamba-version: '1.5.10-0'

I implemented this in: https://github.com/lfortran/lfortran/pull/4923 and it works!
Sorry about this report, it's not a bug in setup-micromamba. It does honor the version pin, I was just pinning it incorrectly.


Revert "Bump protobuf-java from 2.5.0 to 3.16.1 in /phoenix5-spark3 (…

…#81)"
This reverts commit aa02b3463a07dea29c60d4f3be43f2fb2ce9a0e2.

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
6m 38s
Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s
No case conflicting files found.

+1 :green_heart:
@author
0m  0s
The patch does not contain any @author tags.

-1 :x:
test4tests
0m  0s
The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.

_ master Compile Tests _

+1 :green_heart:
mvninstall
38m 36s
master passed

+1 :green_heart:
compile
0m 41s
master passed

+1 :green_heart:
javadoc
0m 14s
master passed

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
23m 24s
the patch passed

+1 :green_heart:
compile
0m 42s
the patch passed

+1 :green_heart:
javac
0m 42s
the patch passed

+1 :green_heart:
whitespace
0m  0s
The patch has no whitespace issues.

+1 :green_heart:
xml
0m  1s
The patch has no ill-formed XML file.

+1 :green_heart:
javadoc
0m 15s
the patch passed

_ Other Tests _

+1 :green_heart:
unit
1m 10s
phoenix5-spark3 in the patch passed.

+1 :green_heart:
asflicense
0m 12s
The patch does not generate ASF License warnings.

72m 15s

Subsystem
Report/Notes

Docker
ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-Connectors-PreCommit-GitHub-PR/job/PR-83/1/artifact/yetus-general-check/output/Dockerfile

GITHUB PR
https://github.com/apache/phoenix-connectors/pull/83

Optional Tests
dupname asflicense javac javadoc unit xml compile

uname
Linux d93e7fc99f96 4.15.0-175-generic #184-Ubuntu SMP Thu Mar 24 17:48:36 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev/phoenix-connectors-personality.sh

git revision
master / aa02b34

Default Java
Private Build-1.8.0_242-8u242-b08-0ubuntu3~16.04-b08

Test Results
https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-Connectors-PreCommit-GitHub-PR/job/PR-83/1/testReport/

Max. process+thread count
83 (vs. ulimit of 30000)

modules
C: phoenix5-spark3 U: phoenix5-spark3

Console output
https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-Connectors-PreCommit-GitHub-PR/job/PR-83/1/console

versions
git=2.7.4 maven=3.3.9

Powered by
Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.


Create Dockerfile

Part of Github learning lab.

This just didn't work.  No action detected.
No way to know why


[DPEDE-1415] Added icon property to dropdown

https://ctl.atlassian.net/browse/DPEDE-1415

Hi @wojciechwlodarczyklumen! The branch has conflicts, please resolve!

Should this feature have visual tests @josecarlosgonzalezv?


[HOLD for payment 2024-05-06] [HIGH] [Splits][$500] Split - Group chat is missing everywhere when created via FAB and bill is split in group chat

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: v1.4.45-1
Reproducible in staging?: Yes
Reproducible in production?: Yes
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:

Go to staging.new.expensify.com
Click FAB > Request money > Manual.
Click a split bill with two users that have no prior chat via FAB.
Navigate to a different chat.
Note that the group chat remains in LHN and appears in Search.
Go to FAB > Start chat.
Create a group chat with two users that have no prior chat.
In the group chat, click + > Split bill.
Create a bill split.
Go to a different chat.
Open Search.

Expected Result:
The group chat will remain in LHN and appear in Search list.
Actual Result:
The group chat disappears from LHN and is missing in Search list.
This issue only happens when user creates a group chat first, then splits bill in the group chat (Step 6 - 11).
The only way to retrieve the group chat is by recreating it.
Workaround:
Unknown
Platforms:

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

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

Screenshots/Videos
https://github.com/Expensify/App/assets/38435837/87159b78-56c6-46d5-a8ef-62a010e870e6
Add any screenshot/video evidence

View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~016f541763635e6d84
Upwork Job ID:<PHONE_NUMBER>847859712
Last Price Increase: 2024-03-13
Automatic offers:

mkhutornyi | Contributor | 0
bernhardoj | Contributor | 0

Issue OwnerCurrent Issue Owner: @mananjadhav

We think that this bug might be related to #vip-split-p2p-chat-groups
cc @arielgreen

@dylanexpensify FYI I haven't added the External label as I wasn't 100% sure about this issue. Please take a look and add the label if you agree it's a bug and can be handled by external contributors.

Proposal
Please re-state the problem that we are trying to solve in this issue.
The group chat disappears from LHN even after splitting a bill and can't be found on the search page.
What is the root cause of that problem?
When we create a new group chat, the notificationPreference and visibleChatMemberAccountIDs from the BE response will be hidden and empty. After doing a split bill, both data are unchanged. It will be updated once we trigger the OpenReport request by reopening or refreshing the page. If notificationPreference is hidden, it will render nothing.
https://github.com/Expensify/App/blob/22cb01c968a53407f7a9d864bfba30f41366f6a0/src/components/LHNOptionsList/OptionRowLHN.tsx#L60-L63
If visibleChatMemberAccountIDs is empty, we won't include it in the search results
https://github.com/Expensify/App/blob/22cb01c968a53407f7a9d864bfba30f41366f6a0/src/libs/OptionsListUtils.ts#L1513-L1515
We previously encountered the notificationPreference issue here when adding a new comment to the report.
What changes do you think we should make in order to solve the problem?

We can use the same solution from https://github.com/Expensify/App/pull/29681, that is to update the notificationPreference to always if it's currently hidden when splitting bill.
if (ReportUtils.getReportNotificationPreference(splitChatReport) === CONST.REPORT.NOTIFICATION_PREFERENCE.HIDDEN) {
    splitChatReport.notificationPreference = CONST.REPORT.NOTIFICATION_PREFERENCE.ALWAYS;
}

And to show it on the search page, we should also optimistically update the visibleChatMemberAccountIDs.
splitChatReport.visibleChatMemberAccountIDs = splitChatReport.participantAccountIDs;

(we probably would need to do the same for assign task, send, and request money, but depends on how BE do it because for request money, BE never updates notificationPreference & visibleChatMemberAccountIDs)

Apologies, I've been OOO sick, but am reviewing today!

Hmm @m-natarajan can you confirm this is still reproducible?

Hm so this shows in the Search but not LHN.

confirming here

Confirmed and making external

@mkhutornyi to review

@mkhutornyi hmm, you're right.

(we probably would need to do the same for assign task, send, and request money, but depends on how BE do it because for request money, BE never updates notificationPreference & visibleChatMemberAccountIDs)

There are indeed some cases where it doesn't update as I mention here, but for split bill, it does updated when I writing down the proposal.
In this case, then we should update the BE first to decide the behavior.

@marcochavezf to review!

I looked at the backend and found out we are in the process of deprecating participantAccountIDs and visibleChatMemberAccountIDs in favor of participants. So we should use participants instead when possible.

Hmm, I can't reproduce this anymore. Now, the created group chat has a notificationPreference of always and the visibleChatMemberAccountIDs is not empty. Either it's a new BE bug or it's the new expected behavior. (or is it only me?)

Taking this over.

Assigning you @mananjadhav

thanks @mananjadhav!

Hi @mananjadhav, can you review the updated proposals?

Bump @mananjadhav 🙇♂

I just reviewed the whole conversation.

Can you confirm whether we should update the report notificationPreference from hidden to always when doing a split bill in a group? (we did this when adding a comment on both BE and FE).

@marcochavezf Can you please confirm this behavior
Will then shortlist one of the posted proposals.

If we're changing the notification preference when adding a comment, then yes. It makes sense to have consistent behavior when an action happens in a group, so the participants can be aware of the conversation happening about the money requested.

Checking in 2-3 hours after a PR review.

@mananjadhav let us know if you have an update or if you need some help! 🙇♂

I just need to test both the proposals and update. I'll do that today. Apologies for the delay.

Thanks for the patience. I think @bernhardoj's proposal looks good.
🎀 👀 🎀 C+ reviewed.

@marcochavezf to review! All good @mananjadhav!

@marcochavezf will review today!

Mel look above

Assigning @bernhardoj 🚀

PR is ready
cc: @mananjadhav

waiting for deploy to prod -> regression period

We have a regression because looks like participants contains the current user ID, so we need to filter it out. The PR is ready to fix ti.
cc: @mananjadhav

Taking a look.

Payment coming up!

Payment summary:

Contributor: @bernhardoj $500
Contributor+: @mananjadhav $500

Please apply/request!

@bernhardoj paid out! @mananjadhav to request, closing issue

JK - we need @mananjadhav to give regression step proposal

@dylanexpensify Shouldn't a regression test exist already for group chat in LHN? If they don't we can use the steps mentioned below.
These are the test steps.

Create a new group chat with user that is not in your contacts
Create a new split bill
(Web/Desktop) Switch to another chat (Android/iOS/mWeb) Close the group chat
Verify the group chat is still shown in LHN
Go to search page and verify the group chat is shown

Quick bump @dylanexpensify

$250 approved for @mananjadhav

Do we need to open a new bug or is it the same one?
The tester was able to reproduce this issue again.
https://github.com/Expensify/App/assets/78819774/a35ef934-918a-4c70-9e44-87c67d150f72

We had fixed this for Split bill and group chat. But in the new video I can see you're trying Submit expense on DM. Could be a separate issue.

Agree, @lanitochka17 separate issue


vim.nightly: fix url and hash for x86 Arch

[X] Have you signed the Contributor License Agreement?
[X] Have you checked that there aren't other open pull requests for the same manifest update/change?

Note: <path> is the name of the directory containing the manifest you're submitting.

So #111716 again created PR with wrong x86 link and shasum (https://github.com/vedantmgoyal2009/winget-releaser/issues/173).
Fix this for the latest upload for vim.vim.nightly.
Microsoft Reviewers: codeflow:open?pullrequest=https://github.com/microsoft/winget-pkgs/pull/111904&drop=dogfoodAlpha

fixed.

#111634

unrelated to the issue that this PR is going to fix

Sorry for missing this PR @chrisbra. This fix was merged in #111933.

Close with reason: Resolved by #111933;

thanks once more ;)


WebApp shows camera image & prediction

The parent issue #45
User stories https://miro.com/app/board/uXjVPwQdIjc=/
Acceptance test (RF)

WebApp takes cam image.
WebApp passes it to TinyML docker.
TinyML docker predicts with passed image.
TinyML docker returns predition.
WebApp shows the original image & predicted label.
WebApp calculates & shows accuracy percentage.

I can't make progress on this until #55 is complete.

The above 1 might be related to https://github.com/Origami-TinyML/tflm_hello_world/issues/49#issuecomment-1436047019


[fpga] Connect JTAG and SPI signals to SAM3U on CW305

This change connects the JTAG and SPI signals to SAM3U on CW305 to
remove spiflash and MPSSE cable dependencies and to enable programming
using ChipWhisperer APIs.
Signed-off-by: Alphan Ulusoy<EMAIL_ADDRESS>

@alphan, did you have to add any timing constraints to make this work, or ok as is?

@alphan, did you have to add any timing constraints to make this work, or ok as is?

No, didn't add any timing constraints, seems to be OK as is.

Can we please add documentation on how to connect the ChipWhisperer board to the "outside world", e.g. at https://docs.opentitan.org/doc/ug/getting_started_fpga/?

Can we please add documentation on how to connect the ChipWhisperer board to the "outside world", e.g. at https://docs.opentitan.org/doc/ug/getting_started_fpga/?

ot-sca repo already has a getting started guide for this, IMHO it would be better to add a link to that since there are additional dependencies, e.g. chipwhisperer. WDYT @vogelpi @moidx?

I would add a small section in the OpenTitan getting_started_fpga guide. It doesn't need to be much. Just something like "We also support the ChipWhisperer FPGA board for SCA. The bitstream can be generated using this command. For further information on how to setup SCA measurements using this board, checkout the ot-sca repo."

Sounds good, created #4069 to track doc update. https://docs.opentitan.org/doc/ug/fpga_boards/ also seems like a good place to document this.


Feature proposal: Add action closure to MenuItem

Hey, first of all, thanks for the project. I think it's really great to be able to easily create a cross platform menu bar, and I like the way this crate specifically works.
I especially think the way that you can create a menu recursively (like how it's done in the examples) is really nice:
fn create_menu() {
    let menu = Menu::with_items(&[&Submenu::with_items(
        "",
        true,
        &[
            &MenuItem::new(
                "Item 1",
                true,
                Some(Accelerator::new(Some(Modifiers::SUPER), Code::KeyA)),
            ),
            &MenuItem::new(
                "Item 2",
                true,
                Some(Accelerator::new(Some(Modifiers::SUPER), Code::KeyB)),
            ),
            &MenuItem::new(
                "Item 3",
                true,
                Some(Accelerator::new(Some(Modifiers::SUPER), Code::KeyC)),
            ),
        ],
    )
    .unwrap()])
    .unwrap();
    menu.init_for_nsapp();
}

However, I noticed one thing. As it's necessary to process the menu events (otherwise the menu would be pretty useless), you need to create all menu items explicitly as variables to get their ids, so that you can process the events like this:
if let Ok(event) = MenuEvent::receiver().try_recv() {
    match event.id {
        _ if event.id == item_1.id() => {
            println!("Clicked on item 1");
        },
        _ if event.id == item_2.id() => {
            println!("Clicked on item 2");
        },
        _ if event.id == item_3.id() => {
            println!("Clicked on item 3");
        },
        _ => {}
    }
}

However, this destroys the benefit of the upper structure.
Instead of being able to write a recursive block like above, you have to do it like this:
let item_1 = MenuItem::new(
    "Item 1",
    true,
    Some(Accelerator::new(Some(Modifiers::SUPER), Code::KeyA)),
);
let item_2 = MenuItem::new(
    "Item 2",
    true,
    Some(Accelerator::new(Some(Modifiers::SUPER), Code::KeyB)),
);
let item_3 = MenuItem::new(
    "Item 3",
    true,
    Some(Accelerator::new(Some(Modifiers::SUPER), Code::KeyC)),
);

let menu =
    Menu::with_items(&[&Submenu::with_items("", true, &[&item_1, &item_2, &item3]).unwrap()])
        .unwrap();

This means that the menu definition has to be split up between the (sub-)menus and the menu items, essentially not allowing to use this great feature of defining menus recursively in-line. That can make it harder to intuitively see the structure of nested menus and make the code less comprehensible.
This system also means that the menu definition and the menu logic are separated. This makes it easier to introduce errors, e.g. by changing the structure or logic in one place and forgetting it in the other, and less easy to oversee.
Therefore, I'd suggest a feature that fixes this and allows for a full menu definition in one place: Including an FnMut action closure directly in the MenuItem.
This would allow creating a menu like this:
fn create_menu() {
    let menu = Menu::with_items(&[&Submenu::with_items(
        "",
        true,
        &[
            &MenuItem::new(
                "Item 1",
                true,
                Some(Accelerator::new(Some(Modifiers::SUPER), Code::KeyA)),
                Box::new(|| println!("Clicked on item 1")),
            ),
            &MenuItem::new(
                "Item 2",
                true,
                Some(Accelerator::new(Some(Modifiers::SUPER), Code::KeyB)),
                Box::new(|| println!("Clicked on item 2")),
            ),
            &MenuItem::new(
                "Item 3",
                true,
                Some(Accelerator::new(Some(Modifiers::SUPER), Code::KeyC)),
                Box::new(|| println!("Clicked on item 3")),
            ),
        ],
    )
    .unwrap()])
    .unwrap();
    menu.init_for_nsapp();
}

with all the advantages I mentioned earlier.
Of course you could also link to a real function for more advanced actions or different actions that overlap.

The only other reason why someone needs to create a menu item before integrating it in the menu is to keep it for the future, e.g. when you want to disable some menu items in specific situations. This is not as common as the actions (as they are basically necessary for every menu item), but it's still important to be able to do it.
I propose a second constructor, MenuItem::new_with_handle to solve this (and not require a prior menu item definition for this use case).
If you want to be able to access the MenuItem after the menu creation, you could use the constructor like this:
let mut item_1_handle: MenuItem;
let menu = Menu::with_items(&[&Submenu::with_items(
    "",
    true,
    &[MenuItem::new_with_handle(
        "Item 1",
        true,
        Some(Accelerator::new(Some(Modifiers::SUPER), Code::KeyA)),
        Box::new(|| println!("Clicked on item 1")),
        &mut item_1_handle
    ), …],
)
.unwrap()])
.unwrap();
menu.init_for_nsapp();

This would create the menu and save the created menu item in item_1_handle. This way, it allows to change the item in the future without having to separate it from the menu structure.
(To avoid the muts, you could also create a new MenuItemHandle struct that uses internal mutability and a function to expose the MenuItem, but I don't think that's necessary (although I wouldn't be opposed to that either)).

What do you think about these proposals? If you agree to these changes, I'd be very happy to open a PR implementing it. I think this would improve the way we can create menus with muda and allow us to use more of the potential this crate already has.

Thanks for the detailed proposal.
I didn't implement this action closure before because I didn't want to force users to share their app state through an Arc<Mutex> or Rc<RefCell>, and events seemed like a good way around this by allowing the user to process menu events in the same place as his app state.
I don't mind having this closure callbacks but ofc without removing the events, so if you want to work on this, please do, we appreciate it.

Thank you for the quick and friendly answer :D
And thanks for the explanation; I understand it.
I'll work on it and try to implement it in a nice (optional) way.
I think the second proposal also helps when you want to keep using the event system as it allows you to recursively define a menu in-line and still have access to all individual items (and their ids), so that's an improvement no matter what you use to process menu events.


Unable to load video to vimeo

Hello!
I'm trying to upload a video via the resumable approach, I'm able to get the upload_link through PHP curl and jquery ajax
then I'm trying to upload the file but I receive 412 error.
"Failed because: Error: tus: unable to resume upload (new upload cannot be created without an endpoint), originated from request (method: HEAD, url: https://asia-files.tus.vimeo.com/files/vimeo-prod-src-tus-asia/123456789, response code: 412, response text: , request id: n/a)" (123456789 is just a dummy number here)
I tried to remove the headers but I get 404 error which seems worse to me, so I kept the headers.
I'm unable to upload the file via Postman (testing API software)which is also weird, PATCH with binary data in body, I get a response 204 that there is no content.
When I try the HEAD request for the upload_link via Postman (testing API software), I get status 200.
Expected behavior
The file should have been uploaded to Vimeo in chunks...
     function resumable(url) {
                // Get the selected file from the input element
             let file = $('#video')[0].files[0];
           var chunkSize = 128;
                  // Create a new tus upload
              const upload = new tus.Upload(file, {
                	uploadUrl: URL,
	                headers:{
		"Tus-Resumable":	"1.0.0",
		"Accept":	"application/vnd.vimeo.*+json;version=3.4"
	          },
	          //endpoint: URL,  I created the link manually, doesn't work even if I add here the same URL for uploadUrl
	             chunkSize,
	            retryDelays: [0, 3000, 5000, 10000, 20000],
	           metadata: {
	              	filename: file.name,
	            	filetype: file.type
         	},

	        uploadSize: file.size,
	onError(error) {
		console.log(`Failed because: ${error}`);
	},
	onProgress(bytesUploaded, bytesTotal) {
		const percentage = ((bytesUploaded / bytesTotal) * 100).toFixed(2);
		console.log(bytesUploaded, bytesTotal, `${percentage}%`);
	},
	onSuccess() {
		console.log('Download %s from %s', upload.file.name, upload.url);
	},
  })

// Check if there are any previous uploads to continue.
upload.findPreviousUploads().then(function (previousUploads) {
    // Found previous uploads so we select the first one.
    if (previousUploads.length) {
        upload.resumeFromPreviousUpload(previousUploads[0])
    }

      // Start the upload
       upload.start()
   })
    }

Runtime environment: [Browser: Crome, WordPress, PHP]
Used tus-js-client version: [1.0.0]
cdn<EMAIL_ADDRESS>

I don't use Vimeo so I can´t help you much with it. Please have a look at previous issues regarding uploads to Vimeo: https://github.com/tus/tus-js-client/issues?q=is%3Aissue+vimeo Very often, people described their solution in closed issues. If that does not help, please contact Vimeo's support.

You probably have figured out that by now but still, here is what work for me:

        const upload = new tus.Upload(file, {
            endpoint: 'https://api.vimeo.com/me/videos',
            uploadUrl: *link sent by vimeo*,
            retryDelays: [1000, 3000, 5000],
            metadata: {
                filename: file.name,
                filetype: file.type,
            },
            onError: function (error: any) {
                 ...
            },
            onProgress: function (bytesUploaded: number, bytesTotal: number) {
                 ...
            },
            onSuccess: function () {
                 ...
            },
        });

no extra endpoint, no headers, also no size (it's already defined, part of the data in the first request to create video)

@artem-tarasenko Thanks for your help. Going to close this then.


Network failures when offline mode + too many requests

I am looking at the network failures in my analytics for my app, and I see a lot of request being done for the Experiments API, I would say unnecessary calls.
My first item is that the API keeps counting how many API requests missed when the app is in background, and when I open the app again, all those missed API calls (which is to fetch the Feature Flags and variants) are fired at the same time, meaning you can have the app in background for 4 hours, and if you have the pollOnStart enabled (which is by default), it would do (4 times 60 minutes/ hour) 240 requests all at once.
The second is that the polling is done 1 time per minute, which seems a bit too much to fetch something that will not change much in that period of time, and I don't see a configuration setting that could change the polling intervals.

Hi @lucasiturbide, many thanks for raising this issue. If local evaluation is not being used, then pollOnStart can be set to false. Additionally, stop() can be called to stop the poller when the app is in the background.
The request for more control over fetching flag configurations is recognized and we have added it to our enhancements backlog.

closing for inactivity


question: How can I create a routed domain without associating it with a vlan pool

How can I create a routed domain without associating it with a vlan pool which is a mandatory field

apic:
access_policies:
routed_domains:
- name: L3Out
vlan_pool: ??? <- mandatory
Leave the VLAN pool field blank because you do not need it for routed interface L3
For example, you need the pool for L3 connections with SVIs and subinterfaces.

We are adding this functionality in the next release.


sourceRoot removed from options

gulp-typescript warns about "Use sourceRoot option of gulp-sourcemaps instead." and that's OK with me, but removing the sourceRoot from the project options makes difficult to use a single tsconfig.json for both gulp and tsc. Before my code was just:
var result = tsProject
    .src()
    .pipe(sourcemaps.init())
    .pipe(tsc(tsProject));

return result.js
    .pipe(sourcemaps.write('.', {sourceRoot: tsProject.options.sourceRoot}))
    .pipe(gulp.dest('.'));

What about a switch in tsc.createProject that says "I know, I will use sourceRoot support in sourcemaps, just let it in options and don't bother giving me a warning"?

You can override the sourceRoot setting like this:
var tsProject = ts.createProject('tsconfig.json', { sourceRoot: undefined });

Yes, but that's the opposite of I wanted to do. I wanted to be able to use options.sourceRoot as the sourceRoot parameter in the sourcemaps.write() call without having to keep its value in two places (tsconfig.json and glupfile.js).

You can access the config in your tsconfig with tsProject.config.compilerOptions.sourceRoot.

So I was just looking at the wrong place. Thanks.


Liquibase PSQL Create Function Fails with Trivial Conditional

Search first

[X] I searched and no similar issues were found

Description
This statement works without issue when I run liquibase update (notice that the conditional is commented out).
--liquibase formatted sql
--changeset user.me:1
--rollback DROP FUNCTION IF EXISTS cmp_app.simple_test_conditional;
CREATE
OR REPLACE FUNCTION cmp_app.simple_test_conditional () RETURNS TRIGGER AS $$
BEGIN
  -- IF 1 > 0 THEN
    RAISE EXCEPTION 'ERROR';
  -- END IF;
RETURN OLD;
END
$$ LANGUAGE plpgsql;

However, when I rollback and uncomment those two lines and attempt to run the update again as follows:
--liquibase formatted sql
--changeset user.me:1
--rollback DROP FUNCTION IF EXISTS cmp_app.simple_test_conditional;
CREATE
OR REPLACE FUNCTION cmp_app.simple_test_conditional () RETURNS TRIGGER AS $$
BEGIN
  IF 1 > 0 THEN
    RAISE EXCEPTION 'ERROR';
  END IF;
RETURN OLD;
END
$$ LANGUAGE plpgsql;

I am met with this error:
liquibase  | Unexpected error running Liquibase: Migration failed for changeset changelogs/20231130-004-widget-pre-delete-check.sql::1::user.me:
liquibase  |      Reason: liquibase.exception.DatabaseException: Unterminated dollar quote started at position 81 in SQL CREATE
liquibase  | OR REPLACE FUNCTION cmp_app.simple_test_conditional () RETURNS TRIGGER AS $$
liquibase  | BEGIN
liquibase  |   IF 1 > 0 THEN
liquibase  |     RAISE EXCEPTION 'ERROR';
liquibase  |   END IF. Expected terminating $$ [Failed SQL: (0) CREATE
liquibase  | OR REPLACE FUNCTION cmp_app.simple_test_conditional () RETURNS TRIGGER AS $$
liquibase  | BEGIN
liquibase  |   IF 1 > 0 THEN
liquibase  |     RAISE EXCEPTION 'ERROR';
liquibase  |   END IF]
liquibase  |
liquibase  | For more information, please use the --log-level flag
liquibase  |
liquibase exited with code 1

You may have noticed that the ; is omitted after the END and it actually worked, even though that would ; would be required when applied directly to a PostgreSQL database.
I am not sure why but I am assuming that it something to do with the way Liquibase parses the SQL.
Since I noticed this semicolon issue from previous function declarations, I experimented with many combinations of semi-colons to try and see if that makes a difference. Different semi colon locations produce slightly different but essentially the same error messages, but I believe I have tried nearly all if not all of the 32 possible combinations of the 5 semicolons and to no avail.
This is my best attempt to frame the issue as simply as possible.
Version Info
Both my database and my liquibase are running in docker containers.
This was the result of running SELECT VERSION(); in my pgAdmin PostgreSQL 15.3 (Debian 15.3-1.pgdg120+1) on aarch64-unknown-linux-gnu, compiled by gcc (Debian 12.2.0-14) 12.2.0, 64-bit
This was the result of running liquibase --version in my docker compose file. liquibase | Liquibase Version: 4.23.0 liquibase | Liquibase Open Source 4.23.0 by Liquibase
Steps To Reproduce
You can reproduce this issue by copying my trivial function example and testing it in your environment.
Expected/Desired Behavior
I would expect the function that has the conditional statement to behave the same as the function without the conditional when applying to the database.
Liquibase Version
Liquibase Open Source 4.23.0
Database Vendor & Version
PostgreSQL 15.3 (Debian 15.3-1.pgdg120+1) on aarch64-unknown-linux-gnu, compiled by gcc (Debian 12.2.0-14) 12.2.0, 64-bit
Liquibase Integration
CLI via docker-compose command
Liquibase Extensions
No response
OS and/or Infrastructure Type/Provider
Docker, Ubuntu
Additional Context
I am reposting my issue from Stack Overflow for increased visibility.
Are you willing to submit a PR?
I haven't got the foggiest idea how to fix this issue or whether it's something I can fix but I am willing to submit a PR if someone explains to me what needs to happen.

[X] I'm willing to submit a PR (Thank you!)

Hi @justinleebehnke
This issue stems from the way Liquibase handles SQL end delimiters. By default, when Liquibase encounters an end delimiter, it splits the SQL statement, which can be seen when running liquibase update-sql with the changelog you've provided:
CREATE
OR REPLACE FUNCTION public.simple_test_conditional () RETURNS TRIGGER AS $$
BEGIN
   IF 1 > 0 THEN
    RAISE EXCEPTION 'ERROR';
   END IF;

RETURN OLD;

END
$$ LANGUAGE plpgsql;

Note the line breaks after the semicolons. When running this script from Liquibase, it will consider that the dollar quote hasn't been closed, and so it will not execute the migration. The same code is successful when running it directly onto your database, though.
To solve this, simply add the splitStatements:false attribute.
Here's some more information on SQL changelogs and the available attributes.
Let me know if you have any other questions
Thanks,
Tatiana


request help: rewrite the http request method,

Issue description
Environment

APISIX Go Plugin Runner's version: v0.3.0
APISIX version: 2.14.1
Go version: go1.17.9 darwin/arm64
OS (cmd: uname -a): Darwin x-Pro-2.local 20.5.0 Darwin Kernel Version 20.5.0: Sat May  8 05:10:31 PDT 2021; root:xnu-7195.121.3~9/RELEASE_ARM64_T8101 arm64

Question:
I need rewrite the http request method, can you add the method r.SetMethod() just like r.SetPath().
Why:

We have many apis using the PUT DELETE methods, and the client do not supported those methods, but only GET/POST methods.
We consider that put extra header named X-HTTP-Method-Override, then , rewrite the method to this in go runner plugin.

Example:
Client -> Method(POST) and X-HTTP-Method-Override: PUT -> Go Runner Plugin -> Method(PUT)  -> Upstream

Would you like to contribute?


[BUG] 16-bit psd files saved from photoshop not showing subimages

When using the python API to get subimage names or oiiotool to get info on all the subimages, a 16-bit photoshop file saved from windows photoshop shows no subimages. Saving the same photoshop file as an 8-bit file then shows all the layers. A little testing and it appears that 32-bit psd files exhibit the same behavior as 16-bit.
The attached psd files have 4 layers/subimages. Saved from photoshop 21.1.2 on windows.
PSD files saved from Krita on linux as 16-bit images work fine, only psds from photoshop seem to show this behavior
To Reproduce
Run oiiotool to see all subimage info for the 16-bit psd file vs. the 8-bit file
oiiotool --info -v -a color_squares_small_16bit.psd
The 8-bit file shows all the subimages while the 16-bit file does not.
Expected behavior
Show all relevant image info comparable to what the same file saved as 8-bit shows.
Evidence
oiiotool --info -v -a color_squares_small_16bit.psd
oiiotool --info -v -a color_squares_small_8bit.psd
Please find reproducing images attached.
Platform information:

OIIO branch/version: <IP_ADDRESS>
OS: centos 7.6
C++ compiler: gcc 9.3.1
Any non-default build flags when you build OIIO: unknown, though I can find out if relevant

color_squares_small.zip

Cross-posting the comment here. I explain in the discussion page why this isnt working and how it could be implemented:
https://github.com/AcademySoftwareFoundation/OpenImageIO/discussions/3910#discussioncomment-8913737

@EmilDohne Is this issue fully solved by #4208? Can this one be closed?

Fixed by #4208

Awesome news! Thanks so much @EmilDohne and @lgritz !

I'm backporting this so it will be in (next month's) release patch.


Fully Pluggable TLSv1.3 Key Exchange

This PR started life as an attempt to ensure that we are actually able to support all the groups that a client offers or a server accepts in a TLS handshake. If the default provider is not loaded it is possible that we have a different set of groups available. This turned out to be quite tricky and the easiest solution was to ask the available providers what groups they can support. From there it was a short step to having support for fully pluggable (TLSv1.3) key exchange. Pluggable TLSv1.2 key exchange is quite a bit trickier so I've not attempted that.
With this PR it is possible to write a provider that adds new TLS groups and TLSv1.3 key exchange algorithms. It is marked as WIP because it is dependent on #11898 and includes the commits from there.
This PR also adds the concept of "Capabilities". This is information a provider can supply about things that it can do. At the moment there is support for just one capability (the "TLS-GROUP" capability), but I envisage it could be easily extended to other things in the future.

I've rebased this (which was a nightmare), and taken it out of WIP since all its dependencies are now in. I've not yet addressed the feedback.

Pushed...addressing feedback comments above.

More fixes for Travis issues - and rebased again.
Ping???

I like the idea of fully-pluggable TLS 1.3 Key Exchange though I'm not sure that, implementing a preliminary version of TLS 1.3 with GOST (https://datatracker.ietf.org/doc/draft-smyshlyaev-tls13-gost-suites/), I didn't have to alter some more code. But I'm not familiar with providers.

I didn't have to alter some more code.

I'm hopeful that you wouldn't have to do that - but obviously until you try to do this via this mechanism we won't know for sure.

All feedback addressed. Please take another look.

Rebased to resolve a conflict with master. Also fixed the windows strcasecmp issue. Please take another look.

This pull request is ready to merge

Pushed! Thanks!

@mattcaswell this seems like quite a significant new feature for libssl (I am pretty excited about it and its potential!): should we add a CHANGES and a NEWS entry for it?

@mattcaswell this seems like quite a significant new feature for libssl (I am pretty excited about it and its potential!): should we add a CHANGES and a NEWS entry for it?

Yes - it should have that. I'd actually like to blog about it at some point with some kind of tutorial type approach to explain how to use it.


Add: Simra accGps.csv import

I have added a https://simra-project.github.io/ import function.

Thanks for the code, I've merged it!


Bump all storybook peer deps

Dependabot is strangely slow at keeping these in sync.
Supersedes #188 and #190

wait, why wasn't package-lock.json updated?


Open Marketplace Bot

Implement the Open Marketplace Bot with Hubot, the open source bot by GitHub. See: https://hubot.github.com.

For this task it will be cool to check out the RocketChat boot project made with Hobot


Any issue available to contribute? GSSOC23 Contributer here.

Hi @Yash-Parsana  , i am a GSSOC23 contributer and I would like to resolve any issue you might have.
I have seen this project from project section of GSSOC23
Can you assign some issue?
Heres My Resume which you might find useful: Resume
Ive more than 1 year of experience in android development(check profile for more details)

@s0oraj
Yes it has some issues i will mention it soon.
Just for now try to understand project and download app from PlayStore for better understanding.

Hi @Yash-Parsana ,  I am a GSSOC23 contributor
I'm eager to contribute to this project and utilize my Android development skills. I'm looking for new issues to work on or opportunities to implement new features. If there are any tasks that need assistance or if you have any specific feature requests, I would be happy to contribute.
Please let me know if there are any unassigned issues or if you would like me to propose new features or improvements to the project. I'm open to suggestions and ready to collaborate with the team.
Thank you, and I'm excited to be part of this project!


missing honorLabels for VMServiceScrape

honorLabels is present for almost every scraper config except this one.

Hello, it must  present at Endpoint which is part of VMServiceScrape https://github.com/VictoriaMetrics/operator/blob/master/docs/api.MD#endpoint
for instance:

apiVersion: operator.victoriametrics.com/v1beta1
kind: VMServiceScrape
metadata:
  name: example-scrape
spec:
  discoveryRole: "endpoints"
  jobLabel: job
  targetLabels: []
  podTargetLabels: []
  endpoints:
    - port: http
      targetPort: http
      path: /metrics
     honorLabels: true
      scheme: http
      scrapeTimeout: 2s
  namespaceSelector:
    any: false
  selector:
    matchLabels:
      app.kubernetes.io/name: example-application
      monitored-by: vm-operator

If its not, it may be some bug.

Thanks for your answer, I indeed missed that part, it should be fine then :)
I am still playing around with the operator and so far only used the pod scrape.


Document erase_no_drop guarantees

Following some discussion in https://github.com/bluss/indexmap/pull/131#discussion_r447965041, it'd be good to document the contract of erase_no_drop. In particular, there is code both inside hashbrown and in the pending PR to indexmap (https://github.com/bluss/indexmap/pull/131) along the lines of:
let v = unsafe {
    table.erase_no_drop(&bucket);
    bucket.read()
}

This, by first reading, seems like it shouldn't be okay. erase_no_drop erases the bucket, so why is it okay to read from it after the fact? It turns out, probably unsurprisingly, that hashbrown indeed currently supports this sequence of operations; erase only erases the bucket in the control bytes, but does not otherwise invalidate the bucket.
I think we have a choice to make: either we add this as a guarantee to the documentation of erase_no_drop so that callers can rely on that detail of the implementation, or we do not give that guarantee, and require callers to always access the bucket before they erase it. The latter gives us more leeway to change erase_no_drop later, at the cost of slightly less convenient access for callers. Of course internally it's fine for hashbrown to rely on being able to access the bucket after erase_no_drop is called. This is a question of what the public contract (which we cannot break without a breaking release) should be.

Do we need a similar clarification on clear_no_drop?
In theory, you could have a outstanding Bucket live across this and still want to read it afterward, but I don't see anything that's actually doing that right now.

Yes, I think the same clarification is needed there

erase_no_drop is deprecated and replaced by erase and remove so I'm going to close this.


Relocate reference generation tooling from Kubernetes Incubator

@mrbobbytables brought to my attention during the 1.14 cycle that the Kubernetes Incubator repo is sort of "pre-retirement."
Given that our reference-docs tooling lives there, we should consider moving it out to a SIG or Core repository described in the above link.
Also, since we rely heavily on those tools for the release process this might be a slightly larger undertaking to migrate. I don't see any need to make this an urgent priority, but wanted to open an issue for tracking.
/cc @tengqm @zacharysarah @MAKOSCAFEE

/cc @steveperry-53

/remove-lifecycle rotten
ref: https://github.com/kubernetes/community/issues/1922#issuecomment-516974448


New example - reusing function and event definitions

Signed-off-by: Tihomir Surdilovic<EMAIL_ADDRESS>Many thanks for submitting your Pull Request :heart:!
Please specify parts this PR updates:

[ ] Specification
[ ] Schema
[ x] Examples
[ ] Usecases
[ ] Extensions
[ ] Roadmap
[ ] Use Cases
[ ] Community
[ ] TCK
[ ] Other

What this PR does / why we need it:
Adds new example showing how function and event definitions can be referenced (be defined in separate files)

needs to be updated in https://github.com/serverlessworkflow/specification/pull/145 goes in first


Fixed and improved circular progess animation on about section

Description
These changes was about to fix some behaviors about the circular progress animations.
Currently the circular progress only supports values greater then 50% and it breaks if you put 100%.
Please look at the "Problem Solving" and "Comunication" soft skills in following screenshots that should be 100 and 40 but renders as 50.

Test Evidence
After the fix, now it is possible to use all values between 0 - 100 with steps (or granularity) of 5.
Look at the screenshot that render the same data of previous one.

Thank you @Kyserbyte for the PR. I will test and merge soon.


Possible selectedColor attributes for Label

The documentation doesn't state what the acceptable arguments are to the selectedColor attribute for Label in config.xml.
https://github.com/heartexlabs/label-studio/blob/e34e4cd3a9f4361b5f3b292eafecff14f305fd36/docs/source/tags/label.md

@hlomzik can you confirm that the colors in https://github.com/heartexlabs/label-studio-frontend/blob/master/src/utils/colors.js are the available options for this field?

I just tried re-starting a project with multiple Labels such as  <Label value="X" selectedColor="green"/>  and the color changes seem to not take any effect. (Any other change such as adding a new Label would be in effect with a new start of the project, not init.)

@smoreface Can we add info about the background attribute too?

@atakanokan yes, I can do that. Glad to hear the color name works with the background parameter!


Add BigQuery driver

@rickbergfalk Here's what I have so far for the BigQuery driver.
There is a README describing how to test, etc.
There are two things that I'd like to call out:

Since the BigQuery API allows you to set the timeout on the query, I thought it would be good to use the SQLPad query timeout setting for that purpose. However, I didn't see a formal way for database drivers to access the SQLPad config settings, so in the short term I just copied how it's done elsewhere in the code base.

Also related to query timeouts: several weeks ago, my current approach of throwing an exception for the timeout worked well: as soon as the timeout occurred, my custom error message would be displayed in the SQLPad results area. However, now there is a multi-second delay following the timeout, and the message that appears in the results area is generic: "Server responded not ok".

Thanks @murphyke! This looks great.
What you've done for the config works. I'll have to think about how to pass config to driver implementations.
Your code looks correct, so you should see the error in the UI if you are throwing. The message you are getting is a generic message from the front-end code when the response is something other than 200. Could you check the response and see what it is sending back?
I'm wondering if the BigQuery timeout is happening after the SQLPad timeout, since SQLPad's timer probably starts sooner? You could try decreasing the timeout that is sent to BigQuery by a few seconds to see if that helps.

You could try decreasing the timeout that is sent to BigQuery by a few seconds to see if that helps.

Duh, thanks, that would do it. I am now dropping a second off the timeout, and that behavior is documented.

Glad to hear that's all it was! This is excellent. Thanks again @murphyke


extended/improved existing kubescape formula

I've extended/improved the Kubescape formula a bit. See also Homebrew/homebrew-core#86239
Tried to get it integrated into homebrew-core but stopped since you have your own tap now.
@AvnerTzurArmo

Hello @ferhaty, why did you preferred to rebuild the binary and not use the already published macOS bin in the formula?

Hi @AvnerTzurArmo, I looked into homebrew-core and saw that that’s how they build their formulas. They also mention it in their formula cookbook at https://docs.brew.sh/Formula-Cookbook

@AvnerTzurArmo simplified the installation. The only difference now is the installation of the bash/fish/zsh autocompletion scripts and the extra tests.


Order A-Z Page by Last Modified

Add the ability to order the A-Z page by Last Modified Date.
Consider grouping such as "Today", "Over 1 Week Ago", "Over 1 Year Ago"...

Release candidate 2.0.0-rc.1 includes this functionality.

This functionality is now available in v2.0.0.


feat (provisioner-localpv): Merge CAS config from PersistentVolumeClaim

Pull Request template
Why is this PR required? What issue does it fix?:
Allows users to filter the type of storage they want right from the PVC. Instead of having to create multiple StorageClass types for infrequent volumes
What this PR does?:
Merge CAS from PersistentVolumeClaim and StorageClass
Does this PR require any upgrade changes?:
No
If the changes in this PR are manually verified, list down the scenarios covered::

PVC has annotations attribute cas.openebs.io/config and it is included in BlockDeviceClaim

Any additional information for your reviewer? :
Mention if this PR is part of any design or a continuation of previous PRs
Checklist:

[ ] Fixes #
[x] PR Title follows the convention of  <type>(<scope>): <subject>
[ ] Has the change log section been updated?
[ ] Commit has unit tests
[ ] Commit has integration tests
[ ] (Optional) Are upgrade changes included in this PR? If not, mention the issue/PR to track:
[ ] (Optional) If documentation changes are required, which issue on https://github.com/openebs/openebs-docs is used to track them:

@nobiit -- The change in the above comment, is not required. Let's go with what you've implemented already. On second thought, the config in the SC should take precedence. The SC config is something a cluster admin may want to enforce.

Closing this PR as these changes have been included in #190.


Add user's github data to package.json

Hi @horacioh! I think that'd be a great idea if this was a general tool, but it's mine and when I create a new project I don't want to have to re-enter my website over and over again. Feel free to fork and make one for yourself :)

haha cool! :)
actually the website was the one thing i did not like about it, i wanted everything automated.
sure thing will modufy my fork :)
cheers! 😬😬


scrcpy doesn't work further after mentioning -- " INFO: Initial texture : 512x1024 "

Hi, I was using scrcpy(v1.6) quite well until i recently updated my mobile android OS.
When I run the scrcpy(v1.6), it connects and it pushes the JAR file as well... BUt strangely nothing happens after it prints " INFO: Initial texture : 512x1024 ". Same is with scrcpy(v1.10).
PS: The developers option and debugging via usb is on. And to add further, if my mobile screen is off and then when I try starting scrcpy, the mobile screen lights up. So im guessing the file is pushed but not responding any further. Attached logcat file, if it helps.
new 2.txt

Thank you for your report.

11-09 17:55:25.594  8571  8571 E Surface : java.lang.NullPointerException: Attempt to read from field 'android.os.MessageQueue android.os.Looper.mQueue' on a null object reference
11-09 17:55:25.594  8571  8571 E Surface :      at android.os.Handler.<init>(Handler.java:234)
11-09 17:55:25.594  8571  8571 E Surface :      at android.os.Handler.<init>(Handler.java:141)
11-09 17:55:25.594  8571  8571 E Surface :      at com.realme.darkmode.DarkModeManager.<init>(DarkModeManager.java:149)
11-09 17:55:25.594  8571  8571 E Surface :      at com.realme.darkmode.DarkModeManager.getInstance(DarkModeManager.java:186)
11-09 17:55:25.594  8571  8571 E Surface :      at android.graphics.BaseCanvas.<init>(BaseCanvas.java:68)

This is the same as #921 (so I'm closing). I guess the device is a Realme 3 pro?

The device is Realme 1

Please test this: https://github.com/Genymobile/scrcpy/issues/921#issuecomment-552098899


Remove has_many relationship with subscriptions

What: Remove has_many relationship with subscriptions
Why: Closes https://app.asana.com/0/1168997577035609/1200366454270521
How:

Add paper_trail gem to track changes in status or amount on a subscription
change the code to fit the has_one relationship change

@duranmla I'll get this one merged to test on staging


ctrl-S hotkey isn't documented properly

Built from master on Linux, I thought the the ctrl+S hotkey wasn't working, but actually you need ctrl+shift+s.  We should update the docs to clarify that (in general, best practice is to indicate capitalization via an explicit shift in hotkey docs, because often similar documentation will unconditionally capitalize key names, similar to how they are displayed on a keyboard)

Which docs are you referring to? It is ctrl+shift+S on the keyboard's shortcut list inside the desktop app.

Oh, I mean this thing:


[feat] Switch from altool to notarytool for macOS notarisation

Describe the problem
Apple will discontinue support for altool notarization later this year.
Describe the solution you'd like
Replace with notarytool.
Alternatives considered
No response
Additional context
Current warning when building and notarizing:
Warning: altool has been deprecated for notarization and starting in late 2023 will no longer be supported by the Apple notary service. You should start using notarytool to notarize your software. (-1030)

Duplicate of #4300. Thank you for the report.


Workspaces with no imported JSON formatted state show zero resources/outputs

Bug description 🐞
This is closely related to https://github.com/AzBuilder/terrakube/issues/725.
For workspaces that were imported from a Terraform Cloud workspace created prior to Terraform 1.3 - and therefore do not include the JSON formatted state - when viewing the workspace the workspace overview page will show zero resources/outputs. This is a little confusing as the non-JSON state is present and does contain resources.
Steps to reproduce

Import a workspace without JSON state available
Open the workspace overview page in Terrakube

Expected behavior
Perhaps just not showing the resources/outputs table and instead showing a message to say that no JSON state is present would be the most simple option? Or better yet, driving this portion of things from the non-JSON state so the resources could be shown as with any other workspace, but I accept that this is probably not trivial!
Example repository
No response
Anything else?
No response

Did some progress in #760

Hello @dcopestake  I think I got this working in version 2.20.0-beta.9, maybe when you have some time you could test with some of your workspaces

All feedback is welcome


test_jumpwire fails on my Raspberry Pi 2 model B

Changing the assert to LOW will fix this? This test assumes that some pins are plugged?
Details below
=================================================== FAILURES ==========================================================================
_____________________________________________________________________________ RaspberryBasics.test_jumpwire _____________________________________________________________________________

self = <pingo.rpi.tests.test_rpi.RaspberryBasics testMethod=test_jumpwire>

    def test_jumpwire(self):
        ''' Wire this DigitalPin directly into VDD '''
        pin = self.board.pins[self.digital_input_pin_number]
        pin.mode = pingo.IN
        output = pin.state

>       assert output == pingo.HIGH
E       AssertionError: assert 'LOW' == 'HIGH'
E         - LOW
E         + HIGH
pingo/test/level0/cases.py:64: AssertionError

@lamenezes thanks for looking into this. I can't reply in detail right now because I am swamped teaching full-time courses and reviewing the PT-BR edition of my book... However, in geral yes, there are tests in Pingo which require the boards to be connected to some simple circuits, otherwise we would have no way of telling whether a digital input is ever HIGH or LOW or changing... One of the biggest challenges ahead of us is designing and documenting these circuits, and building the actual test harnesses on actual boards for testing each release of Pingo. We have the boards, the components for the circuits are simple, we just have not properly designed, documented and implemented the harnesses in a reproducible manner. Please help us do that. Thanks!

@ramalho Proper documentation would help on running and creating tests. And would also avoid misunderstandings like I had.
I was checking the tests and I saw that the button test was skipped because it required someone to be pushing the button while that exact test is running, how would we surpass that kind of problem? How would we automatically test an analog input such as a potentiometer?
I'm working on issue #68 and I should have a (simple) patch to submit soon. Therefore I don't have time to write docs right now.

Indeed, testing is our Achilles heel.
@lamenezes , take a look in:

pingo-py/pingo/test/level1/cases.py
pingo-py/blob/master/pingo/test/level0/cases.py

We have some tricks to read a HIGH value and a analog input.
Sadly, they are described only in doc strings.
Some Fritzing schematics would help a lot:
https://github.com/pingo-io/pingo-py/tree/master/pingo/arduino/tests

Hi everyone.
Sorry for polluting this post, but I've been asking a question a few days ago, and I'm not getting any answer.
So I wonder whether it's been seen by anyone ?
https://github.com/pingo-io/pingo-py/issues/91
I'm getting hard time trying using Pingo, and I'm seeking some help.
It would be great if somebody could say something......
Thanks.


Error in setting up the virtual environment...

Version: 2.0.0a5
Setting up the virtual environment...
Traceback (most recent call last):
  File "c:\Users\smart\Desktop\PappuAI\Pappu.py", line 15, in <module>
    ext.run()
  File "C:\Python310\lib\site-packages\vscode\extension.py", line 178, in run
    build(self)
  File "C:\Python310\lib\site-packages\vscode\compiler.py", line 132, in build
    venv.create("./venv", with_pip=True)
  File "C:\Python310\lib\venv\__init__.py", line 412, in create
    builder.create(env_dir)
  File "C:\Python310\lib\venv\__init__.py", line 75, in create
    self._setup_pip(context)
  File "C:\Python310\lib\venv\__init__.py", line 298, in _setup_pip
    subprocess.check_output(cmd, stderr=subprocess.STDOUT)
  File "C:\Python310\lib\subprocess.py", line 420, in check_output
    return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
  File "C:\Python310\lib\subprocess.py", line 501, in run
    with Popen(*popenargs, **kwargs) as process:
  File "C:\Python310\lib\subprocess.py", line 966, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "C:\Python310\lib\subprocess.py", line 1435, in _execute_child
    hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
FileNotFoundError: [WinError 2] The system cannot find the file specified

Maybe due to activating venv from the popup during installation.


Add audio support to the lib

Hi,
I've just forked your lib and modify the CMakeLists.txt to provide a way to build the lib as shared or static lib.
I've also added some flag to the open stream method to show or hide the preview window.
This works great at least under windows but I was wondering if you plan to add support to get the audio streams from the webcam.
If not, do you know third party lib which could do the job ?
Best regards

Hi,
This is probably not going to happen; the library was written for Pick and Place machines where audio isn't used.
Best regards,
Niels.


Improve the Readme file of Main Java Branch

Description 📜
You are required to improve the readme file of the main Java Branch and Quick navigation and make it more attractive and provide adequate knowledge with that.

Domain of Contribution 📊

[x] Java

/assign

/assign

/assign

/assign

\assign

\assign Video


Bugfix: Treat text content as optional when computing node name

Why
There are some occasions where the textElement.text may be undefined, resulting in the bug seen in #21.
What

[x] fixes the bug by treating the .text field as optional in conditional logic before attempting to trim it

Details
Logic like getAccessibleNameOf() here seem to imply that the text field shouldn't be optional. I'm not exactly sure what the root cause making textElement.text === undefined actually is.
If it's not supposed to be optional, this patch doesn't solve the root cause.

fixes #21

Hi, thank you for this great contribution. I am currently on vacation and will look at this and release at the beginning of the next week :)
Cheers,
Mateusz

Glad to contribute! Aria-devtools is my go-to resource when teaching peers how to code advanced widgets like carousels and tabbed layouts.
Feel free to close the PR - I'll look out for the updates in the latest release and close if it's still open.

Sounds good :) I am closing this PR in this case.


Atomics check fails for virtual typedarray.

Atomics operation failed on the virtual typedarray (when SharedArrayBuffer is more than 2^16). However In our case we don't need to check for virtual table check as the final operation happes on the typedarray itself. Fixed that by checking just the typeid.

@boingoing please have a look at that

Fixes #2672


Show the Haddock docstring during completion with company-quickhelp

This is a variation on #71. So company-mode has this nice company-quickhelp add-on that displays a pop-up with various info (usually the docstring) when idling on a completion candidate. In an Elisp buffer it looks like this:

It'd be completely amazing if we could make it display a Haddock docstring during completion. Type and provenance info could be displayed there as well, as already suggested in #71.
Related: #53, #129, #156.

Similar functionality in Rust: http://www.wilfred.me.uk/blog/2016/08/27/rustdoc-meets-the-self-documenting-editor/.

:+1:

Once I've got hoogle support properly finished, we can use that to quickly ask for docs for a symbol.

Great to hear that this is being worked on!

@chrisdone what is the current status of this issue?
I'd love this feature and could even try to contribute if it's within my abilities.

I haven't worked on the hoogle support in a while. I have a WIP stash here: http://lpaste.net/352036
I want to do a good job of it rather than fluff it. The process launching in Intero is pretty good at handling error situations and I want the same for the Hoogle process. It's a bit different for Hoogle because it has a longer build time potential -- having to rebuild all packages with Haddock enabled. That takes a while.

Is there an easy way to just append the type of a completion to the name?
If you gave me some pointers, I think I could get that working.
On Fri, Feb 3, 2017, 15:56 Chris Done<EMAIL_ADDRESS>wrote:

I haven't worked on the hoogle support in a while. I have a WIP stash
here: http://lpaste.net/352036
I want to do a good job of it rather than fluff it. The process launching
in Intero is pretty good at handling error situations and I want the same
for the Hoogle process. It's a bit different for Hoogle because it has a
longer build time potential -- having to rebuild all packages with Haddock
enabled. That takes a while.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/commercialhaskell/intero/issues/244#issuecomment-277214145,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ANhd7u2_LywfWSWyu0hf9jN97VDvSCGyks5rYwC9gaJpZM4Ju5gU
.


rename/replace filename by title and/or tags !?

have you ever been thinking about rich feature like "rename/replace filename by title and/or tags" !?

Duplicate of #193.


Customize channel information for sqlness tests

What type of enhancement is this?
Other
What does the enhancement do?
Our sqlness tests are using http api for sql test. Now with changes like #4580 different protocol/channel may behaviour different. It would be helpful to be able to test different channel via sqlness tests.
Implementation challenges
No response

May I try?

@J0HN50N133 Yes this is for you. I just can't assign it to you without you participating this thread. :laughing:


Specify title in issue template.

This helps to filter for such messages.

I think @felder has already modified this quite heavily. @felder - can we get those changes in first?


pywis-pubsub readme incomplete + error in API description

The pywis-pubsub readme is currently incomplete and missing important details. Information on how to set the publisher username and password is missing.

additionally, there is an error in the description of publishing via the API:

message = create_message(
        topic='foo/bar',
        content_type='application/x-bufr',
        url='http://www.meteo.xx/stationXYZ-20221111085500.bufr4',
        identifier='stationXYZ-20221111085500',
        datetime=datetime.now(timezone.utc),
        geometry=[33.8, -11.8, 123],
        metadata_id='x-urn:wmo:md:test-foo:htebmal2001',
        wigos_station_identifier='0-20000-12345',
        operation='update'
)

datetime should be datetime_.

Running the first example from the readme (via docker):
docker exec publisher pywis-pubsub publish --topic origin/a/wis2/centre-id/data/core/weather \
      --config /pywis-pubsub/config/config.yml \
      -i stationXYZ-20221111085500
      -u "http://subscriber:5000/openapi"
      -g 33.8,-11.8,8.112 -w 0-20000-12345

gives the following output but no message is published on my local broker.
Unknown content type
Connected to broker mqtt://broker:1883

Checking the broker logs I have:
broker     | 2024-08-16T11:34:03: New connection from <IP_ADDRESS>:37047 on port 1883.
broker     | 2024-08-16T11:34:03: Client pywis-pubsub-335 disconnected, not authorised.

Mosquitto conf:
#persistence true
persistence_location /mosquitto/data/
log_dest file /mosquitto/log/mosquitto.log
log_dest stdout
log_timestamp_format %Y-%m-%dT%H:%M:%S
password_file /mosquitto/config/password.txt
max_queued_messages 10

# ACLs
acl_file /mosquitto/config/acl.conf

## MQTT Listener
listener 1883
protocol mqtt

ACL:
user everyone
topic read public/#
topic read origin/#

user publisher
topic readwrite origin/#
topic readwrite public/#
topic readwrite internal/#
topic readwrite fs/#
topic read $SYS/#

With the user publisher (and pwd) set in password.txt.
Based on the current documentation there it is unclear how to pass the password and text for the publish command.

README fixed in #68 (thanks @david-i-berry).


An API to get a range of visible positions in the editor

It would be useful for extension developers to get a range of visible positions (or lines) in the editor.
This would be useful when the extension is dealing with the visual aspect of the VSCode since the extension does not need to update the visual on invisible area.
For example, Guides needs to update its indentation guide lines but this has impact the extension performance (https://github.com/spywhere/vscode-guides/issues/6) due to a calculation on whole file which cause the lag on the VSCode. With this API, Guides can now update only visible area, reduce the necessity of update the invisible area which can improve the performance a lot.

Well, seems like it is a dup of #2771, #588

@spywhere Yes they are and thanks for providing the duplicates :).
Duplicates #2771


Will there be Mastodon support in the future ?

Description
I saw the use of "Micro-blogging" instead of twitter in the direct description, should I understand by that in the future there could be added support of mastodon ? Haven't found any desktop applications that merge twitter and mastodon.
Additional Information
Mastodon project

That's definitely planned!
There are  some steps I want to do beforehand. We need a proper specification for clients and their base functions, so it's clear what's required for new implementations (e.g. Mastodon)
I also require something like a PostReducer which strips off all the unnecessary data off the Twitter/Mastodon-posts and only leaves what's required for Surfbird.
If these thing are added and documented enough, there's no reason to keep waiting with the implementation of Mastodon, which I personally wanted to have since the beginning (which is also why I built everything this modular)


pull request for e2e test at 01/03/2017 00:45:13

:white_check_mark: Validation status: passed
For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Deployment of Wormhole dispatcher on a managed cluster is failing

Description
I was experimenting with the Wormhole project, and it is working good on the local Minikube. I was impressed by the tunneling possibility. I was also trying to use it on the Kyma deployed on the managed Kubernetes cluster with three nodes.
I deployed the Dispatcher and switched the service configuration type to LoadBalancer. After that change, the pod got crashed.
I can see following error message in the dispatcher logs:
kubectl logs wormhole-dispatcher-68df5645f-px9qn
time="2018-09-08T06:16:00Z" level=fatal msg="error during TLS handshake: EOF"

What is the way to deploy and access the Wormhole Dispatcher on the managed cluster?
Reasons
We would like to use the Wormhole cluster to exposed internal services deployed in Kyma on a managed cluster.

I have started looking into this issue.
Basically the mentioned error message, error during TLS handshake: EOF,  is just a symptom of sudden crash of the pod. What would be more interesting would be the reason why it has crashed.
Were there other error messages before the TLS handshake error? That would be really helpful.
And you said it crashed when configuring the service type as LoadBalancer. Does it also crash when it's without LoadBalancer? For example, does it also crash whenever deployed on a managed multi-node cluster, no matter whether it's LoadBalancer or not?
I have not managed to reproduce it. But I would like to also test it on managed clusters? Can you tell me which cloud provider you use for testing, like AWS or GCE? A testing yaml file would be also great.

Hello,
Thank you for your response.
It is crashing after exposing it with a load balancer from the cloud provider. The logs are not revealing anything more. I tried to apply the quick fix with use of the additional health endpoint for a load balancer check, but it was not helping.
Maybe we were deploying it in the wrong way. I assumed that we could not use NodePort on the managed cluster with multiple nodes (auto-scaling).
We are deploying our Kyma on GKE with the use of the following instructions: https://github.com/kyma-project/kyma/blob/master/docs/kyma/docs/032-inst-gke-installation.md The goal is to have a Wordpress Connector integrated: https://github.com/kyma-incubator/wordpress-connector
So for us, the compelling use case is to deploy cluster on GKE, have the dispatcher deployed and exposed on Kyma and connect a connector to it. I am not sure if the dispatcher deployed on a single node will be sufficient because a node can be deleted (auto-scaling). In other words, we would like to have documentation on how to deploy Kyma according to our installation guide on GKE and then use wormhole on top of that.
Thanks
Lukasz

Thanks for the details. Though still I cannot reproduce that issue of pods crashing.
I have been able to set up my own GKE cluster. I installed Kyma in the cluster. Basically I followed every step described in the Kyma document. There have been interesting issues creating the setup, which I eventually fixed.
I uploaded a container image of wormhole-dispatcher to here. I also uploaded my config with type of LoadBalancer. Basically it's not a complicated setup at all.
Logs of each pod don't show any error. All pods are in running state. The external port of the load balancer is open and reachable. Sent a few HTTP packets, and pods are still alive. Everything looks good.
Of course I might not have tested this scenario much enough to reproduce that issue.

Hello @dongsupark ,
I have performed the test again.
I can confirm that on GKE the wormhole-dispatcher is up-and-running after deployment. My previous tests were done with the use of Azure ACS clusters where wormhole-dispatcher was dying as soon as it was deployed:
╰─ kc get pods                                                                                (nightlyclusterkymacx)
NAME                                   READY     STATUS    RESTARTS   AGE
wormhole-dispatcher-84d69d5c44-48j2b   0/1       Error     1          47s
╭─ 11:21:37  ~/dev/go/src/git…com/kym…tor/wor…ole/exa…les/wormhole-dispatcher  master ✚ ● ? 
╰─ kc get pods                                                                                (nightlyclusterkymacx)
NAME                                   READY     STATUS             RESTARTS   AGE
wormhole-dispatcher-84d69d5c44-48j2b   0/1       CrashLoopBackOff   4          2m```

The logs:

kc logs wormhole-dispatcher-84d69d5c44-48j2b                                                                                (nightlyclusterkymacx)
time="2018-12-11T10:24:51Z" level=fatal msg="error during TLS handshake: EOF"

The next issue I had: I am not able to proxy calls to the echo-service. I deployed the `wormhole-dispatcher` and I am starting the call from the `wormhole-connector`. I am not sure why but my calls are not being properly forwarded.

INFO[0007] proxying request                              component=connector handler="outgoing HTTP" host="echoserver:8080" request_id=a41bb313-06a3-440e-86f7-8dcf05bedb5a
ERRO[0083] failed to do request: Connect https://<IP_ADDRESS>:30019: dial tcp <IP_ADDRESS>:30019: connect: operation timed out  component=connector handler="outgoing HTTP" host="echoserver:8080" operation="create tunnel connection" request_id=a41bb313-06a3-440e-86f7-8dcf05bedb5a
INFO[0181] proxying request                              component=connector handler="outgoing HTTP" host="echoserver:8080" request_id=f8b60d68-12bb-427f-8776-c6556a26d257
ERRO[0256] failed to do request: Connect https://<IP_ADDRESS>:30019: dial tcp <IP_ADDRESS>:30019: connect: operation timed out  component=connector handler="outgoing HTTP" host="echoserver:8080" operation="create tunnel connection" request_id=f8b60d68-12bb-427f-8776-c6556a26d257
INFO[0294] proxying request                              component=connector handler="outgoing HTTP" host="echoserver:8080" request_id=76e0d465-3d0d-4802-bf05-77b2345ba2c5
ERRO[0370] failed to do request: Connect https://<IP_ADDRESS>:30019: dial tcp <IP_ADDRESS>:30019: connect: operation timed out  component=connector handler="outgoing HTTP" host="echoserver:8080" operation="create tunnel connection" request_id=76e0d465-3d0d-4802-bf05-77b2345ba2c5

I have tried a various combination of ports and without any success. If I made a direct call to the `wormhole-dispatcher` using `cUrl` the pod was terminated with NullPointerException. Based on that I assume that it is not an issue with GKE load balancer configuration.

It might be that I am making a mistake with the setup. I will try again from scratch this week. Any help with hints on how to establish the two-way communication with GKE is more than welcome.

Cheers
Lukasz

@lszymik Good to know that the dispatcher is running well on GKE.
If I understand you correctly, the first issue happened on Azure, and the second issue of NullPointerException happened on GKE. Right?
I'm afraid I cannot look into the Azure issue. I have never used Azure.
Though the second issue is interesting, because the null pointer dereference is definitely a bug.
I've just had a short look into the dispatcher code, but I cannot find an obvious bug.
Did you see any backtrace or precise logs on the dispatcher side?
If so, can you share the log as well?
BTW I'm currently in Seattle for Kubecon, so I'm not able to test it on GKE on my own.


feat: create separate package to make reactor modules easier

Context
TinyGo doesn't support Reactor modules yet. While you can use WASI functions in Command modules just fine, you'll have to do some gymnastics in order to make them work in Reactor module functions (i.e. exported functions other than main). This PR adds a new package that does the gymnastics for you, you only need to import it.
Notes:

Since standard Go compiler doesn't support exporting functions yet, this only works with TinyGo
It seems like TinyGo is working on adding official support for Reactor modules, so maybe this is redundant?
Tried to use init function for this, but it seems like init is being called too late in the life cycle. The only downside of explicitly exporting _initialize is the fact that wasmtime CLI refuses to run modules that expose both _start and _initialize. But I don't think this is a deal breaker

This is related to extism/go-sdk#55


[1.x] Add Redis client

Q
A

Branch?
1.x

Bug fix?
no

New feature?
yes

Deprecations?
no

Tickets
Fix #...

License
MIT

This PR adds wrapper classes around the Redis classes provided by the phpredis extension.
The wrapper classes are meant to be used directly by dependency injection containers and other framework components.
For instance, you can use the Set class in your controller as follows:
public function indexAction(SetInterface $set)
{
    $setKey = 'myKey';
    $set->add($setKey, 'foo');
    $set->add($setKey, 'bar');

    $values = $set->members($setKey);

    // $values contains ['foo', 'bar']
}

The implemented wrapper classes are:

Connection: That helps connect to a Redis server.
Set: That helps using Redis sets.

More wrapper classes will be added in the future.

I'm thinking about replacing the ConnectionInterface with a Redis instance in the Set class. This way we can used direct method calls instead of using the rawCommand method


Tweak default config of IPFS node

Default settings of go-ipfs are not optimized for Desktop use.
Let's collect things IPFS Desktop should set during repo init.
Initial ideas:

[x] Enable GC - https://github.com/ipfs-shipyard/ipfs-desktop/pull/826
[ ] We should limit on the number of connections, as it is known to choke cheap consumer routers and wifi cards. Some insight on sane  defaults is max of ~300 conns:  https://github.com/ipfs/go-ipfs/issues/1482#issuecomment-427346155
[x] Make sure dhtclient remains to be set :) (https://github.com/ipfs-shipyard/ipfs-desktop/issues/619)

cc #661

See also https://github.com/ipfs/go-ipfs/issues/4989

I think now that https://github.com/ipfs-shipyard/ipfs-desktop/pull/828 is merged we got MVP  :)


Retrieving saved metadata

Feature request
It would be nice to be able to retrieve the dict[str, str] metadata that you can optionally save in a safetensors file. To the best of my knowledge this isn't currently possible.
Motivation
My specific use case is this: I have a dataset that can optionally include pre-encoded latents saved as safetensors files. In the dataset metadata I have a field for a string / identifier specifying the vae model used to encode those latents, but it would be nice to be able to include that kind of information directly in the safetensors file to prevent the possibility of that metadata becoming out of sync.
Obviously it's not a huge deal, just something I thought would be nice to have, especially since the work to save the metadata is already done.

Perhaps I misunderstand, but I think you are saying its not possible with safetensors to read the metadata. If that is what you mean, it is possible. You need to use safetensors.safe_open(). Here is an example I developed this morning (while doing unrelated benchmarking work)
(v-safetensors) sdake@a40x2:~/safetensors$ python bench.py
model size=64.13 GiB
time to reference=40.35 ms
time to consolidate=73290.42 ms
metadata={'seq_length': '2048', 'model_version': '1.0', 'creation_date': '2024-09-02', 'num_layers': '70', 'tensor_parallelism': '2', 'precision': 'w8a8', 'description': 'Llama 70B model using w8a8 precision with tensor and pipeline parallelism', 'author': 'Steven Dake', 'pipeline_parallelism': '2', 'vocab_size': '50257', 'model_name': 'Llama 70B', 'They who created this example': 'Steven Dake'}
time to display_metadata=1.37 ms

And my code (Published with an ASL2 license):
import os
import time
import torch
import sys
from safetensors.torch import load_file, save_file, storage_size
from safetensors import safe_open

def to_gib(i):
    return i / 1024**3

def to_ms(i: int):
    return i / 1e6

state_dict = [{} for _ in range(15)]

###
#
# set metadata as an example

metadata = {
    "They who created this example": "Steven Dake",
    "model_name": "Llama 70B",
    "model_version": "1.0",
    "num_layers": "70",
    "precision": "w8a8",
    "tensor_parallelism": "2",
    "pipeline_parallelism": "2",
    "vocab_size": "50257",
    "seq_length": "2048",
    "creation_date": "2024-09-02",
    "author": "Steven Dake",
    "description": "Llama 70B model using w8a8 precision with tensor and pipeline parallelism",
}

###
#
# Reference an original safetensors file

def ref():
    ssize = 0

    for i in range(1, 15):
        file_path = f'/home/sdake/.cache/huggingface/hub/models--neuralmagic--Meta-Llama-3.1-70B-Instruct-quantized.w8a8/snapshots/f3ebf1a9813986f26ec6984f5700281a9f6d8a54/model-000{i:02d}-of-00015.safetensors'
        state_dict[i] = load_file(file_path)

        for k, v in state_dict[i].items():
#            print(f'Layer id {k}')
#            print(f'Tensor value {len(v)}')

            ssize += storage_size(v)
    print(f'model ssize={to_gib(ssize):.2f} GiB')

###
#
# Reference a restructured (consolidated) safetensors file

def ref_consolidated():
    ssize = 0

    file_path = f'/home/sdake/safetensors/meta70b-a8w8.safetensors'
    state_dict = load_file(file_path)

    for k, v in state_dict.items():
        ssize += storage_size(v)
    print(f'model ssize={to_gib(ssize):.2f} GiB')

###
#
# Print model metadata

def display_metadata():
    file_path = f'/home/sdake/safetensors/meta70b-a8w8.safetensors'
    f = safe_open(file_path, framework='pt')
    metadata = f.metadata()
    print(f'metadata={metadata}')

###
#
# Save a consolidated safetensors file with metadata

def consolidate():
    new_state_dict = {}
    for i in range(15):
        for k, v in state_dict[i].items():
            new_state_dict[k] = v

    save_file(new_state_dict, '/home/sdake/safetensors/meta70b-a8w8.safetensors', metadata=metadata)

if __name__ == "__main__":
    start = time.perf_counter_ns()
    ref()
    end = time.perf_counter_ns()
    print(f'time to reference={to_ms(end-start):.2f} ms')

    start = time.perf_counter_ns()
    consolidate()
    end = time.perf_counter_ns()
    print(f'time to consolidate={to_ms(end-start):.2f} ms')

    start = time.perf_counter_ns()
    display_metadata()
    end = time.perf_counter_ns()
    print(f'time to display_metadata={to_ms(end-start):.2f} ms')

Not sure how I missed that, but thank you!

You might be able to access this information in a way that doesn't require safe_open(). When I originally looked at it, I thought retrieval of the metadata with only safe_open() (as opposed to just accessing the information as a tensor) felt clunky, but I am new to safetensors, so I could be wrong.
FWIW, my take on safetensors is it is fabulous.


mbedtls cannot be build with yt debug -d

I have a hard-faulting device, so I need a debug build to make a crashdump. However...
/Users/janjon01/repos/mbed-knock-detector/firmware-6lowpan/yotta_modules/mbedtls/source/bignum.c:1134:1: error: r7 cannot be used in asm here

mbedtls build fails with -d builds.

ARM Internal Ref: IOTSSL-650

This is a duplicate of #426 which has been resolved. Please checkout of github the development branch and use the most recent version while this is pending release as a yotta module.

OK, great, thanks.


[CARBONDATA-1375] clean hive pom

clean hive pom

retest please

SDV Build Success with Spark 2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/193/

retest this please

@cenyuhai  can you explain this PR, which part you removed, which part you added, and why ?
Just i reviewed, only some pom script be changed the position, very less changed.

1.use hadoop.version instead of 2.6.0
2.use hive.version instead of 1.2.1
3.remove thrift
4.remove zookeeper
5.remove spark-hive and spark-sql

SDV Build Success with Spark 2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/240/

retest please

LGTM