IR camera is always on

After using Howdy, the IR camera does not automatically turn off. So when I use Howdy again afterward, it fails to access the camera:
[ INFO:0] global /builddir/build/BUILD/opencv-4.2.0/modules/videoio/src/cap_v4l.cpp (972) tryIoctl VIDEOIO(V4L2:/dev/video2): ioctl returns with errno=EBUSY
[ INFO:0] global /builddir/build/BUILD/opencv-4.2.0/modules/videoio/src/cap_v4l.cpp (582) autosetup_capture_mode_v4l2 VIDEOIO(V4L2:/dev/video2): device is busy
[ INFO:0] global /builddir/build/BUILD/opencv-4.2.0/modules/videoio/src/cap_images.cpp (282) icvExtractPattern Pattern: /dev/video%01d @ 2
[ INFO:0] global /builddir/build/BUILD/opencv-4.2.0/modules/videoio/src/cap_images.cpp (313) open CAP_IMAGES: Stop scanning. Can't read image file: /dev/video2
Could not read from camera

Howdy built yesterday (19 May) from this COPR: https://copr.fedorainfracloud.org/coprs/principis/howdy/
Fedora 32

Does this happen when you run sudo howdy test too?


Block references

Perhaps I'm looking for more Roamery than I should be, but is there a way to:
a. Select multiple blocks
b. Copy references to them
c. Paste (or push) those references to a new file
d. Convert all of them to text and alias at once

Can you explain step D?

As I understand it, you have to convert to text and alias after moving/copying/pushing the blocks to a new page.
It would be convenient to do that with a selection of several blocks vs doing it one block at a time.
It is entirely possible that I’m overlooking the correct way to do that because I’m still working my way through all the options on this amazing new plugin.
Brian

On September 20, 2021, at 8:16 AM, TfTHacker @.***> wrote:
Can you explain step D?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/TfTHacker/obsidian42-text-transporter/issues/19#issuecomment-923023066, or unsubscribe https://github.com/notifications/unsubscribe-auth/AKN5VZ52Q4NXLLR6VRSN3MTUC5F43ANCNFSM5EMFP3MQ.
Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

So you want to copy the text and also have the original blocks aliased?

I’m probably confusing terminology.
I’m trying to duplicate the Roam ability to:
a. Select multiple blocks
b. Get a reference for each of them.
c. Copy the references somewhere else
d. Convert the referenced blocks to text and alias.
Not sure how child blocks should be handled. Probably all need to be selected in the original file.
Brian

On September 20, 2021, at 11:55 AM, TfTHacker @.***> wrote:
So you want to copy the text and also have the original blocks aliased?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/TfTHacker/obsidian42-text-transporter/issues/19#issuecomment-923191098, or unsubscribe https://github.com/notifications/unsubscribe-auth/AKN5VZ34QPQG4QCBWT2NXULUC57QPANCNFSM5EMFP3MQ.
Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.


merge package from arlac77/npm-package-template

package.json

chore(package<EMAIL_ADDRESS>chore(scripts): cover@#overwrite c8 --temp-directory build/coverage ava && c8 report -r lcov --temp-directory build/coverage
chore(package): add nyc from template
docs(package): remove keyword null
chore(package): set $.ava.require='esm' as in template
chore(package): set $.ava.files='tests/-test.js,tests/-test.mjs' as in template
chore(package): set $.ava.extensions='js,mjs' as in template

Coverage remained the same at 89.502% when pulling f630821304f47816c7674629cbc2a5cd8d2addff on template-sync-1 into f301ec8a7308ce0ed0514ef23befd204b5796abc on master.

:tada: This PR is included in version 5.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Incorrect docs for the U2 Gate

The last entry in row 1 of the matrix is incorrect and should be  -e^(i*lambda), not e^(-i*lambda).
Also, U2(0,pi) is H, and not U2(pi,0) as given in the docs.

@1ucian0 shall I go ahead and take this? I just need to change the docstring at https://github.com/Qiskit/qiskit-terra/blob/4bd91fef2865c60a41de5c078994f027d38b536f/qiskit/circuit/library/standard_gates/u2.py#L23, right?

Indeed! Go ahead a fix it. Thanks 😊

Cool, will do 👍
Thanks!

oh! I think this is a duplicate with https://github.com/Qiskit/qiskit-terra/issues/4133 (PR https://github.com/Qiskit/qiskit-terra/pull/4165). @FranckChevallier is already working on this.
Sorry.

Ah damn. Alright :)
I've got one pending PR over at qiskit-textbook, mind taking a look?

Keep an eye on #4133 and #4165. Just in case @FranckChevallier needs help or is unresponsive.

Will do, thanks


Add Jakarta Annotations TCK module to the core profile TCK runner

Also add a script to print the results instead of hard-coding it in the TCK runner.

Thanks @jamezp


Removed dependency to gcc-4.4

this was causing an immediate compiler error since most modern systems do not have gcc-4.4 and no need to specify a gcc version.
it build fine on my machine without it.

CUDA used to lag when it came to support newer features of gcc. When gcc-4.5 was the version of choice, CUDA still supported only gcc-4.4.


Upgrade outdated node-fetch dependency from 1.7.2 to 2.2.0

Upgrade Guide: https://github.com/bitinn/node-fetch/blob/master/UPGRADE-GUIDE.md
Changelog: https://github.com/bitinn/node-fetch/blob/master/CHANGELOG.md

of course it appears that runtime/fetch-{node,web}.js is unused, but maybe we want it for the future...

Sorry, I must have missed this. Still want to land?

This version has issues, so I have shelved this for now.
On Mon, Sep 10, 2018 at 6:00 PM shans<EMAIL_ADDRESS>wrote:

Sorry, I must have missed this. Still want to land?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/PolymerLabs/arcs/pull/1808#issuecomment-420110216,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAF5y7Yti3u7iRSJjwV9CPnEPE0DxdQ_ks5uZwsxgaJpZM4WKcJu
.

Ah cool. OK for me to close then?

node-fetch 2.2.1 fixed the underlying issue in https://github.com/bitinn/node-fetch/issues/502
PR updated and now working.

This one is ready to submit now that the underlying issue is fixed.


Annotations in drawings and sheets display in real-time only if they are drawn inside the project extents

Describe the bug
Annotations added to a drawing or sheet do not display unless they are inside of the project extents.
Observe the gif linked below for the current behavior (blue is the project extents, red is the viewed extents, and the green cube is the world origin (0,0,0)):
house-model-drawing-gif
The House model was used to create the above gif. It just so happens that the project extents for the house model are near the world origin. However, this issue becomes much more apparent on models that are not near the world origin. Observe the Bay Town Process Plant model below:

The project extents are not near the world origin. Below is another linked gif showing annotations only appearing within the project extents for a drawing in the Bay Town Process Plant model:
process-plant-model-drawing-gif
The examples I showed are all drawings. However, the same behavior occurs in sheets. If the sheet is not located within the project extents, then annotations do not appear until the iModel is re-opened.
Questions
My assumption is that the above behavior is a bug. If it is not, I have a few questions:

Why do annotation elements in drawings/sheets need to be in the project extents if the elements are not spatial elements?
Is it expected that drawings/sheets need to be within the model’s project extents (as in, we should be moving our models and sheets to the project extents)?

To Reproduce
I have provided .bim files with drawings like the ones in the gifs. The drawings were created in our channel, so I’m not sure how useful they will be. Let me know if you would like me to port a reproduction branch to the Display Test App so the above behavior can be recreated.
house .bim: The saved drawing view is called "drawing2".
process-plant .bim: The saved drawing view is called "drawing2".
Expected behavior
I should be able to add annotations to my drawings/sheets freely and have those annotations display after I add them, regardless of the spatial project extents.
Desktop (please complete the applicable information):

OS: Windows 11
Browser: Electron
Version: 29.1.0
iTwin.js Version: 4.4.7

Additional context
A few definitions that I think support the case the drawing annotations should not be constrained to the spatial project extents.

Project extents are “the volume, in spatial coordinates, inside which the entire project is contained” (as per the documentation).
Drawings usually have no correlation to spatial coordinates (as per the documentation)
Sheets have precise physical dimensions correlating to actual physical paper sizes (as per the documentation).

Don't make me guess at what your code looks like please.

I'll add a reproduction to DTA

Are you using a GraphicalEditingScope?

Are you using a GraphicalEditingScope?

Yes

I have created a PR adding the editor tools, a drawing creation tool, and an origin/extents decoration tool to DTA.
I have sent you an email with more in-depth reproduction instructions and some additional .bim files. The email is also titled "Annotations in drawings and sheets display in real-time only if they are drawn inside the project extents".
The issue does seem related to GraphicalEditingScope. If I am not in editing scope, I can freely add annotations. If I am in editing scope, annotations only appear if drawn inside the project extents.


Crash Report: update failed for AnAction(nl.rubensten.texifyidea.action.sumatra.ForwardSearchAction) with ID=texify.sumatra.ForwardSearch

Description
Stacktrace
Please paste the full stacktrace from the IDEA error popup

Thanks for reporting! This issue has already been reported in #432 and has already been fixed. Please update the plugin to the latest version.

Fixed in PR #443 and will be included in release b0.6.1 in the near future.


Add Licence

Related to Issue https://github.com/alphagov/gds-way/issues/134.
Worth double checking that links are going to the correct locations as I may have made assumptions

@philandstuff I took the liberty of adding you as a reviewer. This looks fine to me, but a dev review would be good, thanks.


Develop build process

Develop a build and release process for the binaries

Goreleaser has been implemented to address the release process in conjunction with TraviCI


ensure that clusters created by the 1.15 version contains conditions that are compatible with the successive releases

In version 1.15 of the operator, we use conditions that are not compatible with the metav1.Conditions structs.
Given that we started to use metav1.Conditions struct in 1.16 we should be sure that in the 1.15 version we have conditions that can be converted to the new struct

Closed by bb2c39a8d8d5e752b0fdc558644e720e92e54389 on release-1.15 branch


"PR #12838 Update Launch details" is not reflected

I submitted "PR #12838 Update Launch details".
But this Pull Request is not reflected.
Why is PR not reflected?

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: c312fd69-72cd-bc86-4fe1-993b60b97bc6
Version Independent ID: b7887ba6-4775-39f0-e368-68f140ce233d
Content: Simulate a phishing attack with Attack simulation training - Office 365
Content Source: microsoft-365/security/office-365-security/attack-simulation-training.md
Product: m365-security
Technology: mdo
GitHub Login: @chrisda
Microsoft Alias: chrisda

@hfukumotoms, that PR number is too high; current pull requests in this repo are in the 7880 range.
Did you follow the instructions here and click the green button 3 times?

Thanks! I recreate #7897 (same change).

@hfukumotoms Hope this update is helpful for you. Thanks for taking out some time to open the issue. Appreciate and encourage you to do the same in future also.


feature: Command Line Scripts

Codecov Report

Merging #35 (f48a587) into main (7d0a892) will decrease coverage by 1.19%.
The diff coverage is 48.03%.

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

@@            Coverage Diff             @@
##             main      #35      +/-   ##
==========================================
- Coverage   68.09%   66.89%   -1.20%
==========================================
  Files          27       28       +1
  Lines        1567     1619      +52
==========================================
+ Hits         1067     1083      +16
- Misses        500      536      +36

Impacted Files
Coverage Δ

webapp/repositories.py
75.63% <33.33%> (-0.95%)
:arrow_down:

webapp/commands.py
39.70% <39.70%> (ø)

webapp/app.py
85.36% <61.53%> (+8.09%)
:arrow_up:

webapp/worker.py
30.00% <70.00%> (+0.88%)
:arrow_up:

webapp/managers.py
58.25% <100.00%> (+0.26%)
:arrow_up:

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


Enable TikzJax

It is really nice to have MathJax enabled on al-folio, but for many mathematicians it would be really nice to have an easy way to use coomutative diagrams. In that sense, being able to use TikzJax out of the box would be a really nice feature.

To some extent, yes it can be done with mermaid. But trying to draw a complicated diagram will be painful. Actually I don't know if it is even possible.
Some simple diagrams can be drawn with amscd library, that is already implemented in MathJax, but again it has many restriccions.
Thanks for taking the time to look at it


Getting constant "SyntaxError: Unexpected non-whitespace character after JSON at position" errors.

Preconditions

[X] Requirements fulfilled
[X] The known issues did not answer my question
[X] The question has not been asked in the past or the answer does not satisfy me
[X] There is currently no other opened issue that matches my question
[X] I cannot find any answer to my question in GitHub discussions

Current Situation
The log contains repeated errors relating to an unexpected non-whitespace character.  The error occurs indefinitely.
Logs
Verbose logs attached below

Configuration
{
    "name": "Apple TV Enhanced",
    "mediaTypes": [
        "tv"
    ],
    "deviceStateDelay": 0,
    "remoteKeysAsSwitch": [
        "home",
        "play_pause",
        "turn_off",
        "turn_on",
        "volume_down",
        "volume_up"
    ],
    "avadaKedavraAppAmount": 15,
    "disableVolumeControlRemote": false,
    "setTopBox": true,
    "discover": {
        "multicast": true,
        "unicast": [
            "<IP_ADDRESS>",
            "<IP_ADDRESS>",
            "<IP_ADDRESS>",
            "<IP_ADDRESS>",
            "<IP_ADDRESS>",
            "<IP_ADDRESS>"
        ],
        "blacklist": [
            "D0:03:4B:4C:2A:2E"
        ]
    },
    "forceVenvRecreate": false,
    "logLevel": 5,
    "updateCheckLevel": "stable",
    "deviceSpecificOverrides": [
        {
            "overrideMediaTypes": false,
            "overrideDeviceStates": false,
            "overrideDeviceStateDelay": false,
            "deviceStateDelay": 0,
            "overrideRemoteKeysAsSwitch": false,
            "overrideAvadaKedavraAppAmount": false,
            "avadaKedavraAppAmount": 15,
            "overrideCustomInputURIs": false,
            "overrideDisableVolumeControlRemote": false,
            "disableVolumeControlRemote": false,
            "overrideSetTopBox": false,
            "setTopBox": false
        }
    ],
    "_bridge": {
        "username": "0E:B5:72:15:33:F2",
        "port": 41049
    },
    "platform": "AppleTVEnhanced"
}

Operating System
Linux
Operating System: Bits
64-bit
Operating System: Distribution
Raspberry Pi OS
Operating System: Distribution Version
12 (bookworm)
Docker
no
Docker Image
None
Docker Image Tag
No response
Homebridge Version
1.8.2
Homebridge Config UI Version
4.56.2
Homebridge Storage Path
/var/lib/homebridge
Homebridge Apple TV Enhanced Version
1.3.1
Node Version
20.12.2
NPM Version
10.5.0
Python Version
3.11.2
PIP Version
23.0.1
HDMI Hops
None
Audio Output
no
Same Subnet
yes
Additional Context
homebridge-appletv-enhanced.log (4).txt

Logs are attached

Thanks for providing the verbose logs. These are actually very helpful as I have just analyzed the problem. The issue is part of a dependency I am using in the plugin. I opened a ticket regarding this issue here: https://github.com/sebbo2002/node-pyatv/issues/324
As a workaround you can remove the Apple TVs <IP_ADDRESS> and <IP_ADDRESS> from the unicast discovery setting. As they are note reachable by the plugin.

Closing since I am sure this has been fixed


"All registered campaigns" header capitalization

Header capitalization should be "All Registered Campaigns"

http://allready-mvp.azurewebsites.net/Campaign

I can fix this.

Fixed in PR #310


BE AS CLEAR AND CONCISE AS POSSIBLE.
describe the bug
what is the bug - what happens?
npm comes back with an error after trying to run.
expected behaviour
why is this a bug - what should be happening?
Should install successfully.
screenshots
if applicable, add screenshots of your problem.

platform
what OS are you using? e.g. windows 7, windows 10, WSL, ubuntu, arch linux, macOS
Windows 10

does v0.8.3 fix this?

No the 0.8.3 is leaving same error for me.

Notion app isn't even opening after the error.

yes, although I had to delete the files from the npm folder regarding this project (I did this with the v0.8.2 update too and it didn't work)
on the v0.8.1 it updated without this error or the need to delete files

yeah, the v0.8.2 update was a bit broken...
@Crimson723 what platform are you on? try doing npm remove -g notion-enhancer and then npm i -g notion-enhancer.

did you delete the files in the npm folder and try again? @Crimson723
that solved the issue for me, updated fine and the app is up and running (just have to reapply settings after)

Yeah. clearing the npm folder worked for me too.


chore(deps): update terraform-module

This PR contains the following updates:

Package
Type
Update
Change

terraform-ibm-modules/powervs-infrastructure/ibm (source)
module
minor
4.10.0 -> 4.11.0

terraform-ibm-modules/powervs-workspace/ibm (source)
module
minor
1.12.0 -> 1.13.0

Release Notes

terraform-ibm-modules/terraform-ibm-powervs-infrastructure (terraform-ibm-modules/powervs-infrastructure/ibm)
v4.11.0
Compare Source
Features

switch tor01 and us-south DC to PER DC(#825) (1657f21)
Provided SLES SAP DEV option in Quickstart t-shirt size

Warning :warning:  :warning:   :warning:

If solution was deployed using previous versions in PowerVS zone tor01 or 'us-south', please do not update to this version as it will corrupt your landscape. Use this solution for new deployments in tor01 or 'us-south', region. If deployed in other powervs_zone it can be upgraded without any issue.

terraform-ibm-modules/terraform-ibm-powervs-workspace (terraform-ibm-modules/powervs-workspace/ibm)
v1.13.0
Compare Source
Features

switch tor01 and us-south DC to PER DC (#118) (16261d0)

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

/run pipeline

:tada: This PR is included in version 1.11.0 :tada:
The release is available on:

GitHub release
v1.11.0

Your semantic-release bot :package::rocket:


Sequence Conditions

A sequence has some implicit conditions. For instance, if you want to quaff a potion you have to HAVE a potion. Sequences should have a list of conditions that determine if the sequence can be ran at all.
Add a CanProcess() method to sequences that have the same inputs as Process() but returns a bool whether process can be called with the given inputs.

Here is an alternate way to go about this. Add a method to Sequence to check preconditions. The method will look at all sequence items until there is a dependency on another item and see if any conditions on that item fails. If so we can assume the sequence as a whole cannot be ran.

The implementation went like this. If a condition doesn't specify a sequence item it will always be checked, even if doing a sequence-level check.


Restoring takes forever

I git-pulled, cleaned and started building few hours ago and it still haven't finished. It is stuck on restoring packages. I'm not sure if this is nuget or this repo bug. I have dotnet cli on my env path - not sure if this is related.

Restore is usually pretty verbose about the time it takes for each http request. Do you have that log?

Hmm, is there any environmental variable I can set to see verbose output? This is what I see right now:
x:\oss\corefxlab>build
  Restoring build tools...
  Restoring all packages...

Nvm the question /v:d works just fine. I'm building again and see if it is stuck or just taking insanely long (2h is enough though...)

I don't know - probably some transient or intermittent issue, can't repro it - closing


Gate call to probability distribution end point

Description
Since the newSDKEndPoints flights was removed under the PR https://github.com/microsoft/responsible-ai-toolbox/pull/1532/files, we need to gate the call to probability distribution end point under the flag IfEnableLargeData.
Checklist

[ ] I have added screenshots above for all UI changes.
[ ] I have added e2e tests for all UI changes.
[ ] Documentation was updated if it was needed.

Codecov Report

Merging #1839 (aee88eb) into main (d89b03a) will increase coverage by 5.15%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main    #1839      +/-   ##
==========================================
+ Coverage   73.84%   79.00%   +5.15%
==========================================
  Files          25       19       -6
  Lines        1277     1324      +47
==========================================
+ Hits          943     1046     +103
+ Misses        334      278      -56

Flag
Coverage Δ

unittests
79.00% <ø> (+5.15%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

..._test_utils/datasets/tabular/tabular_data_utils.py

...t_utils/rai_test_utils/models/lightgbm/__init__.py

...test_utils/models/lightgbm/lightgbm_model_utils.py

rai_test_utils/rai_test_utils/datasets/__init__.py

..._utils/rai_test_utils/datasets/tabular/__init__.py

...i_test_utils/models/sklearn/sklearn_model_utils.py

...i_test_utils/models/xgboost/xgboost_model_utils.py

...st_utils/rai_test_utils/models/sklearn/__init__.py

...st_utils/rai_test_utils/models/xgboost/__init__.py

raiwidgets/raiwidgets/__init__.py
100.00% <0.00%> (ø)

... and 2 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Do over the websocket transport

Unify client and server logic (no code sharing yet)
Removed use of cancellation tokens to communicate shutdown and instead used the pipe reader and socket abort.
Added CloseTimeout to HttpOptions

I started looking at this because of a test failure with the following error in a test:
[00:05:19] [xUnit.net 00:00:13.0999990]         | TestLifetime Information: Finished test InvokeNonExistantClientMethodFromServer_messagepack_WebSockets_default in 0.0684804s
[00:05:19] [xUnit.net 00:00:13.1268739]     Microsoft.AspNetCore.SignalR.Client.FunctionalTests.HubConnectionTests.InvokeNonExistantClientMethodFromServer(protocol: MessagePackHubProtocol { Name = "messagepack", SerializationContext =
[00:05:19] SerializationContext { Compatibi
[00:05:19] lityOptions = SerializationCompatibilityOptions { ... }, DefaultCollectionTypes = DefaultConcreteTypeRepository { ... }, DefaultDateTimeConversionMethod = Timestamp, DictionarySerlaizationOptions = DictionarySerlaizationOptions
[00:05:19] { ... }, EnumSerializationMethod = ByName, ... }, Type = Binary }, transportType: WebSockets, path: "/dynamic") [FAIL]
[00:05:19]
[00:05:19] [xUnit.net 00:00:13.1270787]       System.Net.WebSockets.WebSocketException : The 'System.Net.WebSockets.InternalClientWebSocket' instance cannot be used for communication because it has been transitioned into the 'Aborted' state.
[00:05:19] [xUnit.net 00:00:13.1271324]       ---- System.Threading.Tasks.TaskCanceledException : A task was canceled.
[00:05:19] [xUnit.net 00:00:13.1273979]       Stack Trace:
[00:05:19] [xUnit.net 00:00:13.1274872]            at System.Net.WebSockets.WebSocketBase.ThrowIfAborted(Boolean aborted, Exception innerException)
[00:05:19] [xUnit.net 00:00:13.1275419]            at System.Net.WebSockets.WebSocketBase.ThrowIfConvertibleException(String methodName, Exception exception, CancellationToken cancellationToken, Boolean aborted)
[00:05:19] [xUnit.net 00:00:13.1275898]            at System.Net.WebSockets.WebSocketBase.<ReceiveAsyncCore>d__45.MoveNext()
[00:05:19] [xUnit.net 00:00:13.1276267]         --- End of stack trace from previous location where exception was thrown ---
[00:05:19] [xUnit.net 00:00:13.1276699]            at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
[00:05:19] [xUnit.net 00:00:13.1277120]            at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
[00:05:19] [xUnit.net 00:00:13.1277631]         C:\projects\signalr\src\Microsoft.AspNetCore.Sockets.Client.Http\WebSocketsTransport.cs(114,0): at Microsoft.AspNetCore.Sockets.Client.WebSocketsTransport.<ReceiveMessages>d__16.MoveNext()
[00:05:19] [xUnit.net 00:00:13.1278121]         --- End of stack trace from previous location where exception was thrown ---
[00:05:19] [xUnit.net 00:00:13.1278556]            at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
[00:05:19] [xUnit.net 00:00:13.1278975]            at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
[00:05:19] [xUnit.net 00:00:13.1279461]         C:\projects\signalr\src\Microsoft.AspNetCore.Sockets.Client.Http\WebSocketsTransport.cs(231,0): at Microsoft.AspNetCore.Sockets.Client.WebSocketsTransport.<StopAsync>d__19.MoveNext()
[00:05:19] [xUnit.net 00:00:13.1279867]         --- End of stack trace from previous location where exception was thrown ---
[00:05:19] [xUnit.net 00:00:13.1280255]            at System.IO.Pipelines.PipeCompletion.ThrowFailed()
[00:05:19] [xUnit.net 00:00:13.1280637]            at System.IO.Pipelines.Pipe.GetResult(ReadResult& result)
[00:05:19] [xUnit.net 00:00:13.1281065]            at System.IO.Pipelines.Pipe.System.Threading.IAwaiter<System.IO.Pipelines.ReadResult>.GetResult()
[00:05:19] [xUnit.net 00:00:13.1281520]         C:\projects\signalr\src\Microsoft.AspNetCore.Sockets.Client.Http\HttpConnection.cs(390,0): at Microsoft.AspNetCore.Sockets.Client.HttpConnection.<ReceiveAsync>d__50.MoveNext()
[00:05:19] [xUnit.net 00:00:13.1281915]         --- End of stack trace from previous location where exception was thrown ---
[00:05:19] [xUnit.net 00:00:13.1282319]            at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
[00:05:19] [xUnit.net 00:00:13.1282800]            at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
[00:05:19] [xUnit.net 00:00:13.1283278]         C:\projects\signalr\test\Microsoft.AspNetCore.SignalR.Tests.Utils\TaskExtensions.cs(0,0): at System.Threading.Tasks.TaskExtensions.<OrTimeout>d__4`1.MoveNext()
[00:05:19] [xUnit.net 00:00:13.1283681]         --- End of stack trace from previous location where exception was thrown ---
[00:05:19] [xUnit.net 00:00:13.1284087]            at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
[00:05:19] [xUnit.net 00:00:13.1284523]            at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
[00:05:19] [xUnit.net 00:00:13.1284914]            at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
[00:05:19] [xUnit.net 00:00:13.1285406]         C:\projects\signalr\test\Microsoft.AspNetCore.SignalR.Client.FunctionalTests\HubConnectionTests.cs(282,0): at Microsoft.AspNetCore.SignalR.Client.FunctionalTests.HubConnectionTests.<InvokeNonExistantClientMethodFromServer>d__8.MoveNext()

I still haven't found a great way to share this code (maybe a shared file with stub methods for the logs).

WebSocketsTransport is looking more and more like Kestrel's SocketConnection :)
I expect a lot more convergence as the refactoring continues.
@davidfowl By the way, did you see the peer-to-peer sample I wrote based on its code?
I'm not sure what the next step is... (The final one would be for that sample to be based on the Protocols abstraction.)

🆙 📅

🆙 📅


tests: adjust threshold in test_partial_evict_tenant

Problem
This test was destabilized by https://github.com/neondatabase/neon/pull/8431.  The threshold is arbitrary & failures are still quite close to it.  At a high level the test is asserting "eviction was approximately fair to these tenants", which appears to still be the case when the abs diff between ratios is slightly higher at ~0.6-0.7.
Summary of changes

Change threshold from 0.06 to 0.065.  Based on the last ~10 failures that should be sufficient.

Checklist before requesting a review

[ ] I have performed a self-review of my code.
[ ] If it is a core feature, I have added thorough tests.
[ ] Do we need to implement analytics? if so did you add the relevant metrics to the dashboard?
[ ] If this PR requires public announcement, mark it with /release-notes label and add several sentences in this section.

Checklist before merging

[ ] Do not forget to reformat commit message to not include the above checklist

I am however surprised that the layer stats could had done this more flaky.


Compliation error for test case riscv_rand_instr_test with instr_cnt of 200000

Hi,
I changed instr_cnt to 200000 in file ./yaml/base_testlist.yaml. Now ASM files are being genegerated but compilation is throwing error(linker error).
Please kindly tell me, what is that I am doing wrong.
Command to Run is,
$python3 run.py --custom_target ./target/rv64im --isa rv64im --mabi lp64 --test riscv_rand_instr_test                --simulator questa
The report generated by riscv-dv is below for riscv_rand_instr_test test case.
Mon, 14 Sep 2020 10:19:24 INFO     Creating output directory: out_2020-09-14
Mon, 14 Sep 2020 10:19:24 INFO     Processing regression test list : ./target/rv64im/testlist.yaml, test: riscv_rand_instr_test
Mon, 14 Sep 2020 10:19:24 INFO     Processing regression test list : /home/ariane/tandem/test_vectors/riscv-dv/target/rv32imc/testlist.yaml, test: riscv_rand_instr_test
Mon, 14 Sep 2020 10:19:24 INFO     Processing regression test list : /home/ariane/tandem/test_vectors/riscv-dv/yaml/base_testlist.yaml, test: riscv_rand_instr_test
Mon, 14 Sep 2020 10:19:24 INFO     Found matched tests: riscv_rand_instr_test, iterations:2
Mon, 14 Sep 2020 10:19:24 INFO     Processing simulator setup file : /home/ariane/tandem/test_vectors/riscv-dv/yaml/simulator.yaml
Mon, 14 Sep 2020 10:19:24 INFO     Found matching simulator: questa
Mon, 14 Sep 2020 10:19:24 INFO     Building RISC-V instruction generator
Mon, 14 Sep 2020 10:19:40 INFO     Running RISC-V instruction generator
Mon, 14 Sep 2020 10:19:40 INFO     Generating 2 riscv_rand_instr_test
Mon, 14 Sep 2020 10:19:40 INFO     Running riscv_rand_instr_test with 1 batches
Mon, 14 Sep 2020 10:19:40 INFO     Running riscv_rand_instr_test, batch 1/1, test_cnt:2
Mon, 14 Sep 2020 10:27:26 INFO     Compiling out_2020-09-14/asm_tests/riscv_rand_instr_test_0.S
/tmp/ccKK42Yk.o: In function mepc_setup': (.text+0x4c): relocation truncated to fit: R_RISCV_JAL against init_machine_mode'
/home/ariane/tandem/toolchain/lib/gcc/riscv64-unknown-elf/7.2.0/../../../../riscv64-unknown-elf/bin/ld: final link failed: Symbol needs debug section which does not exist
collect2: error: ld returned 1 exit status
Traceback (most recent call last):
File "run.py", line 1038, in
main()
File "run.py", line 1020, in main
args.gcc_opts, args.debug)
File "run.py", line 381, in gcc_compile
run_cmd_output(cmd.split(), debug_cmd = debug_cmd)
File "/home/ariane/tandem/test_vectors/riscv-dv/scripts/lib.py", line 190, in run_cmd_output
raise exc
File "/home/ariane/tandem/test_vectors/riscv-dv/scripts/lib.py", line 187, in run_cmd_output
output = subprocess.check_output(cmd)
File "/usr/lib/python3.6/subprocess.py", line 356, in check_output
**kwargs).stdout
File "/usr/lib/python3.6/subprocess.py", line 438, in run
output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['/home/ariane/tandem/toolchain/bin/riscv64-unknown-elf-gcc', '-static', '-mcmodel=medany', '-fvisibility=hidden', '-nostdlib', '-nostartfiles', 'out_2020-09-14/asm_tests/riscv_rand_instr_test_0.S', '-I/home/ariane/tandem/test_vectors/riscv-dv/user_extension', '-T/home/ariane/tandem/test_vectors/riscv-dv/scripts/link.ld', '-o', 'out_2020-09-14/asm_tests/riscv_rand_instr_test_0.riscv', '-march=rv64im', '-mabi=lp64']' returned non-zero exit status 1.
Thanks in advance

Hi @suhasskrishanmurthy thanks for opening this issue. This issue is due to some incorrect jump behavior in the generator, I will be preparing a fix.

Hi @suhasskrishanmurthy can you confirm whether this error is gone or is still appearing? Thanks.

Hi @udinator  yes the issue is resolved. Thanks for the fix.
Can You tell ,Maximum value of instr_cnt, that we can assign? right now till 300000 instr is working fine.

I think 300000 is already a fairly large number. I'd prefer to have smaller instruction count per test and run the test with more iterations. This could make the test fast to generate and simulate.


Compile instructions and others

Hi @rajkumaar23
This is an excellent idea. I wonder if you can add additional instructions on compiling the project and generating .jar for anyone to develop and contribute.
Also, add the Contribution.md file. This will help people to contribute more to this work.
Chat ID Bot - have you checked the privacy of this chat id bot? Why do we need this bot to get your telegram user id? Isn't this available by looking at your profile already?

This is an excellent idea. I wonder if you can add additional instructions on compiling the project and generating .jar for anyone to develop and contribute.
Also, add the Contribution.md file. This will help people to contribute more to this work.

Yes, I will add instructions for building the app from source.

Chat ID Bot - have you checked the privacy of this chat id bot? Why do we need this bot to get your telegram user id? Isn't this available by looking at your profile already?

No, I am not sure of the privacy policy of that bot, however you are not sharing anything private to that bot in order to get your user ID. Can you think of a possible privacy violation in this case? 🤔

Unfortunately, the chat_id which is an integer does not get displayed on our user profile and it is what the /sendMessage API endpoint expects. It does not support the Telegram usernames which can be found on our profile.


Bump bundle lib to 0.1.8

Bring bugfixes from bundle-lib PRs into the broker:

https://github.com/automationbroker/bundle-lib/pull/82
https://github.com/automationbroker/bundle-lib/pull/90
https://github.com/automationbroker/bundle-lib/pull/85
https://github.com/automationbroker/bundle-lib/pull/96

Not sure what is going on with coveralls. @eriknelson or @jmrodri could you take a look at this PR, make sure it's sane?

Waiting on https://github.com/automationbroker/bundle-lib/pull/96

ACK


Issue with Alpaca

Hi,
I'm trying to play with AlpacaPaperTrading and this is my env:
    "ticker_list" : TICKERS,
    "time_interval" : "5Min",
    "drl_lib" : "stable_baselines3",
    "agent" : "ppo",
    "cwd" : './' + config.TRAINED_MODEL_DIR + '/trained_ppo.zip',
    "net_dim" : 2 ** 9,
    "state_dim" : state_space,
    "action_dim" : stock_dimension,
    "API_KEY" : ALPACA_API_KEY,
    "API_SECRET" : ALPACA_API_SECRET,
    "APCA_API_BASE_URL" : ALPACA_API_URL,
    "tech_indicator_list" : TECHNICAL_INDICATORS_LIST,
    "turbulence_thresh" : 70,
    "max_stock" : PORTFOLIO_STOCK_HMAX,
    "latency" : None

and getting this error:
$ AlpacaPaperTrading.run(trade_env)

Waiting for market to open...
Market opened.
Succesfully add technical indicators
Successfully transformed into array
4

Exception in thread Thread-20:
Traceback (most recent call last):
  File "/usr/lib/python3.7/threading.py", line 926, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.7/threading.py", line 870, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/local/lib/python3.7/dist-packages/finrl/neo_finrl/env_stock_trading/env_stock_papertrading.py", line 197, in trade
    action = self.model.predict(state)[0]
  File "/usr/local/lib/python3.7/dist-packages/stable_baselines3/common/base_class.py", line 540, in predict
    return self.policy.predict(observation, state, mask, deterministic)
  File "/usr/local/lib/python3.7/dist-packages/stable_baselines3/common/policies.py", line 323, in predict
    observation, vectorized_env = self.obs_to_tensor(observation)
  File "/usr/local/lib/python3.7/dist-packages/stable_baselines3/common/policies.py", line 240, in obs_to_tensor
    vectorized_env = is_vectorized_observation(observation, self.observation_space)
  File "/usr/local/lib/python3.7/dist-packages/stable_baselines3/common/utils.py", line 357, in is_vectorized_observation
    return is_vec_obs_func(observation, observation_space)
  File "/usr/local/lib/python3.7/dist-packages/stable_baselines3/common/utils.py", line 242, in is_vectorized_box_observation
    + "or (n_env, {}) for the observation shape.".format(", ".join(map(str, observation_space.shape)))
ValueError: Error: Unexpected observation shape (47,) for Box environment, please use (41,) or (n_env, 41) for the observation shape.

What am I missing?
Thanks

I think this error is usually because the state dimension of the pre-trained agent is different from that in the environment. You may have a check.

I'm must be dumb, this is what I have:
$ print(alpaca_kwargs)

{'ticker_list': ['AAPL', 'MSFT', 'AMZN', 'GOOGL'], 'time_interval': '5Min', 'drl_lib': 'stable_baselines3', 'agent': 'ppo', 'cwd': './trained_models/trained_ppo.zip', 'net_dim': 512, 'state_dim': 41, 'action_dim': 4, 'API_KEY': 'xxx', 'API_SECRET': 'xxx', 'APCA_API_BASE_URL': 'https://paper-api.alpaca.markets', 'tech_indicator_list': ['macd', 'boll_ub', 'boll_lb', 'rsi_30', 'cci_30', 'dx_30', 'close_30_sma', 'close_60_sma'], 'turbulence_thresh': 70, 'max_stock': 100, 'latency': None}

I have no idea how I get 47 dimensions here.

I have checked the state settings in AlpacaPaperTrading. The state is given by
 state = np.hstack((amount,                     turbulence,                     self.turbulence_bool,                     price * scale,                     self.stocks * scale,                     self.stocks_cd,                     tech,                     )).astype(np.float32)
The state dimension should be 47 in this paper trading environment.
1 (amount) + 1(turbulence) + 1(turbulence_bool) + 4(price) + 4(self.stocks) + 4(self.stocks_cd) + 4*8(tech) = 47.
So I think the problem is that the state settings in your training environment are different from those in the paper trading environment. You can change either one. As long as the environment settings in training and trading envs are the same, it should work.

Thanks a lot, I missed that & it's all good now. Ty


search for documentation area

Add a feature to search through the pages of the created website.
Maybe even just for Nue's documentation area (for now).

This is on the back of my mind. Similar to RSS feed. We should generate a search-index.json with h1, h1 + p, h2, h3, h4 information on it everytime the size is pushed to production. The search widget would use this data to find what user is looking for.

I've seen somewhere where Minisearch was used: https://lucaong.github.io/minisearch/
Not sure if we would use it, but maybe it inspires.
Would have to check it out myself, just remembered it, (probably also) because it is relatively small and has no dependencies.

Keeping in mind that Nue is pushing back against the "just fetch a massive bundle of data to the browser up front whether the user needs it or not" way of building web sites, I would argue that an in-memory clientside search is a poor fit.
The 'Nue Way(tm)' is more like:

Download up front only what is needed immedaitely
Fetch on-demand and just-in-time what may be needed later
Don't introduce moving parts (servers, services) if a static solution exists
If you can buy page latency with build time, you probably should

So maybe the way to add search is to build an index, split it into chunks, and load the chunks on demand. I am using a very similar approach on a live web site and it's incredibly performant.
Building the index: You'll want to generate two things, an article lookup file:
id,title,slug
1,Understanding Nue,/docs/how-it-works.html
2,Content-first approach in Nue,/docs/content.html

(for bonus points, note that the ID column can be dropped since it's just the line number)
and the search index itself. For simplicity, we will search words individually rather than n-grams, we'll have no fuzzy matching, and we will search by prefix only. That is:
Searching "pro" will return articles containing "progressive" but neither "pork" nor "improv"
Now, at build time, we will construct the article lookup as a list and the search index as a simple lookup table from search term to 10 article IDs (line numbers). Pseudocode:
Building the index: You'll want to generate two things, an article lookup file with titles and slugs:

```json
{"articles":[
    {"t":"Understanding Nue","s":"/docs/how-it-works.html"},
    {"t":"Content-first approach in Nue","s":"/docs/content.html"}
]}

(note that we don't need an ID field since we can just use the array index)
and the search index itself. For simplicity, we will search words individually rather than n-grams, we'll have no fuzzy matching, and we will search by prefix only. That is:
Searching "pro" will return articles containing "progressive" but neither "pork" nor "improv"
Now, at build time, we will construct the article lookup as a list and the search index as a simple lookup table from search term to 10 article IDs (i.e. array index pointers). Pseudocode:
const articles = getArticles();
let articleLookup = articles.map(({slug, title}) => ({title, slug}));
let searchIndex = Object.create(null);

// Helper: Lowercase, strip special chars, split by whitespace
const tokenize = text => text.toLowerCase().replace(/[^a-z0-9\s]/g, '').split(/\s+/).filter(Boolean);

let prefixCountPerArticle = Object.create(null);  // To calculate TF
for (const [articleId, { title, content }] of articles.entries()) {
    const words = tokenize(title + " " + content);
    let localPrefixCount = Object.create(null);

    for (let word of words) {
        // Index prefixes of 3..10 characters
        const maxPrefixLength = Math.min(word.length, 10);
        for (let i = 3; i <= maxPrefixLength; i++) {
            let prefix = word.slice(0, i);
            if (!localPrefixCount[prefix]) localPrefixCount[prefix] = 0;
            localPrefixCount[prefix] += 1; // Count term frequency in this article
        }
    }
    prefixCountPerArticle[articleId] = localPrefixCount;
}

// We now have the prefix counts per article for every prefix. This allows us to
// implement TF-IDF ranking of results.

// Calculate Inverse Document Frequency (IDF)
let docFrequency = Object.create(null);
for (const counts of Object.values(prefixCountPerArticle)) {
    for (const prefix of Object.keys(counts)) {
        if (!docFrequency[prefix]) docFrequency[prefix] = 0;
        docFrequency[prefix] += 1;
    }
}

// Calculate TF-IDF and build final search index
for (const [articleId, prefixCounts] of Object.entries(prefixCountPerArticle)) {
    for (const [prefix, tf] of Object.entries(prefixCounts)) {
        const idf = Math.log(articles.length / docFrequency[prefix]);
        const tfidf = tf * idf;

        if (!searchIndex[prefix]) searchIndex[prefix] = [];
        searchIndex[prefix].push({ articleId: parseInt(articleId), score: tfidf });
    }
}

// Keep only top 10 articles for each prefix based on TF-IDF score
for (const prefix in searchIndex) {
    searchIndex[prefix] = searchIndex[prefix]
        .sort((a, b) => b.score - a.score)  // Sort by score, descending
        .slice(0, 10)                       // Keep top 10
        .map(({ articleId }) => articleId); // Retain only article IDs
}

That's a good start. That allows us to create a 'live search' that updates as the user types their search term, beginning at 3 characters. We will fetch the articleLookup as soon as the search box gets focus, and the search index when they begin typing.
However, that index is too large to load on demand, and we don't really want to load the whole thing no matter what. So let's chunk it based on the first few characters of the search term. We want the chunks to have a reasonable size and be roughly equal in size; so let's take the three initial characters and hash them. I usually like the xxh3 for this, but it's wasteful to load xxh3 in the browser and we want a static solution, so we'll roll a basic hash function (it doesn't need to be cryptographically strong after all, it just needs to be small and fast). Here goes:
const NUM_CHUNKS = 50;
let chunks = Array.from({ length: NUM_CHUNKS }, () => Object.create(null));

// Helper: very simple hash using the first 3 characters of the input string
// and modulo for the chunk index
const basicHash = str => [...str.slice(0, 3)].reduce((hash, c) => (hash * 31 + c.charCodeAt(0)) % NUM_CHUNKS, 0);

for (const [prefix, articleIds] of Object.entries(searchIndex)) {
    const hashValue = basicHash(prefix);
    chunks[hashValue][prefix] = articleIds; // Add prefix entries to the chunk
}

// Serialize each chunk to a separate file
for (let i = 0; i < NUM_CHUNKS; i++) {
    const chunkData = JSON.stringify(chunks[i]);
    saveToFile(`searchIndex_chunk_${i}.json`, chunkData); // saveToFile is a custom function
}

Now, for the browser side of things, when the user has typed three characters into the search box, we simply call the following code:
const NUM_CHUNKS = 50;
// Helpers
const tokenize = text => text.toLowerCase().replace(/[^a-z0-9\s]/g, '').split(/\s+/).filter(Boolean);
const basicHash = str => [...str.slice(0, 3)].reduce((hash, c) => (hash * 31 + c.charCodeAt(0)) % NUM_CHUNKS, 0);

async function loadChunk(prefix) {
    const hashValue = basicHash(prefix);
    const chunkData = await fetch(`/path/to/searchIndex_chunk_${hashValue}.json`).then(res => res.json());
    return chunkData[prefix] || []; // Return articles for the prefix or empty if not found
}

// The search itself
async function liveSearch(input) {
    if (input.length < 3) return [];

    // Tokenize the input to get individual words
    const words = tokenize(input).filter(word => word.length >= 3);
    if (words.length === 0) return [];

    // Fetch results for each word and combine
    const wordResults = await Promise.all(words.map(async word => {
        const prefix = word.slice(0, 3);
        const articleIds = await loadChunk(prefix); // Fetch chunk for each word
        return new Set(articleIds);
    }));

    // Intersect results to get articles that match all words
    let combinedResults = wordResults.reduce((acc, ids) => {
        if (acc === null) return ids; // Initialize with the first word's results
        return new Set([...acc].filter(id => ids.has(id))); // Intersection of sets
    }, null);

    // Lookup articles in articleLookup for display
    const results = Array.from(combinedResults || []).map(id => articleLookup[id]);
    return results;
}

All that is left then, is to display the results.


Display number of outgoing transactions instead of 0 amount on asset block

For assets if we have outgoing transaction we can display correct balance. In this case need to show "1 outgoing transaction " transaction instead of amount

Correct view.

All statements for incoming/outgoing transactions https://zpl.io/aX0qOdE

irrelevant


Broken icon on Windows 8.1 with png

This is a upstream issue with toaster but using a png image results in a broken/blank icon/image(large blank spot on the left-side) on Windows 8.1. png's works fine on Windows 10.

Based off the ./example/advanced.js:
var notifier = require('node-notifier');

notifier.notify({
  'title': 'Phil Coulson',
  'message': 'If I come out, will you shoot me? \'Cause then I won\'t come out.',
  'icon': __dirname + 'mlm.png'
});

Just a note from testing, the actual file format doesn't need to match the extension contrary to what to this blog post says.

This is my bad. Notice I forgot the leading slash when joining the paths 'icon': __dirname + 'mlm.png' vs the correct 'icon': __dirname + '/mlm.png' and is why path.join should be used. I was just piggybacking off the advanced example to quickly debug some things and overlooked it.
My initial reason for debugging was that notifications were not working on Windows 8.1 but worked fine everywhere else. It turns out that Windows 8.1 doesn't support file:///xxx urls while every other platform does. creating a separate issue for this


rights=drwxrwxrwt chmod parse error

Thanks for angular-filemanager. I was looking for a better file manager and finally found one.
I'm trying golang backend for angular-filemanager - https://github.com/kernel164/gofe
I get this error if rights=drwxrwxrwt
Error: Invalid chmod input data
    at new e (http://localhost:4000/static/angular-filemanager.min.js:1:5013)
    at new l (http://localhost:4000/static/angular-filemanager.min.js:1:6860)
    at http://localhost:4000/static/angular-filemanager.min.js:1:25201
    at Array.map (native)
    at http://localhost:4000/static/angular-filemanager.min.js:1:25178
    at http://localhost:4000/static/angular/angular.min.js:112:182
    at m.$eval (http://localhost:4000/static/angular/angular.min.js:126:250)
    at m.$digest (http://localhost:4000/static/angular/angular.min.js:123:365)
    at m.$apply (http://localhost:4000/static/angular/angular.min.js:127:12)
    at l (http://localhost:4000/static/angular/angular.min.js:81:327)

You are using item with sticky bit, let me check if can support this...

Fixed, sticky-bit prop is converted to execute property. Maybe not the best resolution, but necessary to dont broke the app.


Revamp this module to use PubSub instead of HTTP

This makes it integrate much better into the existing XMPP ecosystem,
notably it makes it trivial to reach any of the hosts, instead of the
entire service.
The JSON format has been translated into XML instead of using XEP-0335,
simply to avoid having to fire another parser.
Instead of the previous polling system, this now registers a handler
for every event we are interested in, and publishes on any change.
Note that Prosody doesn’t yet support persistence of subscribers, so
users will have to subscribe again in case of server restart.  To avoid
this causing any issue, I recommend setting a timer per service, if the
client hasn’t received any pubsub#event in that time it will send a new
.

Merged in https://github.com/ThomasLeister/mod_serverinfo/commits/dev-pubsub.


Stuck at "installing and launching" after setting up firebase_messaging

Following the readme provided on the firebase_messaging github page, I set up everything for IOS and Android and works for Android. On the IOS side it's getting stuck at the "Installation and launching" part. I can notice that at some point during this part, the app tried to open but closes immediately. Is this a crash? How can I see a log of it?
I tried removing the pod master and setting it up back and I uninstalled the app from the phone.
This is the terminal where it gets stuck: https://imgur.com/a/R3QmUa5
Flutter doctor:
[✓] Flutter (Channel stable, v1.2.1, on Mac OS X 10.14.1 18B75, locale en-NL)
[✓] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
[✓] iOS toolchain - develop for iOS devices (Xcode 10.1)
[!] Android Studio (version 3.2)
✗ Flutter plugin not installed; this adds Flutter specific functionality.
✗ Dart plugin not installed; this adds Dart specific functionality.
[!] IntelliJ IDEA Ultimate Edition (version 2018.2.6)
✗ Flutter plugin not installed; this adds Flutter specific functionality.
✗ Dart plugin not installed; this adds Dart specific functionality.

@eduardmo can you re-run the command in verbose mode? that should tell us what it is getting stuck on:
flutter run -v

I figured it out. The mistake was on my end. I started the project using XCode and a simulator and the logs told me that I didn't put the GoogleServices-Info.plist. When I downloaded it, I only pasted it and it looks like I should've add it using Xcode. Thank you very much!


feat(pkg/cnab): docker driver support using host network

What does this change

Adds option to use host network to docker extension configuration

What issue does it fix
Related to https://github.com/deislabs/porter/issues/1079.  Lays the groundwork for using Porter with KinD k8s clusters.
Notes for the reviewer
Checklist

[x] Unit Tests
[x] Documentation
[x] Schema (porter.yaml) N/A

If this is your first pull request, please add your name to the bottom of our Contributors list. Thank you for making Porter better! 🙇♀

The change looks fine.
However, I have a question about when an author would know that the bundle requires host networking. I'm wondering (but am not really sure) if it's the case that the person deploying would know if host networking is needed, because of the infrastructure on which it's being deployed, but the bundle could work either way.
I am feeling out if it is really a scenario of the bundle author wants to be able to handle it when host networking needs to be turned on by whoever is deploying based on where it's being deployed but the bundle itself isn't really requiring that it must be deployed that way. If that's the case, Porter's current mechanism for allowing bundles to get higher levels of access (driven by the bundle author, then allowed by the porter user) needs to be expanded to support this scenario with less indirection of intent.
I'm guessing this is related to KinD. Can you briefly explain when the bundle author knows that their bundle must have host networking?

I'm wondering (but am not really sure) if it's the case that the person deploying would know if host networking is needed, because of the infrastructure on which it's being deployed, but the bundle could work either way.

That's exactly it.  This is a new case wherein the bundle installer may want to toggle a setting (say, enabling use of host networking) depending on underlying infrastructure -- it needn't/shouldn't be a hard-coded setting added to the bundle by the author.
How do we want to capture the work to enable install-time configuration?  For this feature specifically, we could update the driver code to enable host networking on the presence of a command (install, etc.) flag alone (and not require that the bundle have a docker extension required).  The flag could be the usual --allow-docker-host-access or a new one.
And/or, we might want a proposal around the general use case of allowing bundle installers to enable install-time configuration on a driver (mostly Docker at this time).  Besides enabling the host networking option on a Docker run command, I'd predict there might be use cases for mounting volumes, supplying env var values, etc. as well.

At the maintainer call, we decided to timebox looking into if we can trick kind into making a usable kubeconfig. If not we will add a client side flag that gives host networking access (using the hierarchy that other flags have https://porter.sh/configuration/). Maybe something like --use-host-network?

As @carolynvs mentioned, I believe we're going the route of configuring kind to enable Porter use (see https://github.com/deislabs/porter/pull/1138) rather than to add this host networking feature.  We can keep the branch around if we want to revisit this in the future.


fix: make default value an empty string instead of null

High-level description
What features does this change enable? What bugs does this change fix?
Corresponding DC/OS tickets (obligatory)
These DC/OS JIRA ticket(s) must be updated (ideally closed) in the moment this PR lands:
https://jira.mesosphere.com/browse/DCOS-45281
Related tickets (optional)
Other tickets related to this change:

DCOS_OSS- Foo the Bar so it stops Bazzing.

Checklist for all PRs

[ ] Added a comprehensible changelog entry to CHANGES.md or explain why this is not a user-facing change:
[ ] Included a test which will fail if code is reverted but test is not. If there is no test please explain here:
[ ] Read the DC/OS contributing guidelines
[ ] Followed relevant code rules Rules for Packages and Systemd

Checklist for component/package updates:
If you are changing components or packages in DC/OS (e.g. you are bumping the sha or ref of anything underneath packages), then in addition to the above please also include:

[ ] Change log from the last version integrated (this should be a link to commits for easy verification and review): example
[ ] Test Results: [link to CI job test results for component]
[ ] Code Coverage (if available): [link to code coverage report]

PLEASE FILL IN THE TEMPLATE ABOVE / DO NOT REMOVE ANY SECTIONS ABOVE THIS LINE
Instructions and review process
What is the review process and when will my changes land?
All PRs require 2 approvals using GitHub's pull request reviews.
Reviewers should be:

Developers who understand the code being modified.
Developers responsible for code that interacts with or depends on the code being modified.

It is best to proactively ask for 2 reviews by @mentioning the candidate reviewers in the PR comments area. The responsibility is on the developer submitting the PR to follow-up with reviewers and make sure a PR is reviewed in a timely manner. Once a PR has 2 ship-it's, no red reviews, and all tests are green it will be included in the next train.

@mesosphere-mergebot bump-ee

@mesosphere-mergebot label [Ready for Review]

@mesosphere-mergebot override-status teamcity/dcos/test/dcos-docker/static https://jira.mesosphere.com/browse/DCOS_OSS-4531

@mesosphere-mergebot override-status teamcity/dcos/test/dcos-docker/static https://jira.mesosphere.com/browse/DCOS-41896

@mesosphere-mergebot override-status teamcity/dcos/test/dcos-docker/static https://jira.mesosphere.com/browse/DCOS_OSS-4531

@mesosphere-mergebot label ship it

@mesosphere-mergebot merge-it


Support question - where does req.fresh come from

I am trying to work on this issue, this is the context:
https://github.com/expressjs/serve-static/issues/107#issuecomment-388875912
Looking at the codebase:
https://github.com/expressjs/express/blob/master/lib/response.js#L206
Basically need to figure out how etags would work with a cached file in memory. According to the current code, if req.fresh is truthy, we can send a 304, but where is req.fresh being set?

@ORESoftware
when you use "if (req.fresh)", trigger the code request.js#464
this will compute the bool of fresh

ah yes, thanks


sleep and keeping awake the imu

Hi Mateusz,
I come across another problem, doesnt seem a problem in your code but thought to ask, if yourself or anybody know how to resolve. The problem is, if I increase the sleep time or there is a delay of more than 300+ms ( I guess ) then angles/quaternions provide wrong results. So for example, with the delay, if I am at '0 degree pitch', move the system to 45 degree it will show something between 2-10 degrees.  Commonsense ( at least mine ) says, if I take a read when the imu is at 45 degree it should say something near 45 even if I take read after 500ms.
My guess is, there is some sleep problem, the imu gets to sleep and after sleep its data is not accurate, which is understandable. So if I am correct, how not to let IMU sleep at all ? I googled and found, how to wake it but couldnt find how not to let it sleep at all.  I am passing the ICM20948 data through my UKF too, which gives similar results so nothing is wrong with Madgwick. Also, above I am saying angles/quaternions, but they are calculated values so the real problem might be with accelerometer / gyro or magno.
Update1: I tried to write 0x00 and 0xBF to REG_ADD_PWR_MGMT_1 to keep the chip awake and it didnt work. The chip is very slow to respond to angle changes. It gets to the updated position but takes seconds to update. I am not sure, but when I said above that the angle goes upto 2-10 degress, that might have been due to slow response to change.
Thanks alot.
Zaheeroz

Hi Zaheeroz,
It depends on the speed of the motion. Bear in mind, IMU provides rates of change (gyro - rad/s, acc - m/s/s). The only exception is a magnetometer, but it is only good for heading estimation (i.e. yaw) in an environment that does not impact the Earth's magnetic field.
To obtain quaternions and angles, you need to integrate these measurements. AHRS or any Kalman Filtering are example tools for the job. So when you perform the integration, you want to have as many sample points as possible. Imagine you make a rapid step change from 0 to 45 deg. Gyro would increase from 0 to some value and then come back to 0 when the motion is stopped. If your sample rate is low, you may end up without any sample points on that curve, leaving you with two measurements - 0 rad/s before the motion and 0 rad/s after the motion. From this perspective, there is no change in the orientation whatsoever. There is a whole theory about sampling analogue signals (here: motion).
The rule of thumb with IMU is to sample fast, usually at 100-500 Hz.
As for the IMU sleep, I don't think it can automatically go to sleep mode. According to the documentation, from what I read is that it enters sleep upon power-up. In the ICM20948::reset() we are already waking it up on line 368 and the only way to put the device to sleep would be to provide explicitly command it to do so. I believe that what you think about a possible sleep problem, is actually the infrequent sample rate discussed above.
Finally, apologies if I state the obvious, but remember that both gyro and acc have non-zero biases that drift (random walk). Madgwick takes that into account, but if you are implementing your own filter, you need to estimate them. In that case, having an additional sensor to correct IMU is handy. It is popular to use Inverse Kalman Filters that estimates errors rather than states. What you want to do, is to have an IMU on fast update rate, and other sensors to provide low-rate corrections for IMU errors (e.g. Visual Odometry, SLAM, or even Wheel Odometry in case of wheeled platforms.). IMU is problematic when stationary, because measurement errors can be strengthened during the integration, so having a separate sensor to tell you when you are stationary is very helpful (at this point you either don't estimate using IMU or you focus on estimating biases, but it can be also hard as measurement errors could corrupt the estimation).
I hope I clarified few things for you. In a nutshell, you want to sample IMU frequently but it is good to understand why you have to do it and how to integrate IMU in your application to minimise its errors.
Let me know if you still experience issues. I'm happy to help.
All the best,
Mateusz

Thanks Mateusz for your quick and detailed reply.

I understand what you said, and also I tested them, so there is no sleep problem.
Gyro is 'rate of angle change', agreed. However, when I run your ICM20948_app, without any (additional) delay and put the device at x-degree it keeps giving me that degree ( which is a correct response) however, it doesn't comply with the statement that Gyro gives 0 degree (rate)  after some time so the whole thing becomes 0 (because of integration ). It doesn't do that with your Madgwick implementation ( which again I think is as expected and correct ), however it goes to 0 with my Unscented Kalman Filter (UKF). So I was thinking something's wrong with my UKF.
I am using UKF to predict the state as well as the errors, my system is a UAV and I am teaching myself everything related so kinda alot for me to take-in.
So my question is : Why the Madgwick is not getting back to 0 when the system is lying down with an angle.
Thanks again really helpful.
Zaheeroz

It's really great that you are teaching yourself and I appreciate there is a lot in the world of UAV or robotics in general.
Regarding your question: "Why the Madgwick is not getting back to 0..." do you mean angle or rate?
If you place IMU at X-degree, the gyro rate should drop back to zero and because of the integration, your angle should be X (not zero, apologies if I confused you). Even then, your gyro may not show exactly zero, because of the noise. The mean value would be your bias which you need to estimate as well (Madgwick should take that into account but you need to include it in your UKF implementation). However, when using the Kalman filter you may get problems with observability because from one measurement you are trying to estimate two values: angle and bias.
I have a feeling that I did not fully understand your question, though...
Mateusz

I meant the angle of the Madgwick doesnt get back to 0 despite the rate is 0 at some point. and thats the behavior of  ICM20948_app atm, which is the required behavior.  I thought you were saying that as its integrating so at some point both rate and angle should get to 0. But its clear to me now that only rate gets to 0 not the angle.
However, I am unable so far to get the same behaviour from UKF, despite that UKF is very smooth, I am simulating the quaternion to see the change of angles and overall behaviour of the system.

Ok, I think we are getting there. The fact that the rate goes back to zero does not imply that the angle would go to zero as well. Gyro will give you a non-zero value when there is a motion. So when you move IMU from zero to X-degree, your gyro will bump up and then go back to zero when the motion stops at X-degree. If you integrate the area under the curve of a gyro (rad/s) against time (s) you should get your desired X (rad). What I mean in my previous post, was that if your sampling rate is low and thus you measure only gyro before the motion, and after the move, it would give you 0 rad/s for both measurements. Integrating these two would give you zero degree orientation. It is like driving a car: you start with zero velocity and when you stop your velocity is zero as well. But if you integrate it during your drive, you will get the total distance travelled.
I don't know what your mathematical model in UKF looks like, but if you are only integrating gyro, it may not be enough due to bias. The simplest assumption for how angle would look like is
angle[k+1] = angle[k] + dt * (angle_rate[k] + bias[k])
where
angle_rate[k] = measured_rate[k] + measurement_noise[k]
is your measurement with known covariance, and
bias[k+1] = bias[k] + process_noise[k]
is your bias driven by a process noise. You would need to arbitrarily select the covariance of this noise - it is always hard with process noise.
The problem is that you only measure angle_rate, where the bias is unobservable. What Madgwick does, it takes also an accelerometer and magnetometer (if available) into account to estimate this bias. You would need to replicate similar behaviour in your model or introduce another sensor that would give you orientation information, making the gyro bias observable.

You made many things very simple for me. I am sure I will fix them now :)
thanks alot and have a great day.
Zaheeroz


common signal handle

handle SIGINT&SIGTERM in class SignalState
use std::atomic instead of volatile sig_atomic_t

Nice cleanup. Ran the tests to check everything exits cleanly still and all good!

Nice cleanup. Ran the tests to check everything exits cleanly still and all good!


several improvements

PRs should be focused on a single task. This PR makes a few different changes and I can't approve any of them until they are all correct.

sorry for my laziness.

i would close this and make other prs


ParameterState: Call the handler once when parameters reference the same handler.

Description
Helps to optimize this case: https://github.com/MudBlazor/MudBlazor/pull/8381
I think this is the best solution as we do not use any reflection, which is very important when amount of components and variables increase with the ParameterState, it could create a bottleneck.
How Has This Been Tested?
New unit tests.
Visual, at least that we didn't break the existing components that use ParameterState
Types of changes

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

Checklist:

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

I have to warn about when you using lambda instead of the method, because it will optimize when the expression are equals for example:
RegisterParameter(nameof(Spacing), () => Spacing, () => _increaseCounter++);
RegisterParameter(nameof(Max), () => Max, () =>  _increaseCounter++);

The increase counter will be called once, when someone might expect that the counter would increase twice, but it will be once.
But if you use bools like this
RegisterParameter(nameof(Spacing), () => Spacing, () => _childrenNeedUpdates = true);
RegisterParameter(nameof(Max), () => Max, () => _childrenNeedUpdates = true);

Then it shouldn't be fine, since you don't need to set the same boolean twice.
@henon you can add this warning to documentation if you want.

at 4am got an great idea.
Instead of doing this:
var parameterChangeShouldFire = new HashSet<ParameterMetadata>(ParameterHandlerUniquenessComparer.Default);
var changedParams = _parameters.Where(parameter => parameter.HasHandler && parameter.HasParameterChanged(parameters)).ToList();

await baseSetParametersAsync(parameters);

foreach (var changedParam in changedParams)
{
	if (parameterChangeShouldFire.Add(changedParam.Metadata))
	{
		await changedParam.ParameterChangeHandleAsync();
	}
}

Which works great, but I can do just
#if NET8_0_OR_GREATER
        var parametersHandlerShouldFire = _parameters
            .Where(parameter => parameter.HasHandler && parameter.HasParameterChanged(parameters))
            .ToFrozenSet(ParameterHandlerUniquenessComparer.Default);
#else
        var parametersHandlerShouldFire = _parameters
            .Where(parameter => parameter.HasHandler && parameter.HasParameterChanged(parameters))
            .ToHashSet(ParameterHandlerUniquenessComparer.Default);
#endif

        await baseSetParametersAsync(parameters);

        foreach (var parameterHandlerShouldFire in parametersHandlerShouldFire)
        {
            await parameterHandlerShouldFire.ParameterChangeHandleAsync();
        }

With extending the ParameterHandlerUniquenessComparer and allowing to compare the IParameterComponentLifeCycle too.
This way we have only one collection, and we can use the FrozenSet for .net8 which is 15% faster, an optimization never hurts especially in such important part.

So I have to warn about when you using lambda instead of the method, because it will optimize when the expression are equals for example:

Oh and if you will do
RegisterParameter(nameof(Spacing), () => Spacing, OnParameterChanged());
RegisterParameter(nameof(Max), () => Max, () => OnParameterChanged());

Will also be considered different, but I think it's all fine compromises considering that this string expressions are generated at compilation, we could just cover this with documentation. After all if we really need we could trim it down with regex in future,

Yes, passing an anonymous func calling the handler method ()=>OnParameterChanged() is useless complication anyway. Passing a method group OnParameterChanged is the best way to register a shared change handler and I'll document it that way.

So I have to warn about when you using lambda instead of the method, because it will optimize when the expression are equals for example:
RegisterParameter(nameof(Spacing), () => Spacing, () => _increaseCounter++);
RegisterParameter(nameof(Max), () => Max, () =>  _increaseCounter++);

The increase counter will be called once, when someone might expect that the counter would increase twice, but it will be once.

This would indeed be quite unexpected. Maybe we only optimize when a method group is passed? We can recognize anonymous functions because they start with (\s*).

This would indeed be quite unexpected. Maybe we only optimize when a method group is passed? We can recognize anonymous functions because they contain =>.

Yeah, we can add this to "exclusion rule" if you'd like

updated the code

It works. I never doubted that it would ;)

public partial class AbcXyzTestComp : MudComponentBase
{
    public AbcXyzTestComp() : base() {
        // abc shared handler group
        _a=RegisterParameter(nameof(A), ()=>A, OnAbcChanged);
        _b=RegisterParameter(nameof(B), ()=>B, OnAbcChanged);
        _c=RegisterParameter(nameof(C), ()=>C, OnAbcChanged);
        // xyz shared handler group
        _x=RegisterParameter(nameof(X), ()=>X, OnXyzChanged);
        _y=RegisterParameter(nameof(Y), ()=>Y, OnXyzChanged);
        _z=RegisterParameter(nameof(Z), ()=>Z, OnXyzChanged);
    }

    private ParameterState<int> _a;
    private ParameterState<int> _b;
    private ParameterState<int> _c;
    private ParameterState<int> _x;
    private ParameterState<int> _y;
    private ParameterState<int> _z;

    private void OnAbcChanged()
    {
        AbcHandlerCallCount++;
    }

    private void OnXyzChanged()
    {
        XyzHandlerCallCount++;
    }

    public int AbcHandlerCallCount { get; private set; }
    public int XyzHandlerCallCount { get; private set; }

    [Parameter]
    public int A { get; set; }

    [Parameter]
    public int B { get; set; }

    [Parameter]
    public int C { get; set; }

    [Parameter]
    public int X { get; set; }

    [Parameter]
    public int Y { get; set; }

    [Parameter]
    public int Z { get; set; }

}

I'll add a test for the lambda exception in the afternoon

Thanks for the bUnit tests, I was kind of lazy to do them :sob:.

Wait you can use @bind-A="_a"
https://github.com/MudBlazor/MudBlazor/blob/ae68ac04d81504d1ead000689a3b84171d8c0ba9/src/MudBlazor.UnitTests.Viewer/TestComponents/Utilities/ParameterStateSharedHandlerTestComp.razor#L4
when there is actually no
[Parameter]
public EventCallback<int> AChanged { get; set; }

?
I always though it was necessary for two way binding? And it's the examples I always saw.
I learned something new today.

Thanks for the bUnit tests, I was kind of lazy to do them 😭.

No worries, I did promise to contribute the tests

Hmm, you are right, there is no need to use @bind- here, I'll remove it.

Oh don't worry, u can leave as it.
It was just I'm suprised that the EventCallback is not necessary to use this syntax, I always thought the opposite.

Do we merge? I don't think I have anything to add.

I think it's ready to merge

at 4am got an enlightenment.... Instead of doing this:
var parameterChangeShouldFire = new HashSet<ParameterMetadata>(ParameterHandlerUniquenessComparer.Default);
var changedParams = _parameters.Where(parameter => parameter.HasHandler && parameter.HasParameterChanged(parameters)).ToList();

await baseSetParametersAsync(parameters);

foreach (var changedParam in changedParams)
{
	if (parameterChangeShouldFire.Add(changedParam.Metadata))
	{
		await changedParam.ParameterChangeHandleAsync();
	}
}

Which works great, but I can just do:
#if NET8_0_OR_GREATER
        var parametersHandlerShouldFire = _parameters
            .Where(parameter => parameter.HasHandler && parameter.HasParameterChanged(parameters))
            .ToFrozenSet(ParameterHandlerUniquenessComparer.Default);
#else
        var parametersHandlerShouldFire = _parameters
            .Where(parameter => parameter.HasHandler && parameter.HasParameterChanged(parameters))
            .ToHashSet(ParameterHandlerUniquenessComparer.Default);
#endif

        await baseSetParametersAsync(parameters);

        foreach (var parameterHandlerShouldFire in parametersHandlerShouldFire)
        {
            await parameterHandlerShouldFire.ParameterChangeHandleAsync();
        }

With extending the ParameterHandlerUniquenessComparer and allowing to compare the IParameterComponentLifeCycle too. This way we have only one collection, and we can use the FrozenSet for .net8 which is 17% faster than the normal one because it's fixed size, an optimization never hurts especially in such important part.

Unfortunately, using a Frozenset on .NET 8 on IOS (for a maui hybrid app), makes the application crash atm when using AOT in combination with the interpreter. Until this is fixed, I'd propose using the normal hashset for .NET 8 as well.
see:
https://github.com/CommunityToolkit/Maui/issues/1752#issuecomment-1999990148
The workaround mentioned in this thread unfortunately makes the app crash completely.

Hi

Unfortunately, using a Frozenset on .NET 8 on IOS (for a maui hybrid app), makes the application crash atm when using AOT in combination with the interpreter. Until this is fixed, I'd propose using the normal hashset for .NET 8 as well.
see:
CommunityToolkit/Maui#1752 (comment)
The workaround mentioned in this thread unfortunately makes the app crash completely.

That's very unfortunate and big surprise that it's not working even with UseInterpreter.
I will probably fix it in this https://github.com/MudBlazor/MudBlazor/pull/8416 PR as I'm about to merge it anyway.

<MtouchLink>SdkOnly</MtouchLink>
<UseInterpreter>True</UseInterpreter>

If people will report this is working for them, I will probably not change to normal HashSet, because this project properties are a must for iOS when using with MudBlazor for smooth experience anyway. We use some reflection, and without UseInterpreter it will not work, and this is documented in our repository.
If people say it's still crashing, then obviously this will be immediately changed.

<UseInterpreter> works but completely disables AOT compilation. That is quite the performance regression.
<MtouchInterpreter> leaves AOT enabled, but includes the interpreter for all stuff that cannot be AOT compiled.
However, I can now attest that it is the combination of UseInterpreter and  that makes it fail. I did not have the conditions included. UseInterpreter is default in Debug builds, but not in Release builds.
So this statement works:
<PropertyGroup Condition="$(Configuration.Contains('Release')) And $(TargetFramework.Contains('ios'))">
	<MtouchInterpreter>-all,System.Collections.Immutable</MtouchInterpreter>
</PropertyGroup>

However this causes a crash:
<PropertyGroup>
	<MtouchInterpreter>-all,System.Collections.Immutable</MtouchInterpreter>
</PropertyGroup>

and this causes an exception (InvalidCastException)
<PropertyGroup>
	<MtouchInterpreter>-all</MtouchInterpreter>
</PropertyGroup>

UseInterpreter is default in Debug builds, but not in Release builds.

https://github.com/dotnet/maui/issues/13019

That is quite the performance regression

What are the performance regression except the startup? I'm sorry, but I cannot imagine full AOT to be prod ready in MAUI for now, more drawbacks than benefits. Once you start to use reflection, expression etc you will need to use UseInterpreter (at least it was year ago, hard to imagine that anything changed since then).

So this statement works (both in debug and in release):
<PropertyGroup Condition="$(Configuration.Contains('Release')) And $(TargetFramework.Contains('ios'))">
	<MtouchInterpreter>-all,System.Collections.Immutable</MtouchInterpreter>
</PropertyGroup>

Great, I think you should share it in the CommunityToolkit.

UseInterpreter is default in Debug builds, but not in Release builds.

dotnet/maui#13019

That is quite the performance regression

What are the performance regression except the startup? I'm sorry, but I cannot imagine full AOT to be prod ready in MAUI for now, more drawbacks than benefits. Once you start to use reflection, expression etc you will need to use UseInterpreter (at least it was the case a year ago, hard to imagine that anything changed since then).

UseInterpreter enables the interpreter and disables AOT compilation. Since iOS cannot JIT compile, this means that the entire application will be interpreted.
MtouchInterpreter will enable the interpreter for iOS only, and in addition will still allow AOT compilation. the -all indicates that all assemblies will be AOT compiled. System.Collection.Immutable will be interpreted (since it does not have the - in front of it.
<MtouchInterpreter>-all,System.Collections.Immutable</MtouchInterpreter>
see also:
https://learn.microsoft.com/en-us/dotnet/maui/macios/interpreter?view=net-maui-8.0


Pswd reset

Looks good. I modified it slightly and rebased. See
https://github.com/scionrep/scioncc/commit/376b108a7ba9290fe94d44ea3af0b0d49df46e33
https://github.com/scionrep/scioncc/commit/6f54811125853401382d4e10594b6260aec149b1


Updated style for plays page for mobile

Description
Fixed issue of play cards not taking up enough space in handheld devices.
Fixes #318
Type of change

[x] Bug fix (non-breaking change which fixes an issue)

How Has This Been Tested?
Tested on local machine.

@ammaaraslam The build fails due to this error
Failed to compile.
10:56:20.254 |
10:56:20.254 | static/css/main.f5808f37.css from Css Minimizer plugin
10:56:20.254 | Error: Unexpected '/'. Escaping special characters with \ may help.

Oh.. I'll fix it and push

@koustov please review this one.


Fix for #662

Fixes #662
Proposed Changes

This change fixes missing ' ' in ludown translate that was throwing off LUIS tokenization.

Testing
Updated tests

Pull Request Test Coverage Report for Build 1687

4 of 4 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 67.113%

Totals

Change from base Build 1661:
0.0%

Covered Lines:
3961

Relevant Lines:
5628

💛  - Coveralls


Proof of Concept: Use AWS Lambda to serve meta.json

Proof of concept to show that we can use Lambda as our API layer/server for UI team.

Initially serve up meta.json
Future APIs to retrieve entire tables via table_name

From Priscilla:
So checking out lambda and there are some challenges for developing it. I think the two big ones are code mgmt and testing locally.
Code management:
I’ve been playing around by editing in AWS GUI which is not the best approach for the real deal.  Essentially we have to create a workflow to zip up the code from git and deploy it to the server.
Local Testing:
Does not look easy to do. I'm going to investigate that a bit more but I think that could be problematic from a dev perspective if in order for an individual to update an endpoint they have to actually push it to the server
It is possible to create “test” instances that you can push up to first before deploying “for real”. I’m going to look at how hard it is to create the “deployment package” and upload it from the CLI to a test instance. But that doesn’t strike me as optimal either.
The other option is that we look at a framework that will take some of the “pain” out of creating a server. Serverless Framework is one.  It has a lot of big folks backing it but one challenge is that it is in beta.
More research notes to come.

@prisalex Looking into this more, here's some notes
Here are some additional options/notes for local testing:

Serverless looks pretty ready to use despite being in beta. Looks like it is set up to manage configuration and deployment, but doesn't do local testing. I saw one guy say they set up a staging environment for each developer, so 'local' testing occurs by each developer having their own sandbox environment. Since it's pay-per-command (instead of user) it should be OK for us to do this too if need be.
Bespoken Tools has a package to run Lambdas locally. Looks straightforward but simplistic.
Docker Lambda has docker images set up to replicate the AWS Lambda environment. It's unclear how to use this to test local API endpoints, though.

Other issues:

Lambda only offers Python 2.7 (sad face). All our current code is in 3.5.

Other options:

We could go ahead and go for a server. It's not too hard to create api frameworks using Flask or Django. My impression is that Flask is a bit simpler, but a few more people know Django (Django would be the better choice for a complex website with users, logins, etc.). I've made a basic website in Flask so I'm slightly more comfortable with it, but learning Django's not a bad idea. We should estimate how big a
Here's a full list of Python API creation options.

In short, Lambda is looking a bit trickier than I first thought, but still worth investigating those options especially serverless.

Ok, I have a test version of the API available.  Just do an HTTP GET like so and provide the tablename as a query param:
https://zjlpq5zz7e.execute-api.us-east-1.amazonaws.com/test/raw?tablename=acs_rent_upper
Some notes:

It returns a json version of the data that should correspond to the meta.json file.
I am currently limiting the output to 1000 rows because I suspect the performance is going to be abysmal for some or the larger tables and we will probably need to limit the queries.  The acs* tables are already 500K rows.   So trying to test performance myself with no limits first before opening up the API.
The URI is not permanent; this is on my local AMZ account until I get feedback and clean & check in the code.
You can connect to the postgres DB to see which tables are there.  If a tablename param is missing or doesn't exist, you'll get a 400 http status code.

UI devs, let me know if you have feedback!

Also, let me know if you find any bugs.  Just found one with the building_permits table because I didn't handle dates yet... blerg.

Fixed the issues with dates so all existing tables should be good to go :).  If you want to get the raw csv file, you can now get that by querying the manifest table and then concatenating s3_folder+filepath.

Couple bug notes:
@prisalex it looks like decimal formats are not serializing also. On the project table, 'proj_lat' and proj_lon are two examples, but it looks like all of the decimal fields are returning null.
On the dates, would it be better to return them as a JSON date format instead of a yyyy-mm-dd string? That can be converted to something prettier client-side, but then it doesn't have to be parsed to be calculated. @ostermanj and @ptgott what do you think?
FYI, currently we have the following data formats in our database. You can see this in the 'type' attribute of any field in meta.json.

text
decimal
integer
datestamp
timestamp

Usability note: Obviously this is a proof of concept, but as we start converting it to the real thing we should also try to apply REST format to the API methods instead of params, e.g.:
list all records: /api/<tablename>
individual building: /api/projects/<nlihc_id>
We'll also want to think about this with respect to the unique ids for some tables. For example, currently acs_median_rent does not have a single unique id for a row - the combo of census tract and unique_data_id (i.e. year of the data) make the unique id. For those, we may want to assign a unique id column, and/or make our rest API do something like:
/api/acs_median_rent/2015/<tract> and
/api/acs_median_rent/all/<tract>

Also - yes, let's keep the API limited for now. For the ACS tables, those will very soon get smaller as part of #152, when not only will we end up with just DC census tracts we'll also get one big table with a column for every census field. But, we do have other DC-only data sets that will be quite large - e.g. building permits,  police department events, 311 calls, especially since we'll be keeping a record of them over time.

@NealHumphrey I'm okay with either format! I'll let you know if I run into any issues with one format or another.

@ptgott I was thinking for example about the timeline viz, where dates are obviously used as numbers. In addition, it seems like it might be easier to go straight from the JSON timestamp to whatever display format we want (Oct. 26 vs 10-26 vs. October 26), which would be more flexible to changes. But then we can never use the datestamp directly (seconds since 1970 isn't exactly easily readable). For something like a data export function that we know we'll want, we'll need to convert that.

@NealHumphrey
Is the intention with most of the (geo)JSON generally to process the values on the server and use them directly within the JS? I'd be in favor of using that approach with dates as well for consistency. At the same time, since we are using them as numbers within a D3 chart, that approach might give us unneeded difficulties. @wassona since you worked on the timeline chart, what do you think?

Fixed the issue with decimals; they should be outputting now.  Let me know thoughts on date & timestamp format...

In terms of the API design, I moved the proposal doc to here so we can collaborate more easily and then use it as the single source of truth for what is supported in the future: https://docs.google.com/document/d/1HG50BwRCZ8TMTY1xljROJYr8YLY5UHbjNZ6UcUqQ_HQ/edit#heading=h.2976f22qym3i

@prisalex can you push your code at least to your fork of the repo? Doesn't matter if it is still messy, you can keep it in its own feature branch and keep updating it. I'd just like to be able to investigate where things stand as we compare this to a SQLAlchemy/Falcon option as discussed Thursday.

Here it is: https://github.com/prisalex/housing-insights/tree/lambdaPoc
I haven't actually done any work since we spoke.  Sorry!
I think both the SQL Alchemy work and the Falcon option could be done independently of this branch though.  I will take a look at that CORS issue now.  Should be an easy fix, me thinks.

Closing this per the shift to the Flask approach. Sad to see good code not used :( We may end up still using Lambda for some jobs depending how our server plays out, TBD.


Microsoft .NET Framework Assistant

The Microsoft .NET Framework Assistant Firefox extension by Microsoft is the only connection between Firefox and the Common Language Runtime for .NET in order to run ClickOnce WebLaunchers from Firefox. Is the code for that also in this repository? Who controls the Microsoft account?
It works nicely, but in at least Firefox 30 through 36, There is no mention of .NET or CLR in the userAgent (anymore), and there is no application/x-ms-aplication mentioned in navigator.mimeTypes.
We would like to be able to detect the presence/availability of this ClickOnce extension, so we can switch in javascript between opening the plugin page or opening the WebLauncher. It could use an update to show itself to client side javascript, or maybe there's a secret someone forgot to tell me.

Please re-activate if this is still an issue.

Well @richlander removing the extension is not a solution. Is there an alternative for launching Microsoft ClickOnce .application links from Firefox?

/cc @staceyhaffner

Thanks for your feedback! The FireFox extension was not developed by Microsoft. That being said, we (the ClickOnce team) are currently investigating ClickOnce integration with major browsers. We don’t have an update yet, but we will respond to this issue once we know more.
To readers: Please add a reaction to communicate if you want my team to provide better ClickOnce support in FireFox.

@staceyhaffner ok gotcha, the username "Microsoft Corporation" made me think it was an official thing.
I'll be looking forward to this. Please keep us posted!

With Firefox Quantum being an awesome browser and non of the existing add-ons (like FFClickOnce) being supported for FF 57, this is a real ask now!
ClickOnce is already there for chrome, please make it for Firefox as well.

FxClickOnce dev here. I've got 10,000s of active Firefox users who can no longer use ClickOnce via the browser. It would be nice if you could provide them with an alternative.

I also need a way to launch apps via ClickOnce. I'm searching for a workaround, trying to force opening specific links with IE from Firefox. Do someone know about such an extension ? Or can it be configured inside Firefox with the per-application settings ?

There is a solution available here: https://www.reddit.com/r/firefox/comments/7cytbh/support_for_clickonce/


Custom shell opening in new window

Version: 1.0.125
Platform: win32 10.0.14393
Plugins: none
I downloaded the git for git-sdk-64 from https://github.com/git-for-windows/git-sdk-64. I tried to use git-bash.exe as custom shell in Terminus but it keeps opening a new window as seen in the pictures.

Don't quote me on this, but IIRC you can run git-sdk's bash as git-cmd.exe --command=usr/bin/bash.exe -l -i

Don't quote me on this, but IIRC you can run git-sdk's bash as git-cmd.exe --command=usr/bin/bash.exe -l -i

It is working now! however, there is always an extra space in between lines (with a %) as shown. Is there a way to fix this?

It is working now! however, there is always an extra space in between lines (with a %) as shown. Is there a way to fix this?

This looks like what zsh is printing when the last command's output didn't end with a new line

This looks like what zsh is printing when the last command's output didn't end with a new line

I did PROMPT_EOL_MARK='' and that seemed to fix it!

I did PROMPT_EOL_MARK='' and that seemed to fix it!


openssl-verification-options.pod: updates and improvements

Move reference to changes brought by OpenSSL 1.1.0 to HISTORY section
better explain trust anchors and their use
significantly improve and complete the description of purpose checking

Rebased this PR, moved recently proposed additional improvements from #14218 to here,
and marked this PR ready for review.

BTW, it turns out that doc-nits does not detect broken/outdated POD references such as the one I fixed today:
L<openssl-x509(1)/CERTIFICATE EXTENSIONS>

Thanks @hlandau for pointing out some nits, which are fixed now.
On this occasion I also added a fixup commit with a couple more small doc improvements that recently came up with #14218.

This PR is in a state where it requires action by @openssl/committers but the last update was 30 days ago

This PR is in a state where it requires action by @openssl/committers but the last update was 61 days ago

This PR is in a state where it requires action by @openssl/committers but the last update was 123 days ago

This PR is waiting for the creator to make requested changes but it has not been updated for 30 days.  If you have made changes or commented to the reviewer please make sure you re-request a review (see icon in the 'reviewers' section).

This PR is waiting for the creator to make requested changes but it has not been updated for 61 days.  If you have made changes or commented to the reviewer please make sure you re-request a review (see icon in the 'reviewers' section).

This PR has been closed.  It was waiting for the creator to make requested changes but it has not been updated for 90 days.

This PR has been closed.  It was waiting for the creator to make requested changes but it has not been updated for 133 days.

@DDvO Could you please update the PR according to Viktor's suggestions and then remove the stalled label?

This PR has been closed.  It was waiting for the creator to make requested changes but it has not been updated for 365 days.

On this occasion I added some further fixes to the documentation, including some code comments so far serving as internal doc.

Rebased to current master, where #26142 merged earlier incurred many non-trivial doc merge conflicts.
Hope I've fixed all of these in the best way.

@vdukhovni please check if I sufficiently covered your comments.


Hi, you can use publint to check publish package errors

Check package errors: https://publint.dev/openai-streams

Because I just received a large number of release notifications, it seems that they are all for compatibility with cjs.
You can use tsup or unbuild to be compatible with both cjs and esm.
You can refer to the following articles for more details:
https://antfu.me/posts/publish-esm-and-cjs
https://antfu.me/posts/types-for-sub-modules

When will an unused conditional export ever cause an error, exactly?
TS Module spec intentionally do not support CJS by default, it was manually added here because I specifically needed CJS. The versions are manually pinned and it's a second-class citizen.

Publint seems kind of cool though. The unused conditional exports are not errors, but it's fine to warn for them.

When will an unused conditional export ever cause an error, exactly?

I don't quite understand this, I haven't encountered this problem before.
Actually, before this, I used it like this in CJS (see Pure ESM package):
const { OpenAI } = await import('openai-streams/node')

const stream = await OpenAI(
  'chat',
  {
    messages: [],
    model: 'gpt-3.5-turbo',
  },
  { controller: abortController }
)


[6.0] plugins: Pass correct dependency origin information to plugins

Cherry pick of https://github.com/apple/swift-package-manager/pull/7506
Motivation:
SwiftPM sends information about the origin of each package dependency to the plugin process, but the PluginContext passed to the plugin function incorrectly shows all origins as root.
Modifications:
The necessary information is included correctly in the serialized structure sent to the plugin by SwiftPM.    The startup wrapper code in the plugin process correctly deserializes it but does not copy it into the final PluginContext struct which is passed to the plugin function; instead, origin is hard-coded to .root.
This change copies the dependency information into the final context struct.
Result:
Plugins receive correct information about package dependencies - local, with a local path, or repository with a URL, version number and revision hash.

@swift-ci test

@swift-ci test

@swift-ci test windows