[heap] fix external heap configuration

The Instance::HeapCAlloc() method can not be used in constructors when EXTERNAL_HEAP
is enabled but works well when internal heap is used. This is because the external heap methods
are set by public otHeapSetCAllocFree API after the OT instance is constructed.
This PR fixes this issue by having Instance::HeapCAlloc() using otPlatCAlloc when EXTERNAL_HEAP
is enabled. It also fixes build issues when MULTIPLE_INSTANCE and EXTERNAL_HEAP are used together.
Replaces #6121.

One thing that I noticed (which we may address later in future PR), is that in MULTI_INSTANCE case we seem to always end up using external heap (basically the OPENTHREAD_CONFIG_EXTERNAL_HEAP_ENABLE becomes "don't-care"). The question for me is why do we have this restriction and do we need it?

@abtink, because mbedTLS has no way of passing the instance.
https://github.com/openthread/openthread/blob/46f796d4f041c80c716b1ede81eba13c9b9e4f06/third_party/mbedtls/repo/include/mbedtls/platform.h#L130-L140

One thing that I noticed (which we may address later in future PR), is that in MULTI_INSTANCE case we seem to always end up using external heap (basically the OPENTHREAD_CONFIG_EXTERNAL_HEAP_ENABLE becomes "don't-care"). The question for me is why do we have this restriction and do we need it?

@abtink, because mbedTLS has no way of passing the instance.
https://github.com/openthread/openthread/blob/46f796d4f041c80c716b1ede81eba13c9b9e4f06/third_party/mbedtls/repo/include/mbedtls/platform.h#L130-L140

One thing that I noticed (which we may address later in future PR), is that in MULTI_INSTANCE case we seem to always end up using external heap (basically the OPENTHREAD_CONFIG_EXTERNAL_HEAP_ENABLE becomes "don't-care"). The question for me is why do we have this restriction and do we need it?

@abtink, because mbedTLS has no way of passing the instance.
https://github.com/openthread/openthread/blob/46f796d4f041c80c716b1ede81eba13c9b9e4f06/third_party/mbedtls/repo/include/mbedtls/platform.h#L130-L140

I think the calls to mbedtls_platform_set_calloc_free can be updated be like `mbedtls_platform_set_calloc_free(otPlatCAlloc, otPlatFree) instead of using OT public APIs.
Other than this, I would agree with @abtink that these two APIs can be removed since they are not used anywhere else.

One thing that I noticed (which we may address later in future PR), is that in MULTI_INSTANCE case we seem to always end up using external heap (basically the OPENTHREAD_CONFIG_EXTERNAL_HEAP_ENABLE becomes "don't-care"). The question for me is why do we have this restriction and do we need it?

@abtink, because mbedTLS has no way of passing the instance.
https://github.com/openthread/openthread/blob/46f796d4f041c80c716b1ede81eba13c9b9e4f06/third_party/mbedtls/repo/include/mbedtls/platform.h#L130-L140

I think the calls to mbedtls_platform_set_calloc_free can be updated be like `mbedtls_platform_set_calloc_free(otPlatCAlloc, otPlatFree) instead of using OT public APIs.
Other than this, I would agree with @abtink that these two APIs can be removed since they are not used anywhere else.

One thing that I noticed (which we may address later in future PR), is that in MULTI_INSTANCE case we seem to always end up using external heap (basically the OPENTHREAD_CONFIG_EXTERNAL_HEAP_ENABLE becomes "don't-care"). The question for me is why do we have this restriction and do we need it?

@abtink, because mbedTLS has no way of passing the instance.
https://github.com/openthread/openthread/blob/46f796d4f041c80c716b1ede81eba13c9b9e4f06/third_party/mbedtls/repo/include/mbedtls/platform.h#L130-L140

I think the calls to mbedtls_platform_set_calloc_free can be updated be like mbedtls_platform_set_calloc_free(otPlatCAlloc, otPlatFree) instead of using OT public APIs.
Other than this, I would agree with @abtink that these two APIs can be removed since they are not used anywhere else.

@simonlingoogle , but that doesn't address @abtink's question of why multiple instance requires external heap.

One thing that I noticed (which we may address later in future PR), is that in MULTI_INSTANCE case we seem to always end up using external heap (basically the OPENTHREAD_CONFIG_EXTERNAL_HEAP_ENABLE becomes "don't-care"). The question for me is why do we have this restriction and do we need it?

@abtink, because mbedTLS has no way of passing the instance.
https://github.com/openthread/openthread/blob/46f796d4f041c80c716b1ede81eba13c9b9e4f06/third_party/mbedtls/repo/include/mbedtls/platform.h#L130-L140

I think the calls to mbedtls_platform_set_calloc_free can be updated be like mbedtls_platform_set_calloc_free(otPlatCAlloc, otPlatFree) instead of using OT public APIs.
Other than this, I would agree with @abtink that these two APIs can be removed since they are not used anywhere else.

@simonlingoogle , but that doesn't address @abtink's question of why multiple instance requires external heap.

Those APIs are currently used by nordic boards to setup mbedtls and I think the function signature can not be changed.

@abtink, because mbedTLS has no way of passing the instance.

Thanks guys. I see! It makes sense.

I think the calls to mbedtls_platform_set_calloc_free can be updated be like mbedtls_platform_set_calloc_free(otPlatCAlloc, otPlatFree) instead of using OT public APIs.
Other than this, I would agree with @abtink that these two APIs can be removed since they are not used anywhere else.

Not sure if we can do this with current model. If we are using internal heap with OT core, then I think there may not even be an otPlatCAlloc implementation. Right?

I would say let's keep it as is for now. 😃
If I remember correctly from earlier changes,  the plan is at some point to move the Util::Heap into platform layer (as a platform library util) . Then from OT core perspective we always use platform APIs otPlatCAlloc and otPlatFree(). Platform layer can then choose to use the Util:Heap or another way to provide these APIs. I think if we do this, then we can have mbedtls use the otPlatCAlloc()/otPlatFree() APIs directly and remove the public otHeap APIs. Does this make sense?

Those APIs are currently used by nordic boards to setup mbedtls and I think the function signature can not be changed.

@abtink, because mbedTLS has no way of passing the instance.

Thanks guys. I see! It makes sense.

I think the calls to mbedtls_platform_set_calloc_free can be updated be like mbedtls_platform_set_calloc_free(otPlatCAlloc, otPlatFree) instead of using OT public APIs.
Other than this, I would agree with @abtink that these two APIs can be removed since they are not used anywhere else.

Not sure if we can do this with current model. If we are using internal heap with OT core, then I think there may not even be an otPlatCAlloc implementation. Right?

I would say let's keep it as is for now. 😃
If I remember correctly from earlier changes,  the plan is at some point to move the Util::Heap into platform layer (as a platform library util) . Then from OT core perspective we always use platform APIs otPlatCAlloc and otPlatFree(). Platform layer can then choose to use the Util:Heap or another way to provide these APIs. I think if we do this, then we can have mbedtls use the otPlatCAlloc()/otPlatFree() APIs directly and remove the public otHeap APIs. Does this make sense?

If I remember correctly from earlier changes/discussions, the plan is/was at some point to move the Util::Heap into platform layer (as a platform library util) . Then from OT core perspective we always use platform APIs otPlatCAlloc and otPlatFree(). Platform layer can then choose to use the Util:Heap or another way to provide these APIs. I think if we do this, then we can have mbedtls use the otPlatCAlloc()/otPlatFree() APIs directly and remove the public otHeap APIs. Does this make sense?

If we want to have multiple OT instances use the same internal heap, I think we can use a static Utils::Heap member in class Instance:
#if !OPENTHREAD_CONFIG_EXTERNAL_HEAP_ENBALE
    static Utils::Heap mHeap;
#endif

If I remember correctly from earlier changes/discussions, the plan is/was at some point to move the Util::Heap into platform layer (as a platform library util) . Then from OT core perspective we always use platform APIs otPlatCAlloc and otPlatFree(). Platform layer can then choose to use the Util:Heap or another way to provide these APIs. I think if we do this, then we can have mbedtls use the otPlatCAlloc()/otPlatFree() APIs directly and remove the public otHeap APIs. Does this make sense?

If we want to have multiple OT instances use the same internal heap, I think we can use a static Utils::Heap member in class Instance:
#if !OPENTHREAD_CONFIG_EXTERNAL_HEAP_ENBALE
    static Utils::Heap mHeap;
#endif

Not sure if we can do this with current model. If we are using internal heap with OT core, then I think there may not even be an otPlatCAlloc implementation. Right?

I think the platform can always define these two platform methods if it need, no matter it's using internal heap or external heap.

Not sure if we can do this with current model. If we are using internal heap with OT core, then I think there may not even be an otPlatCAlloc implementation. Right?

I think the platform can always define these two platform methods if it need, no matter it's using internal heap or external heap.

That is a good idea to have the internal heap as independent library. If we want to have multiple OT instances use the same internal heap, I think we can use a static Utils::Heap member in class Instance:
#if !OPENTHREAD_CONFIG_EXTERNAL_HEAP_ENBALE
    static Utils::Heap mHeap;
#endif

Agree with @wgtdkp that it's a good idea to make the Heap static so that it's usable without having reference to any OT instance.
Actually I think it's a preferable solution because user can easily set the heap size to the available RAM size on the device, no matter how many OT instance it runs. The heap memory space is also automatically shared between OT instances, making it more memory efficient.

That is a good idea to have the internal heap as independent library. If we want to have multiple OT instances use the same internal heap, I think we can use a static Utils::Heap member in class Instance:
#if !OPENTHREAD_CONFIG_EXTERNAL_HEAP_ENBALE
    static Utils::Heap mHeap;
#endif

Agree with @wgtdkp that it's a good idea to make the Heap static so that it's usable without having reference to any OT instance.
Actually I think it's a preferable solution because user can easily set the heap size to the available RAM size on the device, no matter how many OT instance it runs. The heap memory space is also automatically shared between OT instances, making it more memory efficient.

@jwhui @abtink @simonlingoogle We changed the mHeap of Instance to a static member in the latest push, please review.

@LuDuda , given that #4041 and #4143 contributed to the existing external heap implementation, can you help review this PR?

@MarekPorwisz is going to check PR. Thanks!


Update callstack view when switching between thread tabs

Make the callstack view show consistent selections when the user selects in multiple thread tabs and switches tabs.
Current callstack widget is not refreshed when the user switch thread tabs. Therefore, it is not clear which selection is shown if the user selects in multiple thread tabs. We fix this inconsistency by keeping the selection for each thread tab and update the callstack view accordingly when we switch thread tabs.
Fixes the bug b/170468638.

I like the change with std::optional<>, but please take a look at the two checks I commented.
Edit: BTW, this may conflict with #1526, it's probably better to wait for Antons PR to be finished before merging this.

@vickyliu-go4it It's fine to merge this before #1526, so just go ahead.


⚠ ClamAV has degraded performance

In 12a601c, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 67 ms

Resolved: ClamAV performance has improved in bbd1e9b.


Correcting the regex for the Dataflow job name

JobName regex is incorrect: the character limit is 1024, not 40.
R: @kennknowles
R: @aaltay
R: @robertwb

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[ ] Mention the appropriate issue in your description (for example: addresses #123), if applicable. This will automatically add a link to the pull request in the issue. If you would like the issue to automatically close on merging the pull request, comment fixes #<ISSUE NUMBER> instead.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.
To check the build health, please visit https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md
GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Can one of the admins verify this patch?

@rszper - Could you point to the docs for this?
Dataflow docs are still mentioning this 40 character regex (example: https://googleapis.dev/ruby/google-api-client/v0.23.7/Google/Apis/DataflowV1b3/Job.html#name-instance_method)

@aaltay I updated the Dataflow APIs for the following pages, but is there another source of Dataflow API protos that I should also update?

https://cloud.google.com/dataflow/docs/reference/rest/v1b3/projects.jobs
https://cloud.google.com/dataflow/docs/reference/rest/v1b3/projects.locations.jobs
https://cloud.google.com/dataflow/docs/reference/rest/v1b3/LaunchTemplateParameters

Run Java PreCommit

LGTM. Thank you. I will merge after tests pass.

Run Java PreCommit

Another flake. Filed https://github.com/apache/beam/issues/21999 and re-running tests.
/cc @kennknowles @byronellis for visibility.

Run Java PreCommit

Another flake. Filed https://github.com/apache/beam/issues/22008 and re-running.

Run Java PreCommit

3 more flakes:
https://github.com/apache/beam/issues/22009
https://github.com/apache/beam/issues/22010
https://github.com/apache/beam/issues/22011
re-running tests.

Run Java PreCommit

Tests passed. Merging this.


Simulate tracking of more realistic & complex plumes

Description
Simulate tracking of more realistic & complex plumes
Types of changes

[ ] Bugfix
[x] New feature
[ ] Refactor / Code style update (no logical changes)
[ ] Build / CI changes
[ ] Documentation Update
[ ] Other (explain)

Does this address any currently open issues?
[list open issues here]

I made a bigger arena and put a fly in it. The next step is to implement a biologically plausible controller for plume tracking.
https://github.com/NeLy-EPFL/flygym/assets/23410765/7fe29547-5704-4ee1-b029-19bfd0aaff5d
@stimpfli BTW, this shows a clear turning bias still in the new steps (DN drive [1, 1] throughout for 5 seconds).

Refactored in #151


Add touch support for drag and drop

We can use this https://www.npmjs.com/package/react-dnd-multi-backend

Done


npm version bump

Looks like the latest version available on npm is still 1.1.2, while 1.1.3 and 1.1.4 have been released.

1.1.5 is on npm now :+1:


Correct path for uninstall task in makefile

The uninstall task now points to the same location that the binary was moved to in the install task.

Oops, thank you very much!


Vite keeps refreshing the page with logs stuck in connecting

Describe the bug
Vite keeps refreshing the page and logs are stuck with
connecting...
server connection lost. polling for restart...

Reproduction
Here is the codesandbox of the official react template package. This one is stuck while I was trying (image above).
System Info
System:
    OS: Windows 10 10.0.19043
    CPU: (8) x64 Intel(R) Core(TM) i5-8300H CPU @ 2.30GHz
    Memory: 7.89 GB / 15.85 GB
  Binaries:
    Node: 16.1.0 - C:\Program Files\nodejs\node.EXE
    Yarn: 1.22.10 - C:\Users\Prince~1\AppData\Roaming\npm\yarn.CMD
    npm: 7.11.2 - C:\Program Files\nodejs\npm.CMD
  Browsers:
    Chrome: 92.0.4515.107
    Edge: Spartan (44.19041.1023.0), Chromium (92.0.902.62)
    Internet Explorer: 11.0.19041.1

Used Package Manager
npm
Logs
[vite] connecting...
[vite] server connection lost. polling for restart...

Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Make sure this is a Vite issue and not a framework-specific issue. For example, if it's a Vue SFC related bug, it should likely be reported to https://github.com/vuejs/vue-next instead.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.

我遇到过类似的问题，当使用了代理后就会有vite连接丢失，用hmr去指定一下地址，你可以试试
server: {       port: 3000,       https: true,       hmr: {         host: 'yourhost.local',         port: 3001,         protocol: 'wss'       }     } }

Same problem with sveltekit. Note that the production build works.

The replication you provided, everything works fine with me, try the codesandbox you provided again, if it works, please provide a link to a repository that can replicate this issue.

Sorry, I had this problem when I tried again myself, I will look into it.

I'm having this issue as well, but I'm not sure if I'm just configuring something incorrectly.
I'm using a reverse proxy (ORY Oathkeeper) which does TLS termination and trying to run SvelteKit's dev server in a Docker container. The site loads in the browser, but I'm seeing the same [vite] server connection lost. polling for restart... client.ts:225:10 messages.
My svelte.config.js:
  kit: {
    target: '#svelte',
    vite: {
      server: {
	hmr: {
	  host: 'mydomain.org',
	  port: 443,
	  protocol: 'wss'
	}
      }
    }
  }

I feel like I've gone through every permutation of this config and Oathkeeper's to try to get this working, and have had no luck.
It's not clear to me what the correct configuration of everything should be. What I want is for SvelteKit / Vite to be listening behind Oathkeeper, not aware of TLS at all.
Should server.hmr.protocol be ws or wss? Even with ws set, the browser will use wss.
Is server.hmr.host only something you set when having Vite take care of HTTPS? If so, how can I tell Vite to make a client-side request to mydomain.org but that the server should simply listen on <IP_ADDRESS>?
I've also found a server.hmr.clientPort config option which I've had no success with in getting this working.

@andrewbanchich Did you ever find a solution?

@jsjoeio Yes, this config got it working for us.

same issue, I'm trying to run vite on remote server on different url, vite itself runs on localhost:3000 over https

Ok, I've managed to resolve it for myself. I've had to define host where vite is running, because by default it's taken from window.location.hostname, so that's why it never connects.
hmr: {
    host: 'localhost'
}

@jsjoeio Yes, this config got it working for us.

thanks! clientPort did the trick for me.

I think the core issue is the same as https://github.com/vitejs/vite/issues/4259. Let's keep the conversation there.


Can not apply Textures to exported obj models

I seem not correct UV maps for models. All of models do not have uv maps, so can not apply textures to models.
I am using version 0.7.0.
Could you check this issue again, thanks in advanced.

use Export-All 3D objects or Selected 3D objects to export model
I know there is an error in the exported obj file, But I don't have enough time to fix it for the time being


Need Support Spark 2.3.2

As we sync offline, in baidu we released the spark-2.3.2 version for user use, then our BigSQL serivce will upgrade to support this version, so we need OAP 0.5 version to support spark-2.3.2.

cc @jerrychenhf @xuanyuanking

There is a discussion about multi-version support in OAP, so i guess when the technical solution is decided when can expect a spark 2.4 support ?

Next major version may start support Spark-2.4.x.

Thanks @LuciferYang is next major release is 0.5 or 0.6 ?

@jcdauchy 0.6 ~


Update js client documentation

🚀 Deployed on https://6610623c0891b74d9847d263--cozy-fox-0defec.netlify.app


UI broken

Installed Steam Friends Patcher with the "Steam Beta" option and installed the "Vertical Nav Bar" and "Classic layout" options for this thing. Expected to see fixed UI, but this shit appeared instead:

I have found some issues with copying libraryroot.custom.css on a clean install.
Try this build of old_glory (replace the .exe)
SteamUI-OldGlory-5.0.1-Patch.zip
If all works well, I'll put out a release later in the day

I have found some issues with copying libraryroot.custom.css on a clean install.
Try this build of old_glory (replace the .exe)
SteamUI-OldGlory-5.0.1-Patch.zip
If all works well, I'll put out a release later in the day

Fixed with 5.0.1

Fixed with 5.0.1


net::ERR_TIMED_OUT even though the network and everything is normal

Copilot Chat Extension Version:
VS Code Version:
OS Version:
Logs:

Steps to Reproduce:

LOG
2024-09-10 08:04:48.646 [info] Using the Electron fetcher.
2024-09-10 08:04:48.646 [info] Initializing Git extension service.
2024-09-10 08:04:48.646 [info] Successfully activated the vscode.git extension.
2024-09-10 08:04:48.646 [info] Enablement state of the vscode.git extension: true.
2024-09-10 08:04:48.646 [info] Successfully registered Git commit message provider.
2024-09-10 08:04:48.646 [warning] Unable to fetch remote agents because user is not signed in.
2024-09-10 08:04:49.329 [info] Logged in as nhokmoon
2024-09-10 08:04:50.568 [info] Got Copilot token for nhokmoon
2024-09-10 08:04:50.601 [info] copilot token chat_enabled: true, sku: monthly_subscriber
2024-09-10 08:04:50.604 [info] Successfully activated the GitHub.vscode-pull-request-github extension.
2024-09-10 08:04:50.604 [info] [githubTitleAndDescriptionProvider] Initializing GitHub PR title and description provider provider.
2024-09-10 08:04:50.604 [info] Successfully registered GitHub PR title and description provider.
2024-09-10 08:04:50.675 [info] Not registering default platform agent because user is not on an enterprise plan.
2024-09-10 08:05:21.262 [error] Error: net::ERR_TIMED_OUT
at SimpleURLLoaderWrapper. (node:electron/js2c/utility_init:2:10266)
at SimpleURLLoaderWrapper.emit (node:events:519:28)
at SimpleURLLoaderWrapper.emit (node:domain:488:12): Failed to fetch models (d3f2a173-647f-48f8-82b9-2a4d1ca31b67)
2024-09-10 08:05:21.262 [info] activationBlocker from 'languageModelAccess' took for 32861ms
2024-09-10 08:05:21.503 [error] Error: net::ERR_TIMED_OUT
at SimpleURLLoaderWrapper. (node:electron/js2c/utility_init:2:10266)
at SimpleURLLoaderWrapper.emit (node:events:519:28)
at SimpleURLLoaderWrapper.emit (node:domain:488:12): Failed to load remote slash commands

LOGS
2024-09-10 08:05:21.262 [error] Error: net::ERR_TIMED_OUT
at SimpleURLLoaderWrapper. (node:electron/js2c/utility_init:2:10266)
at SimpleURLLoaderWrapper.emit (node:events:519:28)
at SimpleURLLoaderWrapper.emit (node:domain:488:12): Failed to fetch models (d3f2a173-647f-48f8-82b9-2a4d1ca31b67)
2024-09-10 08:05:21.262 [info] activationBlocker from 'languageModelAccess' took for 32861ms
2024-09-10 08:05:21.503 [error] Error: net::ERR_TIMED_OUT
at SimpleURLLoaderWrapper. (node:electron/js2c/utility_init:2:10266)
at SimpleURLLoaderWrapper.emit (node:events:519:28)
at SimpleURLLoaderWrapper.emit (node:domain:488:12): Failed to load remote slash commands

I believe I encountered similar, but I received no error. I just got no response at all. Not in inline chat, not in sidebar chat.

Please check the output of F1 > Developer: GitHub Copilot Chat Diagnostics in VS Code and append it here.


feat: implement heuristic URL validation utility

Add a utility function to heuristically determine if a given string is a URL, enhancing validation and quality control capabilities. This function aims to differentiate URLs from unstructured text descriptions without guaranteeing absolute certainty.

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 96.26%. Comparing base (8f70c10) to head (ec945b9).
Report is 1 commits behind head on development.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@               Coverage Diff               @@
##           development     #200      +/-   ##
===============================================
+ Coverage        96.21%   96.26%   +0.04%
===============================================
  Files                5        5
  Lines              476      482       +6
===============================================
+ Hits               458      464       +6
  Misses              18       18

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


UploadRequest to provide original xhr request as part of callback par…

…ameters

Why is this needed?

Because I am sending some information in response header and I need that information after files are done uploading.

I have added test cases for headers please review

Thanks! unfortunately it looks like i dont have permission on this repo. hopefully they grant it back to me, then i can merge

This is now up! Thanks https://github.com/ConstructionJobs/upload/releases/tag/3.2.0


Dropdown doesn't work in IE9

Dropdown doesn't work in IE9

For what its worth, when the transition is complete it calls "module.event.resetStyle.call(this);" This removes the attribute style and is what causes the issue. Not removing the style allows IE 9 to work.

For those who are interested, the IE9 fix for a dropdown is pretty simple.
Include a IE9-only css file, and add the folowing css rules:
<head>
  <link href="/semantic-ui.css" rel="stylesheet" />
  <!--[if IE 9]>
    <link href="/ie9-fixes.css" rel="stylesheet" />
  <![endif]-->
</head>

/* ie9-fixes.css */
.dropdown.item.ui.visible > .menu,
.dropdown.selection.ui.visible > .menu {
   display: block !important;
   visibility: visible !important;
}


Fix (forever) a TSAN bug thats plagued us

Fixes #2557

ASAN failure is #2558; this is green enough.


Cache release infos

This will cache the release infos per request.

Very nice :rocket:
When and how is this cache invalidated?

PHP has no runtime which stays alive as in java. Everything will be started on request and deleted after request.

PHP has no runtime which stays alive as in java. Everything will be started on request and deleted after request.

So it is mainly only cached per request


Fix for #38 - Pin redis and nginx versions

See #38
Split version into 2 env variables to ensure backwards compatability
Also added apk update to ensure we were using current package lists
Verified by building images on my Windows box successfully.  New images should be published once merged.

@msamblanet – minor issue with this. The nginx Dockerfile is trying to install redis instead of nginx. Can you push a fix? I'll try it out again and merge right away.

Stupid me - cut and paste error somewhere on the way - will take care of it shortly

And fudge - pasted in a change I did not mean to...grrrr...

OK - think that should do it...

Tested and it now works. Thanks!


Codecrunch issue (illegal start of expression)

Hi, I'm facing a problem with submission of files on Codecrunch. Anyone managed to resolve this issue or have a workaround?

hi @yizziepeasy, is the package line the first line of your file?

hi @yizziepeasy, is the package line the first line of your file?

Hi @gordengorden, yes it is. Am I supposed to put it somewhere else?

hi @yizziepeasy, is the package line the first line of your file?

Hi @gordengorden, yes it is. Am I supposed to put it somewhere else?

Nope that is correct. Hm strange, I just submitted my files and didn't encounter this issue.

hi @yizziepeasy, is the package line the first line of your file?

Hi @gordengorden, yes it is. Am I supposed to put it somewhere else?

Nope that is correct. Hm strange, I just submitted my files and didn't encounter this issue.

How many test cases are shown on your codecrunch? Yesterday they ran 25 test cases for my code but today there are 43.

I think there's many issues about this right now, it could be a system error!

hi @yizziepeasy, is the package line the first line of your file?

Hi @gordengorden, yes it is. Am I supposed to put it somewhere else?

Nope that is correct. Hm strange, I just submitted my files and didn't encounter this issue.

How many test cases are shown on your codecrunch? Yesterday they ran 25 test cases for my code but today there are 43.

Based on today's lecture, Prof Henry has included more test cases, for correctness and checkstyle.

There is indeed something wrong with Codecrunch today. Prof Henry has already emailed their side and they should be rectifying.


[Q] How to Plot loss and accuracy

Whenever we try to Plot our usual loss/accuracy plot we have the issue, that the data is plotted separate.
What we don't want:

We don't want single plots with one line each and we don't want to combine them afterwards on the webplattform. We only want one plot with both lines.
We cannot use plot line series, because the table is huge and we don't need the table at all.
We cannot use matplotlib because we want to Plot for thousands of steps and we don't want to create thousands of plots which will all be logged without possibility to delete them.

There are a few "solutions" that doesn't work and this is a feature that every other render engine I know and use supports.

Hey! Thanks for reaching out! I totally see what you mean. You could go about it in a couple of ways:

wait for your training loop is done, and then change in the UI (which I know you said it is not your ideal workflow)
or, wait for the training loop to be done and change how your workspace looks like programmatically - which I think is more what you are looking for. The documentation for this can be found here.

Let me know if this was of help, thanks!

Hi Internal, since we have not heard back from you we are going to close this request. If you would like to re-open the conversation, please let us know!


[#61] Add GitHub add-on

Resolves https://github.com/nimblehq/infrastructure-templates/issues/61
Resolves https://github.com/nimblehq/infrastructure-templates/issues/60

What happened 👀

Create GitHub addon:

Add GitHub templates
Add lint workflow
Create .gitignore from this template

Insight 📝

As dotfiles are not shown by default from glob.sync, I need to add the option dot: true
Add toBeEmpty matcher to test if the folder is empty

Proof Of Work 📹
Tests should be passed

nimble-test
├── .github
│   ├── ISSUE_TEMPLATE
│   ├── PULL_REQUEST_TEMPLATE
│   ├── PULL_REQUEST_TEMPLATE.md
│   └── workflows
├── .gitignore
├── main.tf
├── modules
│   ├── alb
│   ├── bastion
│   ├── ecr
│   ├── ecs
│   ├── log
│   ├── rds
│   ├── s3
│   ├── security_group
│   ├── ssm
│   └── vpc
├── outputs.tf
├── providers.tf
└── variables.tf

@malparty @andyduong1920 I requested you to review this PR again as I changed a bit:

Add None option for version control in case we don't use it
Move skeleton/github into skeleton/addons/versionControl/github

Please help me take a look at that 🙏


NYUV2 sample does not display in browser

http://localhost:8010/scans/segment-annotator-single
When running the above annotator, the nyuv2 sample (nyuv2.bedroom_0114)
) No data is displayed.
What I did was sh build.sh, sh getexamples.sh, sh run.sh. The server creates the database "test" with mysql (ver5.7.36), and the table is created by executing stk / scripts / db / create_annotation_tables.sql.
scansToAnnotate: in defalut.config.yml has been changed to'../../../../static/data/nyuv2/nyuv2.example.csv'.
config.annDb of stk / server / config / index.js has been changed to the specified name created by mysql.
After executing sh run.sh, when segmentAnnotatorServer is opened in chrome, bedroom_0114 is not displayed as shown in the image below.
Please let me know if there are any missing parts in the settings.

Hi, I have the same problem. Have you resolved it? Thanks. @tdty1803

Hello, I haven't solved this problem yet. The environment uses Ubuntu 18.04, Python 3. I tried it on another PC, but it had the same symptoms. Thanks. @beibeirory


"Uncaught TypeError: Cannot read property 'channel' of null - undefined:undefined"

I am always getting this error in the logs even when I run the example app unmodified.
(steroids create someapp -> cd someapp ->steroids connect)
AppGyver Steroids² 4.0.11
Chrome version: 40.0.2214.111

Are you running on iOS or Android? Also, we're coordinating all issues at https://github.com/AppGyver/steroids/issues/, so please open a new ticket there – closing this one.


#defines WRONG !!! in examples - STOPS LIB WORKING with the X9C10X IC

The examples CLEARLY STATE in comments that the mapping is :-
IC 1 - !INC - pin 5 (it's actually mapped to 6)
IC 2 - U/!D - pin 6 (it's actually mapped to 7)
IC 7 - !CS   - pin 7 (it's actually mapped to 5)
it would also be a good idea to EXPLICITELY MENTION that the Arduino pins are DIGITAL (D5/D6/D7)
However the CODE doesn't match, and I just wasted a couple of hours chasing this annoying bug - pity, it's a nice lib otherwise.
The actual code mapping is :-
#define CSPIN  5
#define INCPIN 6
#define UDPIN  7
This is clearly a typo/snafu/stuffup - BUT - without hours debugging - makes this library as useful as a brick (and even less useful if you are building a house).

Fixed comment


The error "The filename, directory name, or volume label syntax is incorrect" occurs when running helmwave build on Win

Describe the bug
When trying to build the release on Windows computers, we get an error when using oci repositories. Only reproduces on windows. Running the same script in wsl gives the expected result
Example config
version: "0.32.3"

registries:
  - host: us-docker.pkg.dev
    username: oauth2accesstoken
    password: {{ requiredEnv "GOOGLE_ACCESS_TOKEN"}}

releases:
  - name: sql-auth-proxy
    chart:
      name: oci://us-docker.pkg.dev/p-r3o-ci-cd/helm/sql-auth-proxy
      version: 0.1.0
    namespace: db
    create_namespace: true
    wait: true
    max_history: 5

General info (please complete the following information):

OS: Windows
Helmwave Version: 0.32.3, 0.33.0

To Reproduce
Just try to build the template above (probably the same behavior with other registry artifacts like github)
Expected behavior
Template is rendered, plan is created
Screenshots / Stdout

#809


Warrior stances missing

Warrior stances are not created by default and are not available as scripted events.
Reported by: @rygarstrong

@rygarstrong Try the release <IP_ADDRESS>-beta-01 for warrior stances. I've only tested it in Wrath so far.

Updates and preliminary testing on Retail completed. Released as a <IP_ADDRESS>-beta-02.
I do not have a classic era warrior to a level with multiple stances for testing.


Add Zenodo auto-deposit for DOI registration

Overview
Add automated Zenodo deposition to mint DOIs for pywwt releases.
Minting DOIs implies maintaining a formal author list. For that, I've included everyone who's ever committed to the repository, alphabetically by family name. But I won't list people without their permission. If you'd like to be included as an author, please comment on this PR to that effect, and review what I've put for your name, affiliation, and ORCID:

[x] @Carifio24
[x] @vga101
[x] @imbasimba
[x] @ojustino
[x] @astrofrog
[x] @jsub1
[x] @pkgw (me)
[x] @jzuhone

It might take me a couple of tries to get the CI/CD automation to fully work, but hopefully it will be straightforward since I've gotten it going for the Cranko tool itself.

I'd like to be added as an author! My ORCID is 0000-0002-7759-2601.

Hi @pkgw, thanks for including me. Please add ORCID 0000-0002-4679-5692.

@pkgw Happy to be included! The information you've added about me is correct.

Also, please change my name to "John"

Thanks, this looks good to me! 👍

I got signoff from @jsub1 over email.


s3

Important: Bug reports submitted here should relate specifically to the open source sample amazon-transcribe-live-meeting-assistant project. Do not submit bugs related directly to any AWS service.
If your issue relates to Amazon Transcribe, Amazon Bedrock or Amazon Bedrock Knowledge Base - setup, user provisioning, document ingestion, accuracy, or other aspects of the service, then first check the service documentation, and then reproduce the problem using the relevant AWS service console before engaging AWS support directly. Thank you.
Describe the bug
"TestAllStepLambda" continues to run even when not in use. The "TestAll-2024-05-07-14-02-813.csv" file is continuously put into the S3 bucket "lma-qnabot-cudpdtligjfk-testallbucket-*", and S3 versioning keeps growing.
To Reproduce
Deploy Amazon Transcribe Live Meeting Assist - LMA (v0.1.1).  I have not tried other version.
Screenshots

Thanks for letting us know, @ogawsh !
You say, to reproduce it:

Deploy Amazon Transcribe Live Meeting Assist - LMA (v0.1.1). I have not tried other version.

I'm guessing you also logged into QnABot Content designer, and started TEST ALL run?  I have checked several LMA deployments in my account, and I do not see any files in the testallbucket - but I have not run TEST ALL from designer, so I think I have not precipitated the issue.

I tried running TEST ALL to see if I could reproduce the issue, but I could not.. TEST ALL completed successfully, and created just 4 versions before stopping..

However, there seems to be a known issue with the version of QnABot we used in LMA (v5.4.4) - QnAbot Issue #718
And it looks like it's fixed in QnABot v5.5.2
This issue, as documented in the QnABot issue, seems to affect only instances where there are no Q&As in designer:

Based on our investigation from the logs and data you have provided, we found that this occurs when there are no Q&As in the designer and the Testall functionality is used. Please ensure that Q&As are added to the designer before using Testall.

1. Can you confirm if this matches your situation? Did you remove the Q&As from designer prior to executing TEST ALL?
2. Did you get it to stop? If not, please see advice from QnAbot team here.
We will add a task to update the version of QnAbot bundled in LMA in the next release.  Thanks for letting us know.

Can you confirm if this matches your situation? Did you remove the Q&As from designer prior to executing TEST ALL?

Sorry, I don't remember if I ran TEST ALL or not.
As shown in the capture below, my QNA bot admin still has the qna remaining without being deleted.

Did you get it to stop? If not, please see advice from QnAbot team https://github.com/aws-solutions/qnabot-on-aws/issues/718#issuecomment-2091464088.

Yes, I have throttled lambda function "LMA-QNABOT-CUDPDTLIGJFK-TestAllS-TestAllStepLambda-bXzFwDQNwRQP." and this has been stopped.

After applying Pull request #26, I confirmed that the issue could not be reproduced following the same steps.
Thank you @rstrahan !

Fixed in v0.1.4


Swift 4 Support

After all the parent SwiftCharts is now supporting 4

Any updates? (can you update the pod version also to avoid pointing to a commit via the podfile)

well??? still waiting ... that weekend is three weekends ago

Sorry for that, it has been in my mind but haven't found the time. I'll try to do it soon (I'm guessing this weekend but will not put my word on it this time).
Now, since I see some sense of urgency here, remember that you also always can do a pull request :)

Well, this is funny, the library was already supporting 4.0... I just forgot to update the readme. Anyway, released a new version, with the latest additions.


Use FFI for JQuery Validation plugin

Hello!
I try to use Fay with JQuery Validation plugin in my Yesod-project. So I write:
validateForm :: JQuery -> Fay ()
validateForm = do
    ffi "%1.validate({rules:{newUserEmail:{required:true,email:true}},messages:{newUserEmail:{required: \"Insert your email, please\",email: \"Invalid email\"}}})"

...

main :: Fay ()
main = ready $ do
    select "#registerNewUserForm" >>= validateForm
    return ()

And it works fine. But I cannot add parameter for FFI-string. For example, I try this:
validateForm :: Text -> JQuery -> Fay ()
validateForm = do
    ffi "%2.validate({rules:{%1:{required:true,email:true}},messages:{%1:{required: \"Insert your email, please\",email: \"Invalid email\"}}})"

...

main :: Fay ()
main = ready $ do
    select "#registerNewUserForm" >>= validateForm "newUserEmail"
    return ()

In this case I got error:
fay: templates/home/register/form/Form.hs: (11,1)-(11,13):
invalid JavaScript code in FFI format string:
"validateForm" (line 1, column 139):
unexpected "("
expecting letter or digit or ":"
in ...

How can I fix it?

We parse FFI expressions using language-ecmascript meaning they need to be a valid javascript expression before the interpolation to replace the % arguments occur.
Keys in JS objects need to be valid identifiers or numbers, to add a dynamic property to them you must assign it with o[key] = value. Even so, you are trying to set the key to a JQuery object which would result in the key becoming something like "[Object]". I don't recall the API of jquery-validate, but perhaps you are intending it to be a selector string?
A side note: I had to think for a moment to figure out why the first example works! FFI declarations need the type signature immediately surrounding it, f :: X; f = ffi "..." (without do) in a top-level declaration or ffi "..." :: x if it's an internal expression. It seems like the compiler's desugaring phase is accidentally ordered so the redundant do in your first example is removed before ffi desugaring occurs!

Do you mean I must write like this?
validateForm :: Text -> JQuery -> Fay ()
validateForm = do
    ffi "(function() { var o = {}; o['field'] = %1; %2.validate({rules:{o['field']:{required:true,email:true}},messages:{o['field']:{required: \"Insert your email, please\",email: \"Invalid email\"}}}) })"

That is also not valid javascript, keys in object literals cannot be dynamic. You probably want something like this:
"var myRules = {}; \
myRules[%1] = {required:true,email:true}; \
[...]
%2.validate({rules: myRules, [...]})

Thank you very much! It works now.

Glad to hear it, you're welcome!


src/platform: no method named: '.as_raw'

To get cargo-script to compile with nightly, I just changed platform.rs:47 from md.as_raw.mtime() to md.mtime().
But I don't know enough about those modules' previous syntax or this project to say if that'll bork expected behavior, so just submitting this as an issue.

This ended up in your PR, so I just merged it.  Seems fine.


How to deploy Configuration Files with Rocketeer

If you deploy f.e. a Laravel project, it has an .env file, that is supposed to not be included in your repository.
Because this configuration file is missing from your server, the app is not working correctly on the server.
I researched a bit and somebody recommended to create a dotfiles directory and store the .env config file in there. Then you need to copy the file in your hooks.php with this code:
"after" => [
	"deploy" = [
		"cp ~/dotfiles/.env" /path/to/webroot/.env
	]
]

That way you would have an .env file. I wonder if this is the recommended way for Rocketeer 2.2.4 as Rocketeer 3 has its own system as you commented here
Other people have recommended, to switch entirely to another deployment tool here: http://stackoverflow.com/questions/34153879/how-to-deploy-application-configuration-files-using-rocketeer
I wonder if you could shade some light into this issue, either by coming up with a recommended way for Rocketeer 2 or by telling us, when Rocketeer 3 is going to be released, since I would like to use Rocketeer and not switch to Deployer like others recommend.
Kind regards,
George

The recommended way is to create the .env file into the shared/ folder and add it to the list of shared files so it's symlinked into every release. At least that's how I do, seems to work fine as far as I know. That's true for both Rocketeer 2 and 3 – although Rocketeer 3 would technically allow you to upload a local .env file to shared/ during setup, automating the process a bit more, but the idea would stay the same

That being said if you could have an idea way for it to work in Rocketeer 3 what would it be?

The recommended way is to create the .env file into the shared/ folder and add it to the list of shared files so it's symlinked into every release.

Indeed it works fine like that. And the only improvement I see is the one you already thought about for rocketeer 3, the automatic upload of the file. I'll close the issue now.
By the way, thanks for creating rocketeer. Excellent job.


remove unneeded quotes

Why:
Closes [issue link]

What's being changed:

Check off the following:

[x] I have reviewed my changes in staging (look for "Automatically generated comment" and click Modified to view your latest changes).
[x] For content changes, I have completed the self-review checklist.

Writer impact (This section is for GitHub staff members only):

[ ] This pull request impacts the contribution experience

[ ] I have added the 'writer impact' label
[ ] I have added a description and/or a video demo of the changes below (e.g. a "before and after video")

@remyleone
Thanks for opening a PR :+1: Please fill out the pull request template in the top comment in this pull request, so I can get this up for review!

done

@remyleone
Thanks so much for filling out the PR template! I'll get this triaged for review :zap:

@remyleone Thanks again for your submission!
In the future, please fill out the entire PR template including the "Why" and "What's being changed" sections. This gives us valuable insight into the motivation behind the change which helps us get everyone's submissions reviewed and handled more quickly.
While it is not currently listed in the Style Guide, there is a reason for the double quotes around each of the links in this page (and many, many other pages besides). Double quotes signify that it is an internal link, as opposed to a link to a resource on another site. Since each of the links you modified here are internal links, they should remain double quoted. Because of this, I'm closing the PR.
Thanks again for your passion and interest in improving the GitHub Docs!

It was absolutely not obvious to me that having double quotes meant internal links. I haven't seen that anywhere else.


df.polyfit() does not work as expected

What happened?
I am working with a spatiotemporal dataset and would like to get the slope of the temporal data over the given period. This should simply be
fit = df.polyfit(dim='var',deg=1)
fit['polyfit_coefficients'][0]

However I get values that are basically zero (~e-15)
Here is some code to visualize what I'm talking about
ds = xr.tutorial.load_dataset('air_temperature')

# Compute polynomial fit
fit = ds.air.sel(time=slice('2013-1-1','2013-1-31')).polyfit(dim='time', deg=1)

fit['polyfit_coefficients'][0].plot()

#plot the time series of a pixel from the dataset
sub_df = ds.air.sel(time=slice('2013-1-1','2013-1-31')).sel(lon=245,lat=58,method='nearest')
sub_df.plot(label='TS')

#get coefficients at that pixel
slope,intercept = fit['polyfit_coefficients'].sel(lon=245,lat=58,method='nearest').values

#plot that line
y = [i*slope+intercept for i in range(len(sub_df.time))]
plt.plot(sub_df.time,y,label="Line")
plt.legend()
plt.plot()

Here's how it should look
#plot the time series of a pixel from the dataset
sub_df = ds.air.sel(time=slice('2013-1-1','2013-1-31')).sel(lon=245,lat=58,method='nearest')
sub_df.plot(label='TS')

#get coefficients at that pixel
slope,intercept = np.polyfit(x=range(len(sub_df.time)),y=sub_df.values,deg=1)

#plot that line against the time series
y = [i*slope+intercept for i in range(len(sub_df.time))]
plt.plot(sub_df.time,y,label="Line")
plt.legend()
plt.plot()

What did you expect to happen?
Here's how it should look
#plot the time series of a pixel from the dataset
sub_df = ds.air.sel(time=slice('2013-1-1','2013-1-31')).sel(lon=245,lat=58,method='nearest')
sub_df.plot(label='TS')

#get coefficients at that pixel
slope,intercept = np.polyfit(x=range(len(sub_df.time)),y=sub_df.values,deg=1)

#plot that line against the time series
y = [i*slope+intercept for i in range(len(sub_df.time))]
plt.plot(sub_df.time,y,label="Line")
plt.legend()
plt.plot()

Minimal Complete Verifiable Example
ds = xr.tutorial.load_dataset('air_temperature')

# Compute polynomial fit
fit = ds.air.sel(time=slice('2013-1-1','2013-1-31')).polyfit(dim='time', deg=1)

fit['polyfit_coefficients'][0].plot()

#plot the time series of a pixel from the dataset
sub_df = ds.air.sel(time=slice('2013-1-1','2013-1-31')).sel(lon=245,lat=58,method='nearest')
sub_df.plot(label='TS')

#get coefficients at that pixel
slope,intercept = fit['polyfit_coefficients'].sel(lon=245,lat=58,method='nearest').values

#plot that line
y = [i*slope+intercept for i in range(len(sub_df.time))]
plt.plot(sub_df.time,y,label="Line")
plt.legend()
plt.plot()

MVCE confirmation

[X] Minimal example — the example is as focused as reasonably possible to demonstrate the underlying issue in xarray.
[X] Complete example — the example is self-contained, including all data and the text of any traceback.
[X] Verifiable example — the example copy & pastes into an IPython prompt or Binder notebook, returning the result.
[X] New issue — a search of GitHub Issues suggests this is not a duplicate.

Relevant log output
No response
Anything else we need to know?
 Or you just stay in xarray-land and use xr.polyval to calculate the fit values.
ds = xr.tutorial.load_dataset('air_temperature').air.sel(time=slice('2013-1-1','2013-1-31'))

# Compute polynomial fit
fit = ds.polyfit(dim='time', deg=1)

# plot the time series of a pixel from the dataset
sub_df = ds.sel(lon=245,lat=58,method='nearest')

# get coefficients at that pixel
slope, intercept = fit['polyfit_coefficients'].sel(lon=245,lat=58,method='nearest').values
# or calculate fit values using xr.polyval
fitval = xr.polyval(coord=ds.time, coeffs=fit["polyfit_coefficients"])

fig = plt.figure()
ax1 = fig.add_subplot(211)
ax2 = fig.add_subplot(212)

# plot that line
# here astype np.float is needed
y = [i*slope+intercept for i in sub_df.time.values.astype(np.float64)]
sub_df.plot(label='TS', ax=ax1)
ax1.plot(sub_df.time, y, label="Line1")
ax1.set_title("by slope")
# or second variant using xr.polyval
sub_df.plot(label='TS', ax=ax2)
fitval.sel(lon=245,lat=58, method='nearest').plot(x="time", ax=ax2, label="Line2")
ax2.set_title("by xr.polyval")
fig.tight_layout()

@TheJeran I'm closing this now. Please reopen, if something is unclear.


Refactor component for new helm chart

This PR updates the component to use the new upstream helm chart
Checklist

[x] The PR has a meaningful title. It will be used to auto generate the
changelog.
The PR has a meaningful description that sums up the change. It will be
linked in the changelog.
[x] PR contains a single logical change (to build a better changelog).
[x] Update the documentation.
[x] Categorize the PR by adding one of the labels:
bug, enhancement, documentation, change, breaking, dependency
as they show up in the changelog.
[ ] Link this PR to related issues or PRs.

WARNING
Just found out one huge issue, that needs to be addressed before merging this:
This upgrade will change the minio server setup from deployment to statefulset. Meaning that the PVCs will not be re-used.
This will therefore most likely result in a complete data loss, as the PVCs will be removed when the deployment is removed and replaced by a statefulset


Mark expected failures as xfail in test_core.py

For future merges: I think the merge PR should take care of "xfailing" new tests that cause the pass rate to degrade and that are obvious limitations.

We can be more careful when doing merges, but it is not obvious that pass rate is degraded.

For future merges: I think the merge PR should take care of "xfailing" new tests that cause the pass rate to degrade and that are obvious limitations.

We can be more careful when doing merges, but it is not obvious that pass rate is degraded.

It would help if the test script could detect degradations in pass rate and prevent merging it in that case.  The check should be "overwritable" in case the developer determines that new tests cannot be immediately fixed though.  @pbchekin WDYT?

It would help if the test script could detect degradations in pass rate and prevent merging it in that case. The check should be "overwritable" in case the developer determines that new tests cannot be immediately fixed as part of the merge PR. @pbchekin WDYT?

Maybe a file that record the current pass rate, and if it is expected to have degradation, then one need to change the content of the file. And automatically update the file if pass rate is higher?

It would help if the test script could detect degradations in pass rate and prevent merging it in that case. The check should be "overwritable" in case the developer determines that new tests cannot be immediately fixed as part of the merge PR. @pbchekin WDYT?

Maybe a file that record the current pass rate, and if it is expected to have degradation, then one need to change the content of the file. And automatically update the file if pass rate is higher?

I think it is too complex and fragile) I think the best approach is what Areg proposed: if a PR decreases pass rate after merging to the default branch, we just detect it and fix in a separate PR? The key point here is doing this fast.

It would help if the test script could detect degradations in pass rate and prevent merging it in that case. The check should be "overwritable" in case the developer determines that new tests cannot be immediately fixed as part of the merge PR. @pbchekin WDYT?

Maybe a file that record the current pass rate, and if it is expected to have degradation, then one need to change the content of the file. And automatically update the file if pass rate is higher?

I think it is too complex and fragile) I think the best approach is what Areg proposed: if a PR decreases pass rate after merging to the default branch, we just detect it and fix in a separate PR? The key point here is doing this fast.

OK, let's try to check the pass rate for degradation in merge PRs (manually) for now.


Handle clear cart button

In case of the customer use the clear button, the removeFromCart event should be sended for all product that were in the cart.

Isn't Sylius already internally sending the cart remove event multiple times? If not, that would be good anyway in Sylius I think.

I don't think so. Single item add or remove events are dispached in the OrderItemController.
The clear is done in the OrderController::clear() Action. It dispached the remove event on the order directly.

@kgonella Would you be able to submit a PR? :-) I think with the current GA4 and mainly backend listeners, it should be easier than it used to be with frontend tracking.


Unexpected behaviour in app with Login with Google after redirection from Safari

I have implemented login with Facebook and Login with Google with this library in my app. Everything is working fine on Android. Both Facebook and Google.
Also, everything is fine with Facebook on iOS.
But there are couple of issues with Login with Google on iOS. Here is what's happening
When logging with google for the first time, i can do get everything i need on safari and after logging in there, I can redirect to my app too but the behaviour in the app is unexpected (nothing happens), while with Facebook, app gets data and certain code are executed.
After then when I try logging in again with Google, i get these warnings on my terminal:
 <Warning>: Ignoring credentials key: hash
 <Warning>: Ignoring credentials key: superclass
<Warning>: Ignoring credentials key: description
 Ignoring credentials key: debugDescription

This is the way, I am implementing Login with Google in my code:
loginWithGoogle = () => {
    manager.authorize('google', {scopes: 'email'})
      .then((resp) => {
        if(resp.authorized) {
          console.log('Hello');
          manager.makeRequest('google','https://www.googleapis.com/plus/v1/people/me')
            .then(resp => {
              console.log(resp);
              if (resp.status === 200) {
                  this.registerUser(resp.data.displayName,'',resp.data.emails[0].value, "password", "google",resp.data.id)
                // this.props.nav.push({ name: 'locations', background: 'purple'})
              }
            })
            .catch(error => {
              console.error(error);
              console.log('ERrorrorororo');
            });
          }
        })
      .catch(err => {
        console.error(err);
        console.log("aaaaaeroro");
      });

  }

I had this issue while parsing the response. There is different form of responses in iOS and Android.

I have some issues, what did u do?


Add ability to use as a pytest plugin

From the start, pytest-watch has lived outside of pytest. It reactively runs py.test based on filesystem events, but also allows you to swap that out with another testing tool with --runner.
It's also had to duplicate some behavior that comes out-of-the-box with pytest, such as inifile discovery, directory inputs, and --ignore to name a few.
Moving the bulk of ptw to an official pytest plugin might alleviate a lot of this. The project can still include the ptw and pytest-watch console scripts (I personally enjoy running ptw), however, they can forward all options to py.test instead of reimplementing them (e.g. --verbose, --quiet, --pdb, --ignore details, inifile discovery, etc). These scripts could even continue exposing the CLI arguments that don't make sense to move to a plugin, like --runner.
A pytest-watch plugin could cleanly focus on its own options (--onpass, --spool, --poll), leaving the rest to pytest.
Potential downsides:

A custom --runner won't know how to interpret the CLI arguments, so it'll effectively have to do a lot of what pytest-watch does now, unless it runs py.test right away. (Probably not a huge problem.)

Thoughts?

This could solve the problem currently I'm facing (or not sure I'm dealing it wrong).  I'm trying to use this with pytest-django.  My environment variables are in a separate file(s), and I'm loading them through from my manage.py file like below.
try:
    ENV = os.environ['ENV']
    with open('project/envs/env.' + ENV) as envfile:
        for line in envfile:
            if line.strip():
                setting = line.strip().split('=', maxsplit=1)
                os.environ.setdefault(setting[0], setting[1])

except KeyError:
    print('ENV Key Not Provided')

except FileNotFoundError as e:
    print('ENV File Doesn\'t Exist')

So ENV=test(/dev) python manage.py ..... will load my required ENV file before it loads settings.py.
By following pytest-django 's documentation, I've created a Test Runner class and TEST_RUNNER in my settings.py.  This also works fine as expected by running the same command above ENV=test python manage.py test.
Trying to introduce pytest-watch here doesn't do the trick for me. It always trying to load the settings.py file and fails as there are no ENV variables.  I also tried to move the above code inside my custom_test_runner.py file and run with --runner "python custom_test_runner.py" but it still trying to load the settings.py even before it executes the custom_test_runner.

@dacodekid
Just curious: why do you use TEST_RUNNER.  It is easier to run just pytest by itself.
Check out https://github.com/jezdez/envdir/ for env(dir) handling.

@blueyed I was aware of that package as my settings.py is based on this article which suggests envdir (original one).  But I was skeptical about having one file per setting. For now I choose xdist as my alternate. Still think pytest-watch as a plugin would make more sense than its current form.


Make integrationtests run without changing /etc/hosts

We currently need devs to add "<IP_ADDRESS> quic.clemente.io" to /etc/hosts. I really don't like this, partly because it makes the setup much more complicated, and since it burns my subdomain.

I suggest postponing this until #537 is merged.

The problem here are the tests with our quic-go client. We need to give it a URL to download, which must not be localhost.
It would be easy if we could use the net.Resolver (https://golang.org/pkg/net/#Resolver), but this was only added in Go 1.8, so our tests wouldn't run on Go 1.7.

I'm not sure if the net.Resolver would work, since it is a struct. See the discussion in https://github.com/golang/go/issues/12503#issuecomment-267559596.

I did some more research. The reason this doesn't work is that the quic_client doesn't send a SNI in its CHLO for localhost, and the quic_server doesn't accept localhost as a valid SNI. The culprit seems to be https://cs.chromium.org/chromium/src/net/quic/platform/impl/quic_hostname_utils_impl.cc?rcl=478229abf628ef29be1e14518ac991654e256605&l=16.

This was fixed a while ago.


Use HTTPS for admin service endpoint

Purpose

Describe the problems, issues, or needs driving this feature/fix and include links to related issues in the following format: Resolves issue1, issue2, etc.

Admin service communication should be encrypted to avoid eavesdropping.
Resolves #150
Goals

Describe the solutions that this feature/fix will introduce to resolve the problems described above

MSF4J uses a transport yaml configuration file to configure different transports. we will have to use this config file to expose admin services using HTTPS.
Approach

Describe how you are implementing the solutions. Include an animated GIF or screenshot if the change affects the UI (email<EMAIL_ADDRESS>to review all UI text). Include a link to a Markdown file or Google doc if the feature write-up is too long to paste here.

Add "transports.netty.conf" system property pointing to MSF4J transport config file.
User stories

Summary of user stories addressed by this change>

N/A
Release note

Brief description of the new feature or bug fix as it will appear in the release notes

Secure admin service using HTTPS

Documentation

Link(s) to product documentation that addresses the changes of this PR. If no doc impact, enter “N/A” plus brief explanation of why there’s no doc impact

Tracked with #199
Training

Link to the PR for changes to the training content in https://github.com/wso2/WSO2-Training, if applicable

N/A
Certification

Type “Sent” when you have provided new/updated certification questions, plus four answers for each question (correct answer highlighted in bold), based on this change. Certification questions/answers should be sent to<EMAIL_ADDRESS>and NOT pasted in this PR. If there is no impact on certification exams, type “N/A” and explain why.

N/A
Marketing

Link to drafts of marketing content that will describe and promote this feature, including product page changes, technical articles, blog posts, videos, etc., if applicable

N/A
Automation tests

Unit tests - 80%
Integration tests

Security checks

Followed secure coding standards in http://wso2.com/technical-reports/wso2-secure-engineering-guidelines? yes
Ran FindSecurityBugs plugin and verified report? yes
Confirmed that this PR doesn't commit any keys, passwords, tokens, usernames, or other secrets? yes

Samples

Provide high-level details about the samples related to this feature

Related PRs

List any other related PRs

Migrations (if applicable)

Describe migration steps and platforms on which migration has been tested

Test environment

List all JDK versions, operating systems, databases, and browser/versions on which this feature/fix was tested

Learning

Describe the research phase and any blog posts, patterns, libraries, or add-ons you used to solve the problem.

We need to update the document as well.


homeshick cd command doesn't work on Homebrew install

I just installed homeshick on two Macbooks with the same specs and software installed. On one I installed via Git clone and on the other via Homebrew. When I run homeshick cd CASTLE, it works with the Git cloned install but not with the Homebrew install, on which I get this output:
$ homeshick cd dotfiles
cd: cd [-L|-P] [dir]
    Change the current directory to DIR.  The variable $HOME is the
    default DIR.  The variable CDPATH defines the search path for
    the directory containing DIR.  Alternative directory names in CDPATH
    are separated by a colon (:).  A null directory name is the same as
    the current directory, i.e. `.'.  If DIR begins with a slash (/),
    then CDPATH is not used.  If the directory is not found, and the
    shell option `cdable_vars' is set, then try the word as a variable
    name.  If that variable has a value, then cd to the value of that
    variable.  The -P option says to use the physical directory structure
    instead of following symbolic links; the -L option forces symbolic links
    to be followed.

Oh, look at that: I found the answer to my own question. I guess this issue will serve as documentation, then.
I just needed to add a couple of lines to my bashrc file. See Caveats below:
$ brew info homeshick
homeshick: stable 1.0.0, HEAD
Git dotfiles synchronizer written in bash
https://github.com/andsens/homeshick
/usr/local/Cellar/homeshick/1.0.0 (23 files, 45.9KB) *
  Built from source on 2018-03-12 at 12:14:58
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/homeshick.rb
==> Options
--with-csh
	Build csh bindings
--with-fish
	Build fish bindings
--HEAD
	Install HEAD version
==> Caveats
To enable the `homeshick cd <CASTLE>` command, you need to
`export HOMESHICK_DIR=/usr/local/opt/homeshick`
and
`source "/usr/local/opt/homeshick/homeshick.sh"`
in your $HOME/.bashrc

Bash completion has been installed to:
  /usr/local/etc/bash_completion.d

zsh completions have been installed to:
  /usr/local/share/zsh/site-functions


Add EthGetBlockByHash method

Summary of changes

Changes introduced in this pull request:

Add Filecoin.EthGetBlockByHash RPC method
Fix eth::Hash::to_cid method and add tests

$ ./forest-tool api compare --lotus /ip4/<IP_ADDRESS>/tcp/1234/http --forest /ip4/<IP_ADDRESS>/tcp/2345/http forest_snapshot_calibnet_2024-05-22_height_1635012.forest.car.zst --filter EthGetBlockByHash
| RPC Method                      | Forest | Lotus |
|---------------------------------|--------|-------|
| Filecoin.EthGetBlockByHash (20) | Valid  | Valid |

Reference issue to close (if applicable)

Closes #4167
Other information and links

Change checklist

[x] I have performed a self-review of my own code,
[x] I have made corresponding changes to the documentation,
[x] I have added tests that prove my fix is effective or that my feature works (if possible),
[x] I have made sure the CHANGELOG is up-to-date. All user-facing changes should be reflected in this document.

Thinking about this more, I guess we could just keep all the blocks cached IF this is assumed by the RPC endpoint. After all it's just $epoch number of cache entries that will be pretty small in size. Just move them to a separate namespace and be done with it. The only issue here is we have to rebuild this cache every time.. At the same time I would expect that this would only be true for archival nodes.. It would be nice to clarify what the expectations are in terms of historical data.

I've collected some statistics if we cache all tipsets keys from snapshot head up to Hygge height:

chain
num entries cached
elapsed time
db size

mainnet
1,248,934
63s
~305MiB

calibnet
1,295,321
35s
~239MiB

It should be feasible to compute them if needed (when initing a node that would serve Eth RPC calls) and store them in a separate store.

Looks good! Why specifically Hygge?

Hygge is the start of Ethereum support (through the FEVM actor). Before this height, there was no notion of an Ethereum-like API.
https://github.com/filecoin-project/community/discussions/74?sort=new&ref=zondax.mymidnight.blog#discussioncomment-4313888

Hygge is the start of Ethereum support (through the FEVM actor). Before this height, there was no notion of an Ethereum-like API.

My bad, I misinterpreted the condition you had there. So you're going for the Hygge and up. Looks good to me.
What I suggest you do is introduce another ParityDB namespace for this cache.

@aatifsyed My bad; this still needs to be completed. Putting to draft. I might split the PR into two:

Migration to db version 19 (eth_mappings column)
EthGetBlockByHash method


Changin the target in redteam doesn't do anything

Describe the bug
In the redteam feature, changing the target doesn't seem to work.
Maybe i'm missing something
In the yaml file :
  - id: https
    label: 'travel-agent-agent'
    config:
      url: 'https://example.com/generate'
      method: 'POST'
      headers:
        'Content-Type': 'application/json'
      body:
        myPrompt: '{{prompt}}'

or
 - id: azureopenai:chat:gpt-4o-mini
result :
Error in extraction: API error: 404 Not Found
{"error":{"message":"model \"gpt-4o-2024-05-13\" not found, try pulling it first","type":"api_error","param":null,"code":null}}
An unexpected error occurred: Failed to perform extraction: API error: 404 Not Found
{"error":{"message":"model \"gpt-4o-2024-05-13\" not found, try pulling it first","type":"api_error","param":null,"code":null}}

Promptfoo version: 0.99

after further investigation, having the following env variable set, causes the problem:
OPENAI_API_KEY="t"

commenting it from my .env file solves the problem.

maybe the plugins llm graders use gpt-4o-2024-05-13 with this key ?
also, can we override the plugin llm grader ?

The attacker model is different from the target, and defaults to GPT-4o.
See here for info on how to change the attacker model:
https://www.promptfoo.dev/docs/red-team/configuration/#providers
Or, just unset OPENAI_API_KEY and it will use a remote provider.
On Tue, Nov 26, 2024 at 6:40 AM Amine Djeghri @.***>
wrote:

after further investigation, having the following env variable set, causes
the problem:
OPENAI_API_KEY="t"
commenting it from my .env file solves the problem.

maybe the plugins llm graders use gpt-4o-2024-05-13 with this key ?
also, can we override the plugin llm grader ?

—
Reply to this email directly, view it on GitHub
https://github.com/promptfoo/promptfoo/issues/2245#issuecomment-2500983052,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AACLYJW2Q6IVBZE2GMPX3OD2CSB33AVCNFSM6AAAAABSQRTXYWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDKMBQHE4DGMBVGI
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


Fix server incompatibility, add messaging for rain variable

This should fix the IGI mod becoming client-side only as of v2.8.7, which caused the mod to crash if installed on a server, thus breaking any server provided information (which at the moment is only world seed and rain time, but others can be added if desired).
This is IMO a better fix for https://github.com/GTNewHorizons/GT-New-Horizons-Modpack/pull/16572, as such I would recommend removing the port checks in the XML config for local vs remote servers, and just keep the info in the XML the same between SP and MP servers with this fix.

This should fix the IGI mod becoming client-side only as of v2.8.7, which caused the mod to crash if installed on a server, thus breaking any server provided information (which at the moment is only world seed and rain time, but others can be added if desired).
This is IMO a better fix for GTNewHorizons/GT-New-Horizons-Modpack#16572, as such I would recommend removing the port checks in the XML config for local vs remote servers, and just keep the info in the XML the same between SP and MP servers with this fix.

so i need to revert the pr https://github.com/GTNewHorizons/GT-New-Horizons-Modpack/pull/16572 ?

This should fix the IGI mod becoming client-side only as of v2.8.7, which caused the mod to crash if installed on a server, thus breaking any server provided information (which at the moment is only world seed and rain time, but others can be added if desired).
This is IMO a better fix for GTNewHorizons/GT-New-Horizons-Modpack#16572, as such I would recommend removing the port checks in the XML config for local vs remote servers, and just keep the info in the XML the same between SP and MP servers with this fix.

so i need to revert the pr GTNewHorizons/GT-New-Horizons-Modpack#16572 ?

Yes, or have @PlayfulPiano modify it to add the time back in and remove the server checks. I'm not sure if they added new text otherwise, so I wouldn't want their work to go to waste.

This should fix the IGI mod becoming client-side only as of v2.8.7, which caused the mod to crash if installed on a server, thus breaking any server provided information (which at the moment is only world seed and rain time, but others can be added if desired).
This is IMO a better fix for GTNewHorizons/GT-New-Horizons-Modpack#16572, as such I would recommend removing the port checks in the XML config for local vs remote servers, and just keep the info in the XML the same between SP and MP servers with this fix.

so i need to revert the pr GTNewHorizons/GT-New-Horizons-Modpack#16572 ?

Yes, or have @PlayfulPiano modify it to add the time back in and remove the server checks. I'm not sure if they added new text otherwise, so I wouldn't want their work to go to waste.

iirc the only real addition in that PR was the whole server check, but I think I also saw some in code formatting errors that didn't seem to impact raintime check functionality but didn't format consistently.
probably the best idea would be to remove the server check from the current file and implement the compatibility fix without reverting.


sync luhn test cases (closes #578)

closes #578
Changes:

Updated test cases on luhn.spec.js according to Problem Specification
Updated example.js to pass all tests
Minor improvements to example.js

Thanks!


bug: ion-datetime error on scroll into day/month/date

Bug Report
Ionic version:

[x] 4.x
Current behavior:
I have this error. [Intervention] Ignored attempt to cancel a touchmove event with cancelable=false, for example because scrolling is in progress and cannot be interrupted.
when I scroll into day/month/date

Expected behavior:
shouldn't show an error
Related code:

HTML
   <ion-item lines="none">
              <ion-label class="birth" position="inline">Date of birth</ion-label>
              <ion-datetime displayFormat="MM/DD/YYYY" min="1900-01-01" mode="ios"
              placeholder="Select Date" [pickerOptions]="customPickerOptions"
              [(ngModel)]='dateSelected'  (ngModelChange)="formValidator()" formControlName="entireDate">
              </ion-datetime>
   </ion-item>

TS
  public customPickerOptions = {
    keyboardClose: true,
    mode: "ios",
    cssClass: "datePicker",
    showBackdrop: false,
    buttons: [{
      text: 'Cancel',
      handler: () => { }
    }, {
      text: 'Save',
      handler: (e) => {
        this.dateSelected = e
        this.registerFullForm.controls['birthDay'].setValue(e.day.text)
        this.registerFullForm.controls['birthMonth'].setValue(e.month.text)
        this.registerFullForm.controls['birthYear'].setValue(e.year.text)
      }
    }]
  }

Ionic info:
   Ionic CLI                     : 6.3.0 (/Users/sergio/.nvm/versions/node/v13.0.1/lib/node_modules/@ionic/cli)
   Ionic Framework               : @ionic/angular 5.0.5
   @angular-devkit/build-angular : 0.803.25
   @angular-devkit/schematics    : 8.3.25
   @angular/cli                  : 8.3.25
   @ionic/angular-toolkit        : 2.2.0

Capacitor:

   Capacitor CLI   : 1.5.1
   @capacitor/core : 1.5.1

Cordova:

   Cordova CLI       : 9.0.0<EMAIL_ADDRESS>   Cordova Platforms : not available
   Cordova Plugins   : not available

Utility:

   cordova-res (update available: 0.10.0) : 0.9.0
   native-run                             : 0.3.0

System:

   Android SDK Tools : 26.1.1 (/Users/sergio/Library/Android/sdk)
   NodeJS            : v13.0.1 (/Users/sergio/.nvm/versions/node/v13.0.1/bin/node)
   npm               : 6.13.7
   OS                : macOS Catalina
   Xcode             : Xcode 11.3.1 Build version 11C504

Solved adding this code to css:
touch-action: none;
Plz fix on framework

Thanks for the issue. Can you provide a repo with the code required to reproduce the issue?

Sorry but I can't create a repo for every error that informed to you (there are already 4 or 5)

Are you able to reproduce the issue using a blank Ionic starter application?


Repair exitFullScreen() function

renamed cancelfullscreen api function to exitfullscreen.

https://chrome.google.com/webstore/detail/screen-capturing/ajhifddimkapgcifgcodmmfdlknahffk
404


FIX Selected methods are correctly cleared when going back from a method to select another, or back to the introduction screen and then back to select another

Removing "clearRegistrationData()" method - we previously had this to keep the existing registration props in state so you wouldn't get a new TOTP code each time, but it's causing a bug so I've removed it in favour of nuking all registration props state.
Fixes https://github.com/silverstripe/silverstripe-totp-authenticator/issues/19

The uncovered lines are redux dispatch maps, which we don't usually write tests for. Rebasing now...


Support annotations a la Sketchfab's model viewer

Sketchfab has a cool feature where users can annotate positions in 3D space with labels and markers that allow users to get detail about highlights of the model, and also change the camera perspective / controls scheme as they cycle through active annotations.

@yuinchien is going to work on some mocks for this feature.

Is there anything to look at in regards to those mocks?

@soraryu here are some early mocks. These are just an exploration, and we have a more thorough UX exploration taking place right now that will iterate on these ideas and introduce new ones.

Cool, thanks for sharing! Couple of questions/comments if I may:

would be great if occlusion behaviour would be configurable (e.g. how does a number 4 on the backside behave)
will these be html or 3D or a combination? (e.g. for occlusion I guess it would need to be 3D)
a special case for annotations is when some are very far away (in those cases they might need to be merged with nearby ones, or there's a smaller LOD (e.g. a dot, similar to what Google Maps is doing)
another similar but sightly different case is when a model is rotated in a way that two overlap; they might also need to be merged

Is that purely a design test or is there already a branch to look at?
(just asking because we're in need of that now, and considering either to inject into threejs behind model-viewer or waiting for a proper way)

would be great if occlusion behaviour would be configurable (e.g. how does a number 4 on the backside behave)

Great feedback, thanks!

will these be html or 3D or a combination? (e.g. for occlusion I guess it would need to be 3D)

The intention is for it to be a combination. The "annotations" (the descriptive part) will be DOM and the "hotspot" (the circle with the number) will be GL and have relatively limited customization options (you can set an image, show a number, configure colors and maybe custom shapes).

a special case for annotations is when some are very far away (in those cases they might need to be merged with nearby ones, or there's a smaller LOD (e.g. a dot, similar to what Google Maps is doing)

This is very interesting. We will definitely take this into consideration, although my gut tells me that #738 will be necessary for addressing this use case.

another similar but sightly different case is when a model is rotated in a way that two overlap; they might also need to be merged

Can you give a concrete example of this case? I'm interested in understanding it better.

Is that purely a design test or is there already a branch to look at?

I'm sad to say it's just a concept right now. We know this is a hotly anticipated feature with a lot of demand. My best estimate for when it will be implemented is Q1 2020, so if you need it right now you'll have to help yourself. I am happy to answer questions about our code base if you are confident enough to try to build it for yourself.

Here is another mock from the original UX exploration:


Create 2278. Percentage of Letter in String.cpp

You can follow me on github and give star to this repo.


npm run build silently fails on OOM

Description
When running npm run build, if the system runs out of memory...
Expected behavior
It should exit with a non-zero return code.
Actual behavior
The process exits return code 0.
Environment

npm ls react-scripts: 0.7.0
node -v: v6.9.5
npm -v: 3.10.10

Then, specify:

Operating system: Ubuntu 16.04
Browser and version: n/a

Reproducible Demo
Try building on a tiny VM.
See #1026

Agreed it’s an issue, do you have any idea how to solve this?

Well, it looks like react-scripts build runs node build.js, and when you send SIGTERM to the latter process (as happens with an OOM) it exits silently. Default behavior for node on SIGTERM (aka signal 15) is to exit 15. So this script is probably catching SIGTERM somewhere and exiting "gracefully."

Adding
 process.on('SIGTERM', function () {
   process.exit(15);
 });

to the end of react-scripts/scripts/build.js fixes the problem. I'll add a couple more signals, console.log an error message, and submit a pull request -- cool? Is there a cleanup hook I should call?

@brandones Sounds great, thanks!

Can we consider this resolved by #1946?

Going to close in hope it’s resolved but please reopen if not.


Add representation for all sink / source objects.

For debugging purpose and logging, adding repr to all Sink and Source objects would be very helpful.
This will also help with situations where config files are read incorrectly and the default config is used without warning.

Closed by #75.


Adds interactiveDismissDisabled backport

Describe your changes
This adds a func interactiveDismissDisabled(_ isDisabled: Bool = true) backport.

Hey, thank you for the submission.
So I actually missed the official implementation for this, didn’t realise we had an official (iOS 15+) modifier so thanks for bring it to my attention.
However I did already include an implementation of this, just with a different name:
https://github.com/shaps80/SwiftUIBackports/blob/main/Sources/SwiftUIBackports/Extras/InteractiveDismiss.swift
Can I suggest you update the naming of my original implementation, keeping any docs you’ve added here as they’re def an improvement.
My implementation has a 2nd (unofficial) implementation that enables the user to get a callback when the dismiss attempt occurs. This enables building ‘confirmation’ style UX, so I’d like to keep that.

Hello!
I've updated backport code and now it's using your implementation. Please check this out.

Hey thanks! Actually I wasn't clear sorry about that. What I meant was to rename my implementations. So we'd end up with:
interactiveDismissDisabled(_ disabled: Bool) -> some View

interactiveDismissDisabled(_ disabled: Bool, onAttempt: @escaping () -> Void) -> some View

Note: the closure here shouldn't be optional since passing nil would be the same as using the first modifier.

Hope that's clearer. Sorry for confusion. I really appreciate the contribution 👍👍

But if rename old implementations, people who already using it will get an error.
And it will conflict with apple implementation.

Good point I missed that.
So i think we implement my suggestion, then just include the current api (calling these new methods) for backward compat.
These should also be marked as deprecated:
@obsoleted(swift, renamed: "interactiveDismissDisabled(_:)")
func presentation(_ isModal: Bool) -> some View

Also we should update the README to include the new APIs (removing the old one).

Why do you want keep two separate methods? At first I did exactly as you suggest.
But then I've merged two into one because using deprecated method in backport results warning.

This library should support official API, to simplify migration later on. However I wasn’t previously aware of the official API and so I named it differently.
Therefore I like your contribution, which would bring it inline with the official API. However as you mentioned, we now have users that may be using the existing API. In order for me to remove it in a future version I need users to move away from it. That’s the point of deprecations.
If you’re uncomfortable with this change I can do it myself but I thought since you’ve already started the work, you may want your contribution included 👍🏻
Thanks again.

No, I asking about presentation(isModal: Bool) and presentation(isModal: Bool = true, _ onAttempt: @escaping () -> Void). Why not just use single method which I made presentation(isModal: Bool = true, _ onAttempt: (() -> Void)? = nil) that covers all cases?

No, I asking about presentation(isModal: Bool) and presentation(isModal: Bool = true, _ onAttempt: @escaping () -> Void). Why not just use single method which I made presentation(isModal: Bool = true, _ onAttempt: (() -> Void)? = nil) that covers all cases?

To be honest I used to do this but I often found this problematic.
For example the onAttempt is unofficial and provided as an 'extra' feature that's not part of the official backport.
And in many cases the implementation backing those methods would then be different as well. While that's not the case in this instance, I still prefer (for consistency) to define the methods separately. This also mirrors how  themselves tend to vend API.
IMO it also simplifies documentation, deprecations and code change over time.

Hey looks like this wasn't moving so I pulled the changes manually into my code.
I've also decided on some other minor changes based on another PR, so its all going in but from my end sorry about that 👍


Prefer error propagation to explicit unwrapping

Currently, this project uses many explicit unwrapping in its codebase. That's not a healthy condition for a production. There is a useful crate error-chain for us to handle error more elegantly.
That is to say, we need to introduce error-chain to define our own error types as well as handle error conversions between ours and others.

After some studies, i wondered that error-chain might be too complicated to this small project. Therefore, I tried to do a basic error handling from scratch. Here is my first attempt:

Declare a type alias type BoxResult<T> = Result<T, Box<::std::error::Error>> to fully utilize dyanamic dispatch on trait object (Box`).
Create a macro bail as following to convert any  error to ::std::error::Errormacro_rules! bail {
  ($($tt:tt)*) => {
      return Err(From::from(format!($($tt)*)));
  }
}

All these works done at ef0d840de19e62ee1fb0472a304dbdb0818162f5


使用 seeklhy/codes-7b  模型进行sql generate 微调，8*A800 *80G 显存溢出问题

执行脚本：
#!/bin/bash
#SBATCH --job-name=sft_sql_codes        # name
#SBATCH --nodes=1                                      # nodes
#SBATCH -w wuhan-gpu-[17]
#SBATCH --ntasks-per-node=1                            # crucial - only 1 task per dist per node!
#SBATCH --cpus-per-task=8                              # number of cores per tasks
#SBATCH --gres=gpu:8                                  # number of gpus
#SBATCH --gpus-per-task=8                           # number of gpus
export GPUS_PER_NODE=8
export MASTER_ADDR=$(scontrol show hostnames $SLURM_JOB_NODELIST | head -n 1)
export MASTER_PORT=9901

srun --jobid $SLURM_JOBID bash -c '
accelerate launch train_causal_lm.py \
--per_device_train_batch_size 4  \
--block_size 4096 \
--seed 42  \
--pretrained_model_name_or_path seeklhy/codes-7b  \
--epochs 4 \
--lr 5e-6  \
--warmup_ratio 0.05  \
--checkpointing_steps 100000  \
--mode sft  \
--output_ckpt_dir ./ckpts/codes-7b-bird-with-evidence  \
--text2sql_data_dir ./sft_bird_with_evidence_train_text2sql.json  \
--table_num 6  \
--column_num 10

'
运行日志结果部分日志：
The following values were not passed to accelerate launch and had defaults used instead:
--num_processes was set to a value of 8
More than one GPU was found, enabling multi-GPU training.
If this was unintended please pass in --num_processes=1.
--num_machines was set to a value of 1
--mixed_precision was set to a value of 'no'
--dynamo_backend was set to a value of 'no'
To avoid this warning pass in values for each of the problematic parameters or run accelerate config.
accelerator.is_main_process: True
accelerator.device: cuda:0
Namespace(per_device_train_batch_size=4, block_size=4096, seed=42, pretrained_model_name_or_path='seeklhy/codes-7b', epochs=4, lr=5e-06, warmup_ratio=0.05, checkpointing_steps=100000, tensorboard_log_dir='./train_logs', mode='sft', output_ckpt_dir='./ckpts/codes-7b-bird-with-evidence', save_all_states=False, pt_data_dir='./data/corpus.bin', resume_from_checkpoint=None, resume_tag=None, text2sql_data_dir='./sft_bird_with_evidence_train_text2sql.json', table_num=6, column_num=10)
tokens per batch: 131072
sequences per batch: 32
using LLM from: seeklhy/codes-7b
accelerator.is_main_process: False
accelerator.device: cuda:1
accelerator.is_main_process: False
accelerator.device: cuda:5
accelerator.is_main_process: False
accelerator.device: cuda:2
accelerator.is_main_process: False
accelerator.device: cuda:3
accelerator.is_main_process: False
accelerator.device: cuda:6
accelerator.is_main_process: False
accelerator.device: cuda:7
accelerator.is_main_process: False
accelerator.device: cuda:4
torch.cuda.OutOfMemoryError: CUDA out of memory. Tried to allocate 8.00 GiB. GPU 0 has a total capacty of 79.33 GiB of which 5.53 GiB is free. Including non-PyTorch memory, this process has 73.78 GiB memory in use. Of the allocated memory 66.49 GiB is allocated by PyTorch, and 6.31 GiB is reserved by PyTorch but unallocated. If reserved but unallocated memory is large try setting max_split_size_mb to avoid fragmentation.  See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF

有按照README安装flash attention吗？

I installed flash attention, but I'm still getting an OutOfMemoryError with codes-7b model.

I installed flash attention, but I'm still getting an OutOfMemoryError with codes-7b model.

Hi, just installing flash attention is not enough, please modify the source code of transformers to replace the original attention layer with the flash attention layer.
Here is the instruction to modify the source code: https://github.com/RUCKBReasoning/codes?tab=readme-ov-file#option-1-modify-the-source-code

I installed flash attention, but I'm still getting an OutOfMemoryError with codes-7b model.
I also encountered this problem. Have your issues been resolved?


Remove redundant field mappings

There are several instances of fields being mapped to multiple attributes which should be cleaned up. E.g in the rapid visits table:

treatment_nsaid = treatment_nonsteroidal
treatment_oxygen_interface = treatment_oxygen_therapy = treatment_oxygen_mechanical_support (and the critical care module also contains an additional mapping to treatment_respiratory_support)

The duplicates are currently present both in the parsers and the schemas.py file

Resolved by #73 , #72


ng init missing

OS : Windows 7
@angular/cli: 1.0.0-rc.0
node: 6.9.2
os: win32 x64
@angular/common: 2.4.8
@angular/compiler: 2.4.8
@angular/core: 2.4.8
@angular/forms: 2.4.8
@angular/http: 2.4.8
@angular/platform-browser: 2.4.8
@angular/platform-browser-dynamic: 2.4.8
@angular/router: 3.4.8
I have a working angular project , I tried ng init, but it says init is missing
The specified command init is invalid. For available options, see `ng help`.

how do I CLIfy an existing project ?
thanks

The command was removed in a recent release.

so i have to resttar a CLI project and put my code in it ?

Any solution for this?

The init and update command were fairly consistently causing problems and so they were removed. In the RC the required updates will written out and done manually but the goal of the RC is to have no breaking changes. I have heard talk that there is work going into a proper update command.

so no solution for this right now....

The easiest way is to take a look at https://github.com/angular/angular-cli/blob/master/packages/%40angular/cli/blueprints/ng/files/package.json and comparing
or just ng new and copy that package.json

Closing this as fixed. You can also call ng new --src=. which may or may not overwrite some files. Use with caution, but it could get you started.

Nice, I ended up making the angular-cli.json file manually, unfortunately no easy to find documentation on the configuration file.

command ng new --src=. returns:

The option '--src' is not registered with the new command. Run ng new --help for a list of supported options.
The "ng new" command requires a name argument to be specified. For more details, use "ng help".

This causes issues for maven projects.  When having to adhere to maven standards; developers should run their app from "src/main/".  The former "ng init --sd=src/main/ui --style=scss --routing" provide a solution for that.  How can we escalate this issue and get the "ng init" back in the angular cli?  Without it, I believe that we loose a very large audience.

@  Zurab-D on windows 7 (with grep installed)
ng --help | grep new
Generates new code from blueprints.
ng new <options...>
Creates a new directory and a new Angular app.

I thought mavan was only used for java projects...

@phil123456: Some developers are required to bundle their angular applications with a back-end technology and generate a war file. This has been a standard practice in web development for a really long time.  Not that I agree with it, a lot of developers find themselves working on these development stacks.
The ng new command wants to create a new directory.  That's not the same thing as initializing angular in the root of an existing maven project and creating the source directory inside of src/main/ui.  Also, if you don't have to grep installed; it's just as easy to  ng new -h to achieve the same results. :)
@Zurab-D: is correct. ng new -src=.  does not work and creates a folder in the root.  I think @hansl was trying to say ng new -dir=. ; however, this still requires a name to be passed into the command.
So, following @hansl recommendation. We can run  ng new appMavenAngularBundle -dir . -sd src/main/ui -si to build out the intended file structure.
I'm really not thrilled with this approach.  When I run the ng new command without passing any flags,  I get a new folder.  Which implies that when I run the ng new command with flags it should rename or create the folder to the name I passed to the command.  This is very confusing.
@Brocco Could ng init just extend ng new in the next RC and build in directory where the command was executed?  The  ng new appMavenAngularBundle -dir . -sd src/main/ui -si works; however ng init appMavenAngularBundle  -sd src/main/ui implies what it actually does. Also,  it makes it easier for developers to infer the command's outcome.  Just a thought! :)

@justinhorton3 that's exactly what it did do, but it was causing more problems than it solved. Removing it for now is the right decision. We are planning on implementing a more robust solution to upgrading/updating applications.

@Brocco Thanks for the quick response! I'm just glad that its on the road map for future releases!

The specified command init is invalid. For available options, see ng help.

\Ang2Prj>ng init
The specified command init is invalid. For available options, see ng help.

dude, are you for real ? just read the bloody thread instead of blindly asking the same question I did

I used ng new my-app command and it works fine

"ng init" is one of awesome solution to create a project from blank git repository, but, from now, we must create a project first, then init git later. so sad!

Alternative way to "init your existing project" is simply:

Install "angular-cli" thru npm
add "angular-cli.json" file to the root folder (same folder, where package.json is)

@hieutranagi47 To create an angular project from an existing blank git repository, just run "ng new [your-git-name]" in the parent folder. It will generate the files inside the existing folder and skip git init. All fine after that...

For me npm install worked!


[Refactor] Rename missed OSX scheme to macOS

I'm still trying to get the auto documentation generation working. This time I missed renaming the OS X scheme to macOS on the master PR.

[Current coverage][cc-pull] is 100%

Merging [#130][cc-pull] into [master][cc-base-branch] will not change coverage

@@           master   #130   diff @@
====================================
  Files           6      6
  Lines         169    169
  Methods         0      0
  Messages        0      0
  Branches        0      0
====================================
  Hits          169    169
  Misses          0      0
  Partials        0      0

Powered by Codecov. Last updated by [e8e68f4...ceee479][cc-compare]
[cc-base-branch]: https://codecov.io/gh/ReSwift/ReSwift/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/ReSwift/ReSwift/compare/e8e68f42a463e8c8b2c19d7ec5f42ecf35aaf14c...ceee4798f888a6c80556adba1278383be2f72c63?src=pr
[cc-pull]: https://codecov.io/gh/ReSwift/ReSwift/pull/130?src=pr


Undefined WS2811X at cross-compiling with Docker buildx

Hello, I have a probleme with my project and ws2881x. I cant cross-compile it.
It shows me the error:
# github.com/rpi-ws281x/rpi-ws281x-go
/go/pkg/mod/github.com/rpi-ws281x/rpi-ws281x-go@v1.0.10/ws2811.go:135:15: undefined: WS2811
/go/pkg/mod/github.com/rpi-ws281x/rpi-ws281x-go@v1.0.10/ws2811.go:140:15: undefined: WS2811

and exits later without compiling all my packages (error code 1).

I use make to build it, and it is:
# Variable that defines the build command
BUILD_CMD := go build

# Variable that defines the build tag
BUILD_TAG := -tags pi

APP_NAME := Freenove_4WD_GO_Backend

TARGET_ARCH_CROSS := linux/arm64

DOCKER_EXEC_COMMAND := docker run --rm -v "$(shell pwd)":/usr/src/$(APP_NAME) --platform $(TARGET_ARCH_CROSS) \
                             -w /usr/src/$(APP_NAME) go-cross-builder:latest

# Target for the build
all:
	bash protoc.sh
	$(BUILD_CMD)

cross:
	docker buildx build --platform $(TARGET_ARCH_CROSS) --tag go-cross-builder .

	$(DOCKER_EXEC_COMMAND) bash protoc.sh

	$(DOCKER_EXEC_COMMAND) go build $(BUILD_TAG) -o "$(APP_NAME)-arm64" -v

I already tried everything, I just cant figure the error. Hope you guys can help me.
Thanks, Durus

I think I solved it.
I did not install gcc and alpine-sdk, which was required to build my project.

OK. Let me know if you need more help.


doc/go1.16: document changes to the language for Go 1.16

As of filing this issue, the Go 1.16 draft release notes contained the following HTML:

Changes to the language

  TODO

Per golang.org/s/release, it's a release blocker for Go 1.16 Beta 1 to have a complete draft of the eventual release notes, and so the TODO needs to be resolved.
@griesemer Will it be "There are no changes to the language.", or are there changes in Go 1.16?

I do not recall any language changes for 1.16.

Thanks. Then this issue is easy to resolve. :)