Send operations in NotificationHub fails with Maximum call stack size exceeded

@azure/notification-hubs:
Package Version:
Windows 11:
[X] nodejs

version:

[ ] browser

name/version:

[ ] typescript

version:

Is the bug related to documentation in

[ ] README.md
[ ] source code documentation
[ ] SDK API docs on https://docs.microsoft.com

Describe the bug
I am trying to use the beta version of @azure/notification-hubs in MongoDB node.js function and getting the following error when i attempt to call any of the sendNotification operations:

ran at<PHONE_NUMBER>273
took
error:
{"message":"Maximum call stack size exceeded","name":"RangeError"}

To Reproduce
Steps to reproduce the behavior:
exports = async function(tags, payload){
  // Get the NotificationHub messaging service connection info from stored global values
  const hubConnectionString = context.values.get("NotificationHubConnectionString");
  const hubName = context.values.get("NotificationHubName");

  // Get a Azure Notificatoin Hub reference
  const fd = require("form-data");
  const uid = require("uuid");
  const azure = require("@azure/notification-hubs");

  const hub = new azure.NotificationHubsServiceClient(hubConnectionString, hubName);

  var wnspayload = `<toast><visual><binding template="ToastText01"><text id="1">${payload}</text></binding></visual></toast>`;
  const sendOptions = { enableTestSend: false };

  const result = await hub.sendNotification(tags, wnspayload, sendOptions);

  console.log(`Sending for Tags: ${JSON.stringify(tags)} - Payload: ${JSON.stringify(payload)}`);

  return;
};

Expected behavior
successful execution of send
Screenshots
Additional context
Add any other context about the problem here.

Label prediction was below confidence level 0.6 for Model:ServiceLabels: 'Notification Hub:0.5372226,Event Hubs:0.064163685,Azure.Core:0.041337542'

@danbridgellc What line does it fail on?  It's not obvious for example, what the payload looks like.

I am sorry - it is on the send operation itself so the line:
const result = await hub.sendNotification(tags, wnspayload, sendOptions);
and the full payload value stored to wnspayload is:
<toast><visual><binding template="ToastText01"><text id="1">test push notification from mongodb</text></binding></visual></toast>

@danbridgellc You're missing a step in creating the message for WNS.  You need to use the createWindowsToastNotification to create a toast message to send to Notification Hubs such as the following code.  The Notification interface has a body which you set to your notification.  This also has such things as headers if you need to set the headers for any reason.  You're using a string here for the notification message which isn't enough information to tell Notification Hubs what platform you're using.
Change the code to the following:
const azure = require("@azure/notification-hubs");

const hub = new azure.NotificationHubsServiceClient("<connection>", "<hub>");

const notification = azure.createWindowsToastNotification({
  body: wnspayload
});

const result = await hub.sendNotification(tags, notification, sendOptions);

See our samples for examples using send functionality:

sendTagExpression.ts - Send a notification to a tag expression
sendTagsList.ts - Send a notification with tags list.

@mpodwysocki Hey sorry i should have been more complete in my explanation...the code I shared was just the latest version I had attempted.  I thought I read that the notification could be raw JSON or XML so I tried that thinking it would be simplest form.  The fact is I had tried creating Apple and Windows notifications and tried sendNotification as well as sendBroadcast and all attempts resulted in the same exact error and that is why I went ahead and logged this issue.
`exports = async function(tags, payload){
// Get the NotificationHub messaging service connection info from stored global values
const hubConnectionString = context.values.get("NotificationHubConnectionString");
const hubName = context.values.get("NotificationHubName");
// Get a Azure Notificatoin Hub reference
const fd = require("form-data");
const uid = require("uuid");
const azure = require("@azure/notification-hubs");
const hub = new azure.NotificationHubsServiceClient(hubConnectionString, hubName);
var wnspayload = <toast><visual><binding template="ToastText01"><text id="1">${payload}</text></binding></visual></toast>;
const notification = azure.createWindowsToastNotification({
body: wnspayload
});
const sendOptions = { enableTestSend: false };
const result = await hub.sendNotification(tags, notification, sendOptions);
console.log(Sending for Tags: ${JSON.stringify(tags)} - Payload: ${JSON.stringify(payload)});
return;
};`
I made the change exactly as you provided to be sure and I am still getting same error:

ran at<PHONE_NUMBER>657
took
error:
{"message":"Maximum call stack size exceeded","name":"RangeError"}

@mpodwysocki If I remark out the sendNotification line of code:
const result = await hub.sendNotification(tags, notification, sendOptions);
This is my result:

ran at<PHONE_NUMBER>912
took 452.607912ms
logs:
Sending for Tags: "zip:45065" - Payload: "test from mongodb"
result:
{
"$undefined": true
}
result (JavaScript):
EJSON.parse('{"$undefined":true}')

@danbridgellc I created a minimal repository with Notification Hubs here called nhtest which does not have these Stack Overflow issues.  Let me know if you have any issues running this example

@mpodwysocki Honestly I am not that experienced with Node.js / Javascript (I am .Net developer) so I attempted to load this project in VS Code and was not able to get it to run however I am sure it just because I am a novice with JS - I will continue to work on it.  However, I really need this to work within the Atlas Serverless functions as part of a MongoDB realm deployment.  If I am not able to get it to work there, I would switch to .Net.  I know this may be asking too much but if you could take a look at this link and tell me if your component is using any features/libraries that are listed in the unsupported section it would be much appreciated!
[https://www.mongodb.com/docs/atlas/app-services/functions/javascript-support/#unsupported-modules]
For example, I am not able to get the "import" command to work that is why I changed it to the "require" command.

@danbridgellc none of the modules listed are used by Azure Notification Hubs.  Those are very low level APIs and this is a REST library dealing with HTTPS traffic


File -> Exit closes ALL instances of VS Code

Issue Type: Bug
If I launch multiple instances of VS Code when I do File -> Exit in one of them all of the instances close themselves.  Please only exit the active instance.
VS Code version: Code 1.49.0 (e790b931385d72cf5669fcefc51cdf65990efa5d, 2020-09-10T13:22:08.892Z)
OS version: Windows_NT x64 10.0.19041

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-7820HQ CPU @ 2.90GHz (8 x 2904)

GPU Status
2d_canvas: enabledflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: disabled_offopengl: enabled_onprotected_video_decode: unavailable_offrasterization: enabledskia_renderer: disabled_off_okvideo_decode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
31.88GB (14.87GB free)

Process Argv
--crash-reporter-id e172f7a1-2d90-46a3-a2a7-faac0f71ec60

Screen Reader
no

VM
0%

Extensions (5)

Extension
Author (truncated)
Version

csharp-to-typescript
adr
1.12.1

bracket-pair-colorizer-2
Coe
0.2.0

prettier-vscode
esb
5.6.0

debugger-for-chrome
msj
4.12.10

vs-asp-classic
wfe
0.0.4

This is by design, use Close Window/alt+f4 if you want to close one.

Unlike other Windows applications separate instances of VS Code are apparently the same instance but with separate tabbed windows. e.g. If I'm in VS 2019 and click File -> Exit only that instance of VS 2019 exits and all other instances remain running.  If I'm running Outlook with multiple windows only the main Inbox has a File -> Exit, all the other windows just have a Close option.
It's just confusing to look at the Task Bar and see two instances of VS Code and two instances of VS 2019 but they behave very differently.


Illegal character sequence in iconv while fetching 'GetFeedSubmissionResult'

Hello,
i'm facing an error like Illegal character sequence in iconv while fetching 'GetFeedSubmissionResult'.
Please give suggestions to solve it.

@vishalbhaliya94
Can you share a sample that you are using to query data?

@vishalbhaliya94 It's working fine as per expectation. Please check for API call.

this.amazonAWS.feeds.search({
'Version': '2009-01-01',
'Action': 'GetFeedSubmissionResult',
'SellerId': AWS.AWS_SELLER_ID,
'MWSAuthToken': AWS.AWS_ACCESS_TOKEN,
'FeedSubmissionId': FeedSubmissionId
})

@bhushankumarl Nope. Request is correct but i haven't submit any feed yet. So you need to work for Listing all SubmissionList and using SubmissionId we can fetch result of it. because it can not convert response of MWS.

@vishalbhaliya94  can you try to use the __RAW__ option like this:
https://github.com/bhushankumarl/amazon-mws/blob/master/examples/javaScript/feeds/getFeedSubmissionResultRaw.js


Skip copying jfr recoding into a temporary file

Oh I think I had missed that we were doing that copy in the first place. Seems like a good idea to prevent that if we can.
I'm not sure why this change also removes support for the escape hatch. Shouldn't we still use that? We don't want to fill up the disk.

I'm not sure why this change also removes support for the escape hatch. Shouldn't we still use that? We don't want to fill up the disk.

As we are not copying the recording to a file there is no need to check for free space. As for backlogged check I suspect it didn't work as these files were processed one at a time, previous one was deleted before the next was written do disk.

I'm not sure why this change also removes support for the escape hatch. Shouldn't we still use that? We don't want to fill up the disk.

As we are not copying the recording to a file there is no need to check for free space. As for backlogged check I suspect it didn't work as these files were processed one at a time, previous one was deleted before the next was written do disk.

Ah ok, I hadn't realized that we're not writing to disk at ALL now in the normal flow. I had assumed that the recordings were still to disk, but I do see that we setToDisk(false) in start(). Seems good to me.
I suppose there is chance that we could fill up the disk with the keepfiles setting, but I'm also ok with that since it's only really for development/testing purposes anyway.

Roger! The troubleshooting section on the escape hatch has been removed now.
On Fri, May 5, 2023 at 10:55 PM jason plumb @.***>
wrote:

[ External sender. Exercise caution. ]
I'm not sure why this change also removes support for the escape hatch.
Shouldn't we still use that? We don't want to fill up the disk.
As we are not copying the recording to a file there is no need to check
for free space. As for backlogged check I suspect it didn't work as these
files were processed one at a time, previous one was deleted before the
next was written do disk.
Ah ok, I hadn't realized that we're not writing to disk at ALL now in the
normal flow. I had assumed that the recordings were still to disk, but I do
see that we setToDisk(false) in start(). Seems good to me.
I suppose there is chance that we could fill up the disk with the
keepfiles setting, but I'm also ok with that since it's only really for
development/testing purposes anyway.
—
Reply to this email directly, view it on GitHub
https://github.com/signalfx/splunk-otel-java/pull/1242#issuecomment-1536770686,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AANRAMCLJCTZ3KYFGL6HNBLXEVSNTANCNFSM6AAAAAAXSXOS7I
.
You are receiving this because your review was requested.Message ID:
@.***>


Missing documentation about permissions for triggering builds

On https://github.com/nmstate/nmstate/pull/576 packit errors with "Only collaborators can trigger Packit-as-a-Service" but the submitter of the PR is a member of the nmstate organization. What are the exact requirements for submitters to trigger a copr build? https://packit.dev/packit-as-a-service/ does not seem to mention this. It would be great if the error message could also be more specific, like "Only submitters with at least .... permissions can trigger copr builds.".

Looking at the code
        collaborators = self.project.who_can_merge_pr()
...

Following this call as it leads to ogr:
            if permission in ["admin", "write"]:
...

So the error message (and the documentation) should say:
Only users with write or admin permissions can trigger copr builds.

Another (somewhat related) idea: would it improve usability if "permission to trigger copr build" would be decoupled from GitHub repository permissions?

The requirements seem to be very strict for a copr build. AFAIK, everyone could register an account to build something on Copr. Therefore it does not seem like it is something that should be limited to only trustworthy persons. What am I missing? Travis, for example, also runs for everyone. Therefore I think the projects might not care too much about who is allowed to trigger copr builds.
If it needs to be restricted to trusted persons, it would be nice to whitelist them without having to elevate their GitHub permissions to write or higher.

The requirements seem to be very strict for a copr build. AFAIK, everyone could register an account to build something on Copr. Therefore it does not seem like it is something that should be limited to only trustworthy persons. What am I missing? Travis, for example, also runs for everyone. Therefore I think the projects might not care too much about who is allowed to trigger copr builds.

Anyone will then be able to run any code during the SRPM build in our infra (in the sandbox, but still).
Anyone can trigger then be able to run any code during the copr build in the Fedora infra.

This is not the final solution, but now, we want to legally saved and allow installation only for those that sign the FPCA. (And that person is then responsible for the all organisation.)

If it needs to be restricted to trusted persons, it would be nice to whitelist them without having to elevate their GitHub permissions to write or higher.

Related issue: https://github.com/packit-service/packit-service/issues/250

@tyll both the docs and the error messages were updated. Let me know if I missed anything.


[Bug]: Cannot upgrade

Description
I cannot upgrade coolify because in the web interface the button is greyed out (and doing nothing) and the upgrade.sh brings error
Minimal Reproduction (if possible, example repository)

Try to Upgrade via the web interface
Go into the directory /data/coolify/sources
Run bash upgrade.sh

Exception or Error
upgrade.sh error:
[user@vm source]# bash upgrade.sh

latest: Pulling from coollabsio/coolify-helper
Digest: sha256:4770886f7214920a14c97f408c0719b1f4a39c6839dbe0d152a33ca243ebea8b
Status: Image is up to date for ghcr.io/coollabsio/coolify-helper:latest
time="2024-04-19T15:03:30Z" level=warning msg="/data/coolify/source/docker-compose.yml: `version` is obsolete"
time="2024-04-19T15:03:30Z" level=warning msg="/data/coolify/source/docker-compose.prod.yml: `version` is obsolete"
 coolify Pulling
 soketi Pulling
 redis Pulling
 postgres Pulling
 redis Pulled
 postgres Pulled
 coolify Pulled
 soketi Pulled
 Container coolify-db  Recreate
 Container ec798e7b36f7_coolify-redis  Stopping
 Container e1d9f1c02f96_coolify-realtime  Stopping
 Container coolify-redis  Recreate
 Container coolify-realtime  Recreate
 Container ec798e7b36f7_coolify-redis  Error while Stopping
 Container e1d9f1c02f96_coolify-realtime  Error while Stopping
Error response from daemon: Conflict. The container name "/88abbea7e6d0_coolify-db" is already in use by container "f36b1e68ef6649af4d33f39d59e28f65471fd3be9191fa2b83c009e35a1050c4". You have to remove (or rename) that container to be able to reuse that name

Version
v4.0.0-beta.212

Update:
After enabling automatic updates and several restarts and Hours of waiting it has automatic updated.


Refresh Rate & Wind Speed Unit

Just found this, installed and loving it.
Couple of questions really, what's the refresh rate? Also anyway to get wind speed in kts?
Thanks for all the hard work :)

Oh, hello. I wrote this mostly for myself so I didn't expect anyone else to be using it.
The refresh rate is currently hard-coded to 30 seconds here:
https://github.com/siku2/hass-weatherlink/blob/44aaad759b3d4ecb98ec2804e3c852db19f3479e/custom_components/weatherlink/__init__.py#L44-L53
As for converting the wind speed to knots, that's something that could be added fairly easily.
It would have to be an option, of course.

Excellent thank you. I see you are looking at unit covertions also. Wind going to N, E, S, W etc maybe?
I tried implementing this in HA but my coding knowledge is limtited and was based on what other were talking about.
    vantage_wind_dir_last_NESW:       friendly_name: 'Vantage Wind Direction NESW'         value_template: >           {% set direction = ['N','NNE','NE','ENE','E','ESE','SE','SSE','S','SSW','SW','WSW','W','WNW','NW','NNW','N'] %}           {% set degree = states('sensor.vantage_wind_dir_last')|float %}           {{ direction[((degree+11.25)/22.5)|int] }}

@siku2, This is a great custom integration for Home Assistant! Thank you for sharing! I would agree with @lanky8804, if you are willing to update this custom integration to show in different units of measurements and also the wind direction showing N, NNE, NE, ENE, E, ESE, SE, SSE, S, SSW, SW, WSW ,W, WNW, NW, NNW, N instead of the degrees, that would be amazing. On the different units of measurements, I would love to see inches for rainfall and MPH for wind speed and be able to see inches of mercury (Hg) for us weird Americans that use the imperial system. I wish I knew coding so I could help contribute to your integration but thank you again for sharing!


Luke atop JavaFX

This issue is about the one of the goal of this project:

To port the thinlet UI to an ASL compliant license framework so that it can be contributed back to Apache Lucene.

Although there is a branch atop Apache Pivot, I think it would be reasonable to use JavaFX as the UI framework for the future maintenance.
I've started to re-implement Luke atop JavaFX from scratch with modern Java syntax and APIs.
The latest codes are here: https://github.com/DmitryKey/luke/tree/luke-javafx

Licensed under ASLv2.
Almost all major luke functionalities were ported. (browsing index, searching docs, optimizing/checking  index, etc.)
It works with Lucene 7.1 and supports recent Lucene features (DocValues, PointValues, etc.)
Some outdated or not-maintained codes are discarded and not re-implemented yet.

Please try the branch and your feedback is welcome!
Now the repository earns 800+ stargazers, I would like to accelerate our efforts to contribute back to Lucene. ;)

@mocobeta this is awesome, thanks for your commitment. I will give it a try and let you know!

@mocobeta tested on Finnish wikipedia index (over 1 million docs). First off, the UI looks awesome, great work!
On overview tab: if field does not have terms, we could may be show some message box about that. Currently UI shows previous field data, and console has exception.

correction: status message in the lower part of the app shows: "Top terms not available". May be that is good enough.

btw, new Logs tab is very handy

@mocobeta I gave it a bit more testing and works great so far. My current project requires usage of luke for versions 5 through 7. If all goes fine we could make this branch the master and move current master into a branch with thinlet suffix.

@DmitryKey Thanks for testing, I found WebView (Webkit) is not working with OpenJDK + OpenJFX registered in Fedora's DNF repository. A few dialogs using WebView are needed to rewrite with other components.
With Oracle Java, it works fine...

Compiling and Running is OK with OpenJDK (OpenJFX) !

Very good @mocobeta ! Do you have a chance of testing this out on a windows box?

@DmitryKey Seems it works fine with my Windows10 PC.
And I've done some additional tests with JDK 9.0.1. All features are okay with it.

Update: The branch now supports Lucene 7.2.0.

@mocobeta looks very good, thanks for additional testing on Windows 10. And for upgrading to 7.2.0!
At this point, I believe, we are good to switch branches around. Would you like to do this?

I did code refactoring, added ALv2 copyright notice and upgraded Lucene version to 7.3.0.
Seems ready to move this branch to master and prepare the next release!

@mocobeta godspeed!

@DmitryKey
Moved this branch to master and released as Luke 7.3.1 !
Old master (Thinlet luke) has been saved to luke-thinlet branch.
Now master branch is running JavaFX version, I will close the issue

thanks @mocobeta !


ValueError: array of sample points is empty

If the f0 is very bad, it might happen that no f0 value is detected by REAPER.

From now on, for waveforms without any f0 value estimated, the "f0" curve is replaced by a constant value equal to f0_min (60Hz by default).
Funnily, the resulting frequency resolution makes the resynthesis quite understandable, but made it all of noisy/hoarse voice.


Refactor vmaddrSlide

Improve processing when obtaining vmaddrSlide.
Currently, compare by path, but change to compare by pointer to improve performance.
https://github.com/p-x9/MachOKit/blob/9a567232541b60e4433693c874ad76c85cb15c55/Sources/MachOKit/MachOImage.swift#L84-L98

https://github.com/apple-oss-distributions/dyld/blob/main/mach_o/Header.cpp


Snack Bar UI Component

Description
The Snackbar should follow the design in the Figma file and be implemented as a standalone React component with the following props: message, open, onClose, position, autoHideDuration.
Create the Snackbar component for the Storybook
Type of change

[ ] 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)
[ ] This change requires a documentation update

Checklist:

[x] I have performed a self-review of my code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] New and existing unit tests pass locally with my changes

UI Component:
I've added positions like top-center, top-right, top-left, bottom-center, bottom-right, and bottom-left. Still, the parent component's width and height in the Stories documentation aren't suitable for testing these positions. I adjusted the parent's styles locally and attached screenshots showcasing each position to address this.
top-center

top-right

top-left

bottom-center

bottom-right

bottom-left

@psanders Can you please review this PR?

Still, the parent component's width and height in the Stories documentation aren't suitable for testing these positions.

I will create separate ticket to deal with it later.


fix(http): rename desc to descending

Closes #11642
Briefly describe your proposed changes:

[x] Rebased/mergeable
[x] Tests pass
[x] http/swagger.yml updated (if modified Go structs or API)
[x] Sign CLA (if not already signed)

Works perfectly!


JDBC URL parameters with '&' and ',' fails

We discovered this when running Liquigraph against Neo4j, with a user that had & in the password. Liquigraph builds a JDBC URL with username and password as parameters (using , as parameter separator). We first believed the problem was caused by Liquigraph not URL encoding username and password when building the JDBC string, but URL encoding the password before passing it to Liquigraph still failed.
The problem is at line 118 in org.neo4j.jdbc.Neo4jDriver, where the entire query string of the URL is decoded before it is split on [,&]. Double encoding the password will not work either, as the parameters are not decoded after the split. The code should first split on [,&], and then doURL decode each parameter key/value pair, before looking for the first = or :. This change should be fairly backwards compatible in my opinion.
I believe it is more correct to look for = or : before decoding, but that is prone to be be less backwards compatible with existing connection strings.
I am happy to submit a PR to fix this.

Is there a reason this issue is still open?

Probably not, as the fix is merged. There hasn't been a release in a long time though.


Add node stream functionality (browserified)

https://nodejs.org/docs/latest/api/stream.html

Actually, no streaming for now. It will be one doc at a time, to make the library robust.


Added "Issues with other plugins" section to README

Added "Issues with other plugins" section that documents how to make Modicator work smoothly with marks.nvim.

@alexmozaidze Awesome! Thank you again!


WB8P dump from STITCH Color Bulb

WB8P: https://developer.tuya.com/en/docs/iot/wb8p-module-datasheet?id=K9fwx4f89tvzd
STITCH Bulb: https://www.monoprice.com/product?p_id=42267
Used https://github.com/OpenBekenIOT/hid_download_py to dump default size and length 0x1EF000
Stitch_Bulb.zip

Profile created in 808634da2cb994feb4b030f5de565763c597faf0. I couldn't pull the DPID schema from the dump (information about the device needed to get it is in 0x1EF000 and beyond), but I presumed it shouldn't be too different from this RGBCW bulb - https://www.action.com/nl-nl/p/lsc-smart-connect-slimme-multicolor-ledlamp-1b6ebaed/ . That's LSC/2578539-970719, and its schema is in this file.
Would be nice to confirm if this currently works w/ the stock firmware and the device locally configured.

Thanks!
dump_extract_dir.zip
Better dump using your tools 🤦♂
I've got a new bulb on the way to test with. This is a dump from a transplanted/dissected/destroyed bulb :-)

Should be good to go now!
Interesting to note, the DPID schema was pretty similar to the LSC one. This STITCH bulb had just one extra dpid (27) which the LSC one didn't have, and one less dpid (41) that the LSC one had. The rest were identical.

Everything seems to work. I ... uh ... don't actually have the chip in a bulb to test but it cut, connected to my wifi, and I can play with the datapoints in tinytuya.


As I want to see Python 2.6 die, I'm not going out of my way to help keep it
alive!

Coverage remained the same at 95.31% when pulling 28b98c094bf1af714ef169c8cc598224cbea7279 on drop-python-2.6 into ef4afd852cfca58d8f72f6d60ecb24496c221db5 on master.


Have promotion of both study-group and meetup without switching the pool

Now you have to change in several places to change between meetups and study-groups for the promotion

nice to have but not prio


About US UI ehancement[Bug Title here]

What happened?
The About Us section looks quite ugly and need proper arragnment .
Bold and Spacing
------------Before----------

---------After-------

How can we reproduce this bug?
proper UI of the About Us section Since it is the main attraction of the whole website
Desktop Information (Optional)
@agamjotsingh18 @ni5arga
kindly Assign this issue to me!!
Urgency (Optional)
High priority
Record

[X] I agree to follow this project's Code of Conduct
[X] I have checked the existing issues
[X] I'm a GSSoC'23 contributor
[X] I want to work on this issue

Already assigned before


Integrate  the Interfaces

Generate METAR from XML then remove the GetMetarInfoAt call

Not all information of the METAR are described in XML interface


Assign policy to resource group created with AzTest

Assigning policy to resource group created with AzTest would eliminate the problem of layering policies
Requires new parameter set for AzTest with -ResourceGroup switch and name of policy definition
Some tests could be further simplified
Requires doc update

While assigning the policy to the dedicated resource group created during test is doable, the problem is passing the parameters. Also, login should be initiated before running the test to make sure the policy assignment is current.
Sample code:
Describe "Testing policy 'Audit-Route-NextHopVirtualAppliance'" -Tag "audit-route-nexthopvirtualappliance" {
    Context "When auditing route tables" {
        It "Should mark route table as compliant with route <IP_ADDRESS>/0 pointing to virtual appliance." -Tag "audit-route-nexthopvirtualappliance-compliant" {
            AzPolicyTest -PolicyDefinitionName "Audit-Route-NextHopVirtualAppliance" {
                param($ResourceGroup)

                # Create compliant route table.
                $route = New-AzRouteConfig `
                    -Name "default" `
                    -AddressPrefix "<IP_ADDRESS>/0" `
                    -NextHopType "VirtualAppliance" `
                    -NextHopIpAddress (Get-VirtualApplianceIpAddress -Location $ResourceGroup.Location)

                $routeTable = New-AzRouteTable `
                    -Name "route-table" `
                    -ResourceGroupName $ResourceGroup.ResourceGroupName `
                    -Location $ResourceGroup.Location `
                    -Route $Route

                # Trigger compliance scan for resource group and wait for completion.
                $ResourceGroup | Complete-PolicyComplianceScan

                # Verify that route table is compliant.
                $routeTable
                | Get-PolicyComplianceState -PolicyDefinitionName "Audit-Route-NextHopVirtualAppliance"
                | Should -BeTrue
            }
        }
    }
}

function AzPolicyTest {
    param (
        [Parameter(Mandatory = $true, ValueFromPipeline = $true)]
        [ValidateNotNull()]
        [ScriptBlock] $Test,
        [Parameter(Mandatory = $true)]
        [ValidateNotNullOrEmpty()]
        [string] $PolicyDefinitionName
    )

    # Retries the test on transient errors.
    AzRetry {
        try {
            # Get policy definition.
            $policyDefinition = Get-AzPolicyDefinition -Name $PolicyDefinitionName

            if ($null -eq $policyDefinition) {
                $scope = "/subscriptions/$((Get-AzContext).Subscription.Id)"
                throw "Policy '$($PolicyDefinitionName)' is not defined at scope '$($scope)'."
            }

            # Create dedicated resource group for the test.
            $resourceGroup = New-ResourceGroupTest

            # Assign policy to resource group.
            if ($policyDefinition.Properties.PolicyRule.then.effect -in "DeployIfNotExists", "Modify") {
                New-AzPolicyAssignment `
                    -Name $PolicyDefinitionName `
                    -PolicyDefinition $policyDefinition `
                    -Scope $resourceGroup.ResourceId `
                    -Location (Get-ResourceLocationDefault) `
                    -AssignIdentity
            }
            else {
                New-AzPolicyAssignment `
                    -Name $PolicyDefinitionName `
                    -PolicyDefinition $policyDefinition `
                    -Scope $resourceGroup.ResourceId
            }

            # Invoke test.
            Invoke-Command -ScriptBlock $Test -ArgumentList $resourceGroup
        }
        finally {
            # Stops on failures during clean-up.
            AzCleanUp {
                Remove-AzResourceGroup -Name $resourceGroup.ResourceGroupName -Force -AsJob
            }
        }
    }
}

Even though considered low risk, re-login should be initiated before running the test to make sure the policy assignment is applied. Later could lead to test flakiness. Perhaps this code might be useful:
$accessToken = Get-AzAccessToken
Connect-AzAccount -AccessToken $accessToken.Token -AccountId $accessToken.UserId

Done


Default execution path is not output directory?

When running my unit tests e.g. via ReSharper, the default execution path/working directory is:

"D:\Projects\MyProject\MyProject.UnitTests\bin\x86\Debug"

This is the output directory of my test project, and thus everything works fine.
But when running the tests via AxoCover, the directory is different:

"C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE"

This leads to several problems: the assembly references are not found, since the assemblies are copied to the project's output directory. Also the required test data files (which are also located in the output directory) are not found as well.
Is there a reason why AxoCover chooses a working directory different from my test project's output folder?
Can I change that somehow?

No there is no reason, I think this is a bug. Seems weird since I would expected this would have been encountered after a year of the first release. Can you tell me what test framework you use? (might be specific to one)
As a workaround you could add an AssemblyInitializer (in MSTEST or similar alternative in other frameworks) to set the working directory manually.

Thanks for the quick feedback. Here are the tools I use:

Visual Studio 2013 Professional Update 5
NUnit 3.9
AxoCover <IP_ADDRESS>

I use the following code to query the current working directory:
var path = System.IO.Directory.GetCurrentDirectory();
PS: This project is really awesome. Good job! :-)

Thanks, I planned to spend a day or two of my vacation on AxoCover, before returning to work. I will definitely put this on my list to do.
By the way, I figured out a reason I would not run into this issue myself:
I always avoid using working directory to locate dependencies - as working directory can be easily messed up (e.g. by calling scripts, or other modules of the application), instead I use the assembly directory, application base or equivalent. For example:
Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location)
(This might or might not make sense in your case.)


Run an optimizer on our PNGs before committing to the repo

zopflipng (nix-shell -p zopfli) or optipng (nix-shell -p optipng) can reduce the size of our PNGs by about 33% while losing almost nothing. I verified that there is no 'useful' metadata on the images with exiftool that was lost after optimizing as well (though maybe there's some metadata like licensing we'd want to add???). By reducing the size of these artifacts now, we can reduce the size of this repo when checking it out--as well as the size of the images delivered to users.
ZopfliPNG offers slightly better compression (2-5%), but OptiPNG retains the "Gamma" and "SRGB Rendering intent" which may be useful later editing (probably not, but you never know). Either one is acceptable depending on how you feel about aggressive vs. conservative.
required for #22

closed PR: https://github.com/ArdanaLabs/Ardana-dApps/pull/50


Ant integration for OpenJDK7 does not work as described

The documentation claims that it is sufficient to add a compilerclasspath element to the javac task in the ant build file for error prone to work (in addition to the compiler attribute).
I am using Error-Prone 2.0.1, OpenJDK7 1.7.0_75, and ant 1.9.3 on Linux and I get the following error:
build.xml:17: java.lang.LinkageError: Unable to create runner.
        at com.google.errorprone.internal.NonDelegatingClassLoaderRunner.run(NonDelegatingClassLoaderRunner.java:40)
        at com.google.errorprone.ErrorProneAntCompilerAdapter.execute(ErrorProneAntCompilerAdapter.java:39)
        at org.apache.tools.ant.taskdefs.Javac.compile(Javac.java:1153)
        at org.apache.tools.ant.taskdefs.Javac.execute(Javac.java:930)
        at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
        at org.apache.tools.ant.Task.perform(Task.java:348)
        at org.apache.tools.ant.Target.execute(Target.java:435)
        at org.apache.tools.ant.Target.performTasks(Target.java:456)
        at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1393)
        at org.apache.tools.ant.Project.executeTarget(Project.java:1364)
        at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
        at org.apache.tools.ant.Project.executeTargets(Project.java:1248)
        at org.apache.tools.ant.Main.runBuild(Main.java:851)
        at org.apache.tools.ant.Main.startAnt(Main.java:235)
        at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)
        at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)
Caused by: java.lang.ClassNotFoundException: com.google.errorprone.ErrorProneAntCompilerAdapter$AntRunner
        at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
        at com.google.errorprone.internal.NonDelegatingClassLoader.loadClass(NonDelegatingClassLoader.java:70)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:274)
        at com.google.errorprone.internal.NonDelegatingClassLoaderRunner.run(NonDelegatingClassLoaderRunner.java:35)
        ... 20 more

I can reproduce this with a fresh new project where the content of build.xml is exactly this:
<?xml version="1.0" encoding="UTF-8"?>
<project name="Test" basedir="." default="build">

    <path id="errorprone">
        <pathelement location="error_prone_ant-2.0.1.jar"/>
    </path>

    <target name="build">
        <mkdir dir="bin"/>
        <javac debug="true"
               destdir="bin"
               source="1.7"
               target="1.7"
               compiler="com.google.errorprone.ErrorProneAntCompilerAdapter"
               includeantruntime="false"
               encoding="UTF-8">
            <src path="src"/>
            <compilerclasspath refid="errorprone"/>
        </javac>
    </target>
</project>

It works if I specify the directory of the JAR file with -lib on the ant command line, but I would prefer to not need this (that is the solution we currently use, but looking at the recent changes to error-prone I assumed that this should no longer be necessary).

Is the claim about compilerclasspath in ant documentation, or error-prone documentation?
We have to do some non-standard classloading to make error-prone works with JDK7. Using compilerclasspath (instead of putting error_prone_ant.jar in $ANT_HOME/lib or ~/.ant/lib) changes how ant loads the classes, and breaks some assumptions we make. Error-prone could be fixed, I'm investigating a different solution that will make the hacky classloading unnecessary. I'd prefer to focus on that. Patches are welcome, though :)
Also, I'm not a big ant user - is compilerclasspath generally preferred over adding jars to $ANT_HOME/lib or ~/.ant/lib?

I got the claim from the error-prone documentation: http://errorprone.info/installation
I read this as compilerclasspath is an alternative to putting it in the Ant lib directory (because if you do the latter, compilerclasspath is not needed anymore).
I am not sure about "generally preferred", but I would certainly prefer a solution using compilerclasspath because it is the only solution that works without user interaction.
People could check out our project repository and simply run ant and benefit from the error-prone checks (we already retrieve the error-prone jar automatically during build).
The alternative is using ant -lib lib/build, but you need to manually specify this on every build.
Using ~/.ant/lib is even more problematic, because every single developer on our project would need to manually remember to replace the error-prone jar on every update.
Plus it can make compiling old revisions of the project impossible if the old code happens to violate a check of a newer error-prone version, making going back in time for debugging more difficult.
In our practice, requiring external developers to do such manual things does not work well, and ends up in code being checked in that fails to compile with error-prone enabled. Our integration testing would find this, but a fully automatic solution would still be nice of course.

Thanks, that makes sense. I agree that tools like error-prone are much less useful if everyone has to set them up manually, and also that declaring and versioning all build dependencies is a Good Idea. Using compilerclasspath seems like the way to go.
I'll get it working, hopefully by killing off the hacky classloading. But if that doesn't happen soon I'll try to find a work-around.

I can confirm that 5a1706c fixes the issue. Thank you very much.

Thanks for testing, I'll merge that in.
I still plan to remove the hacky classloading, but it may take a bit longer.


Add 'change' method examples to templates

Currently, the templates demonstrate logging in with the web wallet and calling a view method, but do not show how to call a change method and modify state.
At a minimum, we should demonstrate a change method using the locally stored limited access key (returned during Login).
Acceptance Criteria

[x] Templates contain a change method example with user input
[ ] Templates contain change method with a NEAR deposit attached

The purpose of the starter apps in create-near-app was supposed to be "bare bones example to get started quickly".


Feature Request: Allow appending a suffix to the URL

Currently, the text provided after the Smee token in a request is appended to the path given in the -P/--path option. This is working fine for us so far to trigger a Git repository scan in Jenkins using GitLab webhooks. However, the Jenkins Git plugin is changing the rules as newer versions expect an access token to be passed in with the URL, as &token=theToken. This would require us to change ALL webhooks in ALL GitLab repositories that need to trigger a build in Jenkins when we update to a version of the Git plugin that requires the token and, of course, every time we change that token.
An easier way to handle this would be to simply add the token parameter to the URL forwarded to Jenkins by Smee, so here's the request:
Please add a new parameter to Smee client (maybe -s/--suffix) which allows to append additional text to the constructed URL.

OK, by reading the code I found that I can simply add my own query to the path given with -P/--path, like
... --path /the/path?token=theToken ...

However, it would be nice to have this properly documented somewhere.


Empty log files

Sometimes, the log file contains only the final report.
Everything before is missing.

commit 2dc109d766560f8b612f1af3bd54f0479247f661 has fixed this issue


No Windows build for the Alpha 30

Title says it all, looks like the Windows executable is missing for the Alpha 30

Something wrong with the Appveyor CV - I've now re-released it as Alpha 31, the .exe is already available at https://github.com/Eugeny/terminus/releases/tag/v1.0.0-alpha.31


utterly confused?

i have an rk61, i decided to try this software out on a whim, when i did a test the bottom left graph peaked at 50 something hz while the middle is consistently 1000hz and the right one is arbitrary, sometimes a 1000 sometimes 1300 or 1900 or whatever it's not consistent. i did another test only using NUMBERS and the left graph showed 990-999 hz consistently, while the middle and right showed random numbers.

This issues forum is meant for development of the software. For general usage questions the Discord is better suited.
That said, how the graphs are generated and what they mean in the input data is explained in technical detail here. The general takeaway though is that you probably need some fundamental understanding of signal analysis to be able to interpret these accurately. The README does talk about these in simpler terms, and I do think we should provide some more examples rather than theory talk in general.
It's hard to help you with your results directly if you don't share a .kbi file or at the very least a screenshot of the analysis.

This issues forum is meant for development of the software. For general usage questions the Discord is better suited.
That said, how the graphs are generated and what they mean in the input data is explained in technical detail here. The general takeaway though is that you probably need some fundamental understanding of signal analysis to be able to interpret these accurately. The README does talk about these in simpler terms, and I do think we should provide some more examples rather than theory talk in general.
It's hard to help you with your results directly if you don't share a .kbi file or at the very least a screenshot of the analysis.

yeah mb man, also for the record i did read the readme, i still understood nothing lol
here's a screenshot of just randomly pressing letters on my board

here's a screenshot of using numbers

note that, it was still incredibly arbitrary results are different nearly all the time

If you get wildly different results every time, send a couple of different files. It's easier if you save the file from the File menu as I can then load it and play around with the analysis parameters.
Judging off this screenshot, looks like you have decent 1000Hz, but extremely severe chord splitting issues.


--submit: cannot parse value `600'

Summary
I am having trouble submitting transactions through marlowe-cli using
marlowe-cli run auto-execute
I am getting an error like this:

--submit 600
option --submit: cannot parse value `600'

--submit=600
option --submit: cannot parse value `600'

I am going through the zcb marlowe-cli example from youtube, which is why I tried a space before '='
Steps to reproduce
Steps to reproduce the behavior:

latest version of marlowe-cli (installed today)
following the video, init a zcb contract with params
marlowe-cli run auto-execute ... the initial deposit
See error

Expected behavior
Expected behavior is tx submitted to the blockchain, actual  behavior: error.
I have also tried just signing the tx and submitting it through cardano-cli, but there is a separate error with that regarding the serialization format and ledger CDDL format
System info (please complete the following information):

OS: Ubuntu
Version 20.04
cloned marlowe-cardano.git as per the README.md

Screenshots and attachments
Output in terminal:
marlowe-cli run auto-execute \

--marlowe-out-file marlowe-1.json
--change-address addr_testxxxxxxxxxx
--required-signer xxxxxxxxxx.skey
--out-file tx1.signed
--submit=600
option --submit: cannot parse value `600'

Usage: marlowe-cli run auto-execute ...
I also get the same issue with --submit 600
Additional context
I hope I am just missing something silly and there is something simple I can do to get it right

Thanks a lot for the detailed report. A quick workaround is to add s (like --submit=600s) to the value. A proper fix is on the way ;-)

Same as https://input-output.atlassian.net/browse/PLT-5844.

Fixed: https://github.com/input-output-hk/marlowe-cardano/pull/576


Documentation Fix : logging.log.entry metadata has wrong object format

Overview
Documentation Object Inconsistencies
Working
https://googlecloudplatform.github.io/google-cloud-node/#/docs/logging/0.7.0/logging
Describes the entry metadata.
var resource = {
 type: 'gce_instance',
 labels: {
   zone: 'global',
   instance_id: '3'
 }
};

Breaking
https://googlecloudplatform.github.io/google-cloud-node/#/docs/logging/0.7.0/logging/entry
Wraps it in a resource key.
var metadata = {
  resource: {
    type: 'gce_instance',
    labels: {
      zone: 'global',
      instance_id: '3'
    }
  }
};

Reproduction
 var metadata = {
  resource: {
    type: 'gce_instance',
    labels: {
      zone: 'global',
      instance_id: '3'
    }
  }
};
  var logFn = logging.log('sysout');
  var entry = logFn.entry(metadata, {
     msg: 'abc123'
  });
  logFn.write(entry, cb)

Throws the following protobuf error
Uncaught Error: .google.api.MonitoredResource#resource is not a field: undefined

Resolution
Unwrapping the resource key from the field seems to be key here. This form also exists in the logging.entry doc, but I'm not sure what is intended there.

@stephenplusplus based on https://github.com/GoogleCloudPlatform/google-cloud-node/pull/1666 I think that the documentation is correct but code is not working as expected. Can you confirm that we did not revert those changes at some point?

Yeah, it is meant to work as shown in the After section of #1666.
@eighteyes I actually get the opposite behavior that you describe from a fresh install of<EMAIL_ADDRESS>Can you try un- and re-installing to be sure you're using the latest version?

Yes, I think this was it.
On Fri, Mar 3, 2017 at 7:10 AM, Stephen Sawchuk<EMAIL_ADDRESS>wrote:

Yeah, it is meant to work as shown in the After section of #1666
https://github.com/GoogleCloudPlatform/google-cloud-node/pull/1666.
@eighteyes https://github.com/eighteyes I actually get the opposite
behavior that you describe from a fresh install of @google-cloud/
<EMAIL_ADDRESS>Can you try un- and re-installing to be sure you're using
the latest version?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/GoogleCloudPlatform/google-cloud-node/issues/1996#issuecomment-283978814,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAYvGgNdso8xIiSeBBV1h0q0Bl_lteFzks5riC1ugaJpZM4MA6o8
.

Phew 👍


Crash in Framebuffer func hashForFramebufferWithProperties

Crash is occurred because of Int overflow on armv7 device especially iPod 5. It can be fixed by changing Int to Int64.

Good catch. I believe this should be fixed in the latest commit, but if it isn't, let me know.


Bug: new account creation process fails due to order of operations

Expected Behavior
During the new account creation process, the delegate-access step should run successfully.
Actual Behavior
During the new account creation process, the delegate-access step fails with the following error:
Error: Null value found in list

  with module.member-access[0].data.aws_iam_policy_document.assume-role-policy,
  on .terraform/modules/member-access/main.tf line 2, in data "aws_iam_policy_document" "assume-role-policy":
   2: data "aws_iam_policy_document" "assume-role-policy" {

Null values are not allowed for this attribute value.

On re-running the workflow, the delegate-access step works. This appears to be because the missing resource is created in parallel during the single-sign-on step.
Steps to Reproduce the Problem

Example of failing run: https://github.com/ministryofjustice/modernisation-platform/actions/runs/3296446510/jobs/5436243462#step:5:2123

Other information

https://github.com/ministryofjustice/modernisation-platform/pull/2855

Cannot change the current order as delegate access is needed before SSO as it uses roles created in delegate access.

The SSO data is used here - https://github.com/ministryofjustice/modernisation-platform/blob/main/terraform/environments/bootstrap/delegate-access/iam.tf#L147
The data is declared here https://github.com/ministryofjustice/modernisation-platform/blob/main/terraform/environments/bootstrap/delegate-access/locals.tf#L9 and needs SSO to have run first.
Possible solution to this is to keep the core delegate access (which requires elevated permissions) roles - ModernisationPlatformAccess here, and move the other roles such as MemberInfrastructure access to another Terraform that runs after SSO.


[FR] Reduce logs info

Is there a way to remove all the messages like these below?
[cargo-make] INFO - makers 0.35.15
[cargo-make] INFO - Build File: Makefile.toml
[cargo-make] INFO - Task: start
[cargo-make] INFO - Profile: development
[cargo-make] INFO - Running Task: start

you can change to err logs using the quite flag or loglevel flag. even change the default log level via machine level config.

Thanks, I tried and --quiet works.
But since I would like to use makers every day to perform routine operations calling it by hand in the terminal I would like to avoid using that flag every time.
What do you think of a config like this?
[config]
log_level = "error"

Obviously it would be a low priority config because it would then be overridden by the other methods of changing the log level.

no, that would be too late since cargo-make loads and prints before it loads the toml file.
like i wrote, you can configure it in machine level via log_level flag.
See: https://github.com/sagiegurari/cargo-make#cargo-make-global-config

I tried your suggestion from https://github.com/sagiegurari/cargo-make/issues/678.
I read the guide https://github.com/sagiegurari/cargo-make#global-configuration-1.
But it seems to me that the path for Windows must be C:\Users\Fred\AppData\Roaming which can be found with powershell using $env:appdata or with %APPDATA% in Win+R command.
I then created a config.toml file there with log_level = "error" in it but it doesn't work, I can still see all the INFO logs.

can you try to create a subdir there called cargo-make and put the file there?
I think you misunderstood the docs.

@frederikhors please check my answer and reopen if its not solved

It works! Thanks!


Fix nightly build

Description
Include tvmop.conf as binary dependencies.
Checklist
Essentials
Please feel free to remove inapplicable items for your PR.

[ ] The PR title starts with [MXNET-$JIRA_ID], where $JIRA_ID refers to the relevant JIRA issue created (except PRs with tiny changes)
[x] Changes are complete (i.e. I finished coding on this PR)
[x] All changes have test coverage:
Unit tests are added for small changes to verify correctness (e.g. adding a new operator)
Nightly tests are added for complicated/long-running ones (e.g. changing distributed kvstore)
Build tests will be added for build configuration changes (e.g. adding a new build option with NCCL)
[ ] Code is well-documented:
For user-facing API changes, API doc string has been updated.
For new C++ functions in header files, their functionalities and arguments are documented.
For new examples, README.md is added to explain the what the example does, the source of the dataset, expected performance on test set and reference to the original paper if applicable
Check the API doc at https://mxnet-ci-doc.s3-accelerate.dualstack.amazonaws.com/PR-$PR_ID/$BUILD_ID/index.html
[x] To the my best knowledge, examples are either not affected by this change, or have been fixed to be compatible with this change

Changes

[ ] Feature1, tests, (and when applicable, API doc)
[ ] Feature2, tests, (and when applicable, API doc)

Comments
Thank @yzhliu for guidance and review.

@mxnet-label-bot add [CI]

Hey @hzfan thanks for the PR. Have we tested on CI-dev if it passes the nightly? That's generally a good indicator. I can do it for you if you haven't.

Hey @hzfan thanks for the PR. Have we tested on CI-dev if it passes the nightly? That's generally a good indicator. I can do it for you if you haven't.

Hi @ChaiBapchya , haven't tested on CI-dev nightly yet. Appreciate it if if you could help.

Oups I tried to suggest a change, but instead directly committed to your branch. Sorry about that! I still have to figure out how the proposal systems works <.<

Hey @hzfan thanks for the PR. Have we tested on CI-dev if it passes the nightly? That's generally a good indicator. I can do it for you if you haven't.

Hi @ChaiBapchya , haven't tested on CI-dev nightly yet. Appreciate it if if you could help.

Sure. I have pointed the NightlyTestForBinaries to test out for conf_pr branch in your repository.
Once it passes/fails, I will update the result here.


Expand scope to include other, non-coreutils utilities

GNU also provides versions of some other common Unix utilities which could also be implemented in Rust, so I'm curious if items which do this would be welcome in this project. (I'm specifically interested in implementing GNU which).

pinging #738

The dev reporting the issue pinged above has also expressed interest in developing a drop-in replacement for a common GNU system utility not packaged in coreutils.
I have no opinion on uutils expanding its scope beyond this repository.
I will say though that either way, it makes sense for rust drop-in-replacement projects to be aware of each other and cross-promote - people interested in one drop-in cross-platform memory-safe replacement for a popular system utility are the most likely demographic to be interested in another. Possibly there could be a repository with a markdown page that functioned as a directory of such projects, their development progress, build status, and which distros they have packages for.
Keep us in the loop if you do develop which or another utility.

I would be willing to create a new project under the uutils organization that handles other drop-in replacements, but I would rather that coreutils remains as it is now (i.e. only dealing with the rewrite of GNU coreutils).


Improvements to default schema handling

rename DEFAULT_SCHEMA_NAME to DOC_SCHEMA_NAME
unify Schema extraction from index name in Schemas
hide Schema regexp pattern
Get rid of null schema in TableIdent, PartitionName, RelationUnknownException, and others
pass in current default schema to the PriviligesAnalyzer, ShowStatementAnalyzer

@mfussenegger I verified, the PrivilegesAnalyzer in master doesn't take the current default schema into account.
The following results in permissions granted to doc.test instead of doc2.test:
set search_path to 'doc2';
grant dql on table test to max;

PR fixes that. Will add a test case and a changelog entry.

Codecov Report

Merging #6213 into master will increase coverage by 0.01%.
The diff coverage is 93.05%.

@@             Coverage Diff              @@
##             master    #6213      +/-   ##
============================================
+ Coverage     83.27%   83.28%   +0.01%
+ Complexity    12526    12518       -8
============================================
  Files          1450     1450
  Lines         47392    47393       +1
  Branches       5814     5810       -4
============================================
+ Hits          39467    39473       +6
- Misses         5232     5234       +2
+ Partials       2693     2686       -7

Impacted Files
Coverage Δ
Complexity Δ

.../io/crate/exceptions/RelationUnknownException.java
100% <ø> (ø)
3 <0> (ø)
:arrow_down:

...src/main/java/io/crate/analyze/user/Privilege.java
97.36% <ø> (+4.51%)
11 <0> (-1)
:arrow_down:

...rc/main/java/io/crate/analyze/UnboundAnalyzer.java
71.42% <0%> (-13.58%)
2 <0> (ø)

...reference/sys/shard/ShardSchemaNameExpression.java
100% <100%> (ø)
2 <0> (-2)
:arrow_down:

...ate/metadata/shard/unassigned/UnassignedShard.java
80.95% <100%> (+5.95%)
14 <0> (ø)
:arrow_down:

...peration/tablefunctions/EmptyRowTableFunction.java
85.71% <100%> (ø)
2 <1> (ø)
:arrow_down:

.../reference/sys/shard/ShardTableNameExpression.java
100% <100%> (ø)
3 <0> (-1)
:arrow_down:

.../main/java/io/crate/action/sql/SessionContext.java
100% <100%> (ø)
13 <3> (+1)
:arrow_up:

sql/src/main/java/io/crate/analyze/Analyzer.java
97.02% <100%> (+0.18%)
5 <0> (ø)
:arrow_down:

...n/java/io/crate/analyze/ShowStatementAnalyzer.java
100% <100%> (ø)
19 <1> (ø)
:arrow_down:

... and 36 more

Continue to review full report at Codecov.

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

Extracting the schema handling change in users to #6226.

Also split up further refactoring to #6227.


Different results between testing in the mid terms of training and at the end of training

Dear author,
I've fork a repo(at https://github.com/marcwww/pytorch-ntm) from your work, mainly expecting to test the model on longer sequences(for example, training on sequences of length ranging from 1 to 10, and testing on seqs of length ranging from 11 to 20).
The question is that the final testing result after training without testing in the middle terms of the training process is different from that with testing in the middle terms. The experiment setting of the repo is the latter one (at https://github.com/marcwww/pytorch-ntm/blob/1d0595e165a6790219df76e0b7f13b48e406b4d9/train_test.py#L236).
In the forked repo batches for testing are sampled in the same way of ones for training (at https://github.com/marcwww/pytorch-ntm/blob/1d0595e165a6790219df76e0b7f13b48e406b4d9/tasks/copytask_test.py#L16). Actually, I've tried to see whether the result are from the intertwined sampling of training and testing by loading a pre-generated test set, and it does not help.
Could you please help me with this? Thanks a lot.

Hi, I'm not sure what are you trying to achieve... the notebooks shows how the model can generalize for sequences lengths that are longer than 20, like 80, while the models were trained on sequences of ranges 1 to 20.

Sorry for my pool English...
Well, let me put it in code directly, one could just clone the repo https://github.com/marcwww/pytorch-ntm.git , and run the two files with default hyperparameters
python train_test_mid.py
python train_test_end.py

Finally, when both of them are finished, the results are:

, which are different, say, the 'train_test_end.py' could reach 1.00 for accuracy and 'train_test_mid.py' could only reach 0.91. However the two files solely differ in the 'train_model' method(one do testing in the end of training and the other one do it every serval batches):

Is this time more clearer for u? It will be really appreciated if u could help me with this.


Dict parsing

update parsing to cater for the expected dict format (todo dict struct)
adding a test, there may be another best practice for setUp & tearDown

@KrisLamote I changed it to add setup/teardown examples, but your way is fine too if it's only used in one test anyway: 24b5af4520d8428981d0c0de04eb845e24221c50


wasi-nn: turn it on by default

This change makes the wasi-nn Cargo feature a default feature. Previously, a wasi-nn user would have to build a separate Wasmtime binary (e.g. cargo build --features wasi-nn ...) to use wasi-nn and the resulting binary would require OpenVINO shared libraries to be present in the environment in order to run (otherwise it would fail immediately with linking errors). With recent changes to the openvino crate, the wasi-nn implementation can defer the loading of the OpenVINO shared libraries until runtime (i.e., when the user Wasm program calls wasi_ephemeral_nn::load) and display a user-level error if anything goes wrong (e.g., the OpenVINO libraries are not present on the system). This runtime-linking addition allows the wasi-nn feature to be turned on by default and shipped with upcoming releases of Wasmtime. This change should be transparent for users who do not use wasi-nn: the openvino crate is small and the newly-available wasi-nn imports only affect programs in which they are used.
For those interested in reviewing the runtime linking approach added to the openvino crate, see https://github.com/intel/openvino-rs/pull/19.

Several comments:

the cargo-deny error is due to libloading's ISC license: is this an issue?
in the past we had discussed enabling wasi-nn with a runtime flag (e.g., --enable-wasi-nn) but, after a discussion with @alexcrichton, it seemed to make more sense to enable it this way: the wasi_ephemeral_nn::* names are always made available by the Wasmtime engine but they only matter for users who import them.

@pchickey, it would seem as though I should now be using more OS-agnostic paths to point to the WITX files to avoid this type of thing but I see in crates/wasi that you are still using the forward slash for paths--is there something I'm missing?

I've never seen that error in the from_witx macro before - the same syntax is working fine in wasi-common, so I'm not sure what is up with that. I will take a look tomorrow

The worry I'd have about enabling the wasi-nn module (or other modules somewhat early in the standardization process) is that we don't yet have a solid migration path defined. I fear that people could interpret this as a signal for more stability than we can actually guarantee right now.
The situation seems somewhat analogous to that in Node.js, where experimental JS features or Node APIs also need to be enabled explicitly, instead of just being available to content. To wit, Node has a --experimental-wasi-unstable-preview1 flag  😄
For now, I'd prefer introducing a runtime flag instead of just making wasi-nn available unconditionally. Ideally not in the form of a one-off --enable-wasi-nn, but something like --experimental-wasi-modules=wasi-nn,[..].


test-tcp-close-while-connecting.c failing on pLinux

https://ci.nodejs.org/job/libuv+any-pr+multi/nodes=ppcbe-fedora20/264/console
https://ci.nodejs.org/job/libuv+any-pr+multi/nodes=ppcle-ubuntu1404/264/console
Started failing on Feb 18, so only a few CI runs ago

[%  22|+  62|-   0|T   0|S   1]: tcp_close_while_connecting
`tcp_close_while_connecting` failed: exit code 6
Output from process `tcp_close_while_connecting`:
Assertion failed in test/test-tcp-close-while-connecting.c on line 40: status == UV_ECANCELED
=============================================================

Looking into it.

Can this issue be closed? Should be resolved as of pull request #744.
Test is no longer failing in ci.

Fixed by e76e213.


Use Cargo workspace

Use a Cargo workspace, nothing more to say really. :)

@edmorley Thanks!

Rebased onto main after fixing CI.


Minimap

Since Brackets is also just codemirror : https://github.com/drewhamlett/brackets-minimap
Basically CodeMirror.runmode
Also

https://github.com/websiteduck/brackets-wdminimap

Someday.


Include mapping file directory

Currently, zppy requires the mapping file directory to be entered manually. If Mache could include this information, it would simplify zppy runs.
E.g.:
https://github.com/E3SM-Project/zppy/blob/main/tests/integration/template_complete_run.cfg#L6 -> mapping_file = "#expand mapping_path#map_ne30pg2_to_cmip6_180x360_aave.20200201.nc"
https://github.com/E3SM-Project/zppy/blob/main/tests/integration/utils.py ->
"mapping_path": "/home/ac.zender/data/maps/",
"mapping_path": "/compyfs/zender/maps/",
"mapping_path": "/global/homes/z/zender/data/maps/",

Presumably Mache could also sync the mapping files across these directories.

@forsyth2, we should discuss this.  I am not in favor of including anyone's home directory as an "official" shared directory on any HPC.  I think we need to find a standard place for these within the existing diagnostics directory on LCRC and sync them to other machines along with other diagnostics files.
@czender may have a different view on this so we should have a discussion about it either here or during our next E3SM tools meeting.

I agree that the map-files and grid files should come from a standard directory, not a user's directory. What we have now developed organically (people asked me to generate maps for their favorite analysis grids) and not through planning.  So let's plan it. However, as you may know, there are already standard directories from which E3SM and some tools obtain grid and map files
https://web.lcrc.anl.gov/public/e3sm/inputdata
https://web.lcrc.anl.gov/public/e3sm/inputdata/cpl/gridmaps
https://web.lcrc.anl.gov/public/e3sm/inputdata/ocn/mpas-o/

Any solution should probably consider all needs, i.e., pre-processing (i.e., initial conditions), run-time, and postprocessing. Therefore @rljacob should be involved.

@czender have you considered https://github.com/llnl/kosh for your data management? It allows for format and location independent data management.

@doutriaux1, thanks.  A brief look at the kosh page didn't make completely clear what problem this would solve for us.  Could you elaborate?

essentially you can leave your files where ever you want, simply register your sim/ensembles in the store and associate any relevant file with them. After that you do not need to know where the file lives or what its format is. Even better you can move the files around and kosh will update the store for you (and all users) transparently. Kosh also has the notion of ensembles (something you guys do a lot) and schemas to ensure the metadata is valid.

@doutriaux1, that sounds interesting but maybe outside the scope of what we are working on here.  These mapping files would be associated with a given set of meshes but not necessarily specific simulations.  I think we do want to have the files in a specific, curated location.  I'm not looking to make it easier for anyone who wants to to add new mapping files.  But we'll keep Kosh in mind more for working with and sharing simulation output.

We made a decision, not yet implemented, to put all grid files in inputdata/share/meshes.
A common location for mapping files hasn't been discussed but yes we should have one under inputdata

If you have confluence access:  https://acme-climate.atlassian.net/wiki/spaces/EIDMG/pages/3335651401/Common+location+naming+for+mesh+grid+files.

It seems like diagnostics tools need our own (possibly redundant) copies of these mapping files for the time being.

It seems like diagnostics tools need our own (possibly redundant) copies of these mapping files for the time being.

@xylar I'm thinking along the same line... to have some redundancy in this case may be a straightforward solution.

Diags needs some different maps from the model so yes it might make sense to have a separate dir even long term.   But we should have a common naming convention so we know a map with the same name in two locations is the same map.

I want to follow up from Thursday's meeting.  Can we agree on a location for mapping files?
Currently, MPAS-Analysis has directories for mapping files it uses:
/lcrc/group/e3sm/public_html/diagnostics/mpas_analysis/maps
/lcrc/group/e3sm/diagnostics_private/mpas_analysis/maps

We have considered some of the meshes with ice-shelf cavities to be "private" for awhile but I'm going to move them to the public diagnostics area right now.
Where to put other mapping files presumably depends on how specific they are likely to be to a given tool.  While other tools can use the MPAS-Analysis mapping files, they are intended for that tool and follow a naming convention that it expects.
The mapping files currently in @czender's directory are presumably used for multiple purposes, at least one of which is zppy if I understand correctly and another is e3sm_to_cmip.  So having these mapping files under a directory named after a tool likely isn't a good idea.
Alternative suggestions?
Another consideration is that we need to keep permissions consistent.  I suggest files be world readable and owner and group writable.  They need to be in the e3sm group.  Any concerns there?

How about at the same level as e3sm-unified, since that exists on all machines? For example,
/lcrc/soft/climate/maps
/lcrc/soft/climate/e3sm-unified

Or a child of the diagnostics that already holds mpas_analysis, e.g.,
/lcrc/group/e3sm/public_html/diagnostics/maps
/lcrc/group/e3sm/public_html/diagnostics/mpas_analysis

@czender, I like the suggestion of
/lcrc/group/e3sm/public_html/diagnostics/maps

I don't think it would be a good idea to place the mapping files outside of the diagnostics directory both because the e3sm-unified directories are typically in a location designated for software, not data files and because mache is currently only designed to sync files within the diagnostics directories (public and private).

Thank you for following up on this @xylar and @czender !
Adding one more vote for /lcrc/group/e3sm/public_html/diagnostics/maps
yes, besides Mpas-analysis, zppy, e3sm_to_cmip(e2c), and the publication workflow which depends on e2c are all customers. Having a maps directory outside of a specific tool directory makes good sense.

I'm going to close this issue as resolved.


Translate with bindable properties. SetTranslate extension method.

Summary:

Implement Translate new Text, X0, X1, ... X9 bindable properties #34
Implement SetTranslate extension method #35

Description of files changed:

MainPage.xaml

Add ContentPage.Title so that we can see dynamic title changes
Revert CounterBtn to use Translate instead of TranslateBinding (closer to stock .NET MAUI program)

MainPage.xaml.cs

Revert MainPage.xaml.cs so it's closer to stock .NET MAUI program
Demonstrate new SetTranslate extension method

TranslateExtension.cs

Rewrite to use a MultiBinding instead of Building to support Text and variable parameters expressed in X0..X9

TranslateExtensionConverter.cs

An internal class for reducing the MultiBinding created by TranslateExtension to a localized string

TranslateExtensionMethod.cs

New static class with static method implementing SetTranslate extension method

@stephenquan , I am in the final testing phase of the 1.3.0 release of this library and it's very overdue... I think this is really interesting proposal and will look into it as soon the new version is out!
I really appreciate that you take the time to make this a better library! 👍

@SirJohnK it is no problem. For your info, the TranslateBinding came up in this dotnet/maui community discussion https://github.com/dotnet/maui/discussions/25329. The nub of that issue a MVVM problem with Picker and the localization part of the question is a redherring - I am thinking of creating a new discussion topic on the Picker bug so that people can clearly see there's no problem with localization. Since the Picker workaround required some C#, I thought it was a good opportunity to improve the C# localization so that we have parity.
No rush with this PR.


Not able to find links from a site

Hi,
Their is some logical error in the code as a result it is not able to find the links from a site

Thanks

up

Plus 1


[Stepper] Vertical should scroll to top when changing steps

Bug, feature request, or proposal:
vertical-stepper should scroll to the beginning of the selected step when changing step
What are the steps to reproduce?
https://stackblitz.com/edit/angular-material2-issue-rerdhn
Which versions of Angular, Material, OS, TypeScript, browsers are affected?
material 5.0

We desperately need this as the stepper is virtually unusable on mobile devices.

Would be a very helpful feature!

A simple work around is a directive.
Then in the next or back ...
Back
import { Directive, Output, HostListener } from '@angular/core';
import { EventEmitter } from 'events';
/**

This directive scrolls to the class .main-content-wrap (top of the page)

*/
@Directive({
selector: '[scrollToTop]'
})
export class ScrollToTopDirective {
@Output() myClick: EventEmitter = new EventEmitter()
@HostListener('click', ['$event'])
// constructor(){}
onClick(e) {
// console.log('scrolltotop')
const container = document.querySelector('.main-content-wrap');
container.scrollTop = 0;
}
}

I second the need for the scroll to top.
In the meantime I added a class to the container for mat-vertical-stepper and used on StepperSelectionChange and called my function.
   private scrollToSectionHook() {         const element = document.querySelector('.stepperTop');         console.log(element);         if (element) {             setTimeout(() => {                 element.scrollIntoView({behavior: 'smooth', block: 'start', inline: 'nearest'});                 console.log('scrollIntoView');             }, 500 );         }     }

hi! I am having exactly the same issue mentioned earlier, but I have tried those solutions and they didn't work for me, every time I change to another step, the page is scrolled way down. Do you have any other solution for this problem?

Hi Daniela,
I used the stepperselectionchange event and scroll to the top. Not perfect
but works for my project
public onStepperSelectionChange(evant: any) {
this.scrollToSectionHook();
}
private scrollToSectionHook() {
const element = document.querySelector('.stepperTop');
console.log(element);
if (element) {
setTimeout(() => {
element.scrollIntoView({behavior: 'smooth', block: 'start', inline:
'nearest'});
console.log('scrollIntoView');
}, 250 );
}
}
Cheers!
On Wed, Mar 21, 2018 at 5:19 PM, Daniela Ortiz<EMAIL_ADDRESS>wrote:

hi! I am having exactly the same issue mentioned earlier, but I have tried
those solutions and they didn't work for me, every time I change to another
step, the page is scrolled way down. Do you have any other solution for
this problem?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/angular/material2/issues/8881#issuecomment-375138011,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AOdvtyWLCtl7yK-Nzqv2KeX5PKUAGZUPks5tgu4ogaJpZM4Q7I4W
.

--
Very respectfully,
CPT Alberto L. Bonfiglio USA Retired
Tel 541 704 PETS (7387)

Is this on the agenda? or should we provide a custom fix for it?

@mackelito It's something we need to fix, but if you need a solution now I would look at the workarounds posted above.

Might help someone... I've added a stepperTop + index as a class to each step's labe (and just a plain stepperTop to the wrapper of the stepper):
<ng-template matStepLabel>Step0</ng-template>
I've changed AlbertoBonfiglio's logic a little bit to provide the selectedIndex of the selectionChange event.
this.stepper.selectionChange.subscribe((event) => {               this.scrollToSectionHook(event.selectedIndex);
And the scrollToSectionHook modified like so to achieve the best result imo:
private scrollToSectionHook(index) {     const element = document.querySelector(.stepperTop${index === 0 ? '' : index-1});     if(element) {       setTimeout(() => {         element.scrollIntoView({block: 'start', inline: 'nearest', behavior: 'smooth'});       }, 250 );     }   }

As per @Laurensvdw here is my version using the internal stepper api for the label id:
  @ViewChild(MatStepper)
  private stepper: MatStepper;
..
..
  // scroll to selected step
    const stepId = this.stepper._getStepLabelId(this.stepper.selectedIndex);
    const stepElement = document.getElementById(stepId);
    if (stepElement) {
      setTimeout(() => {
        stepElement.scrollIntoView({ block: 'start', inline: 'nearest', behavior: 'smooth' });
      }, 250);
    }

@webprofusion-chrisc 's code works even nicer as a directive
@Directive({
  selector: 'mat-vertical-stepper'
})
export class MatVerticalStepperScrollerDirective {

  constructor(private stepper: MatStepper) {}

  @HostListener('selectionChange', ['$event'])
  selectionChanged(selection: StepperSelectionEvent) {
    const stepId = this.stepper._getStepLabelId(selection.selectedIndex);
    const stepElement = document.getElementById(stepId);
    if (stepElement) {
      setTimeout(() => {
        stepElement.scrollIntoView({ block: 'start', inline: 'nearest', behavior: 'smooth' });
      }, 250);
    }
  }
}

In my case, I have a mat-toolbar which is fixed at the top of my page.
The trick is to scroll to the step label with id selectedIndex - 1 (except for 0, of course):
const previousIndex: number = (_index === 0) ? 0 : _index - 1;
// Get element
const element: Element = document.querySelector('#' + _stepper._getStepLabelId(previousIndex));

The only workaround I could think of, in a layout using mat-sidenav:
const stepElement = document.getElementsByClassName('mat-drawer-content')[0]; stepElement.scrollTop = 0;
Hope it helps someone.

+1 for this. @Sabartius's solution worked fine for me for now.

Same problem here, i'm going to try @Sabartius solution and post the feedback after. But someone have a idea or preview to official solution for that?

@Sabartius solution cuts off the step indicator/heading, so I offset the selected index by one and it seems to work nicely.
`
import { Directive, HostListener, ViewChild } from '@angular/core';
import { MatStepperModule, MatStepper } from '@angular/material';
import { StepperSelectionEvent } from '@angular/cdk/stepper';
@Directive({
selector: '[appMatVerticalStepperScroller]',
})
export class MatVerticalStepperScrollerDirective {
constructor(private stepper: MatStepper) {}
@HostListener('selectionChange', ['$event'])
selectionChanged(selection: StepperSelectionEvent) {
const stepId = this.stepper._getStepLabelId(selection.selectedIndex - 1);
const stepElement = document.getElementById(stepId);
if (stepElement) {
setTimeout(() => {
stepElement.scrollIntoView(true);
}, 250);
}
}
}
`

appMatVerticalStepperScrolle

Can you please show, how you used it on html

I would just animation to what @mrjoedang did and it works perfect as a directive:
`import { Directive, HostListener, ViewChild } from '@angular/core';
import { MatStepperModule, MatStepper } from '@angular/material';
import { StepperSelectionEvent } from '@angular/cdk/stepper';
@Directive({
selector: '[appMatVerticalStepperScroller]',
})
export class MatVerticalStepperScrollerDirective {
constructor(private stepper: MatStepper) {}
@HostListener('selectionChange', ['$event'])
selectionChanged(selection: StepperSelectionEvent) {
const stepId = this.stepper._getStepLabelId(selection.selectedIndex - 1);
const stepElement = document.getElementById(stepId);
if (stepElement) {
setTimeout(() => {
stepElement.scrollIntoView({behavior: 'smooth', block: 'start', inline: 'nearest'});
}, 250);
}
}
}`

+1

this is still an issue on Angular 9
https://stackblitz.com/edit/angular-9-material-starter-cbywvk?file=package.json

An alternative to @Sabartius's solution, using animationDone event instead of selectionChange so we get rid of the setTimeout:
import { Directive, HostListener } from '@angular/core';
import { MatStepper } from '@angular/material/stepper';

@Directive({
  selector: 'mat-vertical-stepper',
})
export class MatVerticalStepperScrollerDirective {
  constructor(private stepper: MatStepper) {}

  @HostListener('animationDone')
  selectionChanged() {
    const stepId = this.stepper._getStepLabelId(this.stepper.selectedIndex);
    const stepElement = document.getElementById(stepId);
    if (stepElement) {
      stepElement.scrollIntoView({ block: 'start', inline: 'nearest', behavior: 'smooth' });
    }
  }
}

As per @Laurensvdw here is my version using the internal stepper api for the label id:
  @ViewChild(MatStepper)
  private stepper: MatStepper;
..
..
  // scroll to selected step
    const stepId = this.stepper._getStepLabelId(this.stepper.selectedIndex);
    const stepElement = document.getElementById(stepId);
    if (stepElement) {
      setTimeout(() => {
        stepElement.scrollIntoView({ block: 'start', inline: 'nearest', behavior: 'smooth' });
      }, 250);
    }

An alternative to @Sabartius's solution, using animationDone event instead of selectionChange so we get rid of the setTimeout:
import { Directive, HostListener } from '@angular/core';
import { MatStepper } from '@angular/material/stepper';

@Directive({
  selector: 'mat-vertical-stepper',
})
export class MatVerticalStepperScrollerDirective {
  constructor(private stepper: MatStepper) {}

  @HostListener('animationDone')
  selectionChanged() {
    const stepId = this.stepper._getStepLabelId(this.stepper.selectedIndex);
    const stepElement = document.getElementById(stepId);
    if (stepElement) {
      stepElement.scrollIntoView({ block: 'start', inline: 'nearest', behavior: 'smooth' });
    }
  }
}

Thank you, it works well with animationDone.
I just had to use another selector, because the direct one didnt seem to work.
So I simply use  selector: '[mat-vertical-stepper-scroller]',

@danbraik you're welcome. I'm glad it works for you too.

By all means, @greenled's solution looks great, but I think I'm missing something in the implementation of it (sorry, I'm new to angular/material). Does the selector go on the <mat-stepper> wrapper or on each <mat-step> child? Do the <mat-step> children have internal IDs, or do I need to add my own ID? Right now my html looks like
<mat-stepper appMatVerticalStepperScroller [linear]="true" orientation="vertical>
    <mat-step label="step1">
        // stuff
    </mat-step>
    <mat-step label="step2">
        // more stuff
    </mat-step>
</mat-stepper>

but it's not working for me.

Hi @aYorky ! The selector should go in the stepper, not on each step. You placed it right.

@greenled Huh. Yet it doesn't work for me. All I should need to do is have that directive declared in the module and throw the selector in the html, and it should work right?

@aYorky I was working with Angular 11 when I wrote it. Maybe it just doesn't work on newer versions. Which version are you using? Could you share more details about your setup? Maybe a StackBlitz example?

+1

new in angular, how this directive file can be created?, seeing online seems that it is necessary to create a new component but is it a bit confusing.

Had exactly the same issue, these steps work for me:
Create a ref variable.
Give ref prop to element where you are sure that this scroll bar is in, in my case it was Grid element from ui, when I inspected elements I found that problematic scroll bar is within that element.
Then just add this code and it works:
const handleChangeStep = async (stepIndex: number) => { setStep(stepIndex); if (gridRef.current) gridRef.current.scrollIntoView(); };


Fix Cartesian interpolation

This is a follow-up on #2916, fixing a bug reported in https://github.com/moveit/moveit/issues/3651.

The build failure on Rolling here looks quite strange... also seemingly unrelated to this PR. Could this be a build caching thing?

The build failure on Rolling here looks quite strange... also seemingly unrelated to this PR. Could this be a build caching thing?

I had similar issues in #3003, which were fixed by deleting the upstream cache. However, here, the caches were not found anyway. So, I'm not sure why this fails for one rolling build but not the other.
It's definitely unrelated to the PR. I suggest giving it a try and merge.

libsrdfdom doesn't link against tinyxml2:
ldd /opt/ros/rolling/lib/libsrdfdom.so.2.0.4
	linux-vdso.so.1 (0x00007ffd7d343000)
	libconsole_bridge.so.1.0 => /lib/x86_64-linux-gnu/libconsole_bridge.so.1.0 (0x000071a3689a5000)
	libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x000071a368728000)
	libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x000071a3686fb000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x000071a3684e9000)
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x000071a368400000)

Probably this wasn't noticed before, because the plugins (removed in #3024) pulled in this dependency.

I have no idea why this PR still fails (for an unrelated reason), while the main branch works again.
srdfdom/model.h should be missing in both or none case.


test on my own dataset, AssertionError: datasets should not be an empty iterable

CUDA_VISIBLE_DEVICES=0 python test.py --eval_data /home/Documents/deeptextlmdbdata/eval --benchmark_all_eval --sensitive --Transformation None --FeatureExtraction VGG --SequenceModeling BiLSTM --Prediction CTC --saved_model ./saved_models/None-VGG-BiLSTM-CTC-Seed1111/best_accuracy.pth
I train and test on my own datasets, when I run the test command on it and meet the problem:
Traceback (most recent call last):
File "test.py", line 274, in
test(opt)
File "test.py", line 217, in test
benchmark_all_eval(model, criterion, converter, opt)
File "test.py", line 43, in benchmark_all_eval
eval_data, eval_data_log = hierarchical_dataset(root=eval_data_path, opt=opt)
File "/home/PycharmProjects/deep-text-recognition-benchmark/dataset.py", line 124, in hierarchical_dataset
concatenated_dataset = ConcatDataset(dataset_list)
File "/home/anaconda3/envs/deeptextcrnn/lib/python3.6/site-packages/torch/utils/data/dataset.py", line 188, in init
assert len(datasets) > 0, 'datasets should not be an empty iterable'
AssertionError: datasets should not be an empty iterable
can you help me slove it?

what's your command line for training?

I'm so sorry that i made a mistake about the test folder.
the train command is similar to the test folder, the difference is that the folder
thanks a lot for you


flipbook controller not found

Class App\Http\Controllers\rudrarajiv\flipbooklaravel\FlipBookController does not exist

solved.


[BUG]:host meta  yaml  doesnot work

Describe the bug
A clear and concise description of what the bug is, ideally within 20 words.
collect host meta data with metric_meta_host does not work.
To Reproduce
Please post your configurations and environments to reproduce the bug.
enable: true
inputs:

Type: metric_meta_host
CPU: true
Memory: false
Net: false
Disk: false
Process: false
ProcessIntervalRound: 60
ProcessNamesRegex:

ilogtail
Labels:
cluster: ilogtail-test-cluster
flushers:

Type: flusher_stdout
OnlyStdout: true

start ilogtail.
error in ilogtail.LOG
[2022-07-22 21:20:28.224154]	[error]	[015305]	/src/core/plugin/LogtailPlugin.cpp:490		init plugin base error:1
The developer team will put a higher priority on bugs that can be reproduced. If you want a prompt reply, please keep your descriptions  detailed.

Your ilogtail version:

1.1.0

Your platform:

linux

Your configuration:

enable: true
inputs:

Type: metric_meta_host
CPU: true
Memory: false
Net: false
Disk: false
Process: false
ProcessIntervalRound: 60
ProcessNamesRegex:

ilogtail
Labels:
cluster: ilogtail-test-cluster
flushers:

Type: flusher_stdout
OnlyStdout: true

Your ilogtail logs:

[2022-07-22 21:20:28.224154]	[error]	[015305]	/src/core/plugin/LogtailPlugin.cpp:490		init plugin base error:1

Additional comments
If possible, please also consider attaching the output of ilogtail diagnose tool. This produces detailed environment information and hopefully helps us diagnose faster.
If you have local commits (e.g. compile fixes before you reproduce the bug), please make sure you first make a PR to fix the build errors and then report the bug.

给一下：
1、ilogtail_config.json
2、user_yaml_config.d下的所有文件配置

我在清理yaml文件时,把其它文件移走后, 运行正常.
把移走的文件移回来,也正常.
[nome@linux7-mysql-sandbox ilogtail-1.1.0]$ cat ilogtail_config.json
{
}

完整配置都发下看看

现在是正常还是有问题？
如果有问题，2、user_yaml_config.d下的所有文件配置。都发下

另外也可以看下logtail_plugin.LOG日志

现在正常. 谢谢.
我做的操作就是清理了没有用的yaml文件(enable:  false), 启动就好了.
再移回来时也正常.
谢谢. 可以关闭了.


Services not labs

Depends on this version of the API running:

[x] https://github.com/alphagov/digitalmarketplace-api/pull/390

Fixes this bug: https://www.pivotaltracker.com/story/show/118986461
I've also done a bit of tidying up:

removing the has_one_service_limit function in favour of using the lot['oneServiceLimit'] value directly
checking that the framework_slug and lot_slug in the URL match those of the draft being edited
moving to using lotSlug rather than lot (they have identical values but we want to phase out using lot eventually)

This broke a lot more tests than I thought it would.

👍


feat(vpn): adds option to populate vpn peers in hosts file

Description
Since our headscale runs without magicDNS enabled, it is impossible to resolve VPN peers using their DNS names. magicDNS cannot be enabled since we have faced multiple DNS resolution-related issues in the past that break the VPN connectivity in warehouses.
However, VPN users in Flaptter have requested the ability to access devices and services running on them via hostnames.
To fulfill the requirement, this PR populates the hosts file on a user's system with the devices on rapyuta.io that have VPN enabled. Thus, it is possible to access any device via its hostname when connected over VPN.
To use the feature, users will have to run the following command
rio vpn connect --update-hosts

Testing
https://github.com/user-attachments/assets/26cd6d08-f9cc-4ce8-8fff-cac12f22078e

@ankitrgadiya As we discussed over the chat,

Updated the implementation to account for necessary privileged access. The code will effectively perform a mv on the temp hosts file to the default hosts file on the system.
The update_hosts_file helper cleans up the old entries, if present.
rio auth login, rio project select and rio organization select clean up the hosts file.
The clean up code will only write the file if entries are actually removed.

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


Fix: EncodeClientParams

fixes #867

Codecov Report

Merging #868 (2f47d75) into main (9fc4f40) will not change coverage.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##             main     #868   +/-   ##
=======================================
  Coverage   53.27%   53.27%
=======================================
  Files          72       72
  Lines        2140     2140
  Branches       52       52
=======================================
  Hits         1140     1140
  Misses       1000     1000

Impacted Files
Coverage Δ

.../main/scala/zhttp/service/EncodeClientParams.scala
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

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


Move to CleverCodeCravers / Update Auto-Update (15 points)

The application was previously hosted inside my own account. Since there is an auto-update mechanism inside the application, it should be updated.

Done!


Pull Request: Choose status which abort the flow build

Reopen Pull-Request #59  to squash all together and resolve merge problems.
Original Message:
You can choose the status (Success, Unstable or Failure), which abort the flow build. It also contains, that the build can not be 'better' than any build inside the flow build.

I create a new pull request. I had problems to squash the previous pull request with the master merge.

Thank you for a pull request! Please check this document for how the Jenkins project handles pull requests

New testcases added.

@ueberhammDesign
Since I am currently looking for someone else to take over as a maintainer; I will not be the one merging this change. Please check http://jenkins-ci.org/pull-request-greeting.
Side note: I think introducing new features in this plugin is risky and takes away resources that could be better spent on the pipeline plugin. However, please feel free to merge if you are interested in carrying on the flag.
--
I did look at your changes though, and thank you for addressing my earlier concerns.


Adds tornado test server for speed comparison (#13)

Tentative benchmarks, not performed on AWS with command wrk -t1 -c100 -d10s http://localhost:8000/
Python 2
Running 10s test @ http://localhost:8000/
  1 threads and 100 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency    28.58ms    2.09ms  43.29ms   73.31%
    Req/Sec     3.51k   218.88     3.86k    67.00%
  34937 requests in 10.00s, 6.86MB read
Requests/sec:   3493.38
Transfer/sec:    702.77KB

Python 3
Running 10s test @ http://localhost:8000/
  1 threads and 100 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency    31.07ms    2.16ms 100.12ms   87.83%
    Req/Sec     3.23k   176.66     3.51k    63.00%
  32133 requests in 10.00s, 6.37MB read
Requests/sec:   3212.84
Transfer/sec:    652.61KB

Thank you! :D


Add 'username' back into sessions/status/local result

Currently we have no way to get the username of a logged in user. The wallet UI has to cache the username whenever user logs in to display it. But it's impossible when using a remote core where user already logged in. The easiest way for the wallet code is to add username field back into sessions/status/local. If it's a privacy/security concern, it could be disabled by default, and enabled by a core param.

You need to supply the pin to generate username due to privacy, just add the session pin and you'll get session specific data that's private

@VidereLicet It still wouldn't work in case that the wallet UI starts when the core is already in a logged in state (when it's connected to a remote core or when the front end simply refreshes). The front end wouldn't have the PIN to send to profiles/status/master because user has already logged in.


How to customize name of log folder?

the name of log folder is defined in logger.py line 58 to 61:
def init(self, log_trace_path: Union[str, None] = RD_AGENT_SETTINGS.log_trace_path) -> None:
if log_trace_path is None:
timestamp = datetime.now(timezone.utc).strftime("%Y-%m-%d_%H-%M-%S-%f")
self.log_trace_path = Path.cwd() / "log" / timestamp
and this class is initialized in the init.py:
rdagent_logger: RDAgentLog = RDAgentLog()
How can I customize the variable "log_trace_path", if somehow I can define it in ".env" file?

Yes, you can set "LOG_TRACE_PATH" in .env file, but remember to modify it every time you run the program.
Example:
LOG_TRACE_PATH=./log/1st_test_in_10_21
If you don't want to modify the .env file every time, you can set this environment variable before running the command, like:
LOG_TRACE_PATH=./log/1st_test_in_10_21 rdagent fin_model

thank you very much!